Un certificato autofirmato offre più protezione di una chiave pubblica?

3

Ho difficoltà a trovare i benefici pratici della trasmissione di un certificato autofirmato semplicemente tramite una chiave pubblica. Comprendo che un certificato autofirmato dimostra la integrità della chiave pubblica e dell'ID utente (ossia la prova che il firmatario è in grado di decrittografare i messaggi crittografati dalla chiave pubblica), ma qual è il vantaggio pratico della sicurezza di questa conoscenza?

Da quanto ho capito, sia l'invio di un certificato autofirmato che l'invio semplicemente della chiave pubblica sono suscettibili agli attacchi man-in-the-middle:

  1. Alice e Bob vogliono comunicare in privato.
  2. Mallory è tra Alice e Bob.
  3. Mallory intercetta le chiavi pubbliche oi certificati autofirmati.
  4. Mallory crea una nuova coppia di chiavi e auto-firma nel caso di certificati autofirmati.
  5. Mallory trasmette la nuova chiave pubblica oi certificati autofirmati rispettivamente ad Alice e Bob.
  6. Mallory ora è trasparente tra Alice e Bob.
  7. Alice e Bob credono erroneamente che la loro comunicazione sia privata.

Dato che Mallory può generare solo nuovi keypair e auto-firma, un attacco man-in-the-middle può essere eseguito in modo abbastanza semplice come se fossero scambiate solo chiavi pubbliche.

Ho anche considerato un attacco denial-of-service, in cui Mallory può corrompere l'ID utente o la chiave pubblica in modo che Alice / Bob non possa decodificare i messaggi e quindi non comunicare. Un certificato autofirmato consentirebbe ad Alice / Bob di dire che c'è una corruzione non appena il certificato arriva, mentre una chiave pubblica da sola sarebbe scoperta solo come danneggiata una volta ricevuta la risposta.

Tuttavia, Mallory non ottiene alcun vantaggio nell'esecuzione di questo Denial of Service complicato: Alice e Bob non rivelano segreti in quanto non sono in grado di comunicare e il semplice blocco dei pacchetti di rete è un modo molto più semplice di negare il servizio ad Alice e Bob.

Quindi in che modo pratico è la trasmissione di un certificato autofirmato più sicuro rispetto alla trasmissione di una chiave pubblica da solo?

Vedi anche

Public keys without the certificates

    
posta Vilhelm Gray 25.09.2014 - 17:07
fonte

2 risposte

4

Nessuno. Non ci sono benefici per la sicurezza.

Strumenti come openssl sono progettati per funzionare con i certificati. Questo significa che è più pratico dare a openssl un certificato autofirmato piuttosto che nessun certificato.

    
risposta data 25.09.2014 - 18:31
fonte
1

Solo se si stanno firmando più certificati. L'autofirmazione non dà più la convalida che tu sei chi pretendi di essere di una chiave pubblica, tuttavia, se hai, ad esempio, 3 diverse chiavi pubbliche e tutte sono firmate con la tua stessa chiave privata autofirmante, allora qualcuno potrebbe verificare che tutte e 3 le chiavi siano tutte non valide o tutte valide (sebbene non siano in grado di dire quali non siano state verificate prima la chiave principale). Sappiamo che tutte e 3 le chiavi sono state approvate dalla stessa persona, ma non sappiamo chi sia quella persona senza verificare la radice. Con semplici chiavi pubbliche, non sarebbero in grado di verificare che le 3 chiavi pubbliche siano collegate in alcun modo.

    
risposta data 25.09.2014 - 18:44
fonte