Crittografia per la sicurezza dei dati Esigenza di sicurezza in rete significa: -garanzia di riservatezza dei dati in rete (e-mail) -garanzia di transazioni sicure (e-commerce, home banking) La crittografia è la tecnica che permette di rendere illeggibile un messaggio per tutti tranne che per mittente e destinatario.
Crittografia per la sicurezza dei dati I protocolli di crittografia devono garantire
Crittografia per la sicurezza dei dati La crittografia è nota fin dall antichità e si è sviluppata, nel corso del tempo, soprattutto in campo militare, basandosi generalmente su algoritmi matematici. Terminologia: Testo in chiaro: messaggio che può essere letto da tutti Testo cifrato: messaggio reso illeggibile dall algoritmo di cifratura (codifica) Algoritmo di cifratura: algoritmo che implementa le funzioni matematiche per cifrare il testo in chiaro Chiave: parametro( solitamente numero molto grande) con cui si applica l algoritmo di cifratura
Crittografia per la sicurezza dei dati
Cifrario di Giulio Cesare Algoritmo di cifratura: sostituzione Chiave di cifratura: 3
Tecniche di crittografia Nel cifrario di Giulio Cesare l algoritmo di cifratura è noto. Per decifrare il messaggio bisogna provare in modo esaustivo tutte le chiavi (26 chiavi per l alfabeto esteso) finchè non si ottiene il testo in chiaro. In generale, nelle comunicazioni cifrate l algoritmo di cifratura è noto; la difficoltà sta nel trovare la chiave. Tecniche di crittografia: - a chiave simmetrica - a chiave asimmetrica
CRITTOGRAFIA A CHIAVE SIMMETRICA Sistema di cifratura in cui viene usata una sola chiave per cifrare e decifrare i messaggi. Mittente e destinatario devono possedere la stessa chiave (segreta) per potersi scambiare messaggi in modo sicuro. N.B.: la crittografia moderna si basa sul fatto che ogni testo digitale è una successione di bit.
Crittografia simmetrica con il metodo dell XOR Algoritmo semplicissimo, ma permette di scegliere una chiave lunga N bit, con uno spazio delle chiavi di dimensione 2 N. D k (C k (m)) = m m (plain text) 101010000101010 k (key di lunghezza N=15) 101110010101000 m Xor k(ciphertext) 000100010000010 ------------------------------------------------------------- m Xor k (ciphertext) 000100010000010 k (key) 101110010101000 m (plain text) 101010000101010
Crittografia simmetrica con il metodo dell XOR Decifrare un messaggio provando esaustivamente tutte le chiavi ha complessità esponenziale rispetto alla lunghezza della chiave. Se la chiave è lunga 40 bit 2 40 differenti chiavi, circa 10 12
Crittografia simmetrica con DES - Data Encryption Standard Algoritmo basato su cifratura simmetrica con chiave a 56 bit (standard del1976 perfezionato negli anni fino a utilizzare una chiave a 128 bit). Il DES trasforma il testo in chiaro in testo cifrato con una serie di operazioni complesse. Oggi è considerato insicuro (poche ore sono sufficienti per forzare una chiave DES con le odierne potenze di calcolo). Nei sistemi di crittografia simmetrica la segretezza della chiave è il fattore principale per garantire la sicurezza delle comunicazioni il problema è lo scambio sicuro della chiave tra mittente e destinatario. Se qualcuno viene in possesso della chiave segreta può decifrare le comunicazioni
CRITTOGRAFIA A CHIAVE ASIMMETRICA Detta anche CRITTOGRAFIA A CHIAVE PUBBLICA, è stata introdotta nel 1975 con l obiettivo di risolvere il problema della distribuzione sicura delle chiavi. Il termine asimmetrico si riferisce al fatto che il sistema assegna ad ogni utente una coppia di chiavi correlate matematicamente e generate da un software: una chiave privata da custodire segretamente una chiave pubblica da diffondere Il messaggi cifrati con la chiave pubblica possono essere decrifati solo da chi possiede la chiave privata, e viceversa. La forza della crittografia asimmetrica è che, anche conoscendo la chiave pubblica, non è possibile risalire alla corrispondente chiave privata se non con calcoli che richiedono tempi molto elevati, anche con le attuali potenze di calcolo
CRITTOGRAFIA A CHIAVE ASIMMETRICA Garanzia dell identità del mittente Chiave privata di Alice Alice invia un messaggio a Bob e Bob vuole essere sicuro dell identità del di Alice Chiave pubblica di Alice
Garanzia di segretezza e identità del mittente CRITTOGRAFIA A CHIAVE ASIMMETRICA Garanzia di segretezza Alice invia un messaggio a Bob e vuole che non sia intercettato e/o modificato
Algoritmo RSA alla base della crittografia a chiave asimmetrica l principi generali della crittografia asimmetrica hanno una solida base matematica che lo giustifica; tale base, riassunta e semplificata all'estremo, si fonda su un'operazione matematica semplice da eseguire ma difficile da invertire, cioè dal cui risultato è difficile risalire agli argomenti di partenza. In particolare, per l algoritmo RSA (dalle iniziali degli ideatori) l operazione facile da calcolare è la moltiplicazione di due numeri primi p e q molto grandi (anche fino a 1024 bit). Noti p e q numeri primi e grandi il prodotto n = p*q si calcola immediatamente. La funzione inversa, quella impossibile da calcolare, è la fattorizzazione: se un numero n è il prodotto di due numeri primi grandi, la sua fattorizzazione richiede tempi di CPU elevatissimi. Non si conoscono a tutt oggi algoritmi efficienti di fattorizzazione.
Algoritmo RSA alla base della crittografia a chiaveasimmetrica Immaginiamo che A debba spedire un messaggio segreto a B: 1. B sceglie due numeri primi grandi P e Q chiave privata di B: (p, q) 2. B calcola N = P*Q con il suo computer chiave pubblica di B: N 3. A usa N per cifrare il messaggio che deve inviare a B 4. B riceve il messaggio cifrato e utilizzando la sua CHIAVE PRIVATA lo decifra A e B hanno impiegato pochi secondi a cifrare e decifrare, ma chiunque avesse intercettato le loro comunicazioni impiegherebbe troppo tempo per scoprire i due fattori primi, con cui si può decifrare il messaggio.
Algoritmi RSA alla base della crittografia a chiaveasimmetrica La sicurezza da un punto di vista matematico teorico non esiste, in quanto esiste la possibilità che tramite la conoscenza della chiave pubblica si possa decrittare un messaggio, ma l'enorme mole di calcoli e l'enorme dispendio in termini di tempo di CPU necessario per trovare la soluzione, fa di questo algoritmo un sistema di affidabilità pressoché assoluta. Gli algoritmi di crittografia asimmetrici sono studiati in modo tale che la conoscenza della chiave pubblica e dell'algoritmo stesso non siano sufficienti per risalire alla chiave privata.
CRITTOGRAFIA ASIMMETRICA SITI WEB SICURI e FIRMA DIGITALE Servizi basati sui protocolli di crittografia asimmetrica: siti web sicuri: versione sicura del protocollo HTTP denominata HTTPs. Il browser mostra un icona a forma di lucchetto per identificare un sito sicuro. firma digitale: metodo elettronico che permette ad una persona di apporre un segno distintivo ai propri documenti digitali. I requisiti della firma digitale sono: autenticità del mittente, integrità del documento, non ripudio.