La crittografia su base identità è un tipo di crittografia a chiave pubblica in cui una stringa che rappresenta un individuo o un'organizzazione, e pubblicamente nota, viene utilizzata come chiave pubblica: tale stringa pubblica corrisponde a un'identità digitale e, a seconda del contesto, potrebbe includere un indirizzo e-mail, un indirizzo IP, un numero di telefono[1].
Storia
La prima implementazione di firme digitali e un'infrastruttura a chiave pubblica basata sugli indirizzi e-mail è stata sviluppata da Adi Shamir nel 1985[2]: con tale schema, infatti, è possibile verificare una firma digitale utilizzando solo informazioni pubbliche dell'utente, come il suo identificativo. Nello schema proposto da Shamir, inoltre, spetta a una terza parte consegnare all'utente la chiave privata dopo averne verificato l'identità: tale verifica è sostanzialmente uguale a quella richiesta per il rilascio di un certificato in una tipica infrastruttura a chiave pubblica. Per questo motivo la terza parte è anche chiamata "centro di generazione delle chiavi" o KGC (dall'inglese Key Generation Center).
Nel 2005 Sahai e Waters hanno proposto una generalizzazione della crittografia su base identità[3]: la crittografia su base attributi.
Cifrario su base identità
Lo stesso Shamir ha proposto il cifrario su base identità, un'idea che ha subito suscitato particolare interesse poiché evita l'annoso problema della distribuzione delle chiavi. Tuttavia, non è stato in grado di trovare una soluzione concreta e il cifrario basato sull'identità è rimasto un problema aperto per quasi venti anni. Le prime implementazioni pratiche furono, infine, ideate da Sakai nel 2000[4], e successivamente da Boneh e Franklin nel 2001[5]: quest'ultima costruzione assume l'esistenza di un oracolo casuale. Tutte queste soluzioni sono basate sugli accoppiamenti bilineari. Sempre nel 2001, una soluzione è stata sviluppata in modo indipendente da Clifford Cocks[6][7]: tale costruzione è basata sul problema della residuosità quadratica.
Limiti
Tutti gli schemi proposti presentano un problema caratteristico, dovuto alla formulazione stessa della crittografia su base identità. Supponiamo, infatti, che Alice e Bob siano due utenti di un siffatto sistema. Poiché le informazioni necessarie per trovare la chiave pubblica di Alice sono determinate esclusivamente dall'identificativo (univoco) di Alice e dalla chiave pubblica principale generata dalla terza parte, non è possibile revocare le credenziali di Alice ed emettere nuove credenziali senza:
- modificare l'ID di Alice (di solito un numero di telefono o un indirizzo e-mail),
- in alternativa al punto precedente, cambiare la chiave pubblica principale e generare daccapo le chiavi private per tutti gli utenti, incluso Bob.
Questa limitazione intrinseca degli schemi su base identità può essere superata includendo una componente temporale nell'identità: ad esempio l'identità di un utente potrebbe essere data dal suo numero di telefono e dall'anno corrente.
Note
- ^ Venturi, p. 262.
- ^ (EN) Adi Shamir, Advances in Cryptology, vol. 196, Springer Berlin Heidelberg, 1985, pp. 47–53, DOI:10.1007/3-540-39568-7_5, ISBN 978-3-540-15658-1. URL consultato il 17 maggio 2020.
- ^ (EN) Amit Sahai e Brent Waters, Fuzzy Identity Based Encryption (PDF), n. 086, 2004. URL consultato il 17 maggio 2020.
- ^
(EN) R. Sakai, K. Ohgishi e M. Kasahara, Cryptosystems based on pairings, in SICS, 2000.
- ^
(EN) Dan Boneh e Matt Franklin, Identity-based encryption from the Weil pairing, in Advances in Cryptology — CRYPTO 2001, vol. 2139/2001, Springer, 2001, pp. 213–229.
- ^ (EN) Cliff Cocks, An Identity Based Encryption Scheme Based on Quadratic Residues (PDF), in Lecture Notes in Computer Science, vol. 2260/2001, Springer, 2001, pp. 360–363, DOI:10.1007/3-540-45325-3_32, ISBN 978-3-540-43026-1. URL consultato il 17 maggio 2020 (archiviato dall'url originale il 6 febbraio 2007).
- ^ (EN) Dr Clifford Cocks CB, su bristol.ac.uk, University of Bristol (archiviato il 27 giugno 2015).
Bibliografia