Giordano Scuderi Unico SRL Catania 15-11-2006 Secure Storage Giordano Scuderi Unico SRL Catania 15-11-2006
AGENDA Principi di Crittografia Algoritmi di encryption Il problema del Key management Command Line Application Overview Spiegazione dei comandi Command Line Application details Encryption e Store Retrieve e Decryption Problemi incontrati durante lo sviluppo Conclusioni e domande Catania, Secure Storage Meeting, 15.11.2006
Principi di crittografia Crittografia raggruppa le tecniche per occultare informazioni riservate: Un’algoritmo per crittografare i messaggi e uno per decrittografarli Chiave Gli algoritmi possono essere resi pubblici, la confidenzialità del messaggio è legata soltanto alla chiave di cifratura Due famiglie di algoritmi A chiave asimmetrica, o pubblica (RSA, Diffie Hellman) Coppia di chiavi pubblica/privata (la prima viene distribuita, la seconda rimane strettamente confidenziale) A chiave simmetrica, o privata (DES, 3DES, AES, Blowfish) Unica chiave (La sicurezza dipende fortemente da come essa viene distribuita ai soggetti autorizzati!) Catania, Secure Storage Meeting, 15.11.2006
Algoritmi di encryption Per l’encryption di grosse quantità di dati è necessario utilizzare gli algoritmi “Simmetrici” (velocità di encryption e decryption): DES (Data Encryption Standard) Ormai non più utilizzato poiché è considerato poco sicuro 3DES (Triple DES) Più robusto del DES, esso è “teoricamente” insicuro Blowfish Robusto se implementato con una dimensione dei blocchi maggiore di 64 bit Ma non sono disponibili studi di crittoanalisi di questo algoritmo AES (Advanced Encryption Standard) Scelto come successore del DES Utilizzato dalla NSA per i documenti TOP SECRET (key = 256 bit) 5 anni di studi hanno dimostrato che è un’algoritmo robusto Catania, Secure Storage Meeting, 15.11.2006
Il problema del Key management AES (Advanced Encryption Standard) Viene utilizzata la stessa “chiave” segreta per Encryption e Decryption Chiunque è in possesso di questa chiave può fare il decrypt del dato!! Una chiave a 128 bit produce combinazioni diverse Uno dei migliori attacchi a forza bruta è stato svolto dal progetto distributed.net su una chiave a 64 bit utilizzando l'algoritmo RC5; l'attacco ha impiegato quasi 5 anni, utilizzando il tempo "libero" di migliaia di CPU di volontari sparsi per la rete Chi può eventualmente entrare in possesso e abusare di questa chiave?: Altri utenti Amministratori dei siti Eventuali aggressori E’ necessario un componente per la gestione e la distribuzione delle chiavi ai soli soggetti autorizzati ( Keystore ) Catania, Secure Storage Meeting, 15.11.2006
Command Line Application Set di comandi da utilizzare dalla User Interface: Simili ai comandi lcg-utils, ma lavorano sui dati criptati Rendono trasparente agli utenti il processo di encryption e decryption Esempio (copiare un file locale su GRID): lcg-cr -d <destination SE> -L <destination> <source> lcg-scr -d <destination SE> -L <destination> <source> Consentono di effettuare le normali operazioni di Data Management: Copiare i dati sugli Storage Element Copiare i dati dagli Storage Element in locale Cancellare i dati dagli Storage Element …. Catania, Secure Storage Meeting, 15.11.2006
Command Line Application Comandi disponibili: lcg-scr Fa l’encrypt di un un file presente nella UI, lo copia in un dato SE e salva la chiave sul keystore. lcg-scp Copia un file memorizzato in modo sicuro su Grid nella UI e ne fa’ il decrypt con la chiave presente nel keystore. lcg-sdel Cancella un file memorizzato in modo sicuro su Grid, se il file è l’ultima replica, o se è stato specificato il flag –a cancella anche la chiave presente nel keystore. Tutti i comandi hanno una pagina di man che viene installata assieme ad essi. Catania, Secure Storage Meeting, 15.11.2006
Command Line Application details lcg-scr: lcg-scp: Catania, Secure Storage Meeting, 15.11.2006
Command Line Application details lcg-sdel: Catania, Secure Storage Meeting, 15.11.2006
Command Line Application details Man-pages: Catania, Secure Storage Meeting, 15.11.2006
Command Line Application details Vediamo in dettaglio come funzionano i due comandi principali: lcg-scr lcg-scp Catania, Secure Storage Meeting, 15.11.2006
Encryption e Store Genera “Key” e “IV casuali Encrypt “File” con Key (AES 256 bit) Store di “Key”, “IV” e Keystore SE UI Catania, Secure Storage Meeting, 15.11.2006
Retrieve e Decryption Retrieve “Key”, “IV” e Decrypt di “File” con Key Keystore UI SE Catania, Secure Storage Meeting, 15.11.2006
Command Line Application details Problemi durante lo sviluppo: GFAL non accetta un LFN come file di input E’ stato necessario utilizzare le API di più basso livello Impossibile utilizzare le librerie OpenSSL Conflitto con le librerie utilizzate da Globus E’ stato necessario implementare tutte le routine di encryption/decryption, e meccanismi quali il padding e la generazione delle chiavi Catania, Secure Storage Meeting, 15.11.2006
Dimostrazione Pratica.. Demo dei comandi Dimostrazione Pratica.. Catania, Secure Storage Meeting, 15.11.2006
Domande… Grazie per l’attenzione! Catania, Secure Storage Meeting, 15.11.2006