Se si ritiene che una chiave privata sia compromessa, in che modo il proprietario può indicare quale nuova chiave pubblica considerare attendibile?

4

In astratto, sto pensando a una situazione in cui esiste un'autorità che ospita le chiavi pubbliche per gli utenti. Supponiamo che un utente utilizzi la propria chiave privata per firmare i messaggi, ma un giorno scopre che la propria chiave privata è stata compromessa. Supponendo che la causa del compromesso originale sia stata risolta (per evitare un secondo compromesso), come può l'utente indicare pubblicamente non solo "Non usare la mia chiave pubblica precedente" ma anche "Questa è la mia nuova chiave pubblica e può essere attendibile" ?

Se l'utente non è stato compromesso, potrebbe pubblicare un messaggio firmato che dice "Usa questa nuova chiave pubblica", ma questo non è più possibile perché non c'è fiducia in chi ha firmato il messaggio una volta compromesso. An Eve potrebbe creare una nuova coppia pubblica / privata e provare a costringere le persone a fidarsi di questa nuova coppia, proprio come l'utente sta provando a fare con la sua nuova chiave.

Immagino che ci possa essere una sorta di elenco di revoche di certificati, ma per le chiavi pubbliche che un utente può aggiungere la sua chiave pubblica a una volta che credono di essere state compromesse. In che modo quindi un utente può ristabilire la fiducia con una nuova chiave?

    
posta Corey Ogburn 23.08.2016 - 04:44
fonte

2 risposte

5

Penso che se continuerai su questa linea di pensiero finirai per inventare le autorità di certificazione.

Sì, qualsiasi chiave dovrebbe essere in grado di revocarsi (per es. firmare un messaggio che dice "Non fidarsi di nessun messaggio futuro da questa chiave"). Se questo va in un elenco di revoche o qualche altro meccanismo dipende da come è progettato il sistema.

Come dire al mondo quale chiave fidarsi di più, in un sistema di fiduciario come PGP non c'è davvero modo di farlo - la tua chiave non c'è più. È necessario ricominciare con la raccolta di firme su una nuova chiave. In un sistema PKI con una CA puoi contattare le persone che hanno emesso il certificato, dimostrare la tua identità (per telefono o di persona o qualsiasi altra cosa che richieda la tua politica) e poi farti rilasciare un nuovo certificato.

In cima alla mia testa suppongo che tu possa sempre tenere due chiavi - quella attiva che usi e un backup, e che la chiave attuale firmi un messaggio che dice "La mia chiave di backup è XXXX". Dato che la tua chiave attiva è compromessa a un certo punto in futuro e hai un modo per dimostrare crittograficamente che la convalida incrociata avvenuta prima del compromesso (che richiederà anche una certa previsione), allora le persone potrebbero estendere in modo sicuro la fiducia dalla vecchia chiave alla nuova chiave. ... Mi chiedo se questo è fatto è pratica, io sono per lo più un esperto in Autorità di certificazione in cui è possibile ottenere la CA per ri-problema.

    
risposta data 23.08.2016 - 04:52
fonte
1

Buona domanda! (per TLDR, vai al punto # 9 e al paragrafo successivo)

Quindi la storia è così:

Alice decide di utilizzare coppie di chiavi, PRIV1 e PUB1, in modo che le persone sappiano che i suoi documenti non sono stati manomessi ...

  1. Alice firma un documento con la sua chiave privata PRIV1 .
  2. Bob scarica il suo documento, insieme alla chiave pubblica (per esempio, condivisa via email), PUB1 .
  3. Bob utilizza la chiave pubblica per garantire che il documento sia valido.

La chiave privata di Alice è compromessa ...

  1. Alice crea una nuova coppia di chiavi, PRIV2 e PUB2 , ma dimentica di condividere PUB2 con i suoi utenti.
  2. Bob scarica un secondo documento dal sito Web di Alice.
  3. Bob tenta di utilizzare la vecchia chiave pubblica PUB1 per convalidare il file. Fallisce.
  4. Bob invia un'email ad Alice per farglielo sapere.
  5. Alice decide di pubblicare la sua nuova chiave pubblica PUB2 sul suo sito Web affinché tutti possano vederla, in modo che non debba continuare a dire agli utenti lic keyher della sua nuova chiave pubblica.
  6. Alice decide di abilitare abilmente il link sul suo sito Web in modo che un hacker non possa modificare la chiave pubblica utilizzando un attacco man-in-the-middle.

Quindi, alla fine, abilitare il link con un certificato valido (cioè non CRL) abilita un modo infallibile per garantire che la chiave pubblica pubblicata di Alice sia corretta in qualsiasi dato punto nel tempo.

    
risposta data 23.08.2016 - 07:26
fonte

Leggi altre domande sui tag