DEI - Univ. Padova (Italia) Sicurezza delle informazioni Quando vengono mandati pacchetti di informazioni sui mezzi promiscui (ad es. rete Ethernet) chiunque ha la possibilità di leggere i pacchetti inviati e ricomporre il messaggio originale: –Le informazioni non sono riservate –E possibile che un utente sottragga le informazioni anche se non ne è il destinatario –Un utente potrebbe modificare il messaggio (sia il contenuto che lidentità del mittente) Pacchetti invati in internet hanno bisogno di un link fisico o software (cavallo di troia) col mittente o con il destinatario. Una volta che esso sia stabilito, ci sono gli stessi rischi che su una rete promiscua
DEI - Univ. Padova (Italia) Crittografia: servizi richiesti SEGRETEZZA: evitare che i dati inviati da un soggetto A a un soggetto B vengano intercettati da un terzo soggetto C. AUTENTICAZIONE: verificare lidentità di chi manda o riceve i dati (evitare che un intruso si spacci per chi non è). INTEGRITA: essere sicuri che i dati ricevuti siano uguali a quelli inviati (evitare cioè che un intruso o un evento accidentale alterino i dati durante la trasmissione). NON RIPUDIO: evitare che chi manda dei dati possa in futuro negare di averli mandati (firma digitale).
DEI - Univ. Padova (Italia) Sicurezza: man in the middle A Canale di comunicazione B Presunta comunicazione Effettiva comunicazione con messaggio intercettato C
DEI - Univ. Padova (Italia) Sicurezza: man in the middle A e B vogliono scambiarsi dei messaggi e pensano che le loro comunicazioni siano sicure, corrette e che il mittente sia autentico. C riesce ad intercettare i messaggi in arrivo ed in uscita da A, leggendoli e modificandoli Per i messaggi che si scambiano A e B non è garantita lautenticità né la segretezza in quanto C (luomo in mezzo, man in the middle) può alterare il flusso di comunicazione
DEI - Univ. Padova (Italia) Cifratura del messaggio A Canale di comunicazione B Comunicazione cifrata Effettiva comunicazione con messaggio intercettato C Cifratura con una chiave Ka ?
DEI - Univ. Padova (Italia) Sicurezza: cifratura A e B vogliono scambiarsi dei messaggi e utilizzano un algoritmo di crittografia per modificare il messaggio in modo che sia inintelleggibile per chi eventualmente intercetti il messaggio A e B devon essersi accordati sulla cifratura e devono essere in possesso delle chiavi di decifrazione C riesce ad intercettare i messaggi in arrivo ed in uscita da A, ma non riesce ad interpretarne il contenuto
DEI - Univ. Padova (Italia) Algoritmi a chiave segreta Cifrario di Cesare ogni lettera è sostituita da quella che la segue di k posizioni nellalfabeto. Es: k è la chiave Se k=3, a è sostituito con d, b con e ecc. Cifrario di sostituzione mono-alfabetico: generalizzazione del cifrario di Cesare ogni lettera è sostituita da unaltra, secondo uno schema libero
DEI - Univ. Padova (Italia) Algoritmi a chiave segreta Cifrari di trasposizione le lettere sono trasposte in altre posizioni, secondo una chiave di trasposizione ad esempio, la prima lettera è sostituita con la quarta, la seconda con la terza ecc. One-Time Pad: il testo è codificato in binario e viene effettuata unoperazione di OR esclusivo con una chiave binaria della stessa lunghezza: lalgoritmo inattaccabile, ma cè bisogno di chiavi di lunghezza uguale al messaggio Algoritmi moderni: chiavi piccole, utilizzo di più operazioni (di trasposizione, sostituzione, di XOR), in cascata, secondo logiche complesse
DEI - Univ. Padova (Italia) Algoritmi a chiave segreta (1) Questo è un messaggio 1] Algoritmo di Cesare k=4: Uwixys i yr qixxekkms 2] Cifrario di sostituzione mono-alfabetico con chiave M n b v c x z a s d f g h j k l p o i u y t r e w q:Pyciuk c yj hciimzzsk A b c d e f g h i j k l m n o p q r s t u v x y w z M n b v c x z a s d f g h j k l p o i u y t r e w q
DEI - Univ. Padova (Italia) Algoritmi a chiave segreta: one time pad questoèunmessaggioquestoèunmessaggio ú{Xú&{ZÍÕ)uø`ú{Xú&{ZÍÕ)uø` Messaggio originario Codifica binaria Chiave di codifica/ decodifica XOR Risultato dello XOR Messaggio codificato
DEI - Univ. Padova (Italia) Algoritmi a chiave segreta: one time pad QuestoèunmessaggioQuestoèunmessaggio ú{Xú&{ZÍÕ)uø`ú{Xú&{ZÍÕ)uø` Messaggio cifrato Codifica binaria Chiave di codifica/ decodifica XOR Risultato dello XOR Messaggio decodificato
DEI - Univ. Padova (Italia) Algoritmi a chiave segreta Gli algoritmi visti finora sono simmetrici, in quanto, data la funzione di codifica/decodifica f(messaggio, chiave) si utilizza la stessa chiave K per codificare e decodificare il messaggio M: f(M,K)messaggio cifrato M=f(f(M,K),K)ricostruzione del messaggio originale
DEI - Univ. Padova (Italia) Sicurezza della chiave E necessario che mittente e destinatario si scambino la chiave in qualche modo sicuro E necessario avere una chiave per ogni coppia mittente/destinatario
DEI - Univ. Padova (Italia) Algoritmi a doppia chiave Chiave Pubblica/Privata: Ogni soggetto A ha una propria chiave pubblica K pub (A), nota a chiunque ed una propria chiave privata K priv (A) nota solo a lui stesso. I requisiti che un algoritmo a chiave pubblica deve soddisfare sono: –i dati codificati con una delle chiavi possono essere decodificati solo con laltra –la chiave privata non deve mai essere trasmessa in rete –deve essere molto difficile ricavare una chiave dallaltra (soprattutto la chiave privata da quella pubblica nota a tutti)
DEI - Univ. Padova (Italia) Cifratura del messaggio A Canale di comunicazione B Comunicazione cifrata Cifratura con la chiave privataK priv (A) decifratura con la chiave pubblica K pub (A) Procedura per garantire la autenticità del mittente e la integrità dei dati: Il mittente codifica il messaggio con la sua chiave privata K priv (mitt), che solo lui conosce, ed il destinatario decodifica il messaggio con la chiave pubblica relativa K pub (mitt).
DEI - Univ. Padova (Italia) Cifratura del messaggio A Canale di comunicazione B Comunicazione cifrata Cifratura con la chiave pubblicaK pub (B) decifratura con la chiave privata K priv (B) Procedura per garantire la segretezza dei dati: Il mittente codifica il messaggio con la sua chiave pubblica del destinatario K pub (dest). Il messaggio può essere decodificato solo utilizzando la chiave privata K priv (dest) del destinatario, che solo lui conosce.
DEI - Univ. Padova (Italia) Cifratura del messaggio A Canale di comunicazione Comunicazione cifrata Cifratura con la chiave pubblicaK pub (B) Per garantire contemporaneamente la autenticità, la integrità e la segretezza, è necessario procedere ad una doppia codifica: Cifratura con la chiave privataK priv (A) B Cifratura con la chiave privataK priv (B) Cifratura con la chiave pubblicaK pub (A)
DEI - Univ. Padova (Italia) Algoritmi a chiave segreta e a chiave pubblica Vantaggi degli algoritmi a chiave segreta Un vantaggio importante: questi algoritmi sono più veloci di ordini di grandezza rispetto agli algoritmi a chiave pubblica Vantaggi degli algoritmi a chiave pubblica E eliminato il problema dello scambio della chiave segreta Le chiavi pubbliche sono diffuse e accessibili da tutti Uso congiunto dei due tipi di algoritmo Spesso si usa un algoritmo a chiave pubblica per scambiare la chiave segreta di sessione con cui poi crittografare i dati da trasmettere
DEI - Univ. Padova (Italia) Algoritmo a chiave pubblica: RSA RSA (Rivest-Shamir-Adleman) RSA sfrutta le proprietà dei numeri primi ed il fatto che è molto difficile fattorizzare (cioè trovare i divisori) numeri molto grandi: più è grande il numero, più è difficile e lungo trovarne i divisori Questo rende molto complesso ( di fatto impossibile in tempo per essere utile ) ricavare la chiave privata da quella pubblica. Il miglio algoritmo finora per decomporre un numero binario di b cifre ha un comportamento asintotico:
DEI - Univ. Padova (Italia) Robustezza di RSA Dato che lalgoritmo si basa sulla fattorizzazione di numeri, la sua sicurezza deriva dalla difficoltà di tale compito. Il miglior algoritmo finora per decomporre un numero binario di b cifre ha un comportamento asintotico: Per un numero binario di 512 bit, si otterrebbe un numero di calcoli asintotici dellordine di … anni con una frequenza di calcolo di 4GHz!!