Utilizzo dei certificati digitali nelle firme digitali

3

Qualcuno potrebbe spiegarmi come vengono utilizzati i certificati con le firme digitali?

Capisco la differenza tra certificati e firme. È chiaro.

Digital certificates are used to verify the trustworthiness of a website, while digital signatures are used to verify the trustworthiness of information.

Non sono sicuro di aver compreso questa immagine su wikipedia .

Bob genera una chiave privata e una chiave pubblica. Codifica l'hash del messaggio con la sua chiave privata - firma. Bob invia un messaggio con la firma e la chiave pubblica ad Alice. Alice genera hash di messaggi e confronta questo hash con la firma decrittografata. Se vuole decodificare la firma, deve verificare la chiave pubblica per certificato (se questa chiave pubblica appartiene a Bob).

Perché il certificato è accanto alla firma di Bobs? Pensavo che i certificati venissero usati solo con le chiavi pubbliche.

La chiave pubblica viene sempre utilizzata per la decrittografia e la chiave privata per la crittografia nelle firme digitali?

    
posta Matt 08.02.2015 - 14:19
fonte

2 risposte

4

Rivendica:

digital signatures are used to verify the trustworthiness of information.

Questo è giusto, almeno per alcune interpretazioni di "attendibilità". In realtà, una firma digitale può essere utilizzata per verificare che le informazioni siano state create da qualche entità che ha accesso alla chiave privata alla chiave pubblica a cui fa riferimento tale firma, e da allora non è stata modificata. (Se l'hash utilizzato non è sufficientemente resistente alle collisioni, come MD5 al giorno d'oggi, l'entità con accesso alla chiave pubblica potrebbe creare due documenti che possono essere scambiati dopo la firma senza che tu te ne accorga.)

Reclami anche:

Digital certificates are used to verify the trustworthiness of a website

Che ha bisogno di un po 'di generalizzazione: non è solo per "siti web", è per qualsiasi caso di entità. E ancora, è necessario definire cosa significa veramente affidabilità. Un certificato digitale ti consente di verificare che alcune entità che ti dimostrano di possedere qualche chiave segreta, siano l'entità che sostengono di essere.

L'immagine su Wikipedia mostra un processo di gestione sensibile delle firme. L'autore del documento firma il documento e deve utilizzare la chiave segreta per quello. Il ricevitore ha bisogno della chiave pubblica per verificare la firma. Se il destinatario conosce la chiave pubblica del mittente, tutto è a posto, non è necessario un certificato. Ma se il destinatario non conosce in anticipo la chiave del mittente, deve assicurarsi che la chiave appartenga effettivamente al mittente. Il ricevitore ha quindi bisogno anche di verificare l'identità dell'entità creando una firma. Un certificato (rilasciato da una terza parte fidata) è un ottimo modo per fornire la prova di identificazione. Il raggruppamento del certificato con il messaggio fornisce il certificato al destinatario appena in tempo quando è necessario per verificare il messaggio.

Bonus: in realtà, l'affermazione "la chiave privata appartenente alla chiave pubblica con un hash di $ HASH appartiene a $ ENTITY", che un certificato dovrebbe dimostrare, è informazione. Quindi una firma può essere utilizzata per verificarne l'affidabilità. E infatti, i certificati sono firmati.

La firma di un certificato deve essere fatta da qualche entità, quindi come si verifica se quel certificato è stato effettivamente emesso da un'entità affidabile? Bene, ci sono due modi: o, si conosce l'entità e la sua chiave pubblica, in modo da poter verificare la firma sul certificato. O non conosci la chiave pubblica, e quindi hai bisogno di una prova che la firma su quel certificato sia stata effettivamente fatta da quella terza parte che si dice abbia fatto. Come si fa? Avendo la chiave di terze parti essere di nuovo certificata da un'altra parte.

Il risultato sono catene di certificati: ogni certificato contiene una firma. Per poter utilizzare la firma, viene allegato un certificato che certifica l'emittente del certificato. Ripeti questo processo fino a quando non puoi tracciare una chiave per una festa di cui ti fidi. La differenza tra PKI centralizzata (come X.509) e PKI peer-to-peer (come PGP) è che nei sistemi centralizzati, tutti i partecipanti accettano di fidarsi di un certo insieme di "autorità di certificazione radice", mentre in Peer-to-Peer -sistemi, ogni partecipante può scegliere le radici della fiducia stessa. La conseguenza è che nei sistemi centralizzati è sufficiente una firma su ogni certificato, mentre nei sistemi peer-to-peer è probabile che parti diverse "firmino la tua chiave" (cioè emettano un certificato che la chiave appartiene al suo proprietario rivendicato) per aumentare la probabilità che i partner di comunicazione trovino la via dalla tua chiave a una radice di cui si fidano.

    
risposta data 08.02.2015 - 16:13
fonte
3

Per firmare qualcosa in digitale, è necessario che io abbia una chiave privata e che la chiave pubblica corrispondente venga trasmessa al destinatario del messaggio su un canale sicuro che impedisce la manomissione o la sostituzione. Posso quindi facilmente dimostrare di aver originato il messaggio eseguendo l'hashing del messaggio, crittografando l'hash utilizzando la chiave privata e allegando l'hash crittografato come firma. Il destinatario può anche cancellare il messaggio, decodificare la firma utilizzando la chiave pubblica e verificare che i due hash corrispondano. Ciò dimostrerà che il messaggio non è stato manomesso e che l'ho originato. Il bit difficile è la distribuzione della chiave pubblica. Il certificato è facoltativo e indica che la terza parte che ha firmato la mia chiave accetta che io sia me.

    
risposta data 08.02.2015 - 14:30
fonte

Leggi altre domande sui tag