Title: Sicurezza su Grid
1Sicurezza su Grid
Prof Stefano Bistarelli
2Outline
- Grid Computing introduzione
- Esempio di Computing Grid
- Introduzione alla sicurezza in Grid
- Esigenze, problemi, politiche e soluzioni per la
Grid Security - Autentifica e autorizzazione in Grid
- Certificati, VO, Proxy, MyProxy, ...
- Conclusioni
3Computing GridDefinizione
- Definita da Ian Foster e Carl Kesselman nel 1998,
nel libro - The GRID A blueprint for a new computing
infrastructure - ...the Grid is a service for sharing computer
power and data storage capacity over the
Internet... - Ossia
- ...é un sistema pensato per consentire ad una
comunità di utenti di usare risorse di calcolo
distribuite in Internet come se fossero di fronte
ad un unico sistema di calcolo...
4Computing GridCosa e
- Virtualizzazione di risorse locali
- Accesso trasparente a risorse distribuite
globalmente - dati ( di esperimenti, finanziari, ... )
- potenza di calcolo ( processori, cluster,
supercomputer, ... ) - Linfrastruttura della Grid consiste in
- servizi per accedere alle risorse
- le risorse stesse
Mattia Cinquilli
5Computing Grid
6Computing GridIdeale
- Le risorse della Computing Grid non sono
controllate centralmente (amministrazione locale) - E fondamentale usare dei protocolli e delle
interfacce che siano standard e generici - La qualita dei servizi deve essere elevata
- Gli utenti e risorse sono organizzati in gruppi
dinamici di lavoro chiamati Virtual
Organization (VO)
7Computing GridStruttura
Utente accede alla Grid tramite una User Interface
La Grid mette a disposizione il middleware per
accedere alle risorse
Ideale Le applicazioni e la Grid garantiscono un
accesso trasparente alle risorse (eterogenee)
8Computing GridArchitettura
Applicazioni dell'utente che interagiscono,
direttamente o non, con la Grid (contiene
l'interfaccia che consente all'utente di
interagire con la Grid)
Parte caratterizzante della Grid che include
servizi, sicurezza, protocolli di comunicazione,
organizzazione, monitoraggio
Risorse viste come oggetti che hanno proprietari,
che possono essere usate per un certo periodo di
tempo e che possono essere rinnovabili oppure no
9Computing GridPerche
- Il problema da risolvere richiede troppe risorse
di calcolo (usando solo un processore si
impiegherebbero anni) - Velocizzare la risoluzione del problema
parallelizzandolo - suddivisione del problema in pezzetti per poterlo
assegnare a diversi processori che funzionano in
parallelo (cluster). - Grid collega cluster di PC situati in sedi
distanti geograficamente anche grazie all'aumento
della velocità di trasmissione delle reti (10
Gbit/sec attualmente).
10Computing GridStato attuale
- Esistono varie comunità di ricerca in Europa,
negli USA, in Asia e in altre nazioni, che
sviluppano e raccordano tra di loro diverse
Computing Grid. - La fisica delle alte energie (HEP) ha avviato il
progetto WLCG (Worlwide LHC Computing Grid) il
cui obiettivo e quello di costruire e mantenere
uninfrastruttura per le attivita della
comunita fisica dellesperimento LHC (Large
Hadron Collider), in attivita presso il CERN di
Ginevra. - WLCG sfrutta due progetti paralleli
- Enabling Grid for E-sciencE (EGEE) in Europa
- Open Science Grid (OSG) negli USA
11Progetti Grid
12Grid ComputingEGEE
- Enabling Grid for E-sciencE e un progetto che
raccoglie piu di 50 nazioni con il fine comune
di costruire uninfrastruttura Grid che fornisca
servizi per scienziati 24/24h e 7/7gg - uso delle piu avanzate e recenti tecnologie Grid
- servizi disponibili indipendentemente dalla
locazione geografica degli utenti - interesse nellattirare un ampio spettro di nuovi
utenti ed utilizzi
13EGEEInfrastruttura
Dal punto di vista infrastrutturale abbiamo il
seguente schema
14EGEEOrganizzazione Sito
Un singolo sito Grid è organizzato nel seguente
modo
15Problema Grid Security
- In un ambiente computazionale multiorganico e
imperativo che tutti gli utenti e servizi
interagiscano in un modo sicuro - uso delle risorse sotto controllo
- i proprietari delle risorse hanno il diritto di
decidere chi e chi non puo usare le loro risorse - i dati che sono in Grid devono avere un
proprietariodevessere possibile trovare chi ha
fatto cosa - i differenti servizi Grid e gli utenti devono
essere in grado di fidarsi luno dellaltro - La sicurezza e alla base di un sistema come
GridAutenticazione ? processo per stabilire una
mutua fiduciaAutorizzazione ? capacita di dire
chi e capace a fare qualcosa - Certificati ? provano lidentita di un soggetto
16Problema Grid Securityancora...
- Le risorse appartengono a domini multipli e
distinti - Unapplicazione puo utilizzare
contemporaneamente risorse di piu siti - Virtual Organization
- tipicamente variabile, dinamica
- proprie politiche e specifiche di sicurezza
- singolo utente o risorsa puo far parte di piu
VO - Grid è estremamente dinamica non ha un punto di
controllo centrale e ogni provider di risorse ha
le proprie policy (requisiti, politiche,
tecnologie)
17Le tre sfide
- Il Gruppo di lavoro GGF (Global Grid Forum) OGSA
(Open Grid Service Infrastructure) ha raggruppato
le sfide di sicurezza in 3 categorie - Integration
- Interoperability
- Trust Relationship
18Integration
- Le infrastrutture di sicurezza esistenti non
possono essere rimpiazzate non esiste una
soluzione di sicurezza globale - Ogni dominio crea-gestisce-supporta la propria
infrastruttura
- Esempio user account directory
19Interoperability
- I servizi Grid che interagiscono fra loro devono
poter attraversare domini e hosts - Necessita di interoperabilita a diversi
livelli - Protocol messaggi che i servizi si scambiano
(SOAP/HTTP)
- Policy policy differenti fra domini, specificate
con una comune sintassi e semantica
- Identity identificare utenti attraverso domini
diversi
20Trust Relationship
- Sicurezza proteggere le risorse
- Come faccio a proteggermi da chi offre le risorse
(e viceversa)? - Attraverso il concetto di fiducia (Trust)
- Tramite utilizzo di terze parti
- Organizzazioni di utenti che si fidano luna
dellaltra - Utenti si fidano luno dellaltro per
identificare altri utenti.
21Grid ComputingEsigenze di Sicurezza
- Single sign-on lutente dovrebbe essere in grado
di autentificarsi una sola volta per iniziare la
computazione che acquisisce-usa-rilascia le
risorse, senza nessun altra autenticazione
dellutente - Protection of credential le credenziali
dellutente (password, chiavi private, ...)
devono essere protette - Interoperability with local security solutions
laccesso a risorse locali e determinato dalle
politiche/meccanismi di sicurezza locali gt
soluzioni che prevedano un meccanismo di accesso
interdominio e intradominio - Uniform credential/certification infrastructure
accesso interdominio richiede almeno una via
comune per esprimere/verificare lidentita di un
utente/risorsa.
22Grid ComputingPolitiche di Sicurezza
- Grid consiste di piu domini di fiducia
integrare collezioni eterogenee di utenti e
risorse localmente amministrati, controllando le
interazioni interdominio e lassociazione fra le
operazioni interdominio e le politiche di
sicurezza locale - Esistono sia soggetti locali che globali per
ogni dominio esiste unassociazione parziale fra
soggetti globali e locali ogni utente di una
risorsa ha due nomi, uno globale ed uno locale
che e potenzialmente differente per ogni
risorsa lassociazione (mapping) di un nome
golbale in uno locale dipende dal sito il nome
globale permette il single sign-on - Un soggetto globale autenticato, associato
(mapped) in un soggetto locale e uguale ad un
soggetto locale autenticato in un dominio
fidato la combinazione delle politiche
dautenticazione Grid e lassociazione locale
corrispondono alle politiche di sicurezza del
dominio locale - Il controllo sullaccesso avviene in base al
soggetto locale le politiche daccesso rimangono
quelle del dominio locale - Un processo puo lavorare a nome di un utente ed
avere i suoi diritti permette computazioni
lunghe che possono acquisire risorse
dinamicamente (single sign-on)
23Grid SecuritySoluzione
- CERTIFICATI X.509. Standard ISO e IETF che
collega credenziali a chiave pubblica (chiave
pubblica e privata) ad unidentità. I certificati
sono rilasciati da un insieme di ben definite
Certification Authorities(CAs). Le credenziali
sono divise in due parti parte pubblica nel
certificato (da condividere), parte privata che
DEVE essere tenuta segreta. - PKI Public Key Infrastructure. Insieme di
standards che definisce come i certificati e le
CA debbano lavorare insieme. - GSS-API Generic Security Services Application
Program Interface. Standard IETF definisce
uninterfaccia unificata a meccanismi di
sicurezza eterogenei (Kerberos, certificati
X.509, etc..)
24GSIGrid Security Infrastructure
- Infrastruttura di sicurezza che collega insieme
le tre componenti (certificati X.509, PKI e
GSS-API) e aggiunge capacita di delega delle
credenziali (vedi piu avanti...) - Una Certification Authority(CA) rilascia i
certificati. - Ogni utente/servizio e identificato da un
certificato codificato in formato X.509 che
contiene il subject name che identifica
utente/servizio, la chiave pubblica, lidentita
della CA che ha rilasciato il certificato assieme
alla sua firma digitale.
25Utenti Organizzazioni Virtuali
- Utenti raggruppati in Virtual Organizations
- raccolgono utenti che lavorano assieme con un
fine comune (esempio i membri di uno stesso
esperimento scientifico) - i membri di una stessa VO condividono alcuni
privilegi della VO stessa (accesso alle risorse
esclusive della VO) - negoziazione fra gli utenti e i fornitori di
risorse e normalmente fatta al livello della VO
26Certification Authorities (CA)
- Chi garantisce che una chiave pubblica appertinga
veramente a qualcuno? - Certification Authorities rilasciano una coppia
di chiavi dopo aver verificato oltre ogni dubbio
lidentita del richiedente - Registration Authorities entita che ha
lobbligo di verificare lidentita - Come si prova che la chiave pubblica appartenga
realmente a qualcuno? - La CA firma la chiave pubblica dellutente
utilizzando la propria chiave privata - Una chiave pubblica firmata da una CA e un
certificato - I certificati delle CA sono autofirmati
- Cosaccade se un certificato viene compromesso?
- La CA revoca il certificato (non sara mai piu
valido) - Viene incluso in una lista di certificati
revocati (CRL Certificate Revocation List) che
viene regolarmente aggiornata - Esempio WLCG/EGEE riconoscono una serie di ben
definite CA
27Struttura certificato X.509
- Un certificato X.509 contiene
- chiave pubblica del proprietario
- identita del proprietario
28Procedura di richiesta certificato
Utente genera una coppia di chiavi pubblica/privat
a in un browser
La firma di CA collega lidentita e la chiave
pubblica Certificato inviato allutente
Utente invia la chiave pubblica a CA e mostra la
prova didentita fornita da RA
Certification Authority
29Tipi di certificati
- Certificati Host
- rilasciato per la macchina
- DN
- CIT
- OINFN
- OUHost
- LPerugia
- CNxyz.pg.infn.it
- Certificati per Serivzi
- rilasciati per servizi particolari
- DN
- CIT
- OINFN
- OUHost
- LPerugia
- CNphedex/xyz.pg.infn.it
- Certificati Personali
- rilasciati a persone fisiche (utenti)
- DN (Distinguished Name)
- CIT
- OINFN
- OUPersonal Certificate
- LPerugia
- CNMattia Cinquilli
- unico certificato valido come client (per inviare
job sulla Grid)
- Validita
- Ceritificati hanno una data di scadenza
tipicamente hanno durata di un anno dal momento
della creazione
30Grid Authentication
- Lautenticazione su Grid e unoperazione fatta
in comune (normalmente fra un utente ed un
servizio) - Lutente invia la sua chiave pubblica al servente
- Il servente verifica la firma della CA
- Il servente invia una frase random allutente
- Lutente calcola lhash della frase e la cripta
con la sua chiave privata - Lhash criptata e inviata al servente
- Il servernte decripta lhash con la chiave
pubblica del certificato dellutente e la
confronta con la propia hash della frase
Lintero processo e trasparente lutente non si
accorge di tutti i passaggi della comunicazione
necessaria per lautentifica
31Certificati Proxy
- Cosa sono?
- Sono certificati temporanei con una durata corta
e senza una password - Perche sono necessari?
- Perche altrimenti ogni processo dautenticazione
richiederebbe la password della chiave privata
dellutente! - Cosa sono in senso pratico?
- Sono dei file contenti sia il certificato che la
chiave privata - Il certificato del proxy e firmato con il
certificato dellutente - Tipicamente hanno una durata corta (esempio 12
ore) - Il file del proxy deve essere protetto dalla
lettura - Delega di Proxy (Proxy Delegation)
- Un proxy puo essere usato per firmare un altro
proxy
32Proxy RenewalMyProxy
- Il Proxy ha un tempo di vita corto (esempio 12
h) - avere un proxy lungo non e una buona idea
- Ma unoperazione in Grid puo avere la necessita
di un proxy valido per un tempo molto piu lungo - alcune applicazioni Grid necessitano anche di
qualche giorno (trasferimenti automatizzati di
grandi quantita di dati, jobs di analisi
particolarmente lunghi) - MyProxy server
- permette di creare e memorizzare un certificato
proxy di lunga durata - un servizio Grid puo contattarlo per rinnovare
un proxy che sta per scadere - solo i servizi registrati sono autorizzati a
chiedere/ricevere la delega - Un servizio dedicato puo rinnovare il proxy in
modo automatico
33Diventare parte di una VO
Ottiene un certificato Annualmente
- Steps
- Lutente ottiene un ceritificato dalla CA
- Lutente si registra alla VO
- Normalmente avviene attraverso uninterfaccia web
con il certificato utente caricato nel browser - Il manager della VO approva la richiesta
- Lutente viene conosciuto come appartente alla VO
anche dai servizi Grid
CA
Diventa parte di una VO una volta
VOmgr
VOMS
Aggiorna il database locale delle VO ogni poche
ore
VO database
Servizi Grid
Lidentita dellutente nella Grid Subject del
certificato /CIT/OINFN/OUPersonal
Certificate/LPerugia/CNMattia Cinquilli/CNproxy
34Virtual Organization Management System (VOMS)
- Permette di estendere un proxy per includere che
lutente - Appartiene ad una specifica VO
- Appartiene ad uno o piu gruppi della VO
- Ha uno speciale ruolo nella VO
- Le informazioni possono servire a specificare
privilegi speciali (o limitati...) - jobs con priorita speciale
- permesso di leggere/scrivere in certe aree di
storage -
- Il server VOMS per una VO contiene
- Tutti i gruppi e i ruoli che esistono
- Tutti gli utenti e a quali gruppi-ruoli essi
appartengono
35Gruppi e ruoli in VOMS
- I gruppi di VOMS sono gerarchici
- /myvo gruppo principale
- /myvo/gruppoA
- /myvo/gruppoB/sottogruppo1
- I ruoli di VOMS sono sempre collegati ad un
gruppo - /myvo/Ruoloruolo1
- /myvo/gruppoB/Ruoloruolo1
- /myvo/gruppoB/sottogruppo1/Ruoloruolo2
36Pericoli
- Attacchi ai servizi di rete della Grid
- Codice utente vulnerabile, escalation di
privilegi di utenti autenticati, accessi non
autenticati guadagnati tramite jobs o codice
errato - Software di base vulnerabile (librerie incluse)
- Utilizzo degli account alla Grid non
autorizzato/autentificato
37Conclusioni
- Le soluzioni di sicurezza sono abbastanza rigide
e presentano dei colli di bottiglia per quanto
riguarda la scalabilita - le richieste degli utenti devono avvenire sempre
attraverso un proxy - associazione fra soggetto globale-locale con
laumentare degli utenti e un limite - Il sistema di sicurezza e basato sui sistemi
gia esistenti - necessita di migliorare i sistemi gia presenti
e sviluppare dei sistemi dedicati sfruttando
lesperienza maturata - Sicurezza degli Storage Element delicata perche
contiene dei dati che sono accessibili da
chiunque nella Grid, tramite particolari/dedicat
i protocolli - e come condividere il disco fisso del vostro
computer su internet - necessita di protocolli daccesso dedicati
particolarmente affidabili per autorizzazione e
autentifica sono in fase di migioraramento - necessario gestire bene i permessi di
lettura/scrittura
38Grid ComputingFuturo
- Difficile ad immaginarsi...
- Pensate alla nascita del WEB ......
- O alla diffusione e uso dei cellulari .........
- Pensate infine a quello che disse Faraday ad un
ministro che gli chiedeva a cosa servissero le
correnti elettriche
Non so a cosa serviranno, ma voi di sicuro ne
tasserete l'uso......
39Bibliografia e Referenze
- GSI from Globus web sitehttp//www.globus.org/sec
urity/overview.html - A Security Architecture for Computational Grids
by Ian Foster et alftp//ftp.globus.org/pub/globu
s/papers/security.pdf - EGEE main web pagehttp//www.eu-egee.org/