Giordano Scuderi Unico SRL - Messina, 11.01.2007 Secure Storage Giordano Scuderi Unico SRL - Messina, 11.01.2007
Sommario Il progetto Secure Storage è portato avanti da UNICO S.R.L. (http://www.unicosrl.it/) in collaborazione con INFN Catania, ed è stato in seno al progetto TriGrid VL (http://www.trigrid.it). L’obbiettivo è creare un sistema di storage sicuro dei dati su Grid (i dati saranno sottoposti a un processo di encryption e conservati poi sugli Storage Element). Grazie a questa soluzione, vogliamo risolvere il problema dell’ insider abuse (dettagli nella prossima slide). Messina, 11.01.2007
Insider Abuse: Problema Un utente Grid potrebbe conservare dati sensibili in un elemento di Storage gestito da una organizzazione esterna. Non possiamo impedire agli amministratori degli Storage Element di accedere ai dati (l’unica soluzione è l’encryption). Before Encryption After Encryption Messina, 11.01.2007
Insider Abuse: Soluzione USER (VIRTUAL) ORGANIZATION SE File Encryption /Decryption Encrypted File Key Encrypted File SECURE ENVIRONMENT SE Key Repository Messina, 11.01.2007
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 …. Messina, 11.01.2007
Command Line Application: overview 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 (attualmente salva la chiave in un DB relazionale, ma è già in corso lo sviluppo di un 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. E’ disponibile la documentazione di tutti i comandi (pagine man installate assieme ai comandi). Messina, 11.01.2007
Command Line Application: overview lcg-scr: lcg-scp: Messina, 11.01.2007
Command Line Application: overview lcg-sdel: Messina, 11.01.2007
Command Line Application: pagine man E’ disponibile la documentazione (man pages): Messina, 11.01.2007
Command Line Application Vediamo in dettaglio come funzionano i due comandi principali: lcg-scr lcg-scp Messina, 11.01.2007
lcg-scr: Encryption e Store Genera “Key” e “IV casuali Encrypt “File” con Key (AES 256 bit) Store di “Key”, “IV” e Keystore SE UI Messina, 11.01.2007
lcg-scp: Retrieve e Decryption Retrieve “Key”, “IV” e Decrypt di “File” con Key Keystore UI SE Messina, 11.01.2007
Alcuni dettagli.. Algoritmo usato per l’encryption: Le command line Application utilizzano l’algoritmo AES (Advanced Encryption Standard) con una chiave di 256 bit. Principali problemi di 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 Messina, 11.01.2007
Sviluppi Futuri Gestione delle Access Control List: ACL composte da una lista di DN. Aggiunta di un nuovo parametro al comando lcg-scr: Specificare l’ACL da associare alla chiave. Creare un nuovo comando per Aggiungere/Rimuovere un DN nella ACL. Sviluppo delle API: Creare delle API C/JAVA da utilizzare nelle applicazioni utente: void lcg_scr(char* VO, char* SE, char* LFN,…) Messina, 11.01.2007
Grazie per l’attenzione! Messina, 11.01.2007