38
Grid Security Overview The Globus Project™ http://www.globus.org/ 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 http://www.globus.org/toolkit/download/license.html for the full text of this license.

Grid Security Overview The Globus Project™ Copyright (c) 2002 University of Chicago and The University of Southern California. All

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid Security Overview

The Globus Project™http://www.globus.org/

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 http://www.globus.org/toolkit/download/license.html for the full text of this license.

Page 2: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 2

Security Terminology

Authentication: Establishing identity Authorization: Establishing rights Message protection

–Message integrity–Message confidentiality

Non-repudiation Digital signature Accounting Delegation

Page 3: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 3

Trust Mismatch

Mechanism Mismatch

Multi-Institution Issues

CertificationAuthority

CertificationAuthority

Domain A

Server X Server Y

PolicyAuthority

PolicyAuthority

Task

Domain B

Sub-Domain A1 Sub-Domain B1

No Cross-

Domain Trust

Page 4: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 4

Why Grid Security is Hard Resources being used may be valuable & the problems

being solved sensitive– Both users and resources need to be careful

Dynamic formation and management of virtual organizations (VOs)– Large, dynamic, unpredictable…

VO Resources and users are often located in distinct administrative domains– Can’t assume cross-organizational trust agreements– Different mechanisms & credentials

> X.509 vs Kerberos, SSL vs GSSAPI, X.509 vs. X.509 (different domains),

> X.509 attribute certs vs SAML assertions

Page 5: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 5

Why Grid Security is Hard… Interactions are not just client/server,

but service-to-service on behalf of the user– Requires delegation of rights by user to service– Services may be dynamically instantiated

Standardization of interfaces to allow for discovery, negotiation and use

Implementation must be broadly available & applicable– Standard, well-tested, well-understood protocols;

integrated with wide variety of tools Policy from sites, VO, users need to be combined

– Varying formats Want to hide as much as possible from applications!

Page 6: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 6

The Grid Trust solution

Instead of setting up trust relationships at the organizational level (lots of overhead, possible legalities - expensive!) set up trust at the user/resource level

Virtual Organizations (VOs) for multi-user collaborations– Federate through mutually trusted services– Local policy authorities rule

Users able to set up dynamic trust domains– Personal collection of resources working

together based on trust of user

Page 7: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 7

Grid Solution:Use Virtual Organization as Bridge

Certification

Domain A

Server X Server Y

PolicyAuthority

PolicyAuthority

TaskDomain B

Sub-Domain A1

GSI

CertificationAuthority

Sub-Domain B1

Authority

FederationService

VirtualOrganization

Domain

No Cross-

Domain Trust

Page 8: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 8

Effective Policy GoverningAccess Within A Collaboration

Page 9: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 9

Use Delegation toEstablish Dynamic Distributed System

ComputeCenter

VO

Rights

ComputeCenter

Service

Page 10: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 10

Goal is to do this with arbitrary mechanisms

ComputeCenter

VO

Rights

ComputeCenter

ServiceKerberos/

WS-Security

X.509/SSL

SAMLAttribute

X.509AC

SAMLAttribute

X.509AC

Page 11: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 11

Grid Security Infrastructure (GSI) Use GSI as a standard mechanism for

bridging disparate security mechanisms– Doesn’t solve trust problem, but now things

talk same protocol and understand each other’s identity credentials

– Basic support for delegation, policy distribution

Translate from other mechanisms to/from GSI as needed

Convert from GSI identity to local identity for authorization

Page 12: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 12

GSI

GSI implements X.509 Proxy Certificates as extensions to these standards to support dynamic naming of services, delegation of rights and single sign-on

After authentication, GSI identity is mapped by administer configuration to a local identity for authorization.

– Local identity controls access to local files, job startup rights, etc.

Page 13: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 13

Grid Security Infrastructure (GSI) Based on standard PKI technologies

– SSL protocol for authentication, message protection

– CAs allow one-way, light-weight trust relationships (not just site-to-site)

X.509 Certificates for asserting identity

– for users, services, hosts, etc. Proxy Certificates

– GSI extension to X.509 certificates for delegation, single sign-on

Page 14: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 14

Grid Security Infrastructure (GSI) GSI is:

PKI(CAs and

Certificates)

SSL/TLS

Proxies and Delegation

PKI forcredentials

SSL forAuthenticationAnd message protection

Proxies and delegation (GSIExtensions) for secure singleSign-on

Page 15: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 15

Grid Identity, Local Policy

LocalPolicy

LocalPolicy

Map tolocal name

Map tolocal name

GridIdentity

• In current model, all Grid entities assigned a PKI identity.

• User is mapped to local identities to determine local policy.

.

Page 16: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 16

Local Identity,Grid Identity, Local Policy

LocalPolicy

Map tolocal name

GridIdentity

KerberosSite

KCA

SSLK5

KRB5Resources

Page 17: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 17

GSI Implementation

ComputeCenter

VO

RightsVO

Users

Services (runningon user’s behalf)

Rights’’

Rights’

Access

Local Policyon VO identityor attributeauthority

CAS or VOMSissuing SAMLor X.509 ACs

SSL/WS-Securitywith ProxyCertificates

Authz Callout

KCA

MyProxy

Page 18: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 18

Public Key Infrastructure (PKI) PKI allows you to know that

a given key belongs to a given user

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 public key is public– The private key is known only

to the entity The public key is given to

the world encapsulated in a X.509 certificate

Owner

Page 19: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 19

John Doe755 E. WoodlawnUrbana IL 61801

BD 08-06-65Male 6’0” 200lbsGRN Eyes

State ofIllinois

Seal

Certificates

Similar to passport or driver’s license: Identity signed by a trusted party

NameIssuerPublic KeySignature

Page 20: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 20

Certificates

By checking the signature, one can determine that a public key belongs to a given user.

NameIssuerPublic KeySignature

Hash

=?Decrypt

Public Key fromIssuerIss

uer

Page 21: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 21

Certificate Authorities (CAs) A small set of trusted

entities known as Certificate Authorities (CAs) are established to sign certificates

A Certificate Authority is an entity that exists only to sign user certificates

The CA signs it’s own certificate which is distributed in a trusted manner

Name: CAIssuer: CACA’s Public KeyCA’s Signature

Page 22: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 22

Certificate Authorities (CAs)

The public key from the CA certificate can then be used to verify other certificates

NameIssuer: CAPublic KeySignature

Hash

=?Decrypt

Name: CAIssuer: CACA’s Public KeyCA’s Signature CA

Page 23: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 23

Certificate Request

Private Key encrypted on

local disk

CertRequest

Public Key

ID

Cert

User generatespublic/private

key pair.

User send public key to CA along

with proof of identity.

CA confirms identity, signs

certificate and sends back to user.

Page 24: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 24

X.509 Proxy Certificates GSI Extension to X.509 Identity Certificates

– RFC Enables single sign-on Allow user to dynamically assign identity and

rights to service

– Can name services created on the fly and give them rights (i.e. set policy)

What is effectively happening is the user is creating their own trust domain of services

– Services trust each other with user acting as the trust root

Page 25: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 25

Proxy Certificates

Service

CN=Jane Doe/9874Rights:

Can access file F1,Service S1,

CN=Jane Doe

X.509 ProxyDelegation

S1

F1

Use delegatedrights to accessresources.

X.509 Idcertificate X.509 Proxy

certificate

Create

Page 26: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 26

Obtaining a Certificate 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

Mail usercert_request.pem to [email protected] Receive a Globus-signed certificate

Place in ~/.globus/usercert.pem Other organizations use different approaches

– NCSA, NPACI, NASA, etc. have their own CA

Page 27: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 27

Certificate Information

To get cert information run grid-cert-info

% grid-cert-info -subject/C=US/O=Globus/O=ANL/OU=MCS/CN=Ian Foster

Options for printing cert information-all -startdate-subject -enddate-issuer -help

Page 28: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 28

“Logging on” to the Grid

To run programs, authenticate to Globus:

% grid-proxy-init

Enter PEM pass phrase: ****** Creates a temporary, local, short-lived proxy

credential for use by our computations Options for grid-proxy-init:

-hours <lifetime of credential>

-bits <length of key>

-help

Page 29: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 29

grid-proxy-init Details

grid-proxy-init creates the local proxy file. 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 Proxy placed in /tmp, read-only by user NOTE: No network traffic! grid-proxy-info displays proxy details

Page 30: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 30

Grid Sign-On With grid-proxy-init

User certificate file

Private Key(Encrypted)

PassPhrase

User Proxycertificate file

Page 31: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 31

Destroying Your Proxy (logout)

To destroy your local proxy that was created by grid-proxy-init:

% grid-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

Page 32: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 32

Proxy Information To get proxy information run grid-proxy-info

% grid-proxy-info -subject/C=US/O=Globus/O=ANL/OU=MCS/CN=Ian Foster

Options for printing proxy information-subject -issuer-type -timeleft-strength -help

Options for scripting proxy queries-exists -hours <lifetime of credential>-exists -bits <length of key>

– Returns 0 status for true, 1 for false:

Page 33: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 33

Delegation

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 Allows remote process to authenticate on

behalf of the user

– Remote process “impersonates” the user

Page 34: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 34

Limited Proxy

During delegation, the client can elect to delegate only a “limited proxy”, rather than a “full” proxy

– GRAM (job submission) client does this 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 35: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 35

Secure Services

On most unix machines, inetd listens for incoming service connections and passes connections to daemons for processing.

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

Page 36: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 36

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

Gridmap file maintained by Globus administrator

Entry maps Grid-id into local user name(s)

Page 37: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 37

Authorization

GSI handles authentication, but authorization is a separate issue

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…

Page 38: Grid Security Overview The Globus Project™  Copyright (c) 2002 University of Chicago and The University of Southern California. All

Grid School 2004 Security Overview 38

Security Summary

Programs for credential management

– grid-cert-info, grid-proxy-init, grid-proxy-destroy, grid-proxy-info

GSS-API: The Globus Toolkit Grid Security Infrastructure (GSI) uses this API, which allows programs to easily add security

globus_gss_assist: This is a simple wrapper around GSS-API, making it easier to use