Protezione dei Dati Digitali: Scenari ed Applicazioni 1 Sommario ♦ Parte I : Scenari ♦ Parte II : La Teoria ♦ Parte III: La Pratica 2 Parte I: Scenari 3 Applicazioni quotidiane (1/2) ♦ Transazioni finanziarie – E-commerce – Online banking – Carte pre-pagate ♦ Trasmissione di contenuti con copyright – Pay-per-view, cable TV – Multimedia broadcasting – Multimedia online purchasing 4 Applicazioni quotidiane (2/2) ♦ Reti di telecomunicazione – Protocolli di autenticazione – Controllo di accessi – Comunicazione sicura ♦ Dispositivi mobili e senza fili – Telefoni cellulari (GSM, GPRS, UMTS) – Dispositivi palmari (Palmtop) – Wireless LANs 5 Esempio: e-Commerce ♦ Informazioni riservate come i dati di una carta di credito possono essere inviati attraverso la rete …Card number… …Expiration date… ♦ Nessuna persona non autorizzata dovrebbe essere in grado di recuperare il messaggio originale 6 Esempio: Multimedia Broadcasting ♦ Un film o un evento potrebbe essere diffuso attraverso Internet ♦ La sottoscrizione al servizio è necessaria 7 Esempio: Autenticazione di Rete ♦ Le comunicazioni su una rete potrebbero essere monitorate da altre macchine login: **** ♦ Protocolli di sicurezza sono impiegati per schermare le comunicazioni ed assicurare la riservatezza 8 Esempio: Dispositivi Wireless ♦ Le comunicazioni senza fili (radio o ad infrarossi) sono aperte all’ intercettazione ♦ Il rischio di intercettazione è direttamente proporzionale alla portata della trasmissione 9 Parte II: La Teoria 10 Le Quattro Proprietà (1/2) Un sistema di comunicazione sicura richiede: ♦ Confidenzialità: nessuna estraneo è autorizzato a conoscere l’ informazione ♦ Integrità: l’ informazione non è stata alterata ♦ Autenticazione: l’ informazione proviene veramente dalla sorgente che la reclama ♦ Non-repudiabilità: la sorgente dell‘ informazione non può negare tale trasmissione 11 Le Quattro Proprietà (2/2) ♦ Confidenzialità ♦ Integrità ♦ Autenticazione ♦ Non-repudiabilità Simmetrica (storica) Crittografia Asimmetrica (recente) 12 Crittografia Simmetrica ♦ Usata da secoli: Cesare usava un codice molto semplice basato su metodi simmetrici ♦ Il messaggio trasmesso non è comprensibile senza una certa informazione (la chiave) ♦ Per stabilire il canale di comunicazione la chiave usata viene condivisa tra mittente e ricevente ♦ Principali standard: Data Encryption Standard (DES), 3DES, Advanced Encryption Standard (AES) 13 Crittografia Simmetrica Plain Message Enciphering routine Attacks Sender Insecure Communication Channel Coded Message Deciphering routine Shared key Plain Message Coded Message Receiver 14 Crittografia Simmetrica ♦ Pregi: – Molto scalabile: l’algoritmo di cifratura può essere scelto in base alle esigenze dell’applicazione – Processi di de/cifratura molto veloci ed efficienti – Struttura algoritmica semplice, comunque assicura riservatezza dei dati ♦ Difetti: – Lo scambio della chiave deve avvenire attraverso un canale sicuro alternativo – Numero di chiavi esagerato: ogni singola coppia di utenti deve avere la sua propria chiave ♦ Gli algoritmi possono essere classificati in: – Cifratura a blocco: dati processati per blocchi – Cifratura a flusso: dati processati come un flusso di byte 15 Crittografia Asimmetrica ♦ Utilizza coppie di chiavi: una è pubblica, l’altra assolutamente segreta (privata) ♦ Le chiavi sono strettamente correlate: ciò che è criptato con una chiave può essere decriptato solo dall’altro elemento della coppia ♦ Non c’è nessuna necessità di condividere chiavi; in ogni caso le chiavi pubbliche devono essere facilmente recuperabili da ciascuno ed associabili al corretto proprietario senza dubbi ♦ Esempi: RSA, ECC 16 Crittografia Asimmetrica Attacks Plain Message Encrypt A Encrypt A’s private key Insecure Communication Channel Decrypt B’s public key A’s public key B’s private key Decrypt Plain Message B 17 Autorità di Certificazione ♦ Lo schema asimmetrico presuppone la disponibilità delle chiavi pubbliche ♦ Un’ autorità potrebbe immagazzinare tutte le chiavi pubbliche e fornirle quando necessarie ♦ Le A.C. potrebbero essere organizzate in gerarchia (PGP): ciascuna certifica solo un ramo dell’ intero albero ed è certificata da una A.C. più elevata 18 Coppie di Chiavi ♦ La chiave privata non dovrebbe essere recuperabile data la chiave pubblica, o almeno tale processo dovrebbe essere non praticabile (per costi o tempi) ♦ Le chiavi sono correlate essendo le soluzioni di un complesso problema algebrico ♦ La forza di un cripto-sistema risiede nella complessità di tale problema 19 Firma Digitale ♦ E’ una tecnica usata per “firmare” un documento, cioè per certificarne l’origine ♦ Un’immagine condensata del documento è calcolata tramite un algoritmo di “hashing”, cifrata con la chiave privata e attaccata al messaggio ♦ Il ricevente confronta l’hashing ricevuto con quello calcolato da lui stesso sul messaggio ♦ La cifratura garantisce l’identità della sorgente e preserva il messaggio da qualsiasi alterazione 20 Parte III: La Pratica 21 SSL: Secure Socket Layer - 1 ♦ Permette a client e server di autenticarsi l’un l’altro e di stabilire una connessione criptata ♦ Durante l’handshake viene creato un canale sicuro usando crittografia asimmetrica. Una chiave di sessione condivisa viene scambiata in questa fase ♦ La chiave della sessione segreta viene utilizzata per creare il canale segreto ♦ Supporta l’uso di una moltitudine di differenti algoritmi crittografici (chiper settings) 22 SSL: Secure Socket Layer - 2 23 Transport Layer Security ♦ E’ la nuova versione di SSL, compatibile con SSL ♦ Con il protocollo di TLS Handshake viene negoziata la chiave segreta per il canale sicuro usando crittografia asimmetrica (di solito RSA) ♦ Il protocollo di TLS Record viene implementato su un protocollo di trasporto affidabile come TCP ♦ Il protocollo di Record fornisce una connessione privata (cifratura simmetrica) e affidabile (secure hashing) 24 IPsec ♦ E’ un insieme di protocolli che estendono IPv4; inoltre fa parte delle specifiche di IPv6 ♦ E’ simile a SSL, ma agisce a livello ‘rete’, completamente trasparente all’applicazione: mentre SSL assicura due applicazioni, Ipsec assicura la rete ♦ La suite include – Authentication Header – Encapsulating Security Payload 25 SecureMIME e Secure Shell (SSH) ♦ S/MIME e’ uno standard usato per spedire dati crittografati attraverso il comune canale e-mail ♦ Secure Shell (e sFTP) e’ un protocollo che permette comunicazione, trasferimento di file ed esecuzione di comandi da remoto in modo sicuro ♦ Si basano su tecniche di autenticazione a chiave pubblica (RSA, DSA) e usano crittografia simmetrica per trasmissione dati (3DES, ArcFour, Twofish) 26 Wireless LANs ♦ Lo standard aperto 802.1x specifica un livello di autenticazione per le reti wireless; 802.11b è l’attuale implementazione dello standard per wireless LANs ♦ Attualmente funziona a 2.4GHz, oppure a 5GHz ♦ Molteplici algoritmi di cifratura sono permessi ♦ Tre attori sono coinvolti: – Il richiedente (client software) – L’ autenticatore (Il punto di accesso) – Il server di autenticazione 27 Bluetooth ♦ Utilizza una portante a 2.4GHz con una banda di 79MHz, con Frequency Hopping Spread Spectrum, che è meno affidabile ma più sicuro dell’ 802.11b ♦ La sequenza di salto (hop) è unica per ogni sessione e nota solo ai dispositivi comunicanti ♦ Il protocollo usa indirizzi pubblici (univoci per ciascun dispositivo), chiavi di autenticazione a 128-bit e tecniche di criptaggio 28 Radio Wave Communications 29 GSM (1/2) ♦ Autenticazione realizzata dal ‘challenge handshake’ tramite un algoritmo proprietario noto come ‘A3’ implementato nella SIM ♦ Il numero casuale usato per l’autenticazione viene impiegato anche per generare la chiave di comunicazione tramite l’algoritmo ‘A8’ ♦ L’algoritmo di cifratura vero e proprio è chiamato ‘A5’ ed è implementato nell’ hardware del dispositivo mobile 30 GSM (2/2) ♦ I dettagli degli algoritmi non furono resi pubblici in modo da rendere più robusto il sistema: non fu una strada molto efficiente… ♦ Nel 1998 fu dimostrato che un attacco era possibile quando la smart card fosse fisicamente accessibile ♦ Recentemente alcuni ricercatori hanno scoperto che attacchi over-the-air sono possibili tramite una falsa stazione base, che richiede un investimento di circa 10.000$. 31 UMTS ♦ L’industria del GSM ha lasciato la via dell’ ‘oscurità’ e sviluppa ora su principi scoperti da comunità aperte ♦ Gli algoritmi di confidenzialità e integrità sono basati sul Kasumi, un codice di cifratura a blocchi a 64 bit, con chiave da 128 bit ♦ Nessun punto debole è noto ad oggi, anche se lo standard è ancora recente 32 Digital Video Encryption ♦ E’ usata per controllare e limitare la distribuzione di contenuti multimediali con diritti d’autore ♦ Diversi algoritmi sono utilizzati a seconda del campo applicativo: – I DVD usano un sistema di Content Scrambling per prevenire la pirateria e controllare il mercato home video • Il sistema di cifratura è stato infranto da un giovane utente Linux che voleva guardare film sul suo computer: è ancora sotto processo, ma sembra non verrà perseguito – La TV richiede una sottoscrizione: le chiavi per la decifratura sono contenute in una smart card programmabile 33 Streaming Content Protection ♦ Internet diventerà una delle prime sorgenti per la distribuzione di musica/film e diffusione di eventi ♦ Protocolli di Streaming come RTSP (RealSoftware) e MMS (Microsoft) sono già stati infranti da applicazioni dedicate che falsano il protocollo di handshake ♦ Le attuali tecniche si basano su protocolli di autenticazione deboli a non sfruttano i più recenti algoritmi crittografici per impedire duplicazione dei dati 34 Hard Disk Encryption ♦ I dati potrebbero essere memorizzati in forma cifrata per ottenere maggior sicurezza ♦ Le attuali soluzioni lavorano a livello dei ‘driver’: una API su misura cifra i dati quando si scrive su disco e li decifra quando li copia in memoria ♦ Le implementazioni software hanno un inevitabile impatto sulle prestazioni del sistema ♦ Problemi: – Flessibilità: dati cifrati ed in chiaro gestito nello stesso disco, chiave resettata ad ogni cambio di utente – La chiave deve essere memorizzata in dispositivi tipo smart card, il computer deve avere un lettore 35 Conclusioni ♦ Le tecniche crittografiche permettono comunicazione sicura e veloce ♦ Spesso i problemi derivano dall’implementazione: gli algoritmi sono intrinsecamente sicuri, le piattaforme non sempre lo sono ♦ E’ meglio adottare una soluzione pubblica che è considerata sicura dagli esperti del settore piuttosto che una soluzione segreta che potrebbe avere molti difetti e bachi ♦ Il livello degli utenti potenziali conta 36