Convalida degli HMAC limitati nel tempo

1

Sto esplorando l'utilizzo dell'autenticazione con chiave segreta in stile HMAC con scadenza del timestamp, ma sto cercando di capire come convalidare la porzione di timestamp.

Sul lato client dovresti fare:

my_hmac = hmac(my_secret, my_values)

Dove avresti un campo timestamp in my_values .

Sul server (dove conosci anche my_secret ) proverai a ricostruire la stringa HMACd con i parametri di richiesta:

my_hmac_to_compare = hmac(my_secret, my_values_from_http_request)

È semplicemente un caso di incorporare il timestamp come parametro in modo che sia sottoposto a hashing nella stringa HMAC e quindi assicurarsi che il timestamp sia entro N minuti da quando elaboriamo la richiesta?

Ho strane visioni di dover iterare oltre 5 minuti di timestamp, ricostruendo la stringa HMAC sul server che tenta di trovare l'ago nel pagliaio che genererà la stringa HMAC corretta.

Domanda bonus: esiste un consenso su come si trasferirebbe inizialmente la chiave segreta a un client da un server? Ovviamente diventa "sporco" dopo che è passato sul filo, ma in un'applicazione utente rivolta verso l'utente non è possibile incollare qualcuno in una chiave segreta estesa, soprattutto se si tratta di un client mobile.

    
posta kez 27.11.2013 - 17:16
fonte

0 risposte

Leggi altre domande sui tag