1
Fondation RESTENA euroCAMP 04 April 2006
SAML 1.1 and its uses in eduGAIN
Stefan Winter <stefan.winter@restena.lu>
SAML 1.1 and its uses in eduGAIN Stefan Winter - - PowerPoint PPT Presentation
Fondation RESTENA euroCAMP 04 April 2006 SAML 1.1 and its uses in eduGAIN Stefan Winter <stefan.winter@restena.lu> 1 Outline SAML 1.1 overview Abstract operations vs. SAML profile Abstract operations: changes since
1
Stefan Winter <stefan.winter@restena.lu>
2
SAML 1.1 overview Abstract operations vs. SAML profile Abstract operations: changes since Architecture
document
SAML 1.1 + eduGAIN profiles
general parts (common in all Request / Response) Authentication Home Location Service Attribute Exchange Authorisation
3
XML Schemas for
SAML Protocol (exchange of SAML messages) SAML Assertions (information about entities)
Rules to use Schemas semantically correct thorough definition of
Authentication assertions (NOT the authentication
process itself!)
Attribute statements Authorisation statements
SAML-the-language by itself doesn't do
4
eduGAIN Architecture Document (GEANT2
four services:
Authentication assertions Home Location Service Attribute assertion exchange Authorisation assertions
generic enough to be mappable to a variety of
mapping to SAML 1.1 profile only one
5
Authentication
optional credential transport: defined, but is not
going to be used
to implement, major changes in SAML 1.1 would
be necessary → not implemented
Attribute Exchange
defined Shibboleth-compatible and extended mode extended mode weakens trust model → only Shib
mode used
Authorisation Service
still questionable: support “Recipient” abstract op?
6
<Request RequestID MajorVersion MinorVersion IssueInstant>
<RespondWith> <S ignature> <Query>
<S ubjectQuery>
<AuthenticationQuery>
<AttributeQuery>
<AuthorizationDecisionQuery>
<AssertionIDReference>
<AssertionArtifact> 0..n
AO: RequestID required by SAML 1.1 type of service
7
<Response ResponseID MajorVersion MinorVersion IssueInstant InResponseTo Recipient>
<S ignature> <S tatus> <S tatusMessage> <S tatusDetail> <S tatusCode Value=” ...” > <S tatusCode Value =” ...” > <Assertion MajorVersion MinorVersion AssertionID Issuer IssueInstant> <Conditions> <Advice> <S ignature> <S tatement>
<S ubjectS tatement>
<AuthenticationS tatement>
<AuthorizationS tatement>
<AttributeS tatement> 1..n
AO:ResponseID AO:InResponseTo SAML: Success, Requester, Responder Success: AO Result Req | Resp: AO errorReason Success: AO Interfaces Req | Resp: AO errorMessage Content of response AO: additional Data
8
<AuthenticationQuery AuthenticationMethod=” ...” >
<S ubject> <NameIdentifier>
<S ubjectConfirmation> <ConfirmationMethod> <S ubjectConfirmationData> <KeyInfo>
AO: AuthenticationMethod AO: AuthenticatingPrincipal AO: AuthenticationType
9
<Assertion MajorVersion MinorVersion AssertionID Issuer IssueInstant> <Conditions> <Advice> <S ignature> <S tatement>
<S ubjectS tatement>
<AuthenticationS tatement>
<AuthorizationS tatement>
<AttributeS tatement> 1..n <S ubject> <NameIdentifier>
<S ubjectConfirmation> <S ubjectLocality> <AuthorityBinding>
... AO: SubjectHandle AO: AttributeValueList
10
SAML 1.1 assumes that you know whom to
No such thing as a lookup service for
SAML 2.0 allows this via metadata eduGAIN had two choices
extend SAML 1.1 to do this not use SAML 1.1 at all, out-of-band
(this page intentionally left blank ;-) )
11
<AttributeQuery Resource=” ...” >
<S ubject> <NameIdentifier>
<S ubjectConfirmation> <ConfirmationMethod> <S ubjectConfirmationData> <KeyInfo> <AttributeDesignator>
AO: SubjectHandle AO: Resource AO: AttributeNameList AO: HomeSite Response: Very similar to the assertion seen in the Authentication Response Request:
12
<AuthorizationDecisionQuery Resource=” ...” >
<Evidence> <Action Namespace=” ...” > <AssertionIDReference>
<Assertion MajorVersion MinorVersion AssertionID Issuer IssueInstant> 1..n <S ubject> <NameIdentifier>
<S ubjectConfirmation> <ConfirmationMethod> <S ubjectConfirmationData> <KeyInfo>
... AO: Resource AO: Action AO: AttributeValueList, PolicyReference AO: CacheReference
1..n
13
<AuthorizationDecisionS tatement Resource Decision>
<Evidence> <Action Namespace> <S ubject> <NameIdentifier>
<S ubjectConfirmation> <ConfirmationMethod> <S ubjectConfirmationData> <KeyInfo> 1..n <AssertionIDReference>
<Assertion MajorVersion MinorVersion AssertionID Issuer IssueInstant> 1..n
AO: Resource AO: Result (*)
14
SAML is nothing more (and nothing less) than
flexible enough to handle complex scenarios If you need to extend it, major changes are