Recupera credenziali anonime

1

Sfondo

Un processo di registrazione per acquisire un account anonimo e verificato è il seguente:

  • Il registrante fornisce la prova dell'individualità a un registrar.
  • Il registrar verifica la bozza, non garantisce la registrazione preventiva e indirizza il registrante a un cassiere.
  • Teller fornisce Registrante con le credenziali dell'account anonimo.

A questo punto, il Registrant ha un account e un solo account. Il Registrante qui di seguito è un Utente Registrato (semplicemente, Utente ).

Problema

Un utente può perdere (accidentalmente o deliberatamente) le proprie credenziali anonime.

Domanda

Come può:

  • l'anonimato di un account utente rimane crittograficamente sicuro (anche a terze parti che hanno accesso completo al database e al codice sorgente), in modo tale che la scoperta dell'account anonimo o delle credenziali di registrazione non rivelare che appartengono allo stesso individuo;
  • è impedita la registrazione di account duplicati; e
  • un utente recupera le credenziali dell'account perse (o errate) e solo le sue?

Ho pensato che la crittografia omomorfica potrebbe essere utile qui, ma ho letto che al momento è troppo computazionale.

correlati

Domande correlate:

(Se questo fosse più adatto per Crypto SE , esegui la migrazione.)

    
posta Dave Jarvis 26.02.2015 - 21:58
fonte

1 risposta

2
  1. Il registrar verifica l'identità dell'utente (in un commento hai detto che l'utente non è anonimo nei confronti del registrar). Identificazione significa che ogni utente ha un qualche tipo di identificatore univoco. Quello potrebbe essere il loro numero di previdenza sociale, il loro vero nome + compleanno + luogo di nascita o qualcosa del genere. Il registrar utilizza una funzione di hash crittograficamente protetta per creare un hash dall'identificatore + un pepe segreto noto solo al registrar.
  2. Il registrar firma l'hash con la sua chiave privata per dimostrare di aver generato quell'hash. Quindi assegnano la firma hash + all'utente
  3. L'utente presenta la firma hash + al cassiere. Il cassiere verifica che la firma sia valida utilizzando la chiave pubblica del registrar. Quindi usano l'hash più un altro pepe segreto noto solo al cassiere come input per creare un altro hash crittograficamente sicuro e quindi ricavare le credenziali degli utenti da tale hash.

Recupero credenziali perse

Se l'utente perde le proprie credenziali, ripete la procedura. Le loro informazioni personali non saranno cambiate, quindi l'hash del registrar sarà lo stesso di prima, il che significa che anche le credenziali generate dal cassiere in base all'hash saranno uguali.

Possibili vettori di attacco

Il più grande vettore di attacco possibile su questo sistema sarebbe un registrar malevolo. Quando il registrar è malvagio, potrebbe generare un numero infinito di hash falsi e presentarli allo sportello per generare un numero infinito di identità anonime. Oppure potrebbero dare loro l'hash di un'identità conosciuta per ottenere le credenziali di quell'utente. Quando il cassiere conosce il registrar, il registrar potrebbe continuare a farlo cospirando con un'altra persona sconosciuta al cassiere e utilizzarla come proxy. Tuttavia, ti fidi già del registrar per identificare personalmente i tuoi utenti, quindi devi comunque inserire una grande quantità di fiducia in loro.

Il potenziale di abuso potrebbe essere ridotto (ma non completamente rimosso) avendo più registrar e richiedendo una firma da più di uno. In questo modo più registrar devono cospirare per rompere il sistema.

    
risposta data 26.02.2015 - 23:11
fonte