Derivazione di una chiave crittografica: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Revisiono voce - numerose modifiche |
varie sintattiche |
||
Riga 2:
Derivare una chiave crittografica significa ricavare una o più [[chiave crittografica|chiavi crittografiche]] da una chiave principale (in inglese detta solitamente ''master key'') o da altra informazione disponibile, ad esempio una [[password]] o una [[passphrase]]. <ref>{{cite book|author=Bezzi, Michele|chapter=Data privacy|editors=Camenisch, Jan|title=Privacy and Identity Management for Life|publisher=Springer|year=2011|isbn=9783642203176|pages=185–186|url=https://books.google.com/books?id=vYxzh3C6OPUC&pg=PA185|display-authors=etal|display-editors=etal}}</ref><ref>{{cite web|author=Kaliski, Burt|author2=[[RSA Laboratories]] |title=RFC 2898 – PKCS #5: Password-Based Cryptography Specification, Version 2.0|work=IETF|url=https://www.ietf.org/rfc/rfc2898.txt}}</ref> Ciò viene fatto in base ad una opportuna '''funzione di derivazione''' della chiave (in inglese ''Key derivation function'' o KDF) che ricava la chiave derivata a partire da dati noti. Una diffusa applicazione della derivazione di una chiave è in [[HMAC]].
Un algoritmo di derivazione della chiave (v. ad esempio PBKDF2), a partire da un valore arbitrario in ingresso (una stringa o un array di
Questo fa sì che sia possibile imporre un dato tempo
Unendo alla password un valore pseudocasuale, che non ha bisogno di restare segreto (seed o salt), in ingresso alla funzione di derivazione della password si fa in modo che l'avversario non possa nemmeno precalcolare le chiavi corrispondenti alle password più provabili, perché saranno diverse al cambiare del salt, e quindi diverse per ogni file cifrato.
Riga 12:
===Funzioni di derivazione di chiave basate su password===
Le funzioni di derivazione di chiave sono usate anche nelle applicazioni per derivare chiavi da password segrete oppure passphrase,
▲Le funzioni di derivazione di chiave sono usate anche nelle applicazioni per derivare chiavi da password segrete oppure passphrase, che tipicamente non godono della proprietà di poter essere usate direttamente come chiavi crittografiche. In certe applicazioni, è generalmente raccomandato che la funzione di derivazione di chiave generi lentamente la chiave derivata, in modo da scoraggiare gli attacchi di brute-force o di dizionario sulla password o sulla passphrase in input.
Un particolare uso di una funzione di derivazione di chiave può essere il seguente:
Riga 27 ⟶ 26:
La chiave derivata è usata al posto della chiave originale o della password, come chiave del sistema. Il valore del ''salt'' e il numero di iterazioni (se non è prefissato) sono memorizzati nel valore hash della password o inviati come testo in piano insieme al messaggio criptato.
La difficoltà di forzare la chiave con un attacco
La prima funzione di derivazione di chiave basata su password, deliberatamente lenta dal punto di vista computazionale, fu chiamata "crypt" ("crypt(3)" nelle [[man (Unix)|pagine di manuale]] di [[Unix]]) e fu
Le moderne funzioni di derivazione di chiave basate su password, come [[PBKDF2]] (specificata nel [[Request for Comments|RFC]] 2898)
==Note==
|