Authorization and Authentication in gLite

Slides:



Advertisements
Similar presentations
Introduction of Grid Security
Advertisements

Public Key Infrastructure A Quick Look Inside PKI Technology Investigation Center 3/27/2002.
Liang ZHAO, PKU EUChinaGrid 3 rd Tutorial Nov.25, 2006 Authentication and Authorization in gLite Liang ZHAO Peking University.
Grid Security Infrastructure Tutorial Von Welch Distributed Systems Laboratory U. Of Chicago and Argonne National Laboratory.
Grid Security. Typical Grid Scenario Users Resources.
Authentication Cristian Solano. Cryptography is the science of using mathematics to encrypt and decrypt data. Public Key Cryptography –Problems with key.
DESIGNING A PUBLIC KEY INFRASTRUCTURE
Security on Grid Roberto Barbera Univ. of Catania and INFN
Chapter 9: Using and Managing Keys Security+ Guide to Network Security Fundamentals Second Edition.
INFSO-RI Enabling Grids for E-sciencE Security, Authorisation and Authentication Mike Mineter Training, Outreach and Education National.
Presented by Xiaoping Yu Cryptography and PKI Cosc 513 Operating System Presentation Presented to Dr. Mort Anvari.
TrustPort Public Key Infrastructure. Keep It Secure Table of contents  Security of electronic communications  Using asymmetric cryptography.
Digital Signature Xiaoyan Guo/ Xiaohang Luo/
Enabling Grids for E-sciencE Security on gLite middleware Matthieu Reichstadt CNRS/IN2P3 ACGRID School, Hanoi (Vietnam) November 5th, 2007.
INFSO-RI Enabling Grids for E-sciencE Practicals on VOMS and MyProxy Emidio Giorgio INFN Retreat between GILDA and ESR VO, Bratislava,
Cryptography and Network Security Chapter 14 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Chapter 9: Using and Managing Keys Security+ Guide to Network Security Fundamentals Second Edition.
Security APIs in LCG-2 Andrea Sciabà LCG Experiment Integration and Support CERN IT.
SECURITY MANAGEMENT Key Management in the case of public-key cryptosystems, we assumed that a sender of a message had the public key of the receiver at.
Certificate-Based Operations. Module Objectives By the end of this module participants will be able to: Define how cryptography is used to secure information.
5th EELA TUTORIAL - USERS E-infrastructure shared between Europe and Latin America Authentication and Authorization in gLite Alexandre.
INFSO-RI Enabling Grids for E-sciencE Sofia, 22 March 2007 Security, Authentication and Authorisation Mike Mineter Training, Outreach.
E-science grid facility for Europe and Latin America E2GRIS1 Raúl Priego Martínez – CETA-CIEMAT (Spain)‏ Itacuruça (Brazil), 2-15 November.
Security, Authorisation and Authentication.
Authorisation, Authentication and Security Guy Warner NeSC Training Team Induction to Grid Computing and the EGEE Project, Vilnius,
1 Grid School Module 4: Grid Security. 2 Typical Grid Scenario Users Resources.
Security, Authorisation and Authentication Mike Mineter, Guy Warner Training, Outreach and Education National e-Science Centre
INFSO-RI Enabling Grids for E-sciencE VOMS & MyProxy interaction Emidio Giorgio INFN NA4 Generic Applications Meeting 10 January.
Security in WLCG/EGEE. Security – January Requirements Providers of resources (computers, storages, databases, services..) need risks to.
Authentication Services Grid Security concepts and tools Valeria Ardizzone Istituto Nazionale di Fisica Nucleare Sezione.
Hands on Security, Authentication and Authorization Virginia Martín-Rubio Pascual RedIRIS/Red.es Curso Grid y e-Ciencia.
EGI-InSPIRE RI Grid Training for Power Users EGI-InSPIRE N G I A E G I S Grid Training for Power Users Institute of Physics Belgrade.
Grid security Enrico Fattibene INFN-CNAF 26 Settembre 20111Calcolo Parallelo su Grid e CSN4cluster.
1 Grid Security Jinny Chien Academia Sinica Computing Centre Deployment team.
Enabling Grids for E-sciencE gLite security pratical tutorial Dario Russo INFN Catania Catania,
Security, Authentication and Authorization Virginia Martín-Rubio Pascual RedIRIS/Red.es Curso Grid y e-Ciencia 2010, Valencia.
Prof. Reuven Aviv, Nov 2013 Public Key Infrastructure1 Prof. Reuven Aviv Tel Hai Academic College Department of Computer Science Public Key Infrastructure.
EGEE-II INFSO-RI Enabling Grids for E-sciencE Authentication, Authorisation and Security Mike Mineter, National e-Science Centre.
EGEE-II INFSO-RI Enabling Grids for E-sciencE Authentication, Authorisation and Security Emidio Giorgio INFN Catania.
INFSO-RI Enabling Grids for E-sciencE Sofia, 17 March 2009 Security, Authentication and Authorisation Mike Mineter Training, Outreach.
(Exchange Programme to advance e-Infrastructure Know-How) The EPIKH Project Hailong Yang
Security, Authorisation and Authentication Mike Mineter,
TAG Presentation 18th May 2004 Paul Butler
Security in gLite Gergely Sipos MTA SZTAKI
Key management issues in PGP
Chapter 5 Network Security Protocols in Practice Part I
Web Applications Security Cryptography 1
Public Key Infrastructure (PKI)
Basics of Cryptography
Authentication, Authorisation and Security
Security on gLite middleware
Grid Security.
MyProxy Server Installation
Practicals on VOMS and MyProxy
Security and getting access to the training infrastructure
Cryptography and Network Security
TAG Presentation 18th May 2004 Paul Butler
Security, Authorisation and Authentication
ESRIN Grid Workshop Tutorial
Grid Security Jinny Chien Academia Sinica Grid Computing.
Update on EDG Security (VOMS)
IS3230 Access Security Unit 9 PKI and Encryption
Grid Security M. Jouvin / C. Loomis (LAL-Orsay)
Security in gLite Valeria Ardizzone INFN EGEE User Tutorial
Grid School Module 4: Grid Security
Grid Security Overview
The GENIUS Security Services
Authorization and Authentication
Grid Security Infrastructure
Presentation transcript:

Authorization and Authentication in gLite Diego Scardaci – INFN Catania 1st First International Grid School for Industrial Applications Catania, 02/07/2007

Outline References Glossary Encryption Symmetric algorithms Asymmetric algorithms: PKI Certification Authorities Digital Signatures X509 certificates Grid Security Basic concepts Grid Security Infrastructure Proxy certificates Commands used in UI Virtual Organization Concept of VO and authorization VOMS, LCAS, LCMAPS References First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

Glossary Principal Credentials Authentication Authorization An entity: a user, a program, or a machine Credentials Some data providing a proof of identity Authentication Verification of the identity for an end-entity 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 during the transmission Non-repudiation Impossibility of denying the authenticity of a digital signature First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

Cryptography K1 Encryption Decryption M C To implement the security infrastructure, cryptography uses mathematical algorithms that provide important building blocks. Corresponding definitions for the above symbols: Plaintext: M Cyphertext: C Encryption with key K1 : E K1(M) = C Decryption with key K2 : D K2(C) = M Algorithms Symmetric: K1 = K2 Asymmetric: K1 ≠ K2 First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

Symmetric Algorithms The same key is used for encryption and decryption (no public key, only secret keys available.) Advantages: Fast Disadvantages: Exchange of secret keys needed: how to distribute the keys? the number of keys is O(n2) Examples: DES 3DES AES John Peter Hi! 3$r 3$r Hi! John Peter Hi! 3$r 3$r Hi! First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

Public Key Algorithms (Asymmetric) Every user has two keys: one private (secret) 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 private key is needed. the sender cyphers using the public key of the receiver; the receiver decrypts using his own private key; the number of keys is O(n). Examples: RSA (1978) Peterkeys public private John keys John Peter Hi! 3$r cy7 First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

Digital Signature John John calculates the hash of the message (with a one-way hash function) John encrypts the hash using his private key: the encrypted hash is the digital signature. John sends the signed message to Peter. Peter calculates the hash of the message and verifies it with A, decyphered with Peter’s public key. If two hashes equal: message wasn’t modified; John cannot repudiate it. This is some message Digital Signature This is some message Hash(A) Digital Signature Peter This is some message Digital Signature Hash(B) = ? Hash(A) John keys public private First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

Digital Certificates John’s digital signature is safe if: John’s private key is not compromised Peter knows John’s public key How can Peter be sure that John’s public key is really John’s public key and not someone else’s? A third party guarantees the correspondence between public key and owner’s identity. Both John and Peter must trust this third party Two models proposed to build trust: X.509: hierarchical organization (used in Grid) PGP: “web of trust”. (person to person) First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

The “third party” is called Certification Authority (CA). X.509 and Certification Authorities The “third party” is called Certification Authority (CA). Responsibilities of CA: Issue Digital Certificates (containing public key and owner’s identity) for users, programs and machines Check identity and the personal data of the requestor Registration Authorities (RAs) do the actual validation Revoke certificates in case of a compromise Renew certificates in case of expiration Periodically publish a list of revoked certificates through web repository Certificate Revocation Lists (CRL): contain all the revoked certificates CA certificates are self-signed First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

X.509 Certificates An X.509 Certificate contains: owner’s public key; identity of the owner (DN); info on the CA; time of validity; Serial number; digital signature of the CA Structure of a X.509 certificate Public key Subject:C=TR, O=TRGrid, OU=ODTU, CN=Cevat Sener Issuer: C=TR, O=TRGrid, CN=TR-Grid CA Not before: Apr 6 14:08:33 2006 GMT Not after: Apr 6 14:08:33 2007 GMT Serial number: 95 (0 x 5F) CA Digital signature First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

GRID Security: Components Large and dynamic population Different accounts at different sites Personal and confidential data Heterogeneous privileges (roles) Desire Single Sign-On Users “Group” data Access Patterns Membership “Groups” Grid Sites Heterogeneous Resources Access Patterns Local policies Membership First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

Private keys must be stored only by The Grid Security Infrastructure (GSI) Based on X.509 PKI: every user/host/service has an X.509 certificate; certificates are signed by trusted (by the local sites) CA’s; every Grid transaction is mutually authenticated: John sends his certificate; Peter verifies signature in John’s certificate; Peter sends John a challenge string; John encrypts the challenge string with his private key; John sends encrypted challenge to Peter Peter uses John’s public key to decrypt the challenge. Peter compares the decrypted string with the original challenge If they match, Peter verifies John’s identity and John can not repudiate it. John Peter John’s certificate VERY IMPORTANT Private keys must be stored only by owners: in protected places AND in encrypted form Verify CA signature Random phrase Encrypt with John’s private key Encrypted phrase Decrypt with John’ s public key Compare with original phrase First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

X.509 Proxy Certificate Proxy: GSI extension to X.509 Identity Certificates signed by the normal end entity cert (or by another proxy). It enables single sign-on. It supports some important features: Delegation Mutual authentication It has a limited lifetime (minimized risk of “compromised credentials”) It is created by the grid-proxy-init command: % grid-proxy-init Enter PEM pass phrase: ****** Options for grid-proxy-init: -hours <lifetime of credential> -bits <length of key> -help First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

grid-proxy-init 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 Proxy 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! First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

Proxy again … grid-proxy-init ≡ “login to the Grid” To “logout” you have to destroy your proxy: grid-proxy-destroy This does NOT destroy any proxies that were delegated from this proxy. You cannot revoke a remote proxy To gather information about your proxy: grid-proxy-info Options for grid-proxy-info: -subject -issuer -type -timeleft -strength -help First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

Delegation 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 First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

Long term proxy --> Myproxy 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 much longer time Grid jobs in HEP 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 Check out the myproxy-xxx --help option for more information 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 First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

myproxy-get-delegation Grid authentication with MyProxy UI MyProxy Server myproxy-init myproxy-get-delegation GENIUS Server (UI) WEB Browser the Grid execution Local WS any grid service output First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

VOs and authorization Grid users MUST belong to virtual organizations It was called “groups” previously. It defines sets of users belonging to a collaboration User must sign the usage guidelines for the VO You will be registered in the VO-LDAP server (wait for notification) List of supported VOs: https://lcg-registrar.cern.ch/virtual_organization.html VOs maintain 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 support /etc/grid-security/grid-mapfile "/C=TR/O=TRGrid/OU=TUBITAK-ULAKBIM/CN=Birsen Omay" .seegrid "/C=TR/O=TRGrid/OU=TUBITAK-ULAKBIM/CN=Hakan Bayindir" .trgridb "/C=TR/O=TRGrid/OU=TUBITAK-ULAKBIM/CN=Onur Temizsoylu" .dteam First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

VOMS concepts 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 information for each user User contacts voms server requesting his authorization info Server sends authorization info to the client, which includes them in a proxy certificate asli@levrek:~$ voms-proxy-init --voms trgrida Your identity: /C=TR/O=TRGrid/OU=TUBITAK-ULAKBIM/CN=Asli Zengin Enter GRID pass phrase: Creating temporary proxy ................................... Done Contacting voms.ulakbim.gov.tr:15051 [/C=TR/O=TRGrid/OU=TUBITAK-ULAKBIM/CN=voms.ulakbim.gov.tr] "trgrida" Done Creating proxy ................................... Done Your proxy is valid until Sat Jul 1 04:02:30 2006 First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

FQAN and AC short for 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 Attribute Certificates are used to bind a set of attributes (like membership, roles, authorization info etc) with an identity ACs are digitally signed VOMS uses AC to include the attributes of a user in a proxy certificate asli@levrek:~$ voms-proxy-info -fqan /trgrida/Role=NULL/Capability=NULL First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

VOMS and AC Server creates and signs 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 asli@levrek:~$ voms-proxy-info -all subject : /C=TR/O=TRGrid/OU=TUBITAK-ULAKBIM/CN=Asli Zengin/CN=proxy issuer : /C=TR/O=TRGrid/OU=TUBITAK-ULAKBIM/CN=Asli Zengin identity : /C=TR/O=TRGrid/OU=TUBITAK-ULAKBIM/CN=Asli Zengin type : proxy strength : 512 bits path : /tmp/x509up_u1134 timeleft : 11:58:08 VO : trgrida subject : /C=TR/O=TRGrid/OU=TUBITAK-ULAKBIM/CN=Asli Zengin issuer : /C=TR/O=TRGrid/OU=TUBITAK-ULAKBIM/CN=voms.ulakbim.gov.tr attribute : /trgrida/Role=NULL/Capability=NULL First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

LCAS & LCMAPS At resources level, authorization info is 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=dteam/GROUP=/dteam" dteam "/VO=eumed/GROUP=/eumed/ROLE=SoftwareManager" eumed "/VO=eumed/GROUP=/eumed" eumed First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

GSI environment variables User certificate files: Certificate: X509_USER_CERT (default: $HOME/.globus/usercert.pem) Private key: X509_USER_KEY (default: $HOME/.globus/userkey.pem) Proxy: X509_USER_PROXY (default: /tmp/x509up_u<id>) Host certificate files: Certificate: X509_HOST_CERT (default: /etc/grid-security/hostcert.pem) Private key: X509_HOST_KEY (default: /etc/grid-security/hostkey.pem) First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

GSI environment variables Trusted certification authority certificates: X509_CERT_DIR (default: /etc/grid-security/certificates) Voms server public keys X509_VOMS_DIR (default: /etc/grid-security/vomsdir) First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007

References Grid LCG Security: http://proj-lcg-security.web.cern.ch/proj-lcg-security/ LCG Registration: http://lcg-registrar.cern.ch/ Globus Security: http://www.globus.org/security/ VOMS: http://infnforge.cnaf.infn.it/projects/voms IGTF for trusted CAs: http://www.gridpma.org/ Background GGF Security: http://www.gridforum.org/security/ IETF PKIX charter: http://www.ietf.org/html.charters/pkix-charter.html PKCS: http://www.rsasecurity.com/rsalabs/pkcs/index.html First International Grid School for Industrial Applications , Acitrezza (CT), 2th July 2007