Policy-driven Negotiation for Authorization in the Grid Ionut - - PowerPoint PPT Presentation

policy driven negotiation for authorization in the grid
SMART_READER_LITE
LIVE PREVIEW

Policy-driven Negotiation for Authorization in the Grid Ionut - - PowerPoint PPT Presentation

Policy-driven Negotiation for Authorization in the Grid Ionut Constandache Duke University Daniel Olm edilla L3S Research Center Frank SiebenList Argonne National Laboratory 8 th IEEE POLICY Bologna, Italy, 15 th June 20 0 7 Outline


slide-1
SLIDE 1

Policy-driven Negotiation for Authorization in the Grid

Ionut Constandache Duke University Daniel Olm edilla L3S Research Center Frank SiebenList Argonne National Laboratory

8 th IEEE POLICY Bologna, Italy, 15th June 20 0 7

slide-2
SLIDE 2

June 15th, 2007 8th IEEE POLICY 2 Daniel Olmedilla

Outline

Introduction Motivation Policy-driven Negotiations Negotiations in the Grid Implementation Conclusions and Further Work

slide-3
SLIDE 3

June 15th, 2007 8th IEEE POLICY 3 Daniel Olmedilla

Introduction

Virtual Organization

Policy

Org 1 Org 2 Org 3

slide-4
SLIDE 4

June 15th, 2007 8th IEEE POLICY 4 Daniel Olmedilla

Introduction

Why Grid Security is Hard?

Resources being used m ay be valuable & the problem s being solved sensitive Both users and resources need to be careful Dynam ic form ation and m anagem ent of virtual

  • rganizations (VOs)

Large, dynamic, unpredictable… VO Resources and users are often located in distinct adm inistrative dom ains Can’t assume cross-organizational trust agreements Different mechanisms & credentials 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

slide-5
SLIDE 5

June 15th, 2007 8th IEEE POLICY 5 Daniel Olmedilla

Motivation

Local Administrative Domain

Ivan’s policy: Alice is my friend and I’ll share my lemonade with her Mallory is not my friend and he can go # $% ^ &

I van Mallory Alice

Can I have glass of lemonade? Sure, here is a glass Can I have glass of lemonade? No way, I don’t like you

Resource Ow ner decides!

(ultimate source of authority for access)

slide-6
SLIDE 6

June 15th, 2007 8th IEEE POLICY 6 Daniel Olmedilla

Motivation

Distinct Administrative Domains

?

I van Ivan’s policy: Carol is my friend and I’ll share my lemonade with her I’ll share my lemonade with any friend of Carol I don’t know any Bob…(?)

Can I have glass of lemonade?

Bob

slide-7
SLIDE 7

June 15th, 2007 8th IEEE POLICY 7 Daniel Olmedilla

Motivation

Distinct Administrative Domains – Pull (I)

Sure, here is a glass Can Bob have glass of lemonade? Sure, Bob is my friend

I van Ivan’s policy: Carol is my friend and I’ll share my lemonade with her I’ll share my lemonade with any friend of Carol I don’t know any Bob…(?)

Can I have glass of lemonade?

Bob Carol Carol’s policy: Bob is my friend and I’ll share my lemonade with him

slide-8
SLIDE 8

June 15th, 2007 8th IEEE POLICY 8 Daniel Olmedilla

Motivation

Distinct Administrative Domains – Pull (& II)

Can Bob have glass of lemonade? Sure, Bob is my friend

I van Ivan’s policy: I don’t know any Bob…(?) I do know John, Mary, Carol, Olivia, …

Can I have glass of lemonade?

Bob Carol Carol’s policy: Bob is my friend and I’ll share my lemonade with him Olivia’s policy: If Carol likes Bob, I hate him! Mary’s policy: I like Bob a little bit Lucy’s policy: I sometimes like Carol Ann’s policy: I like Ivan very much! Jogger’s policy: I’d like a glass too John’s policy: I don’t like girls Bill’s policy: Lemonade is bad for you Frosty’s policy: Only share lemonade with ice Aunt’s policy: Sharing is good Laura’s policy: Share if he pays! David’s policy: Ask Laura Accountant’s policy: Only if he signs here Rita’s policy: No lemonade after eight Neighbor's policy: Let’s party! Emma’s policy: Only on his birthday

I van: HELP

I van

slide-9
SLIDE 9

June 15th, 2007 8th IEEE POLICY 9 Daniel Olmedilla

Motivation

Distinct Administrative Domains – Push approach

Sure, here is a glass

I van Ivan’s policy: Carol is my friend and I’ll share my lemonade with her I’ll share my lemonade with any friend of Carol I don’t know any Bob…(?)

Can I have glass of lemonade? And BTW, Carol is my friend

Bob

either Bob provides a list of all his friends or

  • Privacy problem s, superfluous disclosure

Bob knows in advance the friends from Ivan

  • static
  • service instances to be used m ay be selected at

run-tim e

slide-10
SLIDE 10

June 15th, 2007 8th IEEE POLICY 10 Daniel Olmedilla

Motivation

Example Scenario – Grid Limitations

Alice Smith

0a Request previously stored proxy certificate

MyProxy Credential Repository

0b Receive proxy certificate

NEESgrid Linux Cluster

1 Mutual Authentication (M.A.) 2 Alice submits a job job 3 Delegate proxy certificate M.A. : Mutual Authentication

GridFTP Server RLS

M.A.

SRB

M.A. M.A.

Shake table

  • Too many Credentials to keep track of
  • Knowing which credential to use

Authorization may depend on user’s properties E.g. user’s affiliation with a project In large projects, an account per user does not scale Job must know in advance what credentials will have to be disclosed

  • Different sites trust different CA
  • No way to determine automatically

which issuers are trusted

slide-11
SLIDE 11

June 15th, 2007 8th IEEE POLICY 11 Daniel Olmedilla

Policy-Driven Negotiations

Example: Security & Privacy

Bob Alice

Step 1: Alice requests a service from Bob Step 5: Alice discloses her VISA card credential Step 4: Bob discloses his BBB credential Step 6: Bob grants access to the service

Service

Step 2: Bob discloses his policy for the service Step 3: Alice discloses her policy for VISA

slide-12
SLIDE 12

June 15th, 2007 8th IEEE POLICY 12 Daniel Olmedilla

Negotiations in the Grid

Revisiting the example scenario

  • 0. Alice

submits a job

Alice Smith Shake Table Access Manager

  • 3. Alice

membership?

Credential Repository

  • 4. Alice

membership? job

  • 1. Authentication
  • 5. Alice

BigQuake membership

  • 6. Alice

BigQuake membership

  • 8. Alice’s job

Shakes the table

  • 7. Access

granted

  • 2. Request

Shake table

NEESgrid Linux Cluster

With only one certificate to access the online repository The delegated certificate is used to retrieve the requested certificates Server inform s the client about its access control policy

slide-13
SLIDE 13

June 15th, 2007 8th IEEE POLICY 13 Daniel Olmedilla

Policy-Driven Negotiations

Characteristics

Both client and servers are sem antically annotated with policies Annotations specify constraints and capabilities – access control requirements

  • which certificates must be presented to gain access to it
  • who is responsible for obtaining and presenting these certificates

are used during a negotiation

  • to reason about and to communicate the requirements
  • to determine whether credentials can be obtained and revealed.

User involvem ent is drastically reduced – autom ated interactions If required, for sensitive resources, negotiation can be longer To obtain (access to) a certificate, I must satisfy its access control policy which specifies

  • -and so on recursively—
slide-14
SLIDE 14

June 15th, 2007 8th IEEE POLICY 14 Daniel Olmedilla

Implementation

Current GT4’s new authZ framework

slide-15
SLIDE 15

June 15th, 2007 8th IEEE POLICY 15 Daniel Olmedilla

Implementation

Architecture

negotiateTrust() Negotiation Topic subscribe() Interceptor PDP Negotiation Exception Negotiation Provider Notification Listener PeerTrust Module Send Wrapper Grid Service Client Program Inference Engine notify() getNegotiationTopic()

  • peration()

Credentials Policies Policies Credentials PeerTrust Module Inference Engine Negotiation Module Negotiation Module Client Call Interceptor Client Grid Service Service wsdl file <wsdl:im port nam espace=“http:/ / linux.egov.pub.ro/ ionut/ TrustNegotiationwsdl” location=“TrustNegotiationwsdl”/ > Service Deploym ent Descriptor <param eter nam e=“providers” value=“SubscribeProvider GetCurrentMessageProvider g4m fs.im pl.gridpeertrust.net.server.TrustNegotiationProvider”/ > <param eter nam e=“securityDescriptor” value=“share/ schem a/ gt4ide/ MathService/ m ysec.xm l”/ >

slide-16
SLIDE 16

June 15th, 2007 8th IEEE POLICY 16 Daniel Olmedilla

Implementation

Integration on Globus Toolkit 4.0

Directed integrated with the grid services paradigm Extension to GSI pluggable to any GT4.0 com pliant grid service or client Only requirem ent: Java based grid services We use:

  • Custom PDP as part of the Client Call Interceptor
  • Redirects to a negotiation if required
  • Asynchronous negotiations are achieved through WS-

Base Notification and WS-Topics

CAS integration into negotiations API for easy integration within client code

slide-17
SLIDE 17

June 15th, 2007 8th IEEE POLICY 17 Daniel Olmedilla

Conclusions & Future Work

Conclusions

Main Features Self-describing resources for access requirem ents

  • Based on properties

Negotiation for service authorization Dynam ic credential fetching

  • Now possible to use discovery and scheduling services to locate

the best available resources

  • Otherwise, impossible to predict before hand what exact service

instances would be used and which certificates required

Monitoring and explanation of authorization decision Im plem entation in Java Extension of GSI in GT4.0 Backwards com patible

slide-18
SLIDE 18

June 15th, 2007 8th IEEE POLICY 18 Daniel Olmedilla

Conclusions & Future Work

Further Work

Study perform ance im pact of negotiations And approaches to m inim ize the extra load

  • Lim it num ber of iterations
  • E.g. 2 steps negotiations
  • Advertise policies before the service is invoked

Investigate the use of XACML

  • Delegation not yet supported but planned
slide-19
SLIDE 19

June 15th, 2007 8th IEEE POLICY 19 Daniel Olmedilla

Thanks!

Questions?

  • lm edilla@L3S.de - http:/ / w w w .L3S.de/ ~olm edilla/