grid security

42
Grid Security The information in this presentation is based on GT4 Andrew Fitzgerald Dilip Garg Aric Schorr GSI OpenID Myprox Shibboleth x509 VOMS

Upload: tabib

Post on 05-Jan-2016

49 views

Category:

Documents


2 download

DESCRIPTION

Grid Security. The information in this presentation is based on GT4. Key Security Concepts. Main Goals of Security Confidentiality Only the two parties can understand the contents of the messages/transmissions Authentication Each party is able to prove their identity Integrity - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Grid Security

Grid Security

The information in this presentation is based on GT4

Andrew Fitzgerald Dilip Garg Aric Schorr

GSI

OpenID

Myprox

Shibboleth

x509

VOMS

Page 2: Grid Security

Key Security Concepts

• Main Goals of Security– Confidentiality

• Only the two parties can understand the contents of the messages/transmissions

– Authentication• Each party is able to prove their identity

– Integrity• Each party is able to discover if any changes in a

message has occurred

Page 3: Grid Security

Public Key Cryptography

• Alice has a public and private key for– Private operation D(x)– Public operation E(x)

• Provides Confidentiality– Bob encrypts E(m)– Alice can decrypt D(E(m))

• Provides Authentication– Alice signs D(m)– Anyone verifies E(D(m))

ex. RSA

Page 4: Grid Security

Public Key Encryption1. Sender uses Receiver’s public

key to encrypt the message2. Sends E(m)

3. Receiver applies private key/operation to E(m)

4. m = D(E(m))

Page 5: Grid Security

Public Key Digital Signatures1. Sender &

Receiver apply hash to the message to produce a digest

2. Sender encrypts the digest using his private key

3. Receiver decrypts the digest using the sender’s public key

This is proves the identity of the sender because the receiver uses the “sender’s” public key. If someone were attempting to pose as the ‘sender’ they would not have the private key to perform the correct encryption of the message digest.

Page 6: Grid Security

Public Key Infrastructure

• Certificate Authority – trusted by everyone– CA signs user’s certificate that contains user’s

identity and public verification & encryption key

• Web of Trust (PGP) – users sign each other’s certificates

http://xkcd.com/364

Page 7: Grid Security

Basic Security: More Info

• http://gdp.globus.org/gt4-tutorial/multiplehtml/ch09.html – This tutorial is only a few ‘slides’ in length and provides a very

good overview with nice images.

Page 8: Grid Security

The Globus Toolkit

• These security components are based on GSI

Page 9: Grid Security

Grid Security Infrastructure

• Key motivations for GSI:– Need for secure communication– Need for support security across organizational boundaries– Need to support “single sign-on”

• Uses public key (AKA: asymmetric) cryptography• Features:

– Transport and Message level security• 3 schemes

– Authentication through X.509 and proxy certificates– Multiple authorization schemes– Credential delegation & single sign-on– Security levels: container, service, resource

Page 10: Grid Security

GSI: WS Security• Transport-level security

• Message-level security

• Quick SOAP reminder… – Simple Object Access Protocol– Allows programs to communicate via the internet

• XML sent, usually, over HTTP

– Abstraction layer on which others can be built

Page 11: Grid Security

GSI: WS Security

• Two message level security mechanisms

1. WS Security standard• Security for individual SOAP messages

– IE, on a per message basis without any existing pretext between sender and receiver

2. WS Secure Conversation• Initial message exchange to establish security context• Subsequent messages require less overhead for security

during the session

Page 12: Grid Security

GSI: WS Security

• Transport level VS Message levels

GSI Secure Conversation

GSI Secure MessageGSI

Transport

Technology WS-SecureConversation WS-Security TLS

Privacy (Encrypted) YES YES YES

Integrity (Signed) YES YES YES

Anonymous authentication

YES NO YES

Delegation YES NO NO

PerformanceGood if sending many

messagesGood if sending few

messagesBest

Andrew F Fitzgerald
Found this on: gdp.globs.org/gt4-tutorial/multiplehtml/ch10s03.htmlI think this should just be "unauthenticated communication" or "anonymous communication"Note that I went with this idea when I created some of the later slides about authentication.
Page 13: Grid Security

The Globus Toolkit: GSI

• Authentication and Authorization

Page 14: Grid Security

Authentication

• Verification of the identity of an entity through the presentation of a token that can not be forged

• Important for:– Access control– Confidentiality– User (organization) accountability

Page 15: Grid Security

Authentication

• Anonymous Authentication– Essentially means unauthenticated– Examples: Using > 1 security scheme

• GSI Secure conversation (authenticated with X.509 cert.) and anonymous GSI transport

• Username & pass again with anonymous GSI transport

• Username and password– Supports rudimentary WS apps– No access to advanced features, such as…

• Delegation, confidentiality, integrity, replay prevention

• x.509 certificates

Page 16: Grid Security

Authentication

• X.509 “… profiles the format and semantics of certificates and certificate revocation lists …”

• This defines the syntax of how a Certificate Authority can sign and authenticate who is whom in an asymmetric (public key) based crypto world

• Used by … who who and whom

Aric Schorr
find out who exactly uses this stuff
Page 17: Grid Security

X.509 Certificate Fields

Field Description

Version Version of X.509 (current is v3)

Serial Number Assigned by CA and unique to each certificate

Signature Algorithm identifier used by the CA to sign the certificate

Issuer Identifies the CA that issued and signed the certificate

Validity Start and end dates that determine the validity

Subject Identifies the entity associated with the public key

Subject Public Key Info Identifies the public key and algorithm

Subject/Issuer IDs Unique ID that identifies subject/issuer (not recommended)

Extensions (v3 only) Defined method for associating additional attributes

Aric Schorr
Figure out more about the subject field ... what exactly makes it secure that this is the subject?
Page 18: Grid Security

X.509 Certificate ExampleCertificate:

Data:

Version: 1 (0x0)

Serial Number: 7829 (0x1e95)

Signature Algorithm: md5WithRSAEncryption

Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc,

OU=Certification Services Division,

CN=Thawte Server CA/[email protected]

Validity: Not Before: Jul 9 16:04:02 1998 GMT

Not After : Jul 9 16:04:02 1999 GMT

Subject: C=US, ST=Maryland, L=Pasadena, O=Brent Baccala,

OU=FreeSoft, CN=www.freesoft.org/[email protected]

Subject Public Key Info:

Public Key Algorithm: rsaEncryption

RSA Public Key: (1024 bit)

Modulus (1024 bit): (1024 bits of data … )

Exponent: 65537 (0x10001)

Signature Algorithm: md5WithRSAEncryption (signature data … )

Page 19: Grid Security

Authorization

• Determining what actions (tasks) are permitted for an entity

1. Custom• Ex. Creating authorization methods to

interface GSI with an existing legacy system

2. Server-side

3. Client-side

Page 20: Grid Security

Authorization

• Server-side authorization modes:

1. None -> No authorization2. Self -> Authorized if client identity==service identity3. Gridmap -> Authorized user list (~ACL)4. Identity Authorization -> Identity must match

programmed identity5. Host Authorization -> Only allow requests from a

particular host specified in the given credential6. SAML Callout Authorization -> Authorization

decision delegated to OSGA Authorization-compliant authorization service.

Andrew F Fitzgerald
Reword this page with LESS uses of the word "authorization"
Page 21: Grid Security

Authorization

– Client-side authorization– Allows the client to decide when a client is allowed

to be invoked

– Modes:1. None -> No authorization

2. Self -> Authorized if client identity==service identity

3. Identity Authorization -> Identity must match programmed identity

4. Host -> Authorized if client has a host credential– Client must be able to resolve hostname address

Page 22: Grid Security

Authorization

• Problem– Not feasible to administer authorization

information on a site by site basis• Users normally administer only their own local site,

not the sites of other entities

• Solution– VOMS

Page 23: Grid Security

VOMS

• Virtual Organization Membership Service– “… system for managing authorization data

within multi-institutional collaborations. VOMS provides a database of user roles and capabilities … to generate Grid credentials for users when needed.” – Globus Alliance

• Developed by European DataGrid Project

Page 24: Grid Security

VOMS

• Authorization based on policies and agreements between Virtual Organizations (VO) and Resource Providers (RP)

• Users in a VO must present credentials to an RP in order to gain access to the resources

• VOMS allows VO administrators to add users and their roles and capabilities to an authorization database

Page 25: Grid Security

VOMS

VOMS AuthDB

Client

Request

Authentication

pseudocert

Proxy Certificate

pseudocert

To RP

1. User and server authenticate each other using certificates via the standard globus API

2. User sends a signed request to VOMS server

3. VOMS server verifies user identity and sends back the VOMS “pseudo-certificate” or “attribute certificate”

4. User creates proxy certificate containing pseudo-certificate as a non-critical extension

5. The RP extracts the authorization information and makes a decision using the Local Credential Authorization Service (LCAS)

Page 26: Grid Security

VOMS Database Security

• Scenario – malicious user grants access rights to any service through compromised database

• User can still not impersonate another user since the pseudo-certificate is embedded in a user-self-signed proxy certificate

• Scenario – Denial of Service Proxy Certificate

pseudocert

Page 27: Grid Security

The Globus Toolkit: GSI

• Delegation and single sign-on

Page 28: Grid Security

Delegation

• x.509 proxy certificates– Based on WS-Trust specification

Andrew F Fitzgerald
Perhaps Aric and I should work together on this?http://gdp.globs.org/gt4-tutorial/multiplehtml/ch10s05.html has some nice diagrams that describe 1) the problem and 2) how certificates work with this
Page 29: Grid Security

The Globus Toolkit: GSI

• Community Authorization Service

Page 30: Grid Security

Community Authorization Service (CAS)

• A service that allows resource providers to specify access policies to a community as a whole

• Fine-grained access controlled by the community itself

• How CAS works ………………………..

Page 31: Grid Security

Community Authorization Service (CAS)

• How it works…

1. CAS server initiated for a community– Community rep acquires a GSI credential (1) for

the whole community– Same rep runs the CAS server using the

received GSI credential

Page 32: Grid Security

Community Authorization Service (CAS)

• How it works…

2. Resource providers grant privileges to the community– Each resource provider verifies…

1. Credential holder represents the community

2. Community policies are compatible with its own

– Trust relationship established– Rights granted to the community identity

Page 33: Grid Security

Community Authorization Service (CAS)

• How it works…

3. Community rep(s) use CAS to manage community's trust relationships and grant access to resources– Users and resource providers can be enrolled

into the community– Privileged community members can administrate

the community– Ex. Add new members, manage groups, grant

permissions

Page 34: Grid Security

Community Authorization Service (CAS)

• How it works…

4. When a user wants access to CAS served resources…1. The user makes a request to the CAS server2. CAS server verifies that the user has the

appropriate privileges by checking its DB3. CAS server issues the user a GSI restricted

proxy credential– Credential contains policy giving user rights to perform

the requested actions

Page 35: Grid Security

Community Authorization Service (CAS)

• How it works…

5. User may then use the issued credential to access the resource using any Globus tool– Resource applies its local policies to determine

access available to the community– Resource further restricts a users access IF the

credentials given to the user by the CAS dictate

Page 36: Grid Security

GSI: Credential Management

• Problem– Grid Portals do not integrate cleanly with

existing Grid security systems, such as GSI– Reason: Lack of delegation capabilities in

Web security mechanisms

• Possible solution– MyProxy

Andrew F Fitzgerald
Should this section (MyProxy&OpenID) be here? Mixed in somewhere else?
Page 37: Grid Security

MyProxy

• Cover MyProxy here?

Page 38: Grid Security

OpenID

• “An open, decentralized, free framework for user-centric digital identity”

• Who uses OpenID– AOL, Blogger, Flockr, WordPress,

Yahoo(beta), …

Andrew F Fitzgerald
Should this be what Gregor's doing?Objectives: a) apply OpenID to DokuWikib) develop a secure Web Service with Open ID
Page 39: Grid Security

OpenID• Two Architectural Implementations

1. Address-based Identity– Public or private digital address dereferenced to discover/invoke identity

services– Could be either…

– OpenID-enabled URL– XRI i-name (Ex.: xri//=example.user)

– Persistent, protocol-independent, privacy-protected– Supports cross-reference authority for P2P addressing

2. Card-based Identity– Digital token containing references to attributes identifies the user– Contains information necessary to accomplish identity based transaction

– Neither are exclusive– Ex.: Card could reference address or Address could reference card

Page 40: Grid Security

OpenID: Protocol Flow

Page 41: Grid Security

References• Novotny, J., Tuecke, S., & Welch, V. (2001). An Online Credential Repository for the

Grid: MyProxy. Paper presented at the Proceedings of the Tenth International Symposium on High Performance Distributed Computing (HPDC-10), IEEE.

• Alfieri, R., Cecchini, R., Ciaschini, V., Frohner, Á., Gianoli, A., Lőrentey, K., & Spataro, F. (2003). An Authorization System for Virtual Organizations. Paper presented at the In Proceedings of the 1st European Across Grids Conference, Santiago de Compostela.

• Sotomayor, B. The Globus Toolkit 4 Programmer's Tutorial: Chapter 10. GSI: Grid Security Infrastructure.

• Welch, V., Siebenlist, F., Foster, I., Bresnahan, J., Czajkowski, K., & Gawor, J., et al. (2003). Security for Grid services. High Performance Distributed Computing, 2003. Proceedings. 12th IEEE International Symposium on, 48-57.

• Zhao, S., Aggarwal, A., & Kent, R. D. (2007). PKI-Based Authentication Mechanisms in Grid Systems. Networking, Architecture, and Storage, 2007. NAS 2007. International Conference on, 83-90.

• Welch, V., Siebenlist, F., Foster, I., Gawor, J., Kesselman, C., & Meder, S., et al. (2004). X.509 Proxy Certificates for Dynamic Delegation. 3rd Annual PKI R&D Workshop.

Page 42: Grid Security

References (cont.)

• Welch, V. Globus Toolkit Version 4 Grid Security Infrastructure: A Standards

Perspective 2005 • Inproceedings (1179532)

Recordon, D. & Reed, D.OpenID 2.0: a platform for user-centric identity managementDIM '06: Proceedings of the second ACM workshop on Digital identity management, ACM, 2006, 11-16