1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie...

29
1 Grid Security Infrastructure Grid Security Infrastructure Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Griglie computazionali Università degli Studi di Napoli Federico II Corso di Laurea Magistrale in Informatica – I Anno

Transcript of 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie...

Page 1: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

1

Grid Security InfrastructureGrid Security Infrastructure

• Grid Security Infrastructure• Certificati X.509• Certificati Proxy• Il servizio VOMS

Griglie computazionali Griglie computazionali

Università degli Studi di Napoli Federico IICorso di Laurea Magistrale in Informatica – I Anno

Page 2: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

2

Sicurezza: GSI Sicurezza: GSI (1/9)(1/9)

Grid Security Infrastucture

Le entità in gioco sono utenti, programmi e computers

Technical requirements• multi-site authentication (verifica di identità)• authorization (mappa l’entità ad un set di privilegi)• message integrity• non-repudiation• message privacy• delegation (proxy)• users virtualization

Users requirements• simplicity

Page 3: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

3

Sicurezza: GSI Sicurezza: GSI (2/9)(2/9)

Generalità

Controllo locale e flessibile sulle politiche di accesso.

Le credenziali di una entità (utente o server) sono fornite attraverso certificati digitali.

• utilizzo di certificati X.509 (modello gerarchico)

• Rilascio da parte di CA (Certification Authority)

• Soluzione basata su crittografia asimmetrica

Page 4: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

4

Sicurezza: GSI Sicurezza: GSI (3/9)(3/9)

Rilascio del certificato

Step 1• l’utente genera

- un certificato vuoto di richiesta: usercert_request.pem- una chiave privata criptata: userkey.pem

Step 2• l’utente invia il certificato vuoto alla propria CA e viene

identificato (tramite una RA locale)Step 3

• l’utente riceve il certificato compilato dalla CA- chiave pubblica dell'utente- vero nome dell'utente- data di scadenza del certicato- nome della Certication Autorithy- numero di serie del certicato- firma digitale della CA

Page 5: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

5

CERTIFICATION AUTHORITY INFNhttp://security.fi.infn.it/CA/

Page 6: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

6

• An X.509 Certificate contains:

owner’s public key;

identity of the owner;

info on the CA;

time of validity;

Serial number;

digital signature of the CA

Public keyPublic key

Subject:Subject:C=IT, O=INFN, C=IT, O=INFN, OU=Personal Certificate, OU=Personal Certificate, L=NAPOLI CN=Alessandra DoriaL=NAPOLI CN=Alessandra Doria

Issuer: C=IT, O=INFN, CN=INFN Issuer: C=IT, O=INFN, CN=INFN Certification AuthorityCertification Authority

Expiration date: Expiration date: May 10 14:15:14 May 10 14:15:14 2005 GMT2005 GMT

Serial number: 080ESerial number: 080E

CA Digital signatureCA Digital signature

Structure of a X.509 certificate

Page 7: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

7

CertificatoCertificato

-----BEGIN CERTIFICATE-----MIIF1zCCBL+gAwIBAgICCA4wDQYJKoZIhvcNAQEEBQAwQzELMAkGA1UEBhMCSVQxDTALBgNVBAoTBElORk4xJTAjBgNVBAMTHElORk4gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNTEwMTMxNTIyWhcNMDUwNTEwMTMxNTIyWjCBjzELMAkGA1UEBhMCSVQxDTALBgNVBAoTBElORk4xHTAbBgNVBAsTFFBlcnNvbmFsIENlcnRpZmljYXRlMQ0wCwYDVQQHEwRDTkFGMRcwFQYDVQQDEw5EYW5pZWxlIENlc2luaTEqMCgGCSqGSIb3DQEJARYbZGFuaWVsZS5jZXNpbmlAY25hZi5pbmZuLml0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnEvVPBpTjKLA4F0K+Zgc8pWyEPGDnwLWglktBI6+mYTLuemPzgkZ4CTyrZL7bw5ywXUe717e1Rmg6wDfPANRLkxxRNKNaronkS19eNKjPYpklEKNq2gSGsK0/SsYB2YUG4kWLqtFC93x1Ffdc1Tz0xgrXH3kC0jqNqHImDrbpB7VtvAGC7/e/EJhy9MvlPA4W2vbUnwBocjMA/en3GXs2KY19tbFA3TgjyIpCMbIeu3GlyTnbSJFoy3eeHkNLsf9c29RAJ5gWxMF7arM++NyURQ9qaEdMINjCqb7dHJEj8E/AwSsYeWmWHfaPXnjj5aP23UlRTc31nSwh+5y0bMnFwIDAQABo4IChjCCAoIwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBPAwNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL3NlY3VyaXR5LmZpLmluZm4uaXQvQ0EvY3JsLmNybDAXBgNVHSAEEDAOMAwGCisGAQQB0SMKAQQwHQYDVR0OBBYEFCM+8mfoaenmQ76tHy+7hX+5RKJ6MGsGA1UdIwRkMGKAFMoR710dBwSYqaW1WBpmTgoWK+BJoUekRTBDMQswCQYDVQQGEwJJVDENMAsGA1UEChMESU5GTjElMCMGA1UEAxMcSU5GTiBDZXJ0aWZpY2F0-----END CERTIFICATE-----

grid-cert-info -<option> -f cert_file.pemwhere <option> can be:

-all -startdate-subject -enddate-issuer -help

Page 8: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

8

Nota: cifraturaNota: cifratura

- Cifratura e decifratura sono fatte con chiavi diverse, A pubblica e B privata.- Il mittente cifra con la chiave pubblica del ricevente, che sarà l’unico a poter decifrare.- Quello che è criptato con la chiave A può essere decriptato solo con B e viceversa. - Non si può mai ricavare A da B, né viceversa.

crittografia asimmetrica:

A B

Page 9: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

9

Nota: firma digitaleNota: firma digitale

- controllo sull’identita’ del mittente- verifica dell’integrita’ del messaggio- non ripudiabilita’

B

A

Da un messaggio di lunghezza variabile, una funzione produce una stringa di lunghezza fissa (HASH).L’hash viene criptato con la chiave privata del mittente e decriptato con la pubblica, verificando l’integrità

Page 10: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

10

Sicurezza: GSI Sicurezza: GSI (4/9)(4/9)

Fasi dell’autenticazione

User certificateUser certificate

Verify CA signatureVerify CA signature

Random phraseRandom phrase

EncrypEncrypt t with user private keywith user private key

Encrypted phraseEncrypted phrase

Decrypt with user public keyDecrypt with user public key

Compare with original phraseCompare with original phrase

• Ogni richiesta è accompagnata dal certificato dell’utente

• La CA deve essere accreditata (trusted) presso il ricevente

• Se la stringa decriptata coincide, il servizio ricevente non può rifiutare la richiesta

• Ogni transazione Grid è soggetta a mutua autenticazione

USER SERVICE

Page 11: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

11

Sicurezza: GSI Sicurezza: GSI (5/9)(5/9)

Grid authentication

user certificate file

private key

user proxy certificate filegrid-proxy-init

Per evitare che un cerificato possa essere intercettato, viene creato un proxy (locale e temporaneo) delle credenziali utilizzato per tutte le operazioni.• X.509 Proxy Certificate = estensione GSI di X.509• Ha durata molto inferiore al certificato originale (in genere 12 h)

Page 12: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

12

Sicurezza: GSI Sicurezza: GSI (6/9)(6/9)

Delega

• delega = creazione remota di un proxy delle credenziali• permette a un processo remoto di autenticarsi per conto

dell’utente• Immettendo una password l’utente firma il proxy con la

propria chiave privata.• I proxy hanno una propria coppia di chiavi.

Page 13: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

13

Sicurezza: GSI Sicurezza: GSI Grid authentication

N.B:Il certificato resta sulla macchina dell’utente e ha la chiave privata criptata e protetta con una password.

Per creare certificati proxy e per ogni altra attività l’utente deve immettere la password della sua chiave privata.

I certificati proxy viaggiano nella grid ed hanno coppie di chiavi pubblica e privata con chiave privata non criptata. Non serve l’intervento umano.

Page 14: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

14

Sicurezza: GSI Sicurezza: GSI Grid authentication

Il certificato utente risiede generalmente nella user interface nella home del proprietario con chiave privata associata, protetta con passwordI certificati proxy invece portano in un unico file, chiave pubblica e chiave privata, quest’ultima senza protezione.

N.B. Nella GSI le chiavi private NON POSSONO VIAGGIARE IN RETE anche se protette da password.

Come si creano certificati proxy remoti se non possono viaggiare le chiavi private?

Page 15: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

15

Sicurezza: GSI Sicurezza: GSI Grid authentication

Partendo da un certificato proxy sull’host A, per creare un certificato proxy remoto su un host che chiameremo B si segue questa procedura:1.Il server remoto B genera una coppia di chiavi, tiene quella privata ed invia la chiave pubblica al server A.2.Il server A compila il certificato per B e lo firma con il certificato proxy che già possiede.3.Il server A invia il certificato così compilato al server B il quale unendolo alla chiave privata già in suo possesso completa il processo di delegation tramite proxy.

Page 16: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

16

Sicurezza: GSI Sicurezza: GSI (7/9)(7/9)

Delega

Si possono interrogare e cancellare i propri proxy:• grid-proxy-info• grid-proxy-destroy (non distrugge i proxy delegati)

Una applicazione può durare più a lungo del proxy:

Un myproxy server può rinnovare automaticamente i proxy di task ancora in corso, che stanno per scadere.

Page 17: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

17

Sicurezza: GSI Sicurezza: GSI MyProxy

Il servizio Myproxy è un online-credetinal repository che conserva le credenziali per un lungo periodo di tempo (generalmente una settimana) e consente a un utente di ottenere credenziali in maniera sicura quando è necessario.

Ad esempio per job di durata superiore alla scadenza del proxy, il workernode dove risiede il job può contattare il myproxyserve con il certificato proxy per ottenere nuove credenziali dal Myporxy server in maniera automatica senza l’intervento umano.

Page 18: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

18

Quali entità hanno bisogno di un certificato?

RB

CE

WN WN WN WN

WN WN WN WN

RLS

BDII

SE

User

A Certificate is needed for:

User RBCESE

edg-job-submit

globus-job-run

To test user authentication on a farm we will use this command on the CE.

Page 19: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

19

Sicurezza: GSI Sicurezza: GSI (8/9)(8/9)

Grid authorization – mapping

• Essere autenticato non dà diritti di esecuzione su una Grid.• L’utente deve appartenere ad un gruppo autorizzato

all’uso delle risorse -> Virtual Organization • Il proxy ottenuto con grid-proxy-init non contiene

informazioni sulla VO, che viene individuata attraverso il grid-mapfile presente sulle risorse.

• Il grid-mapfile stabilisce i diritti di un utente su una specifica risorsa, in base alla sua VO di appartenenza.

• le entries del grid-mapfile mappano gli utenti della Grid autorizzati in utenti del sistema locale:

"/C=IT/O=INFN/OU=Personal Certificate/L=Napoli/CN=Ale Doria/[email protected]" .gridit

Page 20: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

20

VOMSVOMS

Per far sì che un utente possa utilizzare effettivamente le risorse di distribuite di calcolo e di storage, occorre che appartenga ad una Virtual Organizzation (VO).

Ogni utente può appartenre a più VO presso le quali si indentifica con il suo certificato personale che è sempre lo stesso.

In ogni VO un utente può avere differenti Ruoli e differentiprivilegi

Page 21: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

21

Sicurezza: GSI Sicurezza: GSI (9/9)(9/9)

Grid authorization – VOMS

Il servizio VOMS (Virtual Organization Membership Service) estende le informazioni del proxy con VO membership, gruppo, ruolo, privilegi.

voms-proxy-init voms-proxy-destroy voms-proxy-info

Non tutte le VO devono essere gestite con VOMS.

Page 22: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

22

VOMS SERVER DELLA VO UNINA.IT

Page 23: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

23

Page 24: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

24

Page 25: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

25

Il VOMS in gLiteIl VOMS in gLite

Le Virtual Organization in gLite sono VOMS oriented.

Gli attributi vengono specificati secono la seguente sintassi:

/VO/Role=Ruolo/Capability=Privilegi

Ad esempio

/unina.it/Role=VO-Admin

Oppure

/unina.it/Role=softmanager/Capability=swinstall

Page 26: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

26

Il VOMS in gLiteIl VOMS in gLite

Il Certificato si installa sulla propria User Interface e viene utilizzato per creare i certificati proxy con cui gli utenti si autenticano all’interno della grid.

La directory di default è /home/nomeutente/.globus

[spardi@ui02 .globus]$ pwd/home/spardi/.globus[spardi@ui02 .globus]$ ls -latotal 16drwxrwxr-x 2 spardi spardi 4096 Jan 22 17:26 .drwx------ 12 spardi spardi 4096 Mar 30 12:32 ..-rw------- 1 spardi spardi 1799 Jan 22 17:26 usercert.pem-r-------- 1 spardi spardi 1922 Jan 22 17:26 userkey.pem

Page 27: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

27

[spardi@ui02 ~]$ voms-proxy-init --voms unina.itCannot find file or dir: /home/spardi/.glite/vomsesEnter GRID pass phrase:Your identity: /C=IT/O=INFN/OU=Personal Certificate/L=Federico II/CN=Silvio PardiCreating temporary proxy .......................................... DoneContacting voms01.scope.unina.it:15003 [/C=IT/O=INFN/OU=Host/L=Federico II/CN=voms01.scope.unina.it] "unina.it" DoneCreating proxy ................................... DoneYour proxy is valid until Mon Mar 30 21:31:38 2009[spardi@ui02 ~]$[spardi@ui02 ~]$ voms-proxy-info --allsubject : /C=IT/O=INFN/OU=Personal Certificate/L=Federico II/CN=Silvio Pardi/CN=proxyissuer : /C=IT/O=INFN/OU=Personal Certificate/L=Federico II/CN=Silvio Pardiidentity : /C=IT/O=INFN/OU=Personal Certificate/L=Federico II/CN=Silvio Parditype : proxystrength : 512 bitspath : /tmp/x509up_u500timeleft : 11:59:35=== VO unina.it extension information ===VO : unina.itsubject : /C=IT/O=INFN/OU=Personal Certificate/L=Federico II/CN=Silvio Pardiissuer : /C=IT/O=INFN/OU=Host/L=Federico II/CN=voms01.scope.unina.itattribute : /unina.ittimeleft : 11:57:37

Page 28: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

28

[spardi@ui02 ~]$ voms-proxy-init --voms unina.it:/unina.it/Role=VO-AdminCannot find file or dir: /home/spardi/.glite/vomsesEnter GRID pass phrase:Your identity: /C=IT/O=INFN/OU=Personal Certificate/L=Federico II/CN=Silvio PardiCreating temporary proxy ...................................................................... DoneContacting voms01.scope.unina.it:15003 [/C=IT/O=INFN/OU=Host/L=Federico II/CN=voms01.scope.unina.it] "unina.it" DoneCreating proxy ............................................................. DoneYour proxy is valid until Mon Mar 30 21:45:59 2009[spardi@ui02 ~]$ voms-proxy-info --allsubject : /C=IT/O=INFN/OU=Personal Certificate/L=Federico II/CN=Silvio Pardi/CN=proxyissuer : /C=IT/O=INFN/OU=Personal Certificate/L=Federico II/CN=Silvio Pardiidentity : /C=IT/O=INFN/OU=Personal Certificate/L=Federico II/CN=Silvio Parditype : proxystrength : 512 bitspath : /tmp/x509up_u500timeleft : 11:59:58=== VO unina.it extension information ===VO : unina.itsubject : /C=IT/O=INFN/OU=Personal Certificate/L=Federico II/CN=Silvio Pardiissuer : /C=IT/O=INFN/OU=Host/L=Federico II/CN=voms01.scope.unina.itattribute : /unina.itattribute : /unina.it/Role=VO-Admintimeleft : 11:58:00

Page 29: 1 Grid Security Infrastructure Certificati X.509 Certificati Proxy Il servizio VOMS Griglie computazionali Università degli Studi di Napoli Federico II.

30

RiferimentiRiferimenti

“A National-Scale Authentication Infrastructure”R. Butler, V. Welch, D. Engert, I. Foster, S. Tuecke, J. Volmer, C. KesselmanIEEE Computer n.33, 2000

http://www.cs.ucy.ac.cy/crossgrid/cygriddl/gsi-authentication.pdf

Globus Security:http://www.globus.org/toolkit/docs/4.0/security/