Nonce sincronizzato

1

Se due parti (Say A e B) hanno una chiave segreta condivisa (K), c'è un modo per ciascuna parte di usare la chiave segreta condivisa per generare una sequenza nonce (N) che è uguale su entrambi i lati senza dover inviare il valore di nonce tra di loro?

Sto pensando di avere un contatore iniziale (C) che è condiviso tra quelle parti e quindi utilizzare la chiave simmetrica per derivare i nonce successivi. A e B si esibirebbero: N0 = {C} K N1 = {N0} K N2 = {N1} K .... Nn = {Nn-1} K

Se voglio la proprietà di imprevedibilità per il nonce creato, è sicuro farlo in questo modo?

Il nonce ha lo scopo di ricavare sessioni chiave generate da A per consentire ad altre parti di accedere a B.

    
posta user1677104 07.04.2016 - 20:51
fonte

1 risposta

1

Sì, puoi concatenare i nonces come hai descritto, se {}K è una funzione pseudo-casuale em> come HMAC .

Se utilizzi HMAC, con chiave K, come funzione sui nonce ( H_K(N_n) ), un utente malintenzionato non può prevedere i nonces poiché sarebbe in grado di falsificare selettivamente anche i tag HMAC, ovvero impossibile anche se si utilizza HMAC-MD5 ( mentre MD5 stesso è gravemente danneggiato , gli hash migliori sono ancora migliori), se non conosci la chiave.

    
risposta data 07.04.2016 - 21:28
fonte

Leggi altre domande sui tag