Uso di sale o segreto per Hmac

1

Sto lavorando su un'API web. Utilizzeremo Hmac256 per l'hashing della firma. Da quello che posso raccogliere, il segreto è una chiave usata per inizializzare l'algoritmo di hash (cioè per generare un numero casuale). Il sale viene aggiunto al contenuto, per renderlo più difficile da decrittare.

L'API verrà utilizzata da alcuni client e i dati non sono molto sensibili (per ora). Faremo il filtraggio IP sul nostro server.

Qual è la migliore pratica, usando un sale, un segreto o entrambi? È un po 'complicato per il cliente avere entrambi credo.

    
posta ThunderDev 24.11.2014 - 11:26
fonte

1 risposta

0

Sali e segreti hanno scopi diversi durante la creazione di un MAC. Il segreto (la chiave) viene utilizzato per prevenire falsi esistenziali o, in altre parole, per impedire a un utente malintenzionato di creare un MAC altrettanto valido su un messaggio manomesso. Senza la chiave, non hai integrità, e in pratica hai trasformato il MAC in un hash. Quindi, hai bisogno della chiave.

Un salt, d'altra parte, è utile solo con un MAC se stai creando firme per messaggi identici e hai bisogno di prevenire la perdita di informazioni. Se crei le firme per lo stesso messaggio due volte, utilizzando la stessa chiave, i MAC saranno progettati in modo identico. Se non vuoi che l'attaccante sia in grado di discernere se i messaggi firmati sono identici o meno, allora hai bisogno di sale. Se i messaggi non sono identici, come nel caso di encrypt-then-MAC, ad esempio, in cui potresti fare affidamento su un vettore di inizializzazione per rendere il testo cifrato che stai creando il MAC per univoco, non hai bisogno di un sale .

    
risposta data 24.11.2014 - 15:29
fonte

Leggi altre domande sui tag