Nuova autenticazione utente per prevenire compromissioni man in the middle

0

Sulla creazione di nuovi account negli schemi client-server "zero knowledge encryption"

Client requests a nonce by sending new username
Server sends client a random nonce if username is available.
Client generates new RSA key pair.
Client signs nonce with private key.
Client sends singed nonce AND public key AND clear text username.
Server verifies nonce using public key.

Questo preclude l'uomo negli attacchi centrali?

A prima vista il sever deve fidarsi di tutto ciò che viene inviato dal 'client', ma solo il client di origine potrebbe aver firmato il nonce con la propria chiave privata. Quindi, la chiave pubblica inviata dal client può essere considerata attendibile?

È vero?

    
posta dave.zap 02.11.2016 - 21:14
fonte

1 risposta

1

Che cosa vuoi ottenere con questo sistema? Innanzitutto, l'attaccante può generare la propria coppia di chiavi. Ma perché l'attaccante vuole farlo? Nel nuovo processo di creazione dell'account, l'utente malintenzionato vorrebbe ottenere il nome utente e la password. Interrompere le comunicazioni tra client e server sostituendo la chiave pubblica del client con il suo è inutile.

In secondo luogo, anche se l'attaccante ascolta semplicemente il traffico, otterrà la chiave pubblica del Cliente. Ora, la prossima volta che il client invia qualcosa al server (forse una password?) Crittografandolo con una chiave privata, l'attaccante sarà in grado di decrittografarlo con la chiave pubblica.

    
risposta data 03.11.2016 - 10:54
fonte

Leggi altre domande sui tag