Grid Security Infrastructure Globus Toolkit™ Developer Tutorial The Globus Project™ Argonne National Laboratory USC Information Sciences Institute

Slides:



Advertisements
Similar presentations
Security Protocols Sathish Vadhiyar Sources / Credits: Kerberos web pages and documents contained / pointed.
Advertisements

Public Key Infrastructure A Quick Look Inside PKI Technology Investigation Center 3/27/2002.
MyProxy: A Multi-Purpose Grid Authentication Service
Grid Computing, B. Wilkinson, 20045a.1 Security Continued.
Grid Security Infrastructure Tutorial Von Welch Distributed Systems Laboratory U. Of Chicago and Argonne National Laboratory.
Lecture 2: Security Rachana Ananthakrishnan Argonne National Lab.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Lecture 23 Internet Authentication Applications
Presentation Two: Grid Security Part Two: Grid Security A: Grid Security Infrastructure (GSI) B: PKI and X.509 certificates C: Proxy certificates D:
Military Technical Academy Bucharest, 2006 GRID SECURITY INFRASTRUCTURE (GSI) - Globus Toolkit - ADINA RIPOSAN Department of Applied Informatics.
Grid Security. Typical Grid Scenario Users Resources.
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
DESIGNING A PUBLIC KEY INFRASTRUCTURE
Apr 2, 2002Mårten Trolin1 Previous lecture On the assignment Certificates and key management –Obtaining a certificate –Verifying a certificate –Certificate.
Lesson 12 Cryptography for E-Commerce. Approaches to Network Security Separate Security Protocol--SSL Application-Specific Security--SHTTP Security with.
National Center for Supercomputing Applications Integrating MyProxy with Site Authentication Jim Basney Senior Research Scientist National Center for Supercomputing.
Generic AAA model in Grids IRTF - AAAARCH meeting IETF 52 – Dec 14 th Salt Lake City Leon Gommans Advanced Internet Research Group.
Security on Grid Roberto Barbera Univ. of Catania and INFN
Kerberos and PKI Cooperation Daniel Kouřil, Luděk Matyska, Michal Procházka Masaryk University AFS & Kerberos Best Practices Workshop 2006.
WAP Public Key Infrastructure CSCI – Independent Study Fall 2002 Jaleel Syed Presentation No 5.
DGC Paris Community Authorization Service (CAS) and EDG Presentation by the Globus CAS team & Peter Kunszt, WP2.
Security NeSC Training Team International Summer School for Grid Computing, Vico Equense,
Grid Security Overview The Globus Project™ Copyright (c) 2002 University of Chicago and The University of Southern California. All.
An Introduction to Security Concepts and Public Key Infrastructure (PKI) Mary Thompson.
LAB#2 JAVA SECURITY OVERVIEW Prepared by: I.Raniah Alghamdi.
Copyright © Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE CSci530: Computer Security Systems Authentication.
Security Mechanisms The European DataGrid Project Team
Security Management.
Digital Certificates Public Key Deception Digital Certificates Certificate Authorities Public Key Infrastructures (PKIs)
INFSO-RI Enabling Grids for E-sciencE EGEE Security Basics for the User Guy Warner NeSC Training Team An Induction to EGEE for GOSC.
Digital Certificates Made Easy Sam Lutgring Director of Informational Technology Services Calhoun Intermediate School District.
Unit 1: Protection and Security for Grid Computing Part 2
INFSO-RI Enabling Grids for E-sciencE Getting Started Guy Warner NeSC Training Team Induction to Grid Computing and the National.
Grid Security 1. Grid security is a crucial component Need for secure communication between grid elements  Authenticated ( verify entities are who they.
Security APIs in LCG-2 Andrea Sciabà LCG Experiment Integration and Support CERN IT.
1 Grid Security. 2 Grid Security Concerns Control access to shared services –Address autonomous management, e.g., different policy in different work groups.
Chapter 23 Internet Authentication Applications Kerberos Overview Initially developed at MIT Software utility available in both the public domain and.
Chapter 21 Distributed System Security Copyright © 2008.
INFSO-RI Enabling Grids for E-sciencE Sofia, 22 March 2007 Security, Authentication and Authorisation Mike Mineter Training, Outreach.
Module 9: Fundamentals of Securing Network Communication.
1 Globus Grid Middleware: Basics, Components, and Services Source: The Globus Project Argonne National Laboratory & University of Southern California
Data Encryption using SSL Topic 5, Chapter 15 Network Programming Kansas State University at Salina.
Security, Authorisation and Authentication.
Communicating Security Assertions over the GridFTP Control Channel Rajkumar Kettimuthu 1,2, Liu Wantao 3,4, Frank Siebenlist 1,2 and Ian Foster 1,2,3 1.
1. 2 Overview In Exchange security is managed by assigning permissions in Active Directory Exchange objects are secured with DACL and ACEs Permissions.
Leveraging Campus Authentication for Grid Scalability Jim Jokl Marty Humphrey University of Virginia Internet2 Meeting April 2004.
National Computational Science National Center for Supercomputing Applications National Computational Science GSI Online Credential Retrieval Requirements.
1 Grid Security: PKI Based Authentication Infrastructure M.Effatparvar Fall 1391.
Security fundamentals Topic 5 Using a Public Key Infrastructure.
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.
Doc.: IEEE /292 Submission September 2000 Bob Beach and Jesse WalkerSlide 1 An Overview of the GSS-API and Kerberos Bob Beach, Symbol Technologies.
1 Certification Issue : how do we confidently know the public key of a given user? Authentication : a process for confirming or refuting a claim of identity.
EGEE is a project funded by the European Union CA overview and requirements Ognjen Prnjat, Nikos Vogiatzis GRNET EGEE-SEE regional kick-off, April 7-8.
1 Grid Security: PKI Based Authentication Infrastructure M.Effatparvar Fall 1391.
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.
1 Grid Security Jinny Chien Academia Sinica Computing Centre Deployment team.
EMI is partially funded by the European Commission under Grant Agreement RI Common Authentication Library Daniel Kouril, for the CaNL PT EGI CF.
X509 Web Authentication From the perspective of security or An Introduction to Certificates.
INFSO-RI Enabling Grids for E-sciencE Sofia, 17 March 2009 Security, Authentication and Authorisation Mike Mineter Training, Outreach.
Authentication, Authorisation and Security
Grid Security.
Grid Security Jinny Chien Academia Sinica Grid Computing.
Grid School Module 4: Grid Security
Grid Security Overview
Grid Security Infrastructure
Presentation transcript:

Grid Security Infrastructure Globus Toolkit™ Developer Tutorial The Globus Project™ Argonne National Laboratory USC Information Sciences Institute Copyright (c) 2002 University of Chicago and The University of Southern California. All Rights Reserved. This presentation is licensed for use under the terms of the Globus Toolkit Public License. See for the full text of this license.

June 1, Globus Toolkit™ Developer Tutorial: Security Grid Security Infrastructure (GSI) l GSI is: PKI (CAs and Certificates) SSL/ TLS Proxies and Delegation PKI for credentials SSL for Authentication And message protection Proxies and delegation (GSI Extensions) for secure single Sign-on

June 1, Globus Toolkit™ Developer Tutorial: Security Public Key Infrastructure (PKI) l PKI allows you to know that a given public key belongs to a given user l PKI builds off of asymmetric encryption: –Each entity has two keys: public and private –Data encrypted with one key can only be decrypted with other. –The private key is known only to the entity l The public key is given to the world encapsulated in a X.509 certificate Owner

June 1, Globus Toolkit™ Developer Tutorial: Security Public Key Infrastructure (PKI) Overview l X.509 Certificates l Certificate Authorities (CAs) l Certificate Policies –Namespaces l Requesting a certificate –Certificate Request –Registration Authority Owner

June 1, Globus Toolkit™ Developer Tutorial: Security Certificates l A X.509 certificate binds a public key to a name l It includes a name and a public key (among other things) bundled together and signed by a trusted party (Issuer) Name Issuer Public Key Signature

June 1, Globus Toolkit™ Developer Tutorial: Security John Doe 755 E. Woodlawn Urbana IL BD Male 6’0” 200lbs GRN Eyes State of Illinois Seal Certificates l Similar to passport or driver’s license Name Issuer Public Key Signature

June 1, Globus Toolkit™ Developer Tutorial: Security Certificates l By checking the signature, one can determine that a public key belongs to a given user. Name Issuer Public Key Signature Hash =? Decrypt Public Key from Issuer

June 1, Globus Toolkit™ Developer Tutorial: Security Certificate Authorities (CAs) l A small set of trusted entities known as Certificate Authorities (CAs) are established to sign certificates l A Certificate Authority is an entity that exists only to sign user certificates l The CA signs it’s own certificate which is distributed in a trusted manner Name: CA Issuer: CA CA’s Public Key CA’s Signature

June 1, Globus Toolkit™ Developer Tutorial: Security Certificate Authorities (CAs) l The public key from the CA certificate can then be used to verify other certificates Name Issuer Public Key Signature Hash =? Decrypt Name: CA Issuer: CA CA’s Public Key CA’s Signature

June 1, Globus Toolkit™ Developer Tutorial: Security Requesting a Certificate l To request a certificate a user starts by generating a key pair l The private key is stored encrypted with a pass phrase the user gives l The public key is put into a certificate request Certificate Request Public Key Encrypted On local disk

June 1, Globus Toolkit™ Developer Tutorial: Security Certificate Issuance l The user then takes the certificate to the CA l The CA usually includes a Registration Authority (RA) which verifies the request: –The name is unique with respect to the CA –It is the real name of the user –Etc. Certificate Request Public Key ID

June 1, Globus Toolkit™ Developer Tutorial: Security Certificate Issuance l The CA then signs the certificate request and issues a certificate for the user Certificate Request Public Key Name Issuer Public Key Signature Sign

June 1, Globus Toolkit™ Developer Tutorial: Security Secure Socket Layer (SSL) l Also known as TLS (Transport Layer Security) l Uses certificates and TCP sockets to provide a secured connection –Authentication of one or both parties using the certificates –Message protection >Confidentiality (encryption) >Integrity Certificates TCP Sockets SSL/TLS

June 1, Globus Toolkit™ Developer Tutorial: Security Globus Security Review l GSI extends existing standard protocols & APIs –Based on standards: SSL/TLS, X.509, GSS-API –Extensions for single sign-on and delegation l The Globus Toolkit provides: –Generic Security Services API (GSS-API) on GSI protocols >The GSS-API is the IETF standard for adding authentication, delegation, message integrity, and message confidentiality to applications. –Various tools for credential management, login/logout, etc.

June 1, Globus Toolkit™ Developer Tutorial: Security Kerberos Security l Some Grids use a Kerberos GSS-API. –As far as tools and APIs go, this is not visible. (That’s the point of GSS-API!) –However, it is NOT interoperable with GSI based versions of the Globus Toolkit –Various differences of Kerberos vs GSI: >The security files created “under the covers” are different >Different commands to login, logout, etc. l We will discuss security using GSI (PKI).

June 1, Globus Toolkit™ Developer Tutorial: Security Obtaining a Certificate l The program grid-cert-request is used to create a public/private key pair and unsigned certificate in ~/.globus/: –usercert_request.pem: Unsigned certificate file –userkey.pem: Encrypted private key file >Must be readable only by the owner l Mail usercert_request.pem to l Receive a Globus-signed certificate Place in ~/.globus/usercert.pem l Other organizations use different approaches –NCSA, NPACI, NASA, etc. have their own CA

June 1, Globus Toolkit™ Developer Tutorial: Security Your New Certificate Certificate: Data: Version: 3 (0x2) Serial Number: 28 (0x1c) Signature Algorithm: md5WithRSAEncryption Issuer: C=US, O=Globus, CN=Globus Certification Authority Validity Not Before: Apr 22 19:21: GMT Not After : Apr 22 19:21: GMT Subject: C=US, O=Globus, O=NACI, OU=SDSC, CN=Richard Frost Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:bf:4c:9b:ae:51:e5:ad:ac:54:4f:12:52:3a:69: b4:e1:54:e7:87:57:b7:d0:61 Exponent: (0x10001) Signature Algorithm: md5WithRSAEncryption 59:86:6e:df:dd:94:5d:26:f5:23:c1:89:83:8e:3c:97:fc:d8: 8d:cd:7c:7e:49:68:15:7e:5f:24:23:54:ca:a2:27:f1:35:17: NTP is highly recommended

June 1, Globus Toolkit™ Developer Tutorial: Security -----BEGIN CERTIFICATE----- MIICAzCCAWygAwIBAgIBCDANBgkqhkiG9w0BAQQFADBHMQswCQY u5tX5R1m7LrBeI3dFMviJudlihloXfJ2BduIg7XOKk5g3JmgauK END CERTIFICATE----- Sample usercert.pem: -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,1E924694DBA7D9D1 +W4FEPdn/oYntAJPw2tfmrGZ82FH611o1gtvjSKH79wdFxzKhnz474Ijo5Bl et5QnJ6hAO4Bhya1XkWyKHTPs/2tIflKn0BNIIIYM+s= -----END RSA PRIVATE KEY----- Sample userkey.pem: Certificate and Key Data

June 1, Globus Toolkit™ Developer Tutorial: Security Certificate Information l To get cert information run grid-cert-info % grid-cert-info -subject /C=US/O=Globus/O=ANL/OU=MCS/CN=Ian Foster l Options for printing cert information -all-startdate -subject-enddate -issuer-help

June 1, Globus Toolkit™ Developer Tutorial: Security “Logging on” to the Grid l To run programs, authenticate to Globus: % grid-proxy-init Enter PEM pass phrase: ****** l Creates a temporary, local, short-lived proxy credential for use by our computations l Options for grid-proxy-init: -hours -bits -help

June 1, Globus Toolkit™ Developer Tutorial: Security grid-proxy-init Details l grid-proxy-init creates the local proxy file. l User enters pass phrase, which is used to decrypt private key. l 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 l Proxy placed in /tmp, read-only by user l NOTE: No network traffic! l grid-proxy-info displays proxy details

June 1, Globus Toolkit™ Developer Tutorial: Security Grid Sign-On With grid-proxy-init User certificate file Private Key (Encrypted) Pass Phrase User Proxy certificate file

June 1, Globus Toolkit™ Developer Tutorial: Security Destroying Your Proxy (logout) l To destroy your local proxy that was created by grid-proxy-init: % grid-proxy-destroy l This does NOT destroy any proxies that were delegated from this proxy. –You cannot revoke a remote proxy –Usually create proxies with short lifetimes

June 1, Globus Toolkit™ Developer Tutorial: Security Proxy Information l To get proxy information run grid-proxy-info % grid-proxy-info -subject /C=US/O=Globus/O=ANL/OU=MCS/CN=Ian Foster l Options for printing proxy information -subject-issuer -type-timeleft -strength-help l Options for scripting proxy queries -exists -hours -exists -bits –Returns 0 status for true, 1 for false:

June 1, Globus Toolkit™ Developer Tutorial: Security Important Files l /etc/grid-security –hostcert.pem: certificate used by the server in mutual authentication –hostkey.pem: private key corresponding to the server’s certificate (read-only by root) –grid-mapfile: maps grid subject names to local user accounts (really part of gatekeeper) l /etc/grid-security/certificates –CA certificates: certs that are trusted when validating certs, and thus needn’t be verified –ca-signing-policy.conf: defines the subject names that can be signed by each CA

June 1, Globus Toolkit™ Developer Tutorial: Security Important Files l $HOME/.globus –usercert.pem: User’s certificate (subject name, public key, CA signature) –userkey.pem: User’s private key (encrypted using the user’s pass phrase) l /tmp –Proxy file(s): Temporary file(s) containing unencrypted proxy private key and certificate (readable only by user’s account) >Same approach Kerberos uses for protecting tickets

June 1, Globus Toolkit™ Developer Tutorial: Security Secure Services l On most unix machines, inetd listens for incoming service connections and passes connections to daemons for processing. l On Grid servers, the gatekeeper securely performs the same function for many services –It handles mutual authentication using files in /etc/grid-security –It maps to local users via the gridmap file

June 1, Globus Toolkit™ Developer Tutorial: Security Sample Gridmap File # Distinguished name Local # username "/C=US/O=Globus/O=NPACI/OU=SDSC/CN=Rich Gallup” rpg "/C=US/O=Globus/O=NPACI/OU=SDSC/CN=Richard Frost” frost "/C=US/O=Globus/O=USC/OU=ISI/CN=Carl Kesselman” u14543 "/C=US/O=Globus/O=ANL/OU=MCS/CN=Ian Foster” itf l Gridmap file maintained by Globus administrator l Entry maps Grid-id into local user name(s)

June 1, Globus Toolkit™ Developer Tutorial: Security Example Secure Remote Startup key cert gatekeeperclient 1. Exchange certificates, authenticate, delegate 2. Check gridmap file 3. Lookup service 4. Run service program (e.g. jobmanager) jobmanager key cert map 4. services 3.

June 1, Globus Toolkit™ Developer Tutorial: Security Simple job submission globus-job-run provides a simple RSH compatible interface % grid-proxy-init Enter PEM pass phrase: ***** % globus-job-run host program [args] l Job submission will be covered in more detail later

June 1, Globus Toolkit™ Developer Tutorial: Security Delegation l Delegation = remote creation of a (second level) proxy credential –New key pair generated remotely on server –Proxy cert and public key sent to client –Clients signs proxy cert and returns it –Server (usually) puts proxy in /tmp l Allows remote process to authenticate on behalf of the user –Remote process “impersonates” the user

June 1, Globus Toolkit™ Developer Tutorial: Security Limited Proxy l During delegation, the client can elect to delegate only a “limited proxy”, rather than a “full” proxy –GRAM (job submission) client does this l 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

June 1, Globus Toolkit™ Developer Tutorial: Security Restricted Proxies l A generalization of the simple limited proxies –Desirable to have fine-grained restrictions –Reduces exposure from compromised proxies l Embed restriction policy in proxy cert –Policy is evaluated by resource upon proxy use –Reduces rights available to the proxy to a subset of those held by the user >A proxy no longer grants full impersonation rights –Extensible to support any policy language l Will be in future version > GT 2.0

June 1, Globus Toolkit™ Developer Tutorial: Security Exercise Sign-On & Remote Process Creation l Use grid-cert-info to examine your cert: % grid-cert-info -all l Use grid-proxy-init to create a proxy certificate: % grid-proxy-init Enter PEM pass phrase: l Use grid-proxy-info to query proxy: % grid-proxy-info -subject l Use globus-job-run to start remote programs: % globus-job-run jupiter.isi.edu /usr/bin/ls -l /tmp

June 1, Globus Toolkit™ Developer Tutorial: Security Generic Security Service API l The GSS-API is the IETF draft standard for adding authentication, delegation, message integrity, and message confidentiality to apps –For secure communication between two parties over a reliable channel (e.g. TCP) l GSS-API separates security from communication, which allows security to be easily added to existing communication code. –Filters on each end of the communications link l GSS-API Extensions defined in GGF draft l Globus Toolkit components all use GSS-API

June 1, Globus Toolkit™ Developer Tutorial: Security gss_acquire_cred() l Loads security credentials into program l User proxy certificate and private key are loaded at this point gss_release_cred() Removes security credentials into program User proxy certificate and private key remain on disk for later use

June 1, Globus Toolkit™ Developer Tutorial: Security gss_inquire_cred() l Extract information (e.g. the subject name) from a credential gss_inquire_cred_by_oid() Extract information associated with a OID from a credential (e.g. information in certificate extensions) Will be in future version > GT 2.0

June 1, Globus Toolkit™ Developer Tutorial: Security gss_export_cred() l Export a credential either to a opaque buffer or to a file l New in GT 2.0 gss_import_cred() Import a credential in either one of the formats used by gss_export_cred New in GT 2.0

June 1, Globus Toolkit™ Developer Tutorial: Security gss_init_sec_context() gss_accept_sec_context() l Establish a security context between two processes –Tokens are fed into and out of these routine –Application can pass tokens between processes in any way desired –One side calls init, the other accept while (!done) gss_init_sec_context( in_t, &out_t, &done); if (out_t) send(out_t); if (!done) receive(&in_t); while (!done) receive(&in_t); gss_accept_sec_context( in_t, &out_t, &done); if (out_t) send(out_t);

June 1, Globus Toolkit™ Developer Tutorial: Security gss_delete_sec_context() l Discard a security context gss_context_time() Determine how long a context will remain valid

June 1, Globus Toolkit™ Developer Tutorial: Security gss_inquire_context() l Extract information (e.g. the target subject name) from a security context gss_inquire_sec_context_by_oid() Extract information associated with a OID from a security context (e.g. information in certificate extensions) Will be in future version > GT 2.0

June 1, Globus Toolkit™ Developer Tutorial: Security gss_export_context() l Export a security context to a opaque buffer gss_import_context() Import a opaque buffer containing a security context exported by gss_export_context

June 1, Globus Toolkit™ Developer Tutorial: Security gss_set_sec_context_option() l Set options on a security context prior to establishing it l Will be in future version > GT 2.0 gss_wrap_size_limit() Returns the maximum token size gss_wrap can deal with

June 1, Globus Toolkit™ Developer Tutorial: Security gss_wrap() gss_unwrap() l gss_wrap() –consumes an user input buffer –performs cryptographic checksum and/or encryption on it –produces a token, which application sends l gss_unwrap() –consumes a token produced by gss_wrap() –decrypts and/or verifies the checksum –produces a user output buffer

June 1, Globus Toolkit™ Developer Tutorial: Security gss_get_mic() gss_verify_mic() l gss_get_mic() –Produces a cryptographic checksum on a user input buffer l gss_verify_mic() –Verifies a cryptographic checksum on a user buffer

June 1, Globus Toolkit™ Developer Tutorial: Security gss_import_name() l Import a subject name into GSS gss_export_name() Export a GSS name into a buffer

June 1, Globus Toolkit™ Developer Tutorial: Security gss_display_name() l Convert GSS name to text gss_compare_name() Compare two GSS names

June 1, Globus Toolkit™ Developer Tutorial: Security gss_release_name() l Discard a GSS name

June 1, Globus Toolkit™ Developer Tutorial: Security gss_add_oid_set_member() l Add a OID to a OID set gss_test_oid_set_member() Checks whether a OID is in a OID set gss_create_empty_oid_set() l Creates a empty OID set gss_release_oid_set() Discard a OID set

June 1, Globus Toolkit™ Developer Tutorial: Security gss_indicate_mech() l Determine available underlying security mechanisms

June 1, Globus Toolkit™ Developer Tutorial: Security gss_release_buffer() l Discard a GSS buffer gss_release_buffer_set() Discard a GSS buffer set Will be in future version > GT 2.0

June 1, Globus Toolkit™ Developer Tutorial: Security gss_init_delegation() gss_accept_delegation() l Delegate a credential and optionally add restrictions to the delegated credential –One side calls init, the other accept >Can be in either direction, relative to gss_{init,accept}_sec_context() –Tokens are fed into and come out of these routines >Similar use to gss_{init,accept}_sec_context() –It is up to the application to pass the tokens from one function to the other –Will be in future version > GT 2.0

June 1, Globus Toolkit™ Developer Tutorial: Security GSSAPI exercises l Go to the “gssapi” subdirectory l Documentation – l Follow instructions in the file README

June 1, Globus Toolkit™ Developer Tutorial: Security What’s Wrong with GSS-API l The GSS-API works, but it is not pretty! –GSS-API accomplishes its goal of providing an API that is independent of any specific security implementation, or communication mechanism –Same application can use either Globus Toolkit GSS-API or Kerberos 5 GSS-API with almost no change –It has rich feature support –But it is not easy to use

June 1, Globus Toolkit™ Developer Tutorial: Security globus_gss_assist l The globus_gss_assist module is a Globus Toolkit specific wrapper around GSS-API which makes it easier to use –Hides some of the gross details of GSS-API –Conforms to Globus Toolkit conventions –Still maintains separation from communication method

June 1, Globus Toolkit™ Developer Tutorial: Security globus_io and security l For even easier security integration with socket code, use the globus_io module –Simple to add authentication and authorization to TCP socket code –But looses separation of security from communication method l Will be discussed more later...

June 1, Globus Toolkit™ Developer Tutorial: Security Authorization l GSI handles authentication, but authorization is a separate issue l Authorization issues: –Management of authorization on a multi- organization grid is still an interesting problem. –The grid-mapfile doesn’t scale well, and works only at the resource level, not the collective level. –Large communities that share resources exacerbates authorization issues, which has led us to CAS…

June 1, Globus Toolkit™ Developer Tutorial: Security Security Summary l Programs for credential management –grid-cert-info, grid-proxy-init, grid-proxy- destroy, grid-proxy-info l GSS-API: The Globus Toolkit Grid Security Infrastructure (GSI) uses this API, which allows programs to easily add security l globus_gss_assist: This is a simple wrapper around GSS-API, making it easier to use