Presentation is loading. Please wait.

Presentation is loading. Please wait.

INFSO-RI-508833 Enabling Grids for E-sciencE Security in gLite Gergely Sipos MTA SZTAKI With thanks for some slides to.

Similar presentations


Presentation on theme: "INFSO-RI-508833 Enabling Grids for E-sciencE Security in gLite Gergely Sipos MTA SZTAKI With thanks for some slides to."— Presentation transcript:

1 INFSO-RI-508833 Enabling Grids for E-sciencE www.eu-egee.org Security in gLite Gergely Sipos MTA SZTAKI sipos@sztaki.hu With thanks for some slides to EGEE and Globus colleagues

2 Enabling Grids for E-sciencE INFSO-RI-508833 2 What is Grid security? So Grid Security is security to enable VOs What is needed in terms of security for a VO? The Grid problem is to enable “coordinated resource sharing and problem solving in dynamic, multi- institutional virtual organizations.” From ”The Anatomy of the Grid” by Ian Foster at. al

3 Enabling Grids for E-sciencE INFSO-RI-508833 3 Virtual Organization concept VO for each application or workload Carve out and configure resources for a particular use and set of users The more dynamic the better…

4 Enabling Grids for E-sciencE INFSO-RI-508833 4 The problems How can the members of the VO identified? Who does belong to a VO? Who does not? How does a machine identifies its client? How are access rights controlled? How does a user access a VO resource without having an user account on the machines in between or even on the resource? User Storage Element Broker Computing Element

5 Enabling Grids for E-sciencE INFSO-RI-508833 5 The Problems -2: reducing vulnerability Launch attacks to other sites –Large distributed farms of machines, perfect for launching a Distributed Denial of Service attack. Illegal or inappropriate data distribution and access sensitive information –Massive distributed storage capacity ideal for example, for swapping movies. –Growing number of users have data that must be private – biomedical imaging for example Damage caused by viruses, worms etc. –Highly connected infrastructure means worms could spread faster than on the internet in general.

6 Enabling Grids for E-sciencE INFSO-RI-508833 6 Grid Security Infrastructure - GSI Authentication: how is identity of user/site communicated? Authorisation: what can a user do? Encription: encripted messages Integrity: unchanged messages Grid Security Infrastructure Authentication Encryption & Data Integrity Authorization Security

7 Enabling Grids for E-sciencE INFSO-RI-508833 7 Basis of security & authentication Asymmetric encryption… …. and Digital signatures … –A hash derived from the message and encrypted with the signer’s private key –Signature is checked by decrypting with the signer’s public key Are used to build trust –That a user / site is who they say they are –And can be trusted to act in accord with agreed policies Encrypted text Private Key Public Key Clear text message

8 Enabling Grids for E-sciencE INFSO-RI-508833 8 Basis of Grid Security Infrastructure: Public Key Algorithms Every entity that wants to join a VO (user/machine/software) 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. Concept (simplified version): –Public keys are exchanged –The sender encrypts using receiver’s public key –The reciever decrypts using their private key; John’s keys public private PaulJohn ciao3$rciao3$r

9 Enabling Grids for E-sciencE INFSO-RI-508833 Digital Signatures in use: Non repudiation and message integrity hashPaul calculates the hash of the message: a 128 bit value based on the content of the message private digital signaturePaul encrypts the hash using his private key: the encrypted hash is the digital signature. Paul sends the signed message to John. John calculates the hash of the message  Hash B publicDecrypts A with Paul’s public key  Hash A If hashes equal: 1. hash B is from Paul’s private key; 2. message wasn’t modified; John message Digital Signature Paul message Digital Signature message Digital Signature Hash A Paul’s keys publicprivate Hash B Hash A = ?

10 Enabling Grids for E-sciencE INFSO-RI-508833 10 Public and private keys Public key is wrapped into a “certificate file” Certificate files are created by trusted third parties: Grid Certification Authorities (CA) Private key is stored in encripted file – protected by a passphrase Prive key is created by the grid user Certificate Public key Subject:/C=HU/O=NIIF CA/OU=GRID/OU=NIIF/CN=Gergely Sipos/Email=sipos@sztaki.hu Issuer: C=CH, O=CERN, OU=GRID, CN=CERN CA Expiration date: Aug 26 08:08:14 2008 GMT Serial number: 625 (0x271) Optional Extensions CA Digital signature

11 Enabling Grids for E-sciencE INFSO-RI-508833 11 Certification Authorities User’s identity has to be certified by one of the national Certification Authorities (CAs) Resources are also certified by CAs CAs recognized by EGEE VOs: http://www.gridpma.org/ http://www.gridpma.org/ CAs can establish a number of people “registration authorities” RAs –Personal visit to the nearest RA instead of the national CA

12 Enabling Grids for E-sciencE INFSO-RI-508833 12 The Grid Security Infrastructure (GSI) every Grid transaction is mutually authenticated: 1. A sends his certificate; 2. B verifies signature in A’s certificate using CA public certificate; 3. B sends to A a challenge string; 4. A encrypts the challenge string with his private key; 5. A sends encrypted challenge to B 6. B uses A’s public key to decrypt the challenge. 7. B compares the decrypted string with the original challenge 8. If they match, B verified A’s identity and A can not repudiate it. 9. Repeat for A to verify B’s identity A B A’s certificate Verify CA signature Random phrase Encrypt with A’ s private key Encrypted phrase Decrypt with A’ s public key Compare with original phrase Based on X.509 PKI:

13 Enabling Grids for E-sciencE INFSO-RI-508833 13 The Grid Security Infrastructure (GSI) - continued Default: message integrity checking –Not private – a test for tampering. For private communication: –Encrypt all the message (not just hash) - Slower After A and B authenticated each other, for A to send a message to B: A B Generate hash from message Message + Encrypted hash Decrypt with A’ s public key Compare with decrypted hash Encrypt hash with A’ s private key Further encrypt hash with B’ s public key Decrypt with B’ s private key Generate hash from message

14 Enabling Grids for E-sciencE INFSO-RI-508833 14 Issuing a grid certificate Private Key encrypted on local disk Cert Request Public Key ID Cert User generates public/private key pair in browser or in files. User sends public key to CA and shows RA proof of identity. CA signature links identity and public key in certificate. CA informs user. CA root certificate Instructions, tutorials (should be) on CA homepages

15 Enabling Grids for E-sciencE INFSO-RI-508833 15 User’s responsibilities 1. Keep your private key secure –if possible on a USB drive only Do not loan your certificate to anyone Report to your local/regional contact if your certificate has been compromised. Note file access rights: If your certificate is used by someone other than you, it cannot be proven that it was not you. [sipos@glite-tutor sipos]$ ls -l.globus/ total 8 -rw-r--r-- 1 sipos users 1761 Oct 25 2006 usercert.pem -r-------- 1 sipos users 951 Oct 24 2006 userkey.pem

16 Enabling Grids for E-sciencE INFSO-RI-508833 16 Joining a VO Steps –User obtains certificate from Certification Authority –User registers at the VO  usually via a web form –VO manager authorizes the user  VO DB updated –User information is replicated onto VO resources within 24 hours CA VO mgr Obtaining certificate: Annually VO database Grid sites VOMS Joining VO: Once Updating local VO database once a day User’s identity in the Grid = Subject of certificate: /C=HU/O=NIIF CA/OU=GRID/OU=NIIF/CN=Gergely Sipos/Email=sipos@sztaki.hu List of EGEE VOs: On CIC Operations Portal

17 Enabling Grids for E-sciencE INFSO-RI-508833 17 Need for delegation Site A Site B Site C Computing Element User Start this job for me on the “best” resource of biomed VO! Broker Computing Element Storage Element - Authenticate and authorize user - Access file Remote file access request* * With mutual authentication Process Remote process creation requests* - Authenticate and authorize user - Create process Process - Authenticate and authorize user - Create process Remote process creation requests*

18 Enabling Grids for E-sciencE INFSO-RI-508833 Delegation of user identies by limited proxies Delegation - allows remote process and services to authenticate on behalf of the user –Remote process/service “impersonates” the user Achieved by creation of next-level key-pair from the user’s key-pair. –New key-pair is a single file: Proxy credential –Proxy has limited lifetime –Proxy may be valid for limited operations The client can delegate the proxy to processes –Each service decides whether it accepts proxies for authentication

19 Enabling Grids for E-sciencE INFSO-RI-508833 19 Basic services of gLite Computing Element Storage Element Site X Information System Submit job query Retrieve status & output Resource Broker User Interface publish state File and Replica Catalog Authorization Service (VO Management Service) query create credential process Retrieve status & output

20 Enabling Grids for E-sciencE INFSO-RI-508833 Logging into the Grid: Creating a proxy credential % voms-proxy-init  login to the Grid Enter PEM pass phrase: ******  private key is protected by a password –Options for voms-proxy-init:  VO name  -hours  -bits  -help [sipos@glite-tutor sipos]$ voms-proxy-init --voms gilda Enter GRID pass phrase: *********** Your identity: /C=HU/O=NIIF CA/OU=GRID/OU=NIIF/CN=Gergely Sipos/Email=sipos@sztaki.hu Creating temporary proxy............................................................ Done Contacting voms.ct.infn.it:15001 [/C=IT/O=INFN/OU=Host/L=Catania/CN=voms.ct.infn.it] "gilda" Done Creating proxy................................ Done Your proxy is valid until Sat Jun 23 04:55:19 2007

21 Enabling Grids for E-sciencE INFSO-RI-508833 voms-proxy-init in the background User enters pass phrase, which is used to decrypt private key. New private and new public key-pair generated and saved into proxy file Original private key is used to sign the proxy file –User’s private key not exposed after proxy has been signed User certificate file Private Key (Encrypted) Pass Phrase User Proxy certificate file Proxy file saved in /t m p –the private key part of the Proxy is not encrypted: –proxy lifetime is short (typically 12 h) to minimize security risks. NOTE: No network traffic during proxy creation!

22 Enabling Grids for E-sciencE INFSO-RI-508833 22 Proxy in action Site A Site B Site C Computing Element User Single sign-on via “grid-id” & generation of proxy cred. Broker Proxy credential Computing Element Storage Element GSI-enabled FTP server Authorize Map to local id Access file Remote file access request* GSI-enabled server GSI-enabled server * With mutual authentication Remote process creation requests* Process Proxy credential Authorize Map to a local id Create process Generate credentials Process Proxy credential Ditto Remote process creation requests*

23 Enabling Grids for E-sciencE INFSO-RI-508833 Logging out from the Grid: Destroying the proxy credential 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

24 Enabling Grids for E-sciencE INFSO-RI-508833 24 voms-proxy-init in the background 2 VOMS: VO Management Service –VO level service –Database of user roles voms-proxy-init –Creates a proxy locally –Contacts the VOMS server and extends the proxy with a role voms-proxy-init –voms gilda Allows VOs to centrally manage user roles Proxy Proxy + VOMS roles

25 Enabling Grids for E-sciencE INFSO-RI-508833 25 Controlling user rights: Virtual Organization Membership Service Before VOMS All VO members have same rights Grid user identities are mapped onto local user accounts statically User is authorised as a member of a single VO (no aggregation of roles) grid-proxy-init VOMS VO can have groups –Different rights for each  Different groups of experimentalists  … –Nested groups VOMS has roles –Assigned to specific purposes  E,g. system admin  When assume this role User can be in multiple VOs –Aggregate roles Proxy certificate carries the additional attributes voms-proxy-init

26 Enabling Grids for E-sciencE INFSO-RI-508833 26 Controlling user rights on sites: Pool accounts Grid site Local user pool 1 Local user pool 2 Local user pool 3 Proxy + VOMS role Students Researchers VO administrators VOMS role: administrator Map grid request to a local UNIX user from pool 3 The grid user can perform those actions on the site that any user account from pool 3 is allowed to

27 Enabling Grids for E-sciencE INFSO-RI-508833 27 gLite AA Summary Authentication –User obtains certificate from Certificate Authority –Connects to UI by ssh and uploads certificate to UI or Login to a portal and use MyProxy –Single logon to the Grid - create proxy –then Grid Security Infrastructure uses proxies Authorisation –User joins Virtual Organisation –VO manager updates VOMS DB –Capabilities added to proxy by VOMS UI CA VO mgr Annually VO database GSI VOMS Once

28 Enabling Grids for E-sciencE INFSO-RI-508833 28 User Responsibilities 2. 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.

29 Enabling Grids for E-sciencE INFSO-RI-508833 MyProxy server You may need: –To interact with a grid from many machines  And you realise that you must NOT, EVER leave your certificate where anyone can find and use it…. Solution: you can store a proxy in a “MyProxy server” and derive a proxy certificate when needed MyProxy ~ storage server for proxy files

30 Enabling Grids for E-sciencE INFSO-RI-508833 MyProxy example UI MyProxy Server (myproxy-init) any grid service myproxy-get-delegation the Grid Portal WEB Browser Certificate Private key Proxy myproxy-get- delegation Proxy

31 Enabling Grids for E-sciencE INFSO-RI-508833 31 Summary - To become an EGEE user Obtain a certificate from a recognized CA: –www.gridpma.org  1 year long, renewable certificates, accepted in every EGEE VOwww.gridpma.org Find and register at a VO –EGEE NA4 - CIC Operations portal: http://cic.gridops.org/http://cic.gridops.org/ Use the grid: –command line clients installed on the User Interface (UI is mainaned by the VO / your institute / you)  voms-proxy-init –voms VONAME  voms-proxy-destroy –Use third party clients  Might be satisfied with voms-proxy-init or require MyProxy –Use programming APIs to interact with gLite services  E.g. gfal for data management  later today

32 INFSO-RI-508833 Enabling Grids for E-sciencE www.eu-egee.org Thank you! Questions?


Download ppt "INFSO-RI-508833 Enabling Grids for E-sciencE Security in gLite Gergely Sipos MTA SZTAKI With thanks for some slides to."

Similar presentations


Ads by Google