21
1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

Embed Size (px)

Citation preview

Page 1: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

1

Globus Toolkit SecurityRachana Ananthakrishnan

Frank SiebenlistArgonne National Laboratory

Page 2: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

2

Security Components

Features– Authentication

– Message security

– Authorization

– Delegation Implementations in C and Java Used in pre-WS and WS components

Talk focuses on recent and upcoming work

Page 3: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

3

Java Authorization Framework

Page 4: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

4

Authorization

Establishing rights of an identity– Can user do some action on some resource

Identity-based authorization– Scalability issues

Attribute-based authorization– Authorization policy can use attributes

Authorization with obligation

Page 5: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

5

Authorization Framework Policy Information Points (PIPs)

– Collect attributes (subject, action, resource)

– E.g: Operation Parameter PIP Policy Decision Points (PDPs)

– Evaluate authorization policy

– E.g: GridMap Authorization, Self Authorization Authorization Engine

– Orchestrates authorization process

– Enforce distributed authorization policy

– Combining algorithm to render a decision

Page 6: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

6

GT 4.0 Authorization Framework

Authorization Engine

(Deny-override)

PIP1 PIP2 PIPn PDP1 PDP2 PDPn… …

Web Services Message Context (store attributes)

Permit

Deny

Deny

Permit

Permit

Permit

Policy Enforcement

Point

Page 7: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

7

AuthZ Framework Enhancements

Modular code base– Independent module

> Removed web services dependency

> separated from Java WS Core

– Java interfaces Improved attribute processing

– Normalized attribute representation

– Comparison of attributes across sources

– Merging of attributes of same entities

Page 8: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

8

AuthZ Framework Enhancements

Separate interface for request attributes– Bootstrap PIP interface

Improved authorization engine– Pluggable engine algorithm

– Decision issuer part of decision making process

– Administration and Access privileges

– Default Algorithm: Permit-override combining algorithm

> Construct decision Chain from Requestor to Owner

Page 9: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

9

GT 4.2 Authorization Framework

Authorization Engine

Policy Enforcement

Point

bPIP1 [owner1]

… bPIPn

[ownerN]

PIP1 [owner1]

… PIPn

[ownerN]…

Request Attributes

PIP Attribute Processing

PDP Combining Algorithm

Attributes

PDP1 [owner1]

canAdmin canAccess

PDPn

[ownerN]

Decision

Page 10: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

10

Some interesting GT PDP/PIP

SOAP Parameter PIP– Most efficient at application level

Resource Properties PDP– Uses SOAP Parameter PIP

SAML Authorization PDP XACML Authorization PDP (In Progress)

Page 11: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

11

Authorization Policy Management

Page 12: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

12

Authorization Policy Management

Currently GridMap files are commonly used– Identity-based authorization

– Local user account as obligation Other requirements

– Attribute based authorization for better scalability (roles/groups)

– Fine grained authorization

– Better management interface

Page 13: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

13

Community Authorization Service

Fine grained policy engine– Policy as Tuple

– Entity, Action, Resource

– E.g Rachana’s DN, read, server1.anl.gov/sandbox/foo

– Internal groups for administration Management interface via web services and

command line Multiple interfaces for obtaining decision/rights

– SAML Assertions signed by CAS server

Reference: http://dev.globus.org/wiki/CAS/SAML_Utilities

Page 14: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

14

CAS: Push via proxyCAS Server

Admin Interface

Query Interface

User rights assertion

Signed

SAML Assertion

Secure Resource

Trust CAS Server

Signed

SAML Assertion

Administrator

Page 15: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

15

CAS: Push via SOAP headerCAS Server

Admin Interface

Query Interface

Signed

SAML Assertion

Secure Resource

Trust CAS Server

Signed

SAMLAssertion

SOAP Headers

Administrator

Can be GridFTP Control Channel

Signed

SAML Assertion

Page 16: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

16

CAS as AuthZ Service (pull)CAS Server

Admin Interface

Query Interface

Secure Resource

Trust CAS Server

Signed Assertion

Administrator

Decision

Page 17: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

17

CAS Co-located

Java Interface

Secure Resource

Admin Interface

Administrator

CAS

Page 18: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

18

Other Highlights Embed key information in Endpoint References

(Completed)– Allows for deployment of user-certs on server

– Easy key-discovery for ephemeral resources

– OGSA Basic Security Profile compliant OpenSSL upgrade (In progress)

– Version 0.9.8 in 4.0.x

– Uses local OpenSSL in trunk Signing policy in Java GSI (Planned) OCSP Support

– OGRO Project

– User requirements?

Page 19: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

19

Questions?

Page 20: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

20

Security Committee

Goals– Evaluate and resolve security vulnerabilities prior to

making it public

– Potential vulnerabilities: [email protected] Membership

– Any dev.globus committer

– Subscribed to [email protected]

– Owns vulnerabilities and has voting rights Lurkers

– Participate in discussions

http://dev.globus.org/wiki/SecurityCommittee/Security_Vulnerability_Handling

Page 21: 1 Globus Toolkit Security Rachana Ananthakrishnan Frank Siebenlist Argonne National Laboratory

21

Security Committee

Membership requires approval– Majority quorum amongst members

Participating communities– Receive advance notice of advisory

– TeraGrid, VDT, Condor Community inclusion request

– Nominated and voted on by members

– GT usage and participation in committee activities