Fiducia e firma: piena chiave pubblica o identificazione digitale?

3

Immagina un servizio B2B in cui due parti devono impostare una relazione di trust bidirezionale: Alice accetterà solo le richieste di Bob, e Bob vuole sapere che le sue richieste vanno solo a Alice.

Quando imposti questa relazione, Alice e Bob devono scambiare le loro chiavi pubbliche. Ma quando si tratta di verifica, è sufficiente verificare che l'identificazione del certificato corrisponda? Oppure, Alice e Bob dovrebbero scambiare la chiave pubblica completa?

Una chiave pubblica è piuttosto lunga e l'identificazione digitale è breve, quindi l'identificazione digitale è più comoda. Ma dal momento che è più breve, significa che ha una maggiore possibilità di collisione? Quanta sicurezza viene persa utilizzando solo l'identificazione personale per identificare il chiamante anziché la chiave pubblica completa?

Questa pagina , ad esempio, suggerisce che l'identificazione personale è adatta per la verifica. Qualcuno può confermare?

E se l'identificazione digitale è sufficiente, perché servizi come Github si aspettano che tu carichi la tua chiave pubblica completa invece di una semplice identificazione digitale quando crei la fiducia?

    
posta Paul Stovell 26.05.2012 - 22:50
fonte

2 risposte

4

Un hash della chiave pubblica è sufficiente, a condizione che sia abbastanza lungo (mi raccomando 160 bit) e la funzione hash è resistente contro le seconde pre-immagini.

Suppongo che Github voglia avere chiavi pubbliche complete perché la loro libreria SSH lo prevede. Ci sono anche alcune situazioni in cui è utile avere la chiave completa disponibile. Ad esempio, puoi offline crittografare un messaggio su una determinata chiave pubblica, ma non su un hash.

L'hash della decisione rispetto alla chiave pubblica non è una decisione basata sulla sicurezza, ma sulla quale è più conveniente per un uso particolare.

    
risposta data 27.05.2012 - 00:14
fonte
2

Scambiare un'identificazione personale è sufficiente, purché successivamente verifichi che la chiave pubblica corrisponda all'identificazione personale che è stata scambiata.

Github vuole che tu carichi l'intera chiave pubblica SSH per una serie di motivi: (1) a causa del modo in cui i file di configurazione SSH sono impostati, il server Github SSH deve conoscere l'intera chiave pubblica (i file di configurazione SSH si aspettano un intera chiave pubblica, non un'identificazione personale), (2) è più facile per gli utenti caricare la loro intera chiave pubblica (che sta caricando il proprio file ~/.ssh/id_dsa.pub ) piuttosto che caricare un'identificazione personale (gli utenti devono manualmente hash la loro chiave pubblica e quindi carica l'hash, che è meno conveniente). Fondamentalmente, per SSH, non c'è alcuna reale necessità di introdurre le impronte digitali in questa impostazione, quindi nessuno si preoccupa di farlo, anche se, se lo facessero, sarebbe sufficiente per la sicurezza.

    
risposta data 28.05.2012 - 06:17
fonte

Leggi altre domande sui tag