Key Escrow Key Escrow Ozalp Babaoglu! In many situations, a secret (key) is known to only a single individual " Private key in asymmetric cryptography " The key in symmetric cryptography or MAC where the information is not transmitted (encrypting local files)! What happens if you lose, forget the secret or if you die (and your boss needs to access your files)?! Also a legal and political issue: the US government would like to be able to eavesdrop on even encrypted communications if there is a court order or there is danger of national security ALMA MATER STUDIORUM UNIVERSITA DI BOLOGNA! Babaoglu 2006 Sicurezza 2 Key Escrow 2-way secret splitting! Give a copy of your private key to the company security officer, perhaps on a smart card whose use can be audited! What if you do not trust the security officer?! Split the private key into n pieces, and send each to a different security officer (or encrypt the pieces with their public keys and keep them on your disk)! No single security officer alone can reconstruct your private key but all n must collaborate to do so! Let S be a secret k bits long and n=2! Generate a random string R of length k! Give to security officer one the string =R! Give to security officer two the string S 2 =R!S! Reconstruct secret as!s 2 Babaoglu 2006 Sicurezza 3 Babaoglu 2006 Sicurezza 4
2-way secret splitting: example 2-way secret splitting Secret: 1 1 0 1 0 0 0 1 Random string R: 1 0 0 0 1 1 1 0! 0 1 0 1 1 1 1 1! 1 1 0 1 0 0 0 1 S 2 Secret Properties:! Confidentiality: Neither security officer alone has any information regarding S (one has a random string, the other S encrypted with a one-time pad)! Availability: The two of the together can reconstruct S as!s 2 = R!(R!S) = S Babaoglu 2006 Sicurezza 5 Babaoglu 2006 Sicurezza 6 n-way secret splitting Secret Sharing! Let S be a secret k bits long! Generate n#1 random strings R 1 R 2...R n-1 each k bits! Give to the first n#1 security officers the strings R 1 R 2...R n-1! Give to the last (n th ) security officer the string R 1!R 2!...!R n-1!s! Reconstruct the secret!s 2!...!S n-1!s n! What if one of the security officers dies? The remaining pieces useless and the secret cannot be recovered! Need to relax the requirement that all n pieces be present to recover the secret! (t,n)-threshold scheme (where t!n): " Secret split into n shadows " t (or more) shadows sufficient to recover secret " Less than t shadows unable to recover secret Babaoglu 2006 Sicurezza 7 Babaoglu 2006 Sicurezza 8
Secret Sharing: (t,n)-threshold Secret Sharing: (t,n)-threshold! Generate a random polynomial of degree t#1 g(x) = (a t#1 x t#1 + a t#2 x t#2 + a 1 x + S) mod p! Consider an example of (2,n)-threshold scheme g(x) = (ax + S) mod p where S is the secret and p is a random prime larger than any of the coefficients that is made public S S 2 S 3 S 4! Generate the n shadows as S 5 S 6 =g(1), S 2 =g(2),...,s n =g(n) S 7 S 8 S 9! Discard the polynomial (coefficients and S)! Any t shadows sufficient to solve for the t unknowns to obtain the polynomial (and the secret S) 0 1 2 3 4 5 6 7 8 9 10 Babaoglu 2006 Sicurezza 9 Babaoglu 2006 Sicurezza 10 Secret Sharing: (t,n)-threshold Secret Sharing: (t,n)-threshold! Given any two (or more) shadows! Given only one shadow S S 3 S 7 S? S 7 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 Babaoglu 2006 Sicurezza 11 Babaoglu 2006 Sicurezza 12
Gestione delle chiavi Key Exchange and Key Management Ozalp Babaoglu! Distribuzione delle chiavi pubbliche! Uso dei protocolli a chiave pubblica per distribuire chiavi segrete ALMA MATER STUDIORUM UNIVERSITA DI BOLOGNA! Babaoglu 2006 Sicurezza 14 Distribuzione delle chiavi pubbliche Annuncio pubblico! Annuncio pubblico! Elenco pubblico! Autorità di distribuzione! Certificati! L utente rende di pubblico dominio la propria chiave pubblica! Pubblicazione chiavi: " Tutti possono pubblicare la propria chiave! Accesso: " Tutti possono accedere alle chiavi degli altri Babaoglu 2006 Sicurezza 15 Babaoglu 2006 Sicurezza 16
KB[pub] Annuncio pubblico Annuncio pubblico KA[pub] Utente A KA[pub]! Vantaggi Utente B KA[pub] KB[pub] KB[pub] Ad esempio: la chiave pubblica viene messa in allegato ai messaggi di posta elettronica o inserito nel home page dell utente " Semplice, veloce, non necessita di intermediari! Svantaggi " Nessuna garanzia: l annuncio può essere facilmente alterato. L intruso può pubblicare la propria chiave pubblica a nome di un altro utente! Babaoglu 2006 Sicurezza 17 Babaoglu 2006 Sicurezza 18 Elenco pubblico (directory) Elenco pubblico! Directory mantenuta da un entità fidata (authority)! Pubblicazione chiavi: " Ogni partecipante registra la propria chiave presso l'autorità (di persona o in modo sicuro) " Può aggiornarla nello stesso modo in qualsiasi momento! Accesso: " Pubblicazione periodica della directory (ad esempio su un periodico ad ampia diffusione) " Accesso diretto alla directory tramite comunicazione elettronica (occorre una comunicazione autenticata e sicura)! Svantaggi " Necessita di un entità fidata super-partes: authority " Necessita di protocolli di comunicazione sicuri per la pubblicazione e l accesso alle chiavi " La Directory può essere violata Babaoglu 2006 Sicurezza 19 Babaoglu 2006 Sicurezza 20
Autorità di distribuzione Autorità di distribuzione! Directory mantenuta da una Authority che ne ha l accesso esclusivo! Controllo più rigido sulla distribuzione delle chiavi rispetto alla tecnica dell elenco pubblico! Pubblicazione chiavi: " Le chiavi vengono registrate presso l Authority in maniera sicura (es: di persona)! Vantaggi " Garantisce l identità dei partecipanti e l attualità delle chiavi! Svantaggi " Necessita di un entità fidata super-partes che va interpellata per ogni nuovo partecipante " La Directory può essere violata " Soggetto a man-in-the-middle attack Babaoglu 2006 Sicurezza 21 Babaoglu 2006 Sicurezza 22 Certificati! L autenticità delle chiavi è certificata da una Autorità aggiungendo la sua firma! Garantisce l identità dei partecipanti e l attualità delle chiavi (mitiga il problema del furto della chiave privata)! Eliminates man-in-the-middle attack since the intruder cannot substitute his public key for someone else since he cannot sign the certificate as the authority! Necessita di un entità fidata super-partes che possa certificare in maniera sicura Babaoglu 2006 Sicurezza 23