Security on gLite middleware

37
Enabling Grids for E- sciencE www.eu-egee.org Security on gLite middleware Matthieu Reichstadt CNRS/IN2P3 ACGRID School, Hanoi (Vietnam) November 5th, 2007 Credits: Valeria Ardizzone, Jinny Chien, and other EGEE colleagues…

description

Matthieu Reichstadt CNRS/IN2P3 ACGRID School, Hanoi (Vietnam) November 5th, 2007 Credits: Valeria Ardizzone , Jinny Chien, and other EGEE colleagues…. Security on gLite middleware. Security. Authentication. Grid Security Infrastructure. Authorization. Encryption & Data Integrity. - PowerPoint PPT Presentation

Transcript of Security on gLite middleware

Page 1: Security on  gLite middleware

Enabling Grids for E-sciencE

www.eu-egee.org

Security on gLite middleware

Matthieu Reichstadt CNRS/IN2P3

ACGRID School,

Hanoi (Vietnam) November 5th, 2007

Credits: Valeria Ardizzone, Jinny Chien, and other EGEE colleagues…

Page 2: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Grid SecurityInfrastructure

Authentication

Encryption & Data Integrity

Authorization

Security

Page 3: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Overview

• Glossary• Encryption

– Symmetric algorithms – Asymmetric algorithms: PKI

• Certificates– Digital Signatures – X509 certificates

• Grid Security– Basic concepts – Grid Security Infrastructure – Proxy certificates– Command line interfaces

• Virtual Organisation– Concept of VO and authorization– VOMS, LCAS, LCMAPS

Page 4: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Overview

• Glossary• Encryption

– Symmetric algorithms – Asymmetric algorithms: PKI

• Certificates– Digital Signatures – X509 certificates

• Grid Security– Basic concepts – Grid Security Infrastructure – Proxy certificates– Command line interfaces

• Virtual Organisation– Concept of VO and authorization– VOMS, LCAS, LCMAPS

Page 5: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Glossary

• Principal– An entity: a user, a program, or a machine

• Credentials– Some data providing a proof of identity

• Authentication– Verify the identity of a principal

• Authorization– Map an entity to some set of privileges

• Confidentiality– Encrypt the message so that only the recipient can understand

it

• Integrity– Ensure that the message has not been altered in the

transmission

• Non-repudiation– Impossibility of denying the authenticity of a digital signature

Page 6: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Overview

• Glosary• Encryption

– Symmetric algorithms – Asymmetric algorithms: PKI

• Certificates– Digital Signatures – X509 certificates

• Grid Security– Basic concepts – Grid Security Infrastructure – Proxy certificates– Command line interfaces

• Virtual Organisation– Concept of VO and authorization– VOMS, LCAS, LCMAPS

Page 7: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007Authentication, Authorisation and Security 7

• Symmetric encryption• Asymmetric encryption…(Public Key

Infrastructure)

– Private key and public key are in pair. it is impossible to derive one key from another key.

– a message encrypted by one key can be decrypted only by another one.

Basis of security & authentication

Encrypted Encrypted texttext

Private Key Public Key

plain textplain text plain textplain text

Page 8: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Public Key Algorithms

• Every user has two keys: one private and one public:– it is impossible to derive

the private key from the public one;

– a message encrypted by one key can be decrypted only by the other one.

• No exchange of secrets is necessary– the sender cyphers using

the public key of the receiver;

– the receiver decrypts using his private key;

– the number of keys is O(n).• Examples:

– Diffie-Helmann (1977)– RSA (1978)

John keys

public private

Paul keys

public private

Paul John

ciao

3$r ciao

Paul John

ciao

cy7 ciao

3$r

cy7

Page 9: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007Authentication, Authorisation and Security 9

An Example of Asymmetric Encryption

• Public keys are exchanged– Paul gets John’s public

key..

• Paul encrypts using the public key of John

• John decrypts using his private key;

• Public key algorithm: Make sure of data confidentiality

John’s keys

private

public

Paul John

ciao

3$r ciao

3$r

Page 10: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Overview

• Glossary• Encryption

– Symmetric algorithms – Asymmetric algorithms: PKI

• Certificates– Digital Signatures – X509 certificates

• Grid Security– Basic concepts – Grid Security Infrastructure – Proxy certificates– Command line interfaces

• Virtual Organisation– Concept of VO and authorization– VOMS, LCAS, LCMAPS

Page 11: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007Authentication, Authorisation and Security 11

Digital Signature

• Paul calculates the hashhash of the message

• Paul encrypts the hash using his privateprivate key: the encrypted hash is the digital digital signaturesignature.

• Paul sends the signed message to John.

• John calculates the hash of the message

• Decrypts signature, to get Hash A, using Paul’s publicpublic key.

• If hashes equal: 1. message wasn’t modified; 2. hash A is fromPaul’sprivate key(Paul encrypted it)

John

message

Digital Signature

Paul

message

Digital Signature

message

Digital Signature

Hash A

Paul’s keys

public private

Hash B

Hash A

= ?

Page 12: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Digital Certificates

• Paul’s digital signature is safe if:1. Paul’s private key is not compromised2. John knows Paul’s public key

• How can John be sure that Paul’s public key is really Paul’s public key and not someone else’s?– A third party guarantees the correspondence between

public key and owner’s identity.– Both A and B must trust this third party

• Two models:– X.509: hierarchical organization;– PGP: “web of trust”.

Page 13: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

X.509

The “third party” is called Certification AuthorityCertification Authority (CA).

• Issue Digital CertificatesDigital Certificates for users, programs and machines

• Check the identity and the personal data of the requestor– Registration Authorities (RAs) do the actual validation

• CA’s periodically publish a list of compromised certificates– Certificate Revocation Lists (CRL): contain all the

revoked certificates yet to expire

• CA certificates are self-signed

Page 14: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007Authentication, Authorisation and Security 14

Certificate

• Certificate– It is based on Digital

Signature mechanism.

– Grid authenticates users or resources by verifying their certificate.

– Certificate is issued by one of the national Certification Authorities.

private key

certificate

User’sInformation

Certification Authorities. CA

CA’s Digital Signature

Sign

Public Key

CA's information

Time of validity

Page 15: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

X.509 Certificates

• 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=FR, O=CNRS, C=FR, O=CNRS, OU=LPC, CN=Matthieu ReichstadtOU=LPC, CN=Matthieu Reichstadt

Issuer: C=FR, O=CNRS, Issuer: C=FR, O=CNRS, CN=GRID-FRCN=GRID-FR

Expiration date: JulExpiration date: Jul 28 10:55:48 28 10:55:48 2008 GMT2008 GMT

Serial number: 625 (0x271)Serial number: 625 (0x271)

CA Digital signatureCA Digital signature

Structure of a X.509 certificate

Page 16: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Example of X.509 certificate

[reichma@clrlcgui01 reichma]$ grid-cert-infoCertificate: Data: Version: 3 (0x2) Serial Number: 2360 (0x938) Signature Algorithm: sha1WithRSAEncryption Issuer: C=FR, O=CNRS, CN=GRID-FR Validity Not Before: Jul 24 08:55:48 2007 GMT Not After : Jul 24 08:55:48 2008 GMT Subject: O=GRID-FR, C=FR, O=CNRS, OU=LPC, CN=Matthieu Reichstadt Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit)

.......

Page 17: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Overview

• Glossary• Encryption

– Symmetric algorithms – Asymmetric algorithms: PKI

• Certificates– Digital Signatures – X509 certificates

• Grid Security– Basic concepts – Grid Security Infrastructure – Proxy certificates– Command line interfaces

• Virtual Organisation– Concept of VO and authorization– VOMS, LCAS, LCMAPS

Page 18: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

More on CA’s

• In the grid world one single CA usually covers a predefined

geographic region or administrative domain:

– Organization

– Country

– A set of countries

• A common trust domain for grid computing has been created to join

the several existing certification authorities into a single

authentication domain and thus enabling sharing of grid resources

worldwide.

– The International Grid Trust Federation (IGTF) has been

created to coordinate and manage this trust domain.

– IGTF is divided in three Policy Management Authorities

(PMAs) covering the Asia Pacific, Europe and Americas.

Page 19: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Classic Profile of a CA : RA

Page 20: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

How to obtain a certificate

Page 21: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Certificate Management

• Import your certificate in your browser– If you received a .pem certificate you need to convert it to

PKCS12 – Use openssl command line (available in each egee/LCG UI)

openssl pkcs12 –export –in usercert.pem –inkey userkey.pem –out my_cert.p12 –name ’My Name’

• Most of other CA’s: – You receive already a PKCS12 certificate (can import it directly

into the web browser)– For future use, you will need usercert.pem and userkey.pem in

a directory ~/.globus on your UI– Export the PKCS12 cert to a local dir on UI and use again

openssl: openssl pkcs12 -nocerts -in my_cert.p12 -out userkey.pem openssl pkcs12 -clcerts -nokeys -in my_cert.p12 -out usercert.pem

Page 22: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

X.509 Proxy Certificate

• GSI extension to X.509 Identity Certificates– signed by the normal end entity cert (or by another proxy).

• Enables single sign-on• Support some important features

– Delegation– Mutual authentication

• Has a limited lifetime (minimized risk of “compromised credentials”)

• It is created by the grid-proxy-init command:% grid-proxy-initEnter PEM pass phrase: ******– Options for grid-proxy-init:

-hours <lifetime of credential> -bits <length of key> -help

Page 23: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

How proxies are created?

• User enters pass phrase, which is used to decrypt private key.

• Private key is used to sign a proxy certificate with its own, new public/private key pair.– User’s private key not exposed after proxy has been signed

User certificate file

Private Key(Encrypted)Pass

Phrase

User Proxycertificate file

• Proxy placed in /tmp– the private key of the Proxy is not encrypted:– stored in local file: must be readable only by the owner;– proxy lifetime is short (typically 12 h) to minimize security risks.

• NOTE: No network traffic!

Page 24: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Proxy again …

• VOMS:Virtual Organization Membership Service

• voms-proxy-init ≡ “login to the Grid”• To “logout” you have to destroy your proxy:

– voms-proxy-destroy– This does NOT destroy any proxies that were delegated

from this proxy.– You cannot revoke a remote proxy– Usually create proxies with short lifetimes

• To gather information about your proxy: – voms-proxy-info– Options for printing proxy information

-subject -issuer-type -timeleft-strength -help

Page 25: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Delegation and limited proxy

• Delegation = remote creation of a (second level) proxy credential– New key pair generated remotely on server– Client signs proxy cert and returns it

• Allows remote process to authenticate on behalf of the user– Remote process “impersonates” the user

• The client can elect to delegate a “limited proxy”– Each service decides whether it will allow authentication with a

limited proxy– Job manager service requires a full proxy– GridFTP server allows either full or limited proxy to be used

Page 26: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Long term proxy

• Proxy has limited lifetime (default is 12 h)– Bad idea to have longer proxy

• However, a grid task might need to use a proxy for a much longer time – Grid jobs in HEP Data Challenges on LCG last up to 2 days

• myproxy server:– Allows to create and store a long term proxy certificate:– myproxy-init -s <host_name>

-s: <host_name> specifies the hostname of the myproxy server

– myproxy-info Get information about stored long living proxy

– myproxy-get-delegation Get a new proxy from the MyProxy server

– myproxy-destroy– Chech out the myproxy-xxx - - help option

• A dedicated service on the RB can renew automatically the proxy• File transfer services in gLite validates user request and

eventually renew proxies– contacting myproxy server

Page 27: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Overview

• Glossary• Encryption

– Symmetric algorithms – Asymmetric algorithms: PKI

• Certificates– Digital Signatures – X509 certificates

• Grid Security– Basic concepts – Grid Security Infrastructure – Proxy certificates– Command line interfaces

• Virtual Organisation– Concept of VO and authorization– VOMS, LCAS, LCMAPS

Page 28: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Virtual Organizations and authorization

• Grid users MUST belong to virtual organizations– What we previously called “groups”– Sets of users belonging to a collaboration– User must sign the usage guidelines for the VO – You will be registered in the VO server (wait for

notification)

• Vos maintained a list of their members on a LDAP Server– The list is downloaded by grid machines to map user

certificate subjects to local “pool” accounts

– Sites decide which vos to accept

..."/C=CH/O=CERN/OU=GRID/CN=Simone Campana 7461" .dteam"/C=CH/O=CERN/OU=GRID/CN=Andrea Sciaba 8968" .cms"/C=CH/O=CERN/OU=GRID/CN=Patricia Mendez Lorenzo-ALICE" .alice...

/etc/grid-security/grid-mapfile

Page 29: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Evolution of VO Management

Page 30: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

The VOMS client

• Virtual Organization Membership Service– Extends the proxy with info on VO membership, group, roles– Fully compatible with Globus Toolkit– Each VO has a database containing group membership, roles and

capabilities informations for each user– User contacts voms server requesting his authorization info – Server send authorization info to the client, which includes them

in a proxy certificate

[reichma@clrlcgui01 repeat_install]$ voms-proxy-init --voms auvergrid:/Role=lcgadminYour identity: /O=GRID-FR/C=FR/O=CNRS/OU=LPC/CN=Matthieu ReichstadtEnter GRID pass phrase:Creating temporary proxy ....................................................................................... DoneContacting cclcgvomsli01.in2p3.fr:15002 [/O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=cclcgvomsli01.in2p3.fr] "auvergrid" DoneCreating proxy ......................................................... DoneYour proxy is valid until Thu Oct 4 01:20:51 2007

Page 31: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

FQAN and AC

• FQAN (Fully Qualified Attribute Name) is what VOMS uses to express membership and other authorization info

• Groups membership, roles and capabilities may be expressed in a format that bounds them together<group>/Role=[<role>][/Capability=<capability>]

• FQAN are included in an Attribute Certificate (AC)• AC are used to bind a set of attributes (like membership, roles,

authorization info etc) with an identity• AC are digitally signed• VOMS uses AC to include the attributes of a user in a proxy

certificate

[reichma@clrlcgui01 repeat_install]$ voms-proxy-info -fqan/auvergrid/Role=lcgadmin/Capability=NULL/auvergrid/Role=NULL/Capability=NULL

Page 32: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

VOMS and AC

• Server creates and sign an AC containing the FQAN requested by the user, if applicable

• AC is included by the client in a well-defined, non critical, extension assuring compatibility with GT-based mechanism

• At resources level, authorization info are extracted from the proxy and processed by LCAS and LCMAPS[reichma@clrlcgui01 repeat_install]$ voms-proxy-info -all

subject : /O=GRID-FR/C=FR/O=CNRS/OU=LPC/CN=Matthieu Reichstadt/CN=proxyissuer : /O=GRID-FR/C=FR/O=CNRS/OU=LPC/CN=Matthieu Reichstadtidentity : /O=GRID-FR/C=FR/O=CNRS/OU=LPC/CN=Matthieu Reichstadttype : proxystrength : 512 bitspath : /tmp/x509up_u2718timeleft : 11:58:17VO : auvergridsubject : /O=GRID-FR/C=FR/O=CNRS/OU=LPC/CN=Matthieu Reichstadtissuer : /O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=cclcgvomsli01.in2p3.frattribute : /auvergrid/Role=lcgadmin/Capability=NULLattribute : /auvergrid/Role=NULL/Capability=NULLtimeleft : 11:58:17

Page 33: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Roles

• Roles are specific roles a user has and that distinguishes him from others in his group:– Software manager – VO-Administrator

• Difference between roles and groups:– Roles have no hierarchical structure – there is no sub-role– Roles are not used in ‘normal operation’

They are not added to the proxy by default when running voms-proxy-init

But they can be added to the proxy for special purposes when running voms-proxy-init

• Example: – User Reuillon has the following membership

VO=auvergrid, Role=SoftwareManager– During normal operation the role is not taken into account,

e.g. Reuillon can work as a normal user– For special things he can obtain the role “Software Manager”

Page 34: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

LCAS & LCMAPS

At resources level, authorization info are extracted from

the proxy and processed by LCAS and LCMAPS

• Local Centre Authorization Service (LCAS)– Checks if the user is authorized (currently using the grid-

mapfile)– Checks if the user is banned at the site– Checks if at that time the site accepts jobs

• Local Credential Mapping Service (LCMAPS)– Maps grid credentials to local credentials (eg. UNIX uid/gid,

AFS tokens, etc.)– Map also VOMS group and roles (full support of FQAN)"/VO=biomed/GROUP=/biomed" .biomed

"/VO=biomed/GROUP=/biomed/prod" .biomedprod"/VO=biomed/GROUP=/biomed/prod/ROLE=manager" .biomedprodman

Page 35: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007Authentication, Authorisation and Security 35

Summary

• Authorisation– User joins Virtual Organisation– VO negotiates access to Grid nodes

and resources – Authorisation tested by resource:

Credentials in proxy determine user’s rights

UI

CA

VO mgr

Annually

VO database

Mapping to access rights

GSI

VO service

Daily update

• Authentication– User obtains certificate from

Certificate Authority– Connects to UI by ssh

(UI is the user’s interface to Grid)– Uploads certificate to UI– Single logon – to UI - create proxy– Grid Security Infrastructure

Page 36: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

User Responsibilities

• Keep your private key secure – on USB drive only

• Do not loan your certificate to anyone.• Report to your local/regional contact if your

certificate has been compromised.• Do not launch a delegation service for longer

than your current task needs.

If your certificate or delegated service is used by someone other than you, it cannot be proven that it was not you.

Page 37: Security on  gLite middleware

Enabling Grids for E-sciencE

ACGrid School 5-9/11 2007

Thank you