Sei sulla pagina 1di 45

HIBE Hierarchical Identity Based Encryption

Implementazione di un sistema di cifratura gerarchico basato sullidentit

HIBE
Introduzione IBE e HIBE Lapplicativo

Introduzione
La crittografia nasce come un mezzo per consentire di inviare messaggi mantenendo la riservatezza delle informazioni inviate, anche in presenza di un avversario in grado di accedere al canale di comunicazione usato. La parola crittografia deriva dall'unione di due parole greche: (krypts) che significa "nascosto", e (grphein) che significa "scrivere". La crittografia si occupa delle "scritture nascoste", ovvero dei metodi per rendere un messaggio incomprensibile alle persone non autorizzate a leggerlo.

La crittografia ha origini antiche: Il primo metodo crittografico noto risale al tempo degli Spartani (sctala lacedemone, in uso nel 400 a.C. ma forse risalente al 900 a.C.); scacchiera di Polibio (storico greco antico del mediterraneo del II secolo a.C); cifrari (Atbash, Albam e Atbah) utilizzati dagli Ebrei nella Bibbia; attribuito a Gaio Giulio Cesare luso del cosiddetto cifrario di Cesare. Solo di recente essa divenuta scienza, ed abbraccia molte aree della matematica e dell'informatica (Algebra, Probabilit e Teoria della Complessit in particolare).

Le applicazioni crittografiche erano essenzialmente di tipo militare. Adesso le applicazioni crittografiche sono ovunque e spesso non ci si rende neppure conto daverle gi usate: acquisti con carta di credito su Internet; operazioni bancarie on-line; voto elettronico; smart-card; telefonia mobile GSM; carte pre-pagate; trasmissioni televisive criptate; firma digitale; https:// etc.

Obiettivi principali: ottenere Privacy, attraverso la realizzazione di strumenti (algoritmi, programmi, protocolli) che permettono di rendere un messaggio incomprensibile alle persone non autorizzate a leggerlo; garantire Autenticit e Integrit, cio assicurare a Bob (il destinatario) che ci che sembra arrivare da Alice (il mittente) arrivi effettivamente da Alice ed arrivi integro. Utilizzare protocolli, cio regole di comportamento tra le parti coinvolte nella comunicazione, crittograficamente validi di fondamentale importanza per la sicurezza dei sistemi informatici.

Cifratura/Decifratura

Messaggio in chiaro Messaggio cifrato

Messaggio in chiaro

Algoritmo di Cifratura

Algoritmo di Decifratura

Chiave segreta

Chiave segreta

E necessario crittografiche.

usare

in

maniera

oculata

le

tecniche

Principi generali: legge di Kerckhoffs (1880) "Un sistema crittografico

dovrebbe essere sicuro anche se ogni cosa che riguarda il sistema, ad eccezione della chiave, di pubblico dominio". massima di Shannon il nemico conosce il sistema; sicurezza tramite segretezza si basa sullassunto che
tenere segreto il funzionamento interno di un sistema lo renda pi sicuro, perch un attaccante avrebbe maggiore difficolt nella scoperta deventuali falle del sistema.

I modelli fondamentali usati dalla crittografia per la gestione delle chiavi sono due: crittografia simmetrica (a chiave privata) e crittografia asimmetrica (a chiave pubblica). Nella crittografia simmetrica, le parti usano la stessa chiave sia per cifrare che per decifrare. E necessario che le parti, Alice e Bob, si incontrino per stabilire la chiave segreta, che una (lunga) stringa di bit. Nella crittografia asimmetrica, le parti usano due chiavi: una pubblica per cifrare ed una privata per decifrare.

Crittografia a chiave simmetrica


Viene usata stessa chiave per cifrare e per decifrare un documento. La comunicazione della chiave condivisa deve avvenire attraverso un canale sicuro. Algoritmi usati: DES, Triple-DES, RC5, Blowfish,

Messaggio cifrato

alice@a.com
Chiave Privata condivisa

bob@b.com
Chiave Privata condivisa

Crittografia a chiave asimmetrica


Viene utilizzata una coppia di chiavi, chiave pubblica e chiave privata, tali che non possibile ricavare una chiave dallaltra; Il mittente utilizza la chiave pubblica del destinatario per cifrare il messaggio. Il destinatario possiede la corretta chiave privata per decifrare il messaggio Algoritmi usati: RSA, DSA, Diffie-Hellman,
Messaggio cifrato

alice@a.com
Chiave Pubblica di Bob

bob@b.com
Chiave Privata di Bob

La chiave pubblica di un utente difficile da ricordare o da trascrivere. Prima di poter inviare un messaggio ad un utente bisogna ottenere la chiave pubblica (autenticata) del destinatario (es. certificato on-line, scambio a mano, etc.). Nel 1984 stato richiesto uno schema di cifratura a chiave pubblica che semplificasse la gestione di una PKI (Public Key Infrastructure) e che consentisse di usare una chiave pubblica formata da una stringa arbitraria. Solo nel 2001 Dan Boneh e Matthew Franklin hanno proposto uno schema che risulta essere pratico e sicuro da usare.

Lo schema costruito utilizzando una mappa bilineare tra due gruppi. Gli algoritmi dello schema risultano essere veloci ed efficiente se la mappa realizzata usando il Weil o il Tate pairing (appaiamento) su curve ellittiche supersingolari o altre variet abeliane.

IBE e HIBE
Nella crittografia basata sullidentit (IB Identity Based o IDBased o IDEntity Based), la chiave pubblica una qualsiasi stringa che caratterizza il destinatario. Alice cifra usando questa stringa, insieme con altri parametri pubblici non associati all'utente specifico e noti a priori, ed invia il messaggio cifrato. Dopo la ricezione del messaggio, ma anche in un momento diverso, Bob richiede ad Generatore di Chiavi Private (PKG) la chiave privata e decifra.

Alice non deve chiedere certificati attendibili ed aggiornati sulla validit della chiave pubblica da usare. IBE Public Key:

indirizzo e-mail; una foto digitale; un indirizzo URL; una lista di caratteristiche di Bob; un insieme di condizioni che Bob deve possedere al momento della ricezione; Il codice eseguibile di un programma.

RSA Public Key:


Public exponent=0x10001; Modulus=1350664108659952233496032162788059699388814756056670 27524485143851526510604859533833940287150571909441798207282 16447155137368041970396419174304649658927425623934102086438 32. . . . . . .

PKI tradizionale
Server dei Certificati

Certification Authority CA
Archivia certificato Invia chiave pubblica Autenticazione Riceve certificato

Recovery Server

Ricerca certificato di Bob Verifica liste di revoca

Chiave Pubblica di Bob certificata da CA

Chiave Pubblica di Bob Chiave Privata di Bob

alice@a.com

bob@b.com

IBE
IBE Key Server
Server dei Certificati Recovery Server
Invia chiave pubblica Autenticazione Riceve Chiave Privata

Archivia certificato

Ricerca certificato di Bob Verifica liste di revoca

Archivia chiave privata

Parametri Pubblici

Chiave Privata di Bob

alice@a.com

bob@b.com

- master key - parametri pubblici

PRIMO INVIO Alice invia a Bob

PKG

Richiesta chiave Autenticazione

bob@b.com

alice@a.com

bob@b.com

SECONDO INVIO Bravo (Alice o altro) invia a Bob


PKG

Nessuna connessione con il server

bob@b.com

bravo@c.com

bob@b.com

Cifratura con pk = bob@b.com Facile da usare: Alice non deve cercare certificato pubblico di Bob. Alice pu inviare una mail a Bob anche se Bob non ha ancora la chiave privata. La chiave pubblica di Bob facile da ricordare. Cifratura con pk = bob@b.com || current-date Revoca dei certificati. Invio messaggi nel futuro. Deleghe al portatile. Cifratura con pk = bob@b.com || date || clearance=secret Bob pu decifrare solo se in quella data ha quel livello di autorizzazione. Facile concedere e revocare autorizzazioni. Cifratura con pk = bob@b.com || mansione=ufficio acquisti Bob pu decifrare solo se ricopre quella mansione.

Luso di un'unica PKG allinterno di una grande rete comporta un notevole carico di lavoro, nasce quindi lesigenza di distribuire il carico di lavoro su pi PKG. Il problema risolto utilizzando un sistema di cifratura IB gerarchico (HIDE Hierarchical ID-Based Encryption o HIBE).

PKG root. Livello 0

Master Secret Key

PKG di livello 1

PKG e Utenti di livello 2

PKG e Utenti di livello n

Lapplicazione
Partendo dallo schema IBE, evolvendo poi verso lo schema HIDE, stata realizzata unapplicazione che rappresenta un motore crittografico HIDE. Usa solo risorse pubbliche e gratuite ed trasportabile (Linux e Windows). Indirizzo e-mail usato come DNS (livelli da destra a sinistra, root PKG implicito, lultimo livello il destinatario). Esempio r.zammitti@se.azienda.it

PKG root

us

it

de

unict

azienda

ippari

fe

se

te

r.zammitti@se.azienda.it

Uso della crittografia ibrida. Tradizionalmente usata per la costruzione di sistemi di crittografia asimmetrica, per superare i problemi derivanti dal cifrare lunghi messaggi utilizzando la crittografia asimmetrica pura. Il messaggio cifrato con uno schema simmetrico, utilizzando una chiave simmetrica generata casualmente (meccanismo dincapsulazione dei dati o DEM) . Questa chiave poi cifrata utilizzando uno schema di crittografia asimmetrica (meccanismo di incapsulazione della chiave o KEM). Il modello ha il vantaggio di consentire che i requisiti di sicurezza delle parti simmetriche e asimmetriche possano essere completamente separati e studiati autonomamente.

Messaggio in chiaro

Messaggio in chiaro

Crittografia Ibrida
A
Messaggio cifrato

Algoritmo di Cifratura Simmetrica

Algoritmo di decifratura Simmetrica

Chiave segreta simmetrica (Chiave di sessione random)

Chiave di sessione

Algoritmo di Cifratura Asimmetrica

Algoritmo di Decifratura Asimmetrica

Chiave Pubblica di Bob (asimmetrica)

Chiave Segreta di Bob (asimmetrica)

Linteresse verso questi schemi attuale e si stanno realizzando degli sforzi verso una standardizzazione sia degli schemi che degli algoritmi usati. IBE descritto nel documento RFC 5091, che rappresenta uno standard informale ed ancora in evoluzione; IBE ed HIDE sono presenti nella prima emissione del documento

EEEP 1363.3 - Standard for Identity-Based Cryptographic Techniques using Pairings. Si prevede sar completato nel corso
del 2009.

Potrebbero piacerti anche