Using XACML and SAML for Authorisation messaging and assertions: XACML and SAML standards overview and usage examples
|
|
|
- Christina Brooke Hall
- 10 years ago
- Views:
Transcription
1 Using XACML and SAML for Authorisation messaging and assertions: XACML and SAML standards overview and usage examples Draft version March 28, 2005 Yuri Demchenko <[email protected]> Abstracts This document provides general overview of the XACML and SAML standards features that can be used for authorisation decision request and authorisation assertion expression. Example of custom AuthzTicket used in combined pull-push authorisation model is described and its mapping to both XACML Request/Response messages format and SAML Authorisation assertion is discussed. The document provides also in-deep analysis and comparison between SAML 1.1 and SAML 2.0 functionality for authorisation. Current version of the document provides general overview of XACML 2.0 core specification and short overview of the XACML 2.0 special profiles for RBAC and multiple and hierarchical resources. The latter will be extended in further versions. 1
2 1 Using XACML and SAML for AuthZ decision request and security tokens exchange 2 2 Example mapping between custom/oce AuthzTicket and XACML/SAML messages/assertions formats 6 3 SAML security tokens expression and exchange format General information and comparison between SAML 1.1 and SAML SAML 1.1 and SAML 2.0 Top Level Elements SAML Assertion Element SAML Subject Element SAML Authentication Statement Element SAML Authorisation Decision Statement Element SAML Attribute Statement Element SAML Extendable Elements: Conditions and Advice Examples of SAML 1.1 and SAML 2.0 Assertions SAML 1.1 and SAML 2.0 Authentication Assertions SAML 1.1 and SAML 2.0 Authorisation Assertions SAML 1.1 and SAML 2.0 Attribute Assertions Using Extendable Conditions and Advice elements for placing additional authorisation information in the SAML Authorisation Assertion 24 4 XACML policy expression and messaging format Generic RBAC functionality XACML Core specification XACML 2.0 special profiles XACML 2.0 RBAC profile XACML 2.0 Profile for Multiple Resources XACML Multiple Resources profile 35 5 References 35 1 Using XACML and SAML for AuthZ decision request and security tokens exchange This section explains how the two standards XACML and SAML are used in the discussed above AuthZ use cases and scenarios for policy expression and security assertions exchange. Some other information is also provided here to understand the overall structure of XACML and SAML. More detailed information about these standards is provided in the Appendixes. The diagram below illustrates where SAML protocol and assertions and protocol and XACML Request/Response messages can be used in a typical policy based decision making [XACML- SAML].
3 PEP Response: SAMLAttributeStatement Response XACMLDecisionStatement Request: SAMLAttributeStatement AA Assertion SAMLAttributeStatement XACML Response XACMLResponse Assertion SAMLAttributeStatement Response: SAMLAttributeStatement Request: SAMLAttributeStatement Attribute Repository Assertion SAMLAttributeStatement XACML Request XACMLRequest Request XACMLDecisionQuery PDP Assertion XACMLPolicyStatement Policy Repository Response XACMLPolicyStatement Request XACMLPolicyQuery Assertion XACMLPolicyStatement PAP Note: All messages and statements semantics relates to SAML 2.0 core specification and SAML profile for XACML. XACML specific messages are marked explicitly with Figure 1.1. Using SAML and XACML for messaging and assertions Although XACML defines XACML Request/Response messages format, it doesn t provide any suggestions about using one or another transport container or protocol. Using XACML messages directly as AuthZ assertions impose some security/integrity problems because they don t have mechanisms to bind authority (trust) or express/imply security restrictions as they are provided by the such SAML elements as Issuer or Conditions. So, a solution proposed in the XACML profile of the SAML 2.0 provides a good combination between XACML policy expression and evaluation functionality and SAML security assertion management functionality. Recently published SAML 2.0 specification provides even better security and improved functionality comparing to SAML 1.1: 1) features improving SAML security (via better integrity and secure context management): - Issuer element is now obligatory top level element under root element <Assertion>, it is moved from the attribute in <Assertion> element - <Subject> element is an (optional) top element and it is removed from the (Authn/Authz/Attribute)Statement elements as in SAML 1.1 3
4 - main sensitive elements Subject/NameID, Advice/Assertion, AttributeStatement/Assertion now have an option of encrypted elements correspondingly EncryptedID, Encrypted Assertion, EncryptedAttribute 2) better flexibility in secure context management: - added new conditions OneTimeUse and ProxyRestriction instead of old DoNotCacheCondition - Assertions in Advice and AuthzDecisionStatement now can be referenced by also AssertionURIRef in addition to previous AssertionIDRef only - old element AuthorityBinding in SAML 1.1 is replaced now with new element AuthnContext that includes AuthnContextClassRef, AuthnContextDecl, AuthnContextDeclRef, or AuthenticatingAuthority 3) number of special AuthN context profiles are defined including X.509, Kerberos, PGP, XMLdsig, SSL, IP, Smartcard, mobile telephony, timesynch, etc. 4) XACML based AuthZ profile is defined by introducing element XACMLAuthzDecisionStatement/Query, XACMLPolicyStatement/Query The picture below shows major differences between SAML 1.1 and SAML 2.0.
5 SAML11AuthzAssertion Issuer Conditions ValidityTime AudienceRstr NoCache {Condition} Advice AssertRef {Assertions} OtherInfo SAML11AuthzStat SAML11AuthnStat Decision AuthnMethd ResourceID AuthnInstan Subject SAML11AttrStatm SubjNameID Subject Subject SubjNameID SubjConfirm SubjNameID SAML11SubjStatm {Action} SubjConfirm SubjConfirm Subject Action Namespace {Attribute} SubjNameID Evidence SubjLocalty AttrName SubjConfirm AuthorBind AssertRef AttrNameSp {Assertion} AuthnToken Legend Element Attribute AlternElem1 AlternElem2 ConcurElem SAML20AuthzAssertion Issuer NameQualif SPNameQual Format SPProvID Subject NameID BaseID EncryptedID SubjConfirm Conditions ValidityTime AudienceRstr ProxyRestr OneTimeUse {Condition} SAMLAuthnStatm Advice AuthnInstn AssertRef {Assertions} SessionIndx EncryptAssert SessionExpir OtherInfo SubjectLocalty SAMLAuthzStatm Address Decision SAMLAttrStatm DNSName ResourceID AuthnContext Attribute {Action} AuthnAuthorty Namespace AnCtxClasReff Evidence AuthnToken NameFormat AnCtxDecl FriendlyName AssertRef AnCtxDeclRef EncryptedAttr {Assertions} AuthnToken EncryptAssert SAMLAttrStatm Attribute Name NameFormat FriendlyName EncryptedAttr Figure 1.2. Comparison between SAML 1.1 and SAML 2.0 (for the Authorization Assertion as an example) The picture below provides more detailed information about mapping between XACML Request/Response messages and SAML 2.0 Authorisation assertion than it was discussed in the context of using SAML 2.0 for the CNLAuthzTicket expression. 5
6 XACMLRequest {Subject} SubjectID AuthnToken JobID {Roles} {Resource} ResContent {ResAttribs} Action {ActionAttrs} Environment {EnvirAttrs} XACMLResponse Result ResourceID Decision Status Status/Msg StatusDetail Obligations {Obligation} Legend Element Attribute AlternElem1 AlternElem2 ConcurElem SAML20AuthzAssertion Issuer Subject SubjNameID SubjConfirm Conditions ValidityTime AudienceRstr ProxyRestr OneTimeUse {Condition} Advice {Assertions} OtherInfo SAMLAuthzStatm Decision ResourceID {Action} {ActionID} Evidence AttrAssertion {Assertions} AuthnToken Note. Some names referring to XACML and SAML elements and attributes are simplified but semantic resemblance is preserved where possible. Please refer to text and XACML and SAML description Figure 1.3. Mapping between XACML Request/Response messages and SAML 2.0 Authorisation assertion. 2 Example mapping between custom/oce AuthzTicket and XACML/SAML messages/assertions formats The figure below provides the graphical presentation of mapping between proposed/suggested Authorisation ticket OCEAuthzTicket format for Open Collaborative Environment (OCE) use case, XACML Request and Response messages, and SAML 2.0 Authorisation Assertion format.
7 XACMLRequest CNLAuthzTicket SAML20AuthzAssertion PolicyRef {Subject} SubjectID AuthnToken JobID {Roles} {Resource} ResContent {ResAttribs} Action {ActionAttrs} Environment {EnvirAttrs} XACMLResponse Result ResourceID Decision Status Status/Msg StatusDetail Obligations {Obligation} Legend Element Validity Subject Attribute ValidityTime AuthnToken CommunRstr AlternElem1 AlternElem2 AuthnToken ConcurElem Issuer PolicyRef Decision ResourceID SubjectID JobID {Roles} Resource ResourceID Action {Actions} Obligations {Obligation} Issuer Subject SubjNameID SubjConfirm Conditions ValidityTime AudienceRstr Proxy/1Time {Condition} Advice SAML11AuthzStat {Assertions} Decision OtherInfo Resource SAMLAuthzStatm Subject Decision SubjNameID SubjConfirm ResourceID Action Action {ActionID} {ActionID} Evidence Evidence AttrAssertion AttrAssertion AuthnToken {Assertion} {Assertions} AuthnToken Note. Some names referring to XACML and SAML elements and attributes are simplified but semantic resemblance is preserved where possible. Please refer to text and XACML and SAML description Figure 2.1. Mapping between XACML Request/Response, OCEAuthzTicket and SAML2.0 Authorization Assertion. Due to some limitations of the XACML and SAML formats the following issues need to be discussed: XACML Request format allows only one Action element, although multiple Action/Attribute sub-elements. Sub-elements can provide some additional information about an action but only one Action can be evaluated in one request against a particular Action Rule in a XACML policy and XACML Response is supposed to provide a decision only for one action. No mean how to possibly combine individual decisions are available. SAML AuthzStatement may have multiple actions but they can be bound to a single ResourceID and a single Decision. In case of multiple actions evaluation by XACML PDP these actions should evaluated individually and actions/results combination algorithms should be derived from the policy. Note, this case may require further research how the relations between multiple actions can be described in the request and transferred into final Authorisation decision statement. 7
8 Multiple Resource elements provide flexibility when implementing hierarchical or multiple resources model. However, both XACML Response and SAMLAuthzDecisionStatement generally allow only ResourceID reference. Multiple Subject elements allow flexibility when implementing hierarchical RBAC model when some actions require superior subject/role approval, or in case when initiator, requestor and receiver of Action are different entities/subjects. However, SAML Assertion format allows only one Subject. In case when there is a need to keep information about other subjects, this information can be placed into SAMLAssertion/Advice element or into SAMLAuthzDecisionStatement/Evidence element in form of SAML Assertions. Obligation which is an optional element of the Policy and a possible component of the XACML Response can be placed into Condition simple element or into extension subelement under SAML Advice element Suggested OCEAuthzTicket validity parameters include ValitidyTime defining validity period NotBefore and NotOneOrAfter, CommunityRestriction defining trusted community can be mapped in the following way: ValitidyTime containing two attributes NotBefore and NotOneOrAfter can be mapped directly into related attributes of the SAMLAssertion/Conditions element Because of SAML Conditions element may have only one of elements AudienceRestriction, ProxyRestriction, OneTimeUse sub-elements or multiple Condition sub-element, CNLAuthzTicket validity parameters should limited to have only CommunityRestriction or both CommunityRestriction and NumberOfUse should be represented in a simple/textual form and placed into multiple Condition elements. All other mapping issues doesn t have problems and can be achieved in the following way: SubjectID and Subject AuthenticationToken can be placed into Subject/(NameID or BasedID) element and SubjectConfirmation/ SubjectConfirmationData element correspondently Subject attributes such as JobID and roles can be placed into SAMLAuthzDecisionStatement/Evidence element in an a form of SAML Attribute Assertion. More information about XACML special profiles is provided in the XACML section. Another solution can be to use SAML profile of the XACML that defines XACMLAuthzDecisionStatement/Query, XACMLPolicyStatement/Query that allow to include original XACML Request and Response messages directly into SAML Assertions (see Figure below).
9 semantic OCEAuthzTicket SAML20AuthzAssertion XACMLRequest Issuer PolicyRef Decision ResourceID Validity ValidityTime AuthnToken CommunRstr Subject SubjectID AuthnToken JobID {Roles} Resource ResourceID Action {Actions} Obligations {Obligation} Note. Some names referring to XACML and SAML elements and attributes are simplified but semantic resemblance is preserved where possible. Please refer to text and XACML and SAML description Issuer Conditions ValidityTime ValidityTime AudienceRstr Proxy/1Time {Condition} XACMLRequest XACMLResponse Legend Element Attribute AlternElem1 AlternElem2 ConcurElem {Subject} SubjectID AuthnToken JobID {Roles} {Resource} ResContent {ResAttribs} Action {ActionAttrs Environment {EnvirAttrs} XACMLResponse Result ResourceID Decision Status Status/Msg StatusDetail Obligations {Obligation} Figure 2.2. Mapping between OCEAuthzTicket and SAMLAuthzAssertion using XACML profile. 3 SAML security tokens expression and exchange format 3.1 General information and comparison between SAML 1.1 and SAML 2.0 This section provides basic information about the structure and elements of the SAML 2.0 format. Examples are provided as an illustration to the discussed above CNL Authorisation token format. Comparison between currently used SAML 1.1 and recently published SAML 2.0 specifications is provided for reference purposes only: 1) features improving SAML security (via better integrity and secure context management): 9
10 - Issuer element is now obligatory top level element under root element <Assertion>, it is moved from the attribute in <Assertion> element - <Subject> element is an (optional) top element and it is removed from the (Authn/Authz/Attribute)Statement elements as in SAML main sensitive elements Subject/NameID, Advice/Assertion, AttributeStatement/Assertion now have an option of encrypted elements correspondingly EncryptedID, Encrypted Assertion, EncryptedAttribute 2) better flexibility in secure context management: - added new conditions OneTimeUse and ProxyRestriction instead of old DoNotCacheCondition - Assertions in Advice and AuthzDecisionStatement now can be referenced by also AssertionURIRef in addition to previous AssertionIDRef only - old element AuthorityBinding in SAML 1.1 is replaced now with new element AuthnContext that includes AuthnContextClassRef, AuthnContextDecl, AuthnContextDeclRef, or AuthenticatingAuthority 3) number of special AuthN context profiles are defined including X.509, Kerberos, PGP, XMLdsig, SSL, IP, Smartcard, mobile telephony, timesynch, etc. 4) XACML based AuthZ profile is defined by introducing element XACMLAuthzDecisionStatement/Query, XACMLPolicyStatement/Query Picture below shows major differences between SAML 1.1 and SAML 2.0
11 SAML11AuthzAssertion Issuer Conditions ValidityTime AudienceRstr NoCache {Condition} Advice {Assertions} SAML11SubjStatm SAML11AuthnStat OtherInfo SAML11AttrStatm SAML11AuthzStat Decision Decision Decision ResourceID Decision ResourceID ResourceID ResourceID Subject Subject SubjNameID Subject SubjNameID Subject SubjConfirm SubjNameID SubjConfirm SubjNameID Action SubjConfirm Action SubjConfirm Action {ActionID} {ActionID} Evidence {ActionID} Evidence {ActionID} Evidence AttrAssertion Evidence AttrAssertion AuthnToken {Assertion} AttrAssertion AuthnToken {Assertion} AttrAssertion AuthnToken {Assertion} AuthnToken {Assertion} Legend Element Attribute AlternElem1 AlternElem2 ConcurElem SAML20AuthzAssertion Issuer NameQualif NameQualif NameQualif NameQualif Subject NameID BaseID EncryptedID SubjConfirm Conditions ValidityTime AudienceRstr ProxyRestr OneTimeUse {Condition} SAMLAuthnStatm Advice AuthnInstn AssertRef {Assertions} SessionIndx EncryptAssert SessionExpir OtherInfo SubjectLocalty SAMLAuthzStatm Address Decision SAMLAttrStatm DNSName ResourceID AuthnContext Attribute {Action} AuthnAuthorty Namespace AnCtxClasReff Evidence AuthnToken NameFormat AnCtxDecl FriendlyName AssertRef AnCtxDeclRef EncryptedAttr {Assertions} AuthnToken EncryptAssert SAMLAttrStatm Attribute Name NameFormat FriendlyName EncryptedAttr Figure 3.1. Comparison between SAML 1.1 and SAML 2.0 (for the Authorization Assertion) Figures below provide more detailed breakdown for SAML 2.0 Assertion format. Subject element contains all required information to describe Subject including provided credentials in the SubjectConfirmation element. SAML Assertion provides the facility to describe conditions for assertion/credentials use and validity in the Conditions element that contains auditorium/community limitation, caching/proxy restrictions and time validity constrains. Security context or e.g. credentials delegation and/or usage history can be placed into the Advice element. Both Condition and Advice elements are extendable but in a bit different way. The Condition element can contain extendable condition element as a specific named instance of the abstract Condition element. The Advice element can contain any extendable element using any external namespace. All sensitive SAML components can be encrypted. However, SAML 2.0 defines some encrypted elements directly in the schema. 11
12 3.2 SAML 1.1 and SAML 2.0 Top Level Elements SAML Assertion Element SAML 2.0 Assertion element content can be expressed in the compact XML DTD format as follows: <!ELEMENT Assertion (Issuer, Signature?, Subject?, Conditions?, Advice?, (Statement AuthnStatement AuthzDecisionStatement AttributeStatement)*)> <!ATTLIST Assertion Version CDATA #REQUIRED ID ID #REQUIRED IssueInstant CDATA #REQUIRED > a) SAML 1.1 Assertion element
13 b) SAML 2.0 Assertion element Figure 3.2. SAML 1.1 and SAML 2.0 root element Assertion (comparison) SAML Subject Element SAML 2.0 Subject element is an optional top level element which contains the following subelements: <!ELEMENT Subject (((BaseID NameID EncryptedID), SubjectConfirmation*) SubjectConfirmation+)> <!ELEMENT SubjectConfirmation (SubjectConfirmationData?)> <!ATTLIST SubjectConfirmation Method CDATA #REQUIRED > <!ELEMENT SubjectConfirmationData (#PCDATA *)*> <!ATTLIST SubjectConfirmationData NotBefore CDATA #IMPLIED NotOnOrAfter CDATA #IMPLIED Recipient CDATA #IMPLIED InResponseTo CDATA #IMPLIED Address CDATA #IMPLIED > <!ELEMENT SubjectLocality EMPTY> <!ATTLIST SubjectLocality Address CDATA #IMPLIED DNSName CDATA #IMPLIED > 13
14 a) SAML 1.1 Subject element b) SAML 2.0 Subject element Figure 3.3. SAML 1.1 and SAML 2.0 top level element Subject (comparison) SAML Authentication Statement Element SAML 2.0 AuthnStatement has the following structure: <!ELEMENT AuthnStatement (SubjectLocality?, AuthnContext)> <!ATTLIST AuthnStatement AuthnInstant CDATA #REQUIRED SessionIndex CDATA #IMPLIED SessionNotOnOrAfter CDATA #IMPLIED > <!ELEMENT AuthnContext (((AuthnContextClassRef, (AuthnContextDecl AuthnContextDeclRef)?) (AuthnContextDecl AuthnContextDeclRef)), AuthenticatingAuthority*)>
15 <!ELEMENT AuthnContextClassRef (#PCDATA)> <!ELEMENT AuthnContextDecl (#PCDATA)> <!ELEMENT AuthnContextDeclRef (#PCDATA)> <!ELEMENT AuthenticatingAuthority (#PCDATA)> a) SAML 1.1 AuthenticationStatement element b) SAML 2.0 AuthnStatement element Figure 3.4. SAML 1.1 AuthenticationStatement and SAML 2.0 AuthnStatement elements (comparison) SAML Authorisation Decision Statement Element SAML 2.0 AuthzDecisionStatement has the following structure: <!ELEMENT AuthzDecisionStatement (Action+, Evidence?)> <!ATTLIST AuthzDecisionStatement Resource CDATA #REQUIRED Decision (Permit Deny Indeterminate) #REQUIRED > <!ELEMENT Evidence (AssertionIDRef AssertionURIRef Assertion EncryptedAssertion)+> 15
16 a) SAML 1.1 AuthorizationDecisionStatement element b) SAML 2.0 AuthzDecisionStatement element Figure 3.5. SAML 1.1 AuthorizationDecisionStatement and SAML 2.0 AuthzDecisionStatement elements (comparison) SAML Attribute Statement Element Figure 3.6 below shows the structure of the SAML AttributeStatement element. It contains the following elements: <!ELEMENT AttributeStatement (Attribute EncryptedAttribute)+> <!ELEMENT Attribute (AttributeValue*)> <!ATTLIST Attribute Name CDATA #REQUIRED NameFormat CDATA #IMPLIED FriendlyName CDATA #IMPLIED >
17 a) SAML 1.1 AttributeStatement element b) SAML 2.0 AttributeStatement element Figure 3.6. SAML 1.1 and SAML 2.0 AttributeStatement elements (comparison) SAML Extendable Elements: Conditions and Advice The Conditions and Advice elements can contain the security context or e.g. credentials delegation and/or usage history. Both of these elements are extendable but in a different way. The Condition element can contain extendable condition element as a specific named instance of the abstract Condition element. The Advice element can contain any extendable element using any external namespace. SAML Conditions element is an optional top level element which is defined for the SAML 2.0 in the following way (the XML schema format is used to show the element s definition specific): 17
18 <element name="conditions" type="saml:conditionstype"/> <complextype name="conditionstype"> <choice minoccurs="0" maxoccurs="unbounded"> <element ref="saml:condition"/> <element ref="saml:audiencerestriction"/> <element ref="saml:onetimeuse"/> <element ref="saml:proxyrestriction"/> </choice> <attribute name="notbefore" type="datetime" use="optional"/> <attribute name="notonorafter" type="datetime" use="optional"/> </complextype> <element name="condition" type="saml:conditionabstracttype"/> <complextype name="conditionabstracttype" abstract="true"/> <element name="audiencerestriction" type="saml:audiencerestrictiontype"/> <complextype name="audiencerestrictiontype"> <complexcontent> <extension base="saml:conditionabstracttype"> <sequence> <element ref="saml:audience" maxoccurs="unbounded"/> </sequence> </extension> </complexcontent> </complextype> <element name="audience" type="anyuri"/> <element name="onetimeuse" type="saml:onetimeusetype"/> <complextype name="onetimeusetype"> <complexcontent> <extension base="saml:conditionabstracttype"/> </complexcontent> </complextype> <element name="proxyrestriction" type="saml:proxyrestrictiontype"/> <complextype name="proxyrestrictiontype"> <complexcontent> <extension base="saml:conditionabstracttype"> <sequence> <element ref="saml:audience" minoccurs="0" maxoccurs="unbounded"/> </sequence> <attribute name="count" type="nonnegativeinteger" use="optional"/> </extension> </complexcontent> </complextype> a) SAML 1.1 Conditions element
19 b) SAML 2.0 Conditions element Figure 3.7. SAML 1.1 and SAML 2.0 Condition element (comparison). SAML Advice element is an optional top level element which is defined for the SAML 2.0 in the following way (the XML schema format is used to show the element s definition specific): <element name="advice" type="saml:advicetype"/> <complextype name="advicetype"> <choice minoccurs="0" maxoccurs="unbounded"> <element ref="saml:assertionidref"/> <element ref="saml:assertionuriref"/> <element ref="saml:assertion"/> <element ref="saml:encryptedassertion"/> <any namespace="##other" processcontents="lax"/> </choice> </complextype> b) SAML 1.1 Advice element 19
20 b) SAML 2.0 Advice element Figure 3.8. SAML 1.1 and SAML 2.0 Advice element (comparison). 3.3 Examples of SAML 1.1 and SAML 2.0 Assertions SAML 1.1 and SAML 2.0 Authentication Assertions The examples of the SAML 1.1 and SAML 2.0 Authentication Assertions created with the OpenSAML 1.1 package and SAML 2.0 extensions will look like follows: <Assertion xmlns="urn:oasis:names:tc:saml:1.0:assertion" xmlns:saml="urn:oasis:names:tc:saml:1.0:assertion" xmlns:samlp="urn:oasis:names:tc:saml:1.0:protocol" AssertionID="b3edb01c39f5f c84b7181afe" IssueInstant=" T18:07:23.367Z" Issuer="cnl:subject:CNLAAAauthority" MajorVersion="1" MinorVersion="1"> <Conditions NotBefore=" T23:00:00.000Z" NotOnOrAfter=" T21:22:22.000Z"/> <AuthenticationStatement AuthenticationInstant=" T18:07:23.227Z" AuthenticationMethod="AuthenticationMethod_X509_PublicKey"> <Subject> <NameIdentifier Format="urn:oasis:names:tc:SAML:1.1:nameidformat: Address" <SubjectConfirmation> <ConfirmationMethod> </ConfirmationMethod> <ConfirmationMethod>callback</ConfirmationMethod> </SubjectConfirmation> </Subject> <SubjectLocality DNSAddress="dns.collaboratory.nl" IPAddress=" "/> </AuthenticationStatement> </Assertion> Listing 3.1. Example SAML 1.1 Authentication Assertion <Assertion xmlns="urn:oasis:names:tc:saml:2.0:assertion" xmlns:saml="urn:oasis:names:tc:saml:2.0:assertion" xmlns:samlp="urn:oasis:names:tc:saml:2.0:protocol" ID="e0fcd9f023440a05d540ba365e1ed1fe" IssueInstant=" T17:14:24.085Z" Version="2.0">
21 <Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:X509SubjectName" NameQualifier="cnl:subject:subject:AAAuthority">CN=Agent Smith, O=Matrix, C=NL</Issuer> <Subject> <NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format: Address" <SubjectConfirmation> <ConfirmationMethod> </ConfirmationMethod> <ConfirmationMethod>callback</ConfirmationMethod> </SubjectConfirmation> </Subject> <Conditions NotBefore=" T23:00:00.000Z" NotOnOrAfter=" T21:22:22.000Z"/> <AuthnStatement AuthenticationInstant=" T17:14:23.875Z" AuthenticationMethod="AuthenticationMethod_X509_PublicKey"> <SubjectLocality DNSAddress="dns.collaboratory.nl" IPAddress=" "/> </AuthnStatement> </Assertion> Listing 3.2. Example SAML 2.0 Authentication Assertion SAML 1.1 and SAML 2.0 Authorisation Assertions The examples of the SAML 1.1 and SAML 2.0 Authorisation Assertions containing also Attribute Assertion in the Evidence element will look like follows: <Assertion xmlns="urn:oasis:names:tc:saml:1.0:assertion" xmlns:saml="urn:oasis:names:tc:saml:1.0:assertion" xmlns:samlp="urn:oasis:names:tc:saml:1.0:protocol" AssertionID="dd6101a2c7b3d8656f479f8bdd6cfea3" IssueInstant=" T21:04:56.523Z" Issuer="cnl:subject:CNLAAAauthority" MajorVersion="1" MinorVersion="1"> <Conditions NotBefore=" T23:00:00.000Z" NotOnOrAfter=" T21:22:22.000Z"/> <AuthorizationDecisionStatement Resource=" <Subject> <NameIdentifier Format="urn:oasis:names:tc:SAML:1.1:nameidformat: Address" <SubjectConfirmation> <ConfirmationMethod> </ConfirmationMethod> <ConfirmationMethod>callback</ConfirmationMethod> </SubjectConfirmation> </Subject> <Action Namespace="urn:oasis:names:tc:SAML:1.0:action:cnl:action">CNLaction02: zoom</action> <Action Namespace="urn:oasis:names:tc:SAML:1.0:action:cnl:action">CNLaction01: 2Dscan</Action> <Evidence> <AssertionIDReference>2fc700ca40443c006172d0d3b055495f</AssertionIDReference> <Assertion AssertionID="aa198b5bbc6f7e16b9dad16c6d5a3d38" IssueInstant=" T21:04:56.392Z" Issuer="cnl:subject:CNLAAAauthority" MajorVersion="1" MinorVersion="1"> <Conditions NotBefore=" T23:00:00.000Z" NotOnOrAfter=" T21:22:22.000Z"/> <AttributeStatement> <Subject> <NameIdentifier Format="urn:oasis:names:tc:SAML:1.1:nameidformat: Address" > <SubjectConfirmation> <ConfirmationMethod> </ConfirmationMethod> <ConfirmationMethod>callback</ConfirmationMethod> </SubjectConfirmation> </Subject> <Attribute xmlns:typens="urn:cnl" xmlns:xsd=" 21
22 xmlns:xsi=" AttributeName="AttributeSubject" AttributeNamespace="urn:cnl"> <AttributeValue <AttributeValue xsi:type="typens:subject">cnl:subject:role</attributevalue> <AttributeValue xsi:type="typens:subject">jobid</attributevalue> </Attribute> </AttributeStatement> </Assertion> </Evidence> </AuthorizationDecisionStatement> </Assertion> Listing 3.3. Example SAML 1.1 Authorisation Assertion <Assertion xmlns="urn:oasis:names:tc:saml:1.0:assertion" xmlns:saml="urn:oasis:names:tc:saml:1.0:assertion" xmlns:samlp="urn:oasis:names:tc:saml:1.0:protocol" AssertionID="b444a40244e84092d862089eaff8e878" IssueInstant=" T18:07:41.423Z" Issuer="cnl:subject:CNLAAAauthority" MajorVersion="1" MinorVersion="1"> <Conditions NotBefore=" T23:00:00.000Z" NotOnOrAfter=" T21:22:22.000Z"/> <AuthorizationDecisionStatement Resource=" <Subject> <NameIdentifier Format="urn:oasis:names:tc:SAML:1.1:nameidformat: Address" <SubjectConfirmation> <ConfirmationMethod> </ConfirmationMethod> <ConfirmationMethod>callback</ConfirmationMethod> </SubjectConfirmation> </Subject> <Action Namespace="urn:oasis:names:tc:SAML:1.0:action:cnl:action">CNLaction02: zoom</action> <Action Namespace="urn:oasis:names:tc:SAML:1.0:action:cnl:action">CNLaction01: 2Dscan</Action> <Evidence> <Assertion AssertionID="dcfb bd7a8d7844d7e47b09" IssueInstant=" T18:07:41.353Z" Issuer="cnl:subject:CNLAAAauthority" MajorVersion="1" MinorVersion="1"> <Conditions NotBefore=" T23:00:00.000Z" NotOnOrAfter=" T21:22:22.000Z"/> <AttributeStatement> <Subject> <NameIdentifier Format="urn:oasis:names:tc:SAML:1.1:nameidformat: Address" > <SubjectConfirmation> <ConfirmationMethod> </ConfirmationMethod> <ConfirmationMethod>callback</ConfirmationMethod> </SubjectConfirmation> </Subject> <Attribute xmlns:typens="urn:cnl" xmlns:xsd=" xmlns:xsi=" AttributeName="AttributeSubject" AttributeNamespace="urn:cnl"> <AttributeValue <AttributeValue xsi:type="typens:subject">cnl:subject:role</attributevalue> <AttributeValue xsi:type="typens:subject">jobid</attributevalue> </Attribute> </AttributeStatement> </Assertion> <AssertionIDReference>b3caea17c5dfa322289e16f01696fdf7</AssertionIDReference> </Evidence> </AuthorizationDecisionStatement> </Assertion>
23 Listing 3.4. Example SAML 2.0 Authorisation Assertion SAML 1.1 and SAML 2.0 Attribute Assertions The examples of the SAML 1.1 and SAML 2.0 Attribute Assertions created with the upgraded OpenSAML 1.1 package will look like follows: <Assertion xmlns="urn:oasis:names:tc:saml:1.0:assertion" xmlns:saml="urn:oasis:names:tc:saml:1.0:assertion" xmlns:samlp="urn:oasis:names:tc:saml:1.0:protocol" AssertionID="aa198b5bbc6f7e16b9dad16c6d5a3d38" IssueInstant=" T21:04:56.392Z" Issuer="cnl:subject:CNLAAAauthority" MajorVersion="1" MinorVersion="1"> <Conditions NotBefore=" T23:00:00.000Z" NotOnOrAfter=" T21:22:22.000Z"/> <AttributeStatement> <Subject> <NameIdentifier Format="urn:oasis:names:tc:SAML:1.1:nameidformat: Address" > <SubjectConfirmation> <ConfirmationMethod> </ConfirmationMethod> <ConfirmationMethod>callback</ConfirmationMethod> </SubjectConfirmation> </Subject> <Attribute xmlns:typens="urn:cnl" xmlns:xsd=" xmlns:xsi=" AttributeName="AttributeSubject" AttributeNamespace="urn:cnl"> <AttributeValue <AttributeValue xsi:type="typens:subject">cnl:subject:role</attributevalue> <AttributeValue xsi:type="typens:subject">jobid</attributevalue> </Attribute> </AttributeStatement> </Assertion> Listing 3.5. Example SAML 1.1 Attribute Assertion <Assertion xmlns="urn:oasis:names:tc:saml:2.0:assertion" xmlns:saml="urn:oasis:names:tc:saml:2.0:assertion" xmlns:samlp="urn:oasis:names:tc:saml:2.0:protocol" ID="b4d00e1500d2a10a43d3d2fb5a578028" IssueInstant=" T17:17:24.164Z" Version="2.0"> <Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:X509SubjectName" NameQualifier="cnl:subject:subject:AAAuthority">CN=Agent Smith, O=Matrix, C=NL</Issuer> <Subject> <NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format: Address" <SubjectConfirmation> <ConfirmationMethod> </ConfirmationMethod> <ConfirmationMethod>callback</ConfirmationMethod> </SubjectConfirmation> </Subject> <Conditions NotBefore=" T23:00:00.000Z" NotOnOrAfter=" T21:22:22.000Z"/> <AttributeStatement> <Attribute xmlns:typens="urn:cnl" xmlns:xsd=" xmlns:xsi=" AttributeName="AttributeSubject" AttributeNamespace="urn:cnl"> <AttributeValue <AttributeValue xsi:type="typens:subject">cnl:subject:role</attributevalue> <AttributeValue xsi:type="typens:subject">jobid</attributevalue> </Attribute> </AttributeStatement> </Assertion> 23
24 Listing A.6. Example SAML 2.0 Attribute Assertion Using Extendable Conditions and Advice elements for placing additional authorisation information in the SAML Authorisation Assertion The examples below provide illustration how the Conditions and the Advice elements can be used for placing additional information such as policy decision obligations defined in XAML and required for mapping between SAML Authorisation Assertion and XACML Request/Response (and also OCE/CNL AuthzTicket as described in section 2). When using the Condition type, a new named element must be defined using the Condition abstract type as a base. The example below uses the newly defined element PolicyObligation (the implementation is done using OpenSAML package). <Assertion xmlns="urn:oasis:names:tc:saml:1.0:assertion" xmlns:saml="urn:oasis:names:tc:saml:1.0:assertion" xmlns:samlp="urn:oasis:names:tc:saml:1.0:protocol" AssertionID="bcef144fce596fb2e522c cbf" IssueInstant=" T00:08:01.668Z" Issuer="cnl:subject:CNLAAAauthority" MajorVersion="1" MinorVersion="1"> <Conditions NotBefore=" T23:00:00.000Z" NotOnOrAfter=" T21:22:22.000Z"> <PolicyObligation> Action cost = 100 EUR</PolicyObligation> <PolicyObligation> Request data logging</policyobligation> </Conditions> <AuthorizationDecisionStatement Decision="@Resource;Permit" Resource=" <Subject> <NameIdentifier Format="urn:oasis:names:tc:SAML:1.1:nameidformat: Address" NameQualifier="cnl:subject:customer">[email protected]</NameIdentifier> <SubjectConfirmation> <ConfirmationMethod> </ConfirmationMethod> <ConfirmationMethod>callback</ConfirmationMethod> </SubjectConfirmation> </Subject> <Action Namespace="urn:oasis:names:tc:SAML:1.0:action:cnl:action">CNLaction02: zoom</action> <Action Namespace="urn:oasis:names:tc:SAML:1.0:action:cnl:action">CNLaction01: 2Dscan</Action> <Evidence> <AssertionIDReference>ef7307b571e6fa73fb3241bf1bf2f4aa</AssertionIDReference> <Assertion AssertionID="cf59000d2e4fc3f841919df937390f5f" IssueInstant=" T00:08:01.568Z" Issuer="cnl:subject:CNLAAAauthority" MajorVersion="1" MinorVersion="1"> <Conditions NotBefore=" T23:00:00.000Z" NotOnOrAfter=" T21:22:22.000Z"/> <AttributeStatement> <Subject> <NameIdentifier Format="urn:oasis:names:tc:SAML:1.1:nameidformat: Address" NameQualifier="cnl:subject:customer">[email protected]</NameIdentifier > <SubjectConfirmation> <ConfirmationMethod> </ConfirmationMethod> <ConfirmationMethod>callback</ConfirmationMethod> </SubjectConfirmation> </Subject> <Attribute xmlns:typens="urn:cnl" xmlns:xsd=" xmlns:xsi=" AttributeName="AttributeSubject" AttributeNamespace="urn:cnl">
25 <AttributeValue <AttributeValue xsi:type="typens:subject">cnl:subject:role</attributevalue> <AttributeValue xsi:type="typens:subject">jobid</attributevalue> </Attribute> </AttributeStatement> </Assertion> </Evidence> </AuthorizationDecisionStatement> </Assertion> When using the Advice element, the XACML Obligation element can be placed directly as a subelement into the SAML Advice element (see listing below). <Assertion xmlns="urn:oasis:names:tc:saml:1.0:assertion" xmlns:saml="urn:oasis:names:tc:saml:1.0:assertion" xmlns:samlp="urn:oasis:names:tc:saml:1.0:protocol" AssertionID="d9805da9af718909ba6dd2e0e49b9bc4" IssueInstant=" T23:58:00.534Z" Issuer="cnl:subject:CNLAAAauthority" MajorVersion="1" MinorVersion="1"> <Conditions NotBefore=" T23:00:00.000Z" NotOnOrAfter=" T21:22:22.000Z"/> <Advice> <Obligation FulfillOn="Permit" ObligationId="urn:oasis:names:tc:xacml:1.0:obligation">Policy obligation (1): Action cost = 100 EUR</Obligation> <Obligation FulfillOn="Permit" ObligationId="urn:oasis:names:tc:xacml:1.0:obligation">Policy obligation (2): Request data logging</obligation> </Advice> <AuthorizationDecisionStatement Decision="@Resource;Permit" Resource=" <Subject> <NameIdentifier Format="urn:oasis:names:tc:SAML:1.1:nameidformat: Address" NameQualifier="cnl:subject:customer">[email protected]</NameIdentifier> <SubjectConfirmation> <ConfirmationMethod> </ConfirmationMethod> <ConfirmationMethod>callback</ConfirmationMethod> </SubjectConfirmation> </Subject> <Action Namespace="urn:oasis:names:tc:SAML:1.0:action:cnl:action">CNLaction02: zoom</action> <Action Namespace="urn:oasis:names:tc:SAML:1.0:action:cnl:action">CNLaction01: 2Dscan</Action> <Evidence> <Assertion AssertionID="a5de72c3b0fa4df31f288d318dcbd0e4" IssueInstant=" T23:58:00.454Z" Issuer="cnl:subject:CNLAAAauthority" MajorVersion="1" MinorVersion="1"> <Conditions NotBefore=" T23:00:00.000Z" NotOnOrAfter=" T21:22:22.000Z"/> <AttributeStatement> <Subject> <NameIdentifier Format="urn:oasis:names:tc:SAML:1.1:nameidformat: Address" NameQualifier="cnl:subject:customer">[email protected]</NameIdentifier > <SubjectConfirmation> <ConfirmationMethod> </ConfirmationMethod> <ConfirmationMethod>callback</ConfirmationMethod> </SubjectConfirmation> </Subject> <Attribute xmlns:typens="urn:cnl" xmlns:xsd=" xmlns:xsi=" AttributeName="AttributeSubject" AttributeNamespace="urn:cnl"> 25
26 <AttributeValue <AttributeValue xsi:type="typens:subject">cnl:subject:role</attributevalue> <AttributeValue xsi:type="typens:subject">jobid</attributevalue> </Attribute> </AttributeStatement> </Assertion> <AssertionIDReference>ceb0ae5481d4812fdb217bac e</AssertionIDReference> </Evidence> </AuthorizationDecisionStatement> </Assertion> 4 XACML policy expression and messaging format 4.1 Generic RBAC functionality The generic Authorisation infrastructure consists of o RBE (Rule Based Engine) as a central policy based decision making point, o PEP (Policy Enforcement Point) providing Resource specific AuthZ decision request/response handling and policy defined obligations execution, o PAP (Policy Authority Point) or Policy DB as a policy storage (in general, distributed), o PIP (Policy Information Point) providing external policy context and attributes to the RBE including subject credentials and attributes verification o RIP (Resource Information Point) that provides resource context. o AA (Attribute Authority) that manages user attributes To allow user access to the resource, Resource Agent requests via a Policy Enforcement Point (PEP) an authorisation decision from a Policy Decision Point (PDP) that evaluates the authorisation request against the policy defined for a particular job, resource and user attributes/roles. The access policy is defined by the resource owner and stored in the policy repository. The PEP and PDP may also request specific user attributes or credentials from the Authentication service, or additional information from the Resource/Instrument. Figure 4.1 illustrates a basic Authorisation functionality that implements the generic RBAC model.
27 Figure 4.1. RBAC based access control system components and dataflows. In details, the XACML RBAC model operates by the following steps [XACML 2.0]: 1. PAPs write policies and policy sets and make them available to the PDP. These policies or policy sets represent the complete policy for a specified target. 2. The access requester sends a request for access to the PEP. 3. The PEP sends the request for access to the context handler in its native request format, optionally including attributes of the subjects, resource, action and environment. 4. The context handler constructs an XACML request context and sends it to the PDP. 5. The PDP requests any additional subject, resource, action and environment attributes from the context handler. 6. The context handler requests the attributes from a PIP. 27
28 7. The PIP obtains the requested attributes. 8. The PIP returns the requested attributes to the context handler. 9. Optionally, the context handler includes the resource in the context. 10. The context handler sends the requested attributes and (optionally) the resource to the PDP. The PDP evaluates the policy. 11. The PDP returns the response context (including the authorization decision) to the context handler. 12. The context handler translates the response context to the native response format of the PEP. The context handler returns the response to the PEP. 13. If access is permitted, then the PEP permits access to the resource; otherwise, it denies access. The PEP fulfils the obligations, generally, for both cases of possible PDP solutions. 4.2 XACML Core specification 1 XACML provides a format for expressing policy for the generic RBAC used by PDP and define a simple Request/Response messages format. XACML (extensible Access Control Markup Language) defines reach policy format for access control based on Subject-Resource-Action triad attributes. XACML defines format for policy and request/response messages. Decision request sent in a Request message provides context for policy-based decision. The complete policy applicable to a particular decision request may be composed of a number of individual rules or policies. Few policies may be combined to form the single policy applicable to the request. XACML defines three top-level policy elements: <Rule>, <Policy> and <PolicySet>. The <Rule> element contains a Boolean expression that can be evaluated in isolation, but that is not intended to be accessed in isolation by a PDP. So, it is not intended to form the basis of an authorization decision by itself. It is intended to exist in isolation only within an XACML PAP, where it may form the basic unit of management, and be re-used in multiple policies. The <Policy> element contains a set of <Rule> elements and a specified procedure for combining the results of their evaluation. It is the basic unit of policy used by the PDP, and so it is intended to form the basis of an authorization decision. 1 Currently this section provides text and example for the XACML 1.0 version. Next updates will add also comparison with the XACML 2.0.
29 The <PolicySet> element contains a set of <Policy> or other <PolicySet> elements and a specified procedure for combining the results of their evaluation. It is the standard means for combining separate policies into a single combined policy. XACML defines a number of Rule and Policy combining algorithms that define a procedure for arriving at an authorization decision given the individual results of evaluation of a set of rules or policies, in particular: Deny-overrides, Permit-overrides, First applicable, Only-one-applicable. XAML Policies are based (or bound) to subject and resource attributes that are different from their identities. XAML allows multiple subjects and multi-valued attributes. XAML also allows policies based on resource content what means that authorisation decision may be based on content of the requested resource or its status. Information security policies operate upon attributes of subjects, the resource and the action to be performed on the resource in order to arrive at an authorization decision. In the process of arriving at the authorization decision, attributes of many different types may have to be compared or computed. XACML includes a number of built-in functions and a method of adding non-standard functions. These functions may be nested to build arbitrarily complex expressions. This is achieved with the <Apply> element. The <Apply> element has an XML attribute called FunctionId that identifies the function to be applied to the contents of the element. Each standard function is defined for specific argument data-type combinations, and its return data-type is also specified. Figures 4.2 and 4.3 shows the structure of Policy element and Rule element. Policy is bound to the Target that is described by Subject, Resource and Action. Policy may contain a number of rules defined by multiple Rule elements. 29
30 Fig Definition of the Policy element in XACML 1.0 that binds access rules to the Target (Subject, Resource, Action). A rule is the most elementary unit of policy. The main components of a rule are target, condition that are represented by subelements and effect which is included as an attribute of the Rule element. The <Condition> element is a boolean function over subject, resource, action and environment attributes or functions of attributes. If the <Condition> element evaluates to "True", then the enclosing <Rule> element is assigned its Effect value. The <Condition> element is of ApplyType complex type. The <Apply> element denotes application of a function to its arguments, thus encoding a function call. The <Apply> element can be applied to any combination of <Apply>, <AttributeValue>, <SubjectAttributeDesignator>, <ResourceAttributeDesignator>, <ActionAttributeDesignator>, <EnvironmentAttributeDesignator> and <AttributeSelector> arguments.
31 Fig Definition of the Rule element in XACML 1.0 that defines the access Conditions to the Target (Subject, Resource, Action). XACML re-uses enumerated list of functions and operations defined in XPath 2.0 and XQuery 1.0 used in the FunctionId attribute of the <Apply>/<Condition> element. Element Target contains matching specification for the attributes of the Subject, Resource and Action. The EGEE site Authorisation service will use standard XACML messaging format to ensure future compatibility with new and emerging products. XAML defines format for the Request message that provides context for the policy-based decision. Request may contain multiple Subject elements and multiple attributes of the Subject, Resource and Action. The request message consists of three mandatory elements Subject, Resource, Action (so called Target triad Subject, Resource, Action), and optionally may contain the Environment element. The Subject element normally consists of Subject attributes, Subject authentication token and may contain subject ID sub-elements. The Resource element contains ResourceID sub-element that specifies the CNL resource or instrument, and may contain multiple ResourceAttribute sub-elements that may define resource subsystem or content related attribute. The Action element contains only one sub-element ActionID. It will be also possible to request multiple actions, however handling of such requests should be defined by the policy. The Environment element provides additional context 31
32 information for the Request and can used for Requestor s policy reference in case of mutual Authorisation. Fig High-level elements of the XACML 1.0 Request (XACML 2.0 Request is the same). Response message defined by XACML provides format for conveying Decision ( Deny or Permit ) and Status of the decision making process. The Response message format may contain multiple Result elements as defined by the request message and resource policy. The Result element contains a Decision element, which may contain either Permit or Deny or Intermediate. The Status element may contain a simple status code (e.g., OK, request-info, etc.) and additional status information in the StatusMessage and StatusDetail sub-elements.
33 Fig High-level elements of the XACML 1.0 Response (XACML 2.0 Request is the same). A request message sent by a user or an application over is an XML message sent with SOAP HTTP channel. Such a request contains information about the Requestor/Subject, Resource and requested Action. The response message contains a Decision result that may be either Permit or Deny for a final decision (or Intermediate for an intermediate communication). Example below shows a XACML request message send to the PDP and requesting permission to perform ControlInstrument action on resource XPS1. Subject is represented by its SubjectID, authentication token and attributes role and JobID. <?xml version="1.0" encoding="utf-8"?> <xacml-context:aaarequest xmlns:xacml="urn:oasis:names:tc:xacml:1.0:policy" xmlns:xacml-context="urn:oasis:names:tc:xacml:1.0:context" xmlns:xsi=" xsi:schemalocation="urn:oasis:names:tc:xacml:1.0:context data/schemas/aaa-cnl-msgxacml-01.xsd"> <!-- CNL AAARequest message contains triad (Subject, Resource, Action), Environment is left as optional element for XACML compatibility --> <xacml-context:subject Id="subject" SubjectCategory="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject"> <!-- In CNL Subject = (SubjectId, Token, JobId, Role) are defined by AttributeId designator --> <!-- Note: Policy will use Role and Token to evaluate permissions, SubjectID is used for possible re-authentication or other purposes--> <xacml-context:attribute AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" DataType=" Issuer="[email protected]"> <xacml-context:attributevalue>[email protected]</xacmlcontext:attributevalue> </xacml-context:attribute> <xacml-context:attribute AttributeId="urn:oasis:names:tc:xacml:1.0:subject:token" DataType=" Issuer="[email protected]"> <xacml-context:attributevalue>2sedfgvhyty83zxxedsweop8iok)yghxvfhom90</xacmlcontext:attributevalue> </xacml-context:attribute> <xacml-context:attribute AttributeId="urn:oasis:names:tc:xacml:1.0:subject:jobid" DataType=" Issuer="[email protected]"> <xacml-context:attributevalue>jobid-xps1-212</xacml-context:attributevalue> </xacml-context:attribute> <!-- Roles defined for CNL Demo2: Analyst, Customer, Guest, Admin --> 33
34 <xacml-context:attribute AttributeId="urn:oasis:names:tc:xacml:1.0:subject:role" DataType=" <xacml-context:attributevalue>analyst</xacml-context:attributevalue> </xacml-context:attribute> </xacml-context:subject> <!-- Policy will be defined for any of resources in CNL: Phillips XPS 1, Phillips TEM 1, FEI TEM 1, CNL Job Management, CNL User Management, CNL DataStorage --> <xacml-context:resource> <xacml-context:attribute AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType=" <xacml-context:attributevalue> Phillips_XPS1</xacml-context:AttributeValue> </xacml-context:attribute> </xacml-context:resource> <!-- Suggested list of action in CNL: ControlInstrument, ControlExperiment, ViewArchive, ViewExperiment, AdminTask --> <xacml-context:action> <xacml-context:attribute AttributeId="urn:oasis:names:tc:xacml:1.0:action:token" DataType=" <xacml-context:attributevalue>controlexperiment</xacmlcontext:attributevalue> </xacml-context:attribute> </xacml-context:action> <xacml-context:environment> <xacml-context:attribute AttributeId="urn:oasis:names:tc:xacml:1.0:environment:issue-time" DataType=" <xacml-context:attributevalue> t10:30:00</xacmlcontext:attributevalue> </xacml-context:attribute> </xacml-context:environment> </xacml-context:aaarequest> Listing 4.1. Example XACML Request message The following message is a PDP response with the result Permit : <?xml version="1.0" encoding="utf-8"?> <AAA:AAAResponse xmlns:aaa=" xmlns:xsi=" xsi:schemalocation=" aaa-cnl-msg-xaml-01.xsd"> <Result ResourceId=" llips_xps1"> <Status> <StatusCode Value="OK"/> <StatusDetail>DecisionID</StatusDetail> <StatusMessage>Request is successful</statusmessage> </Status> <Decision>Permit</Decision> </Result> </AAA:AAAResponse> Listing 4.2. Example XACML Response message
35 4.3 XACML 2.0 special profiles XACML 2.0 RBAC profile XACML RBAC profile describes how to built Policies requiring multiple Subjects and roles combination to access a resource and perform an action. Multiple Subject elements in XACML allow flexibility when implementing hierarchical RBAC model for such cases when some actions require superior subject/role approval to perform a specific action. One or more <Subject> elements are allowed. A subject is an entity associated with the access request. For example, one subject might represent the human user that initiated the application from which the request was issued; another subject might represent the application s executable code responsible for creating the request; another subject might represent the machine on which the application was executing; and another subject might represent the entity that is to be the recipient of the resource XACML 2.0 Profile for Multiple Resources The conditions under which multiple <Resource> elements are allowed are described in the XACML Profile for Multiple Resources. The hierarchical resource profile specifies how XACML can provide access control for a resource that is organized as a hierarchy, which examples are Examples include file systems, XML documents, and organizations. In this case resource is presented as set hierarchical nodes which are referred to as resource-parent, resource-ancestor, and resource-ancestor-or-self XACML Multiple Resources profile XACML Multiple Resources profile SHALL be interpreted as a request for access to all resources specified in the individual <Resource> elements. For each <Resource>element, one Individual Resource Request SHALL be created. This Individual Resource Request SHALL be identical to the original request context with one exception: only the one <Resource>element SHALL be present. If such a <Resource> element contains a scope attribute having any value other than Immediate, then the Individual Resource Request SHALL be further processed according to the corresponding enumerated value of this attribute. This processing may involve decomposing the one Individual Resource Request into other Individual Resource Requests before evaluation by the PDP. 5 References [1] Role Based Access Control (RBAC) NIST, April [2] ISO/IEC :1996 Information technology -- Open Systems Interconnection -- Security frameworks for open systems: Access control framework. Available in OSG Authorisation API. - [3] GFD-I.32 GGF Site requirements for Grid Authentication, Authorization and Accounting. October 13,
36 [4] Security Architecture for Open Collaborative Environment. By Yuri Demchenko, Leon Gommans, Cees de Laat, Bas Oudenaarde, Andrew Tokmakoff, Martin Snijders, Rene van Buuren. Paper submitted to EGC2005. [5] extensible Access Control Markup Language (XACML) Version Committee Draft 01, 24 July pdf [6] extensible Access Control Markup Language (XACML) Version Committee Draft 04, 6 December pdf [7] XACML profile for Web-services (WSPL): - [8] Web-services policy language use-cases and requirements: [9] Hierarchical Resource profile of XACML. Committee Draft 01, 11 November [10] Multiple Resource profile of XACML. Committee Draft 01, 11 November [11] Core and Hierarchical Role Based Access Control (RBAC) profile of XACML, Version 2.0. Committee Draft 01, 11 November [12] Security Assertion Markup Language (SAML) v1.0 - OASIS Standard, 5 November [13] Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0. Committee Draft 03,14 December [14] SAML 2.0 profile of XACML. Draft 02, 11 November [15] Web Services Policy Framework (WS-Policy). Version [16] Web Services Policy Attachment (WS-PolicyAttachment). Version [17] Web Services Federation Language (WS-Federation) Version July [18] Liberty Alliance Phase 2 Final Specifications - [19] Web Services Secure Conversation Language (WS-SecureConversation) -
Assertions and Protocol for the OASIS Security Assertion Markup Language (SAML) V1.1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 Assertions and Protocol for the OASIS Security Assertion Markup Language (SAML) V1.1 OASIS Standard,
SAML and XACML Overview. Prepared by Abbie Barbir, [email protected] Nortel Canada April 25, 2006
SAML and XACML Overview Prepared by Abbie Barbir, [email protected] Nortel Canada April 25, 2006 Acknowledgements Some slides are provided by > Eve Maler, Sun Microsystems > Hal Lockhart, BEA 2 Agenda
Access Control in Distributed Systems. Murat Kantarcioglu
UT DALLAS Erik Jonsson School of Engineering & Computer Science Access Control in Distributed Systems Murat Kantarcioglu Topics Overview SAML XACML Overview Security for distributed systems has been widely
Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0
2 3 4 5 Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0 OASIS Standard, 15 March 2005 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Identity Assurance Hub Service SAML 2.0 Profile v1.2a
1 2 3 4 Identity Assurance Hub Service SAML 2.0 Profile v1.2a Identity Assurance Programme, 07 August 2015 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Document identifier: IDAP/HubService/Profiles/SAML Editors:
National Identity Exchange Federation. Web Browser User-to-System Profile. Version 1.0
National Identity Exchange Federation Web Browser User-to-System Profile Version 1.0 August 18, 2014 Table of Contents TABLE OF CONTENTS 1 1. TARGET AUDIENCE AND PURPOSE 2 2. TERMINOLOGY 2 3. REFERENCES
IHE IT Infrastructure Technical Framework Supplement. Secure Retrieve (SeR) Trial Implementation
Integrating the Healthcare Enterprise 5 IHE IT Infrastructure Technical Framework Supplement 10 Secure Retrieve (SeR) 15 Trial Implementation 20 Date: August 31, 2015 Author: IHE ITI Technical Committee
Security Assertion Markup Language (SAML) 2.0 Technical Overview
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Security Assertion Markup Language (SAML) 2.0 Technical Overview Working Draft 03, 20 February 2005 Document identifier:
Single Sign-On Implementation Guide
Version 27.0: Spring 13 Single Sign-On Implementation Guide Last updated: February 1, 2013 Copyright 2000 2013 salesforce.com, inc. All rights reserved. Salesforce.com is a registered trademark of salesforce.com,
OIO SAML Profile for Identity Tokens
> OIO SAML Profile for Identity Tokens Version 1.0 IT- & Telestyrelsen October 2009 Content > Document History 3 Introduction 4 Related profiles 4 Profile Requirements 6 Requirements 6
On XACML, role-based access control, and health grids
On XACML, role-based access control, and health grids 01 On XACML, role-based access control, and health grids D. Power, M. Slaymaker, E. Politou and A. Simpson On XACML, role-based access control, and
Single Sign-On Implementation Guide
Salesforce.com: Salesforce Winter '09 Single Sign-On Implementation Guide Copyright 2000-2008 salesforce.com, inc. All rights reserved. Salesforce.com and the no software logo are registered trademarks,
IAM Application Integration Guide
IAM Application Integration Guide Date 03/02/2015 Version 0.1 DOCUMENT INFORMATIE Document Title IAM Application Integration Guide File Name IAM_Application_Integration_Guide_v0.1_SBO.docx Subject Document
Implementing Single Sign On in Java Technologybased
Implementing Single Sign On in Java Technologybased Web Services Rima Patel Sriganesh Technology Evangelist Sun Microsystems, Inc. Why Am I Here? Well Because I Hate to sign-on tens of times for using
Authorization-Authentication Using
School of Computing Science, University of Newcastle upon Tyne Authorization-Authentication Using XACML and SAML Jake Wu and Panos Periorellis Technical Report Series CS-TR-907 May 2005 Copyright c 2004
A Model for Access Control Management in Distributed Networks
A Model for Access Control Management in Distributed Networks Master of Science Thesis Azadeh Bararsani Supervisor/Examiner: Dr. Johan Montelius Royal Institute of Technology (KTH), Stockholm, Sweden,
SAML basics A technical introduction to the Security Assertion Markup Language
SAML basics A technical introduction to the Security Assertion Markup Language WWW2002 Eve Maler, XML Standards Architect XML Technology Center Sun Microsystems, Inc. Agenda The problem space SAML concepts
XACML. extensible Access Control Markup Language
XACML extensible Access Control Markup Language Author Coordinator Doutor Diogo Gomes Collaborator Engenheiro Ricardo Azevedo Universidade de Aveiro Instituto de Telecomunicações Portugal Telecom Inovação
SAML Security Analysis. Huang Zheng Xiong Jiaxi Ren Sijun
SAML Security Analysis Huang Zheng Xiong Jiaxi Ren Sijun outline The intorduction of SAML SAML use case The manner of SAML working Security risks on SAML Security policy on SAML Summary my course report
CAS Protocol 3.0 specification
CAS Protocol 3.0 specification Contents CAS Protocol 3.0 Specification 5 Authors, Version 5 1. Introduction 5 1.1. Conventions & Definitions.................... 5 1.2 Reference Implementation....................
IBM WebSphere Application Server
IBM WebSphere Application Server SAML 2.0 web single-sign-on 2012 IBM Corporation This presentation describes support for SAML 2.0 web browser Single Sign On profile included in IBM WebSphere Application
Automated Testing of SAML 2.0 Service Providers. Andreas Åkre Solberg UNINETT [email protected] http://rnd.feide.no
Automated Testing of SAML 2.0 Service Providers Andreas Åkre Solberg UNINETT [email protected] http://rnd.feide.no Background 0% of SAML 2.0 implementations do SAML 100% correct. SAML includes alot of
Biometric Single Sign-on using SAML Architecture & Design Strategies
Biometric Single Sign-on using SAML Architecture & Design Strategies Ramesh Nagappan Java Technology Architect Sun Microsystems [email protected] 1 Setting Expectations What you can take away! Understand
Single Sign-On Implementation Guide
Single Sign-On Implementation Guide Salesforce, Winter 16 @salesforcedocs Last updated: November 4, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark
MONDESIR Eunice WEILL-TESSIER Pierre FEDERATED IDENTITY. ASR 2006/2007 Final Project. Supervisers: Maryline Maknavicius-Laurent, Guy Bernard
MONDESIR Eunice WEILL-TESSIER Pierre FEDERATED IDENTITY ASR 2006/2007 Final Project Supervisers: Maryline Maknavicius-Laurent, Guy Bernard Federated Identity Project topic Superviser: Maryline Maknavicius
Single Sign-On Implementation Guide
Single Sign-On Implementation Guide Salesforce, Summer 15 @salesforcedocs Last updated: July 1, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark of
SAML Profile for SSO in Danish Public Sector V2.0 Assertion Examples,
> SAML Profile for SSO in Danish Public Sector V2.0 Assertion Examples, Version 1.1 IT- og Telestyrelsen, Center for Serviceorienteret Infrastruktur August 2007 1 Introduction This non-normative document
[MS-SAMLPR]: Security Assertion Markup Language (SAML) Proxy Request Signing Protocol Specification
[MS-SAMLPR]: Security Assertion Markup Language (SAML) Proxy Request Signing Protocol Specification Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft
This Working Paper provides an introduction to the web services security standards.
International Civil Aviation Organization ATNICG WG/8-WP/12 AERONAUTICAL TELECOMMUNICATION NETWORK IMPLEMENTATION COORDINATION GROUP EIGHTH WORKING GROUP MEETING (ATNICG WG/8) Christchurch New Zealand
Security Assertion Markup Language (SAML)
CS 595G 02/14/06 Security Assertion Markup Language (SAML) Vika Felmetsger 1 SAML as OASIS Standard OASIS Open Standard SAML V2.0 was approved in March, 2005 Blending of two earlier efforts on portable
Microsoft Active Directory Oracle Enterprise Gateway Integration Guide
An Oracle White Paper May 2011 Microsoft Active Directory Oracle Enterprise Gateway Integration Guide 1/33 Disclaimer The following is intended to outline our general product direction. It is intended
Design and Implementaion of a Single Sign-On Library Supporting SAML (Security Assertion Markup Language) for Grid and Web Services Security
Design and Implementaion of a Single Sign-On Library Supporting SAML (Security Assertion Markup Language) for Grid and Web Services Security Dongkyoo Shin, Jongil Jeong, and Dongil Shin Department of Computer
Test Plan for Liberty Alliance SAML Test Event Test Criteria SAML 2.0
1 2 3 4 5 6 7 8 9 10 11 Test Plan for Liberty Alliance SAML Test Event Test Criteria SAML 2.0 Version 3.2.2 Editor: Kyle Meadors, Drummond Group Inc. Abstract: This document describes the test steps to
Feide Technical Guide. Technical details for integrating a service into Feide
Feide Technical Guide Technical details for integrating a service into Feide May 2015 Document History Version Date Initials Comments 1.0 Nov 2009 TG First issue 1.2 Nov 2009 TG Added SLO description 1.3
Profiles for the OASIS Security Assertion Markup Language (SAML) V2.0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 Profiles for the OASIS Security Assertion Markup Language (SAML) V2.0 OASIS Standard,
SAML Security Assertion Markup Language
SAML Security Assertion Markup Language Dennis Kafura Draws heavily on: SAML basics: A technical introduction to the Security Assertion Markup Language, Eve Maler, Sun Microsystems 1 SAML in Context SAML
SAML Profile for Privacy-enhanced Federated Identity Management
SAML Profile for Privacy-enhanced Federated Identity Management Rainer Hörbe, Identinetics GmbH Abstract This profile for the SAML WebSSO use case specifies an enhancement that allows users to limit their
User Management Interfaces for Earth Observation Services Abstract Test Suite
User Management Interfaces for Earth Observation Services Abstract Test Suite Primary Author Andrew Woolf, STFC Rutherford Appleton Laboratory Revision history Version Contributors Date Changes 0.1 Andrew
How To Test For A Signature On A Password On A Webmail Website In Java (For Free)
Master Thesis Automated Penetration Testing for SAML-based SSO Frameworks Author: Benjamin Sanno Supervisor: Prof. Dr. Jörg Schwenk Vladislav Mladenov Christian Mainka A thesis submitted in fulfilment
GFIPM Web Browser User-to-System Profile Version 1.2
About the Document Justice organizations are looking for ways to provide secured access to multiple agency information systems with a single logon. The Global Federated Identity and Privilege Management
Security Assertion Markup Language (SAML) V2.0 Technical Overview
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 Security Assertion Markup Language (SAML) V2.0 Technical Overview Working Draft 10, 9 October 2006 Document
Web Services Security: SAML Token Profile 1.1
1 2 3 4 5 6 7 8 9 10 11 12 13 Web Services Security: SAML Token Profile 1.1 OASIS Standard, 1 February 2006 Document Identifier: wss-v1.1-spec-os-samltokenprofile OASIS Identifier: {WSS: SOAP Message Security
Introduction to SAML. Jason Rouault Section Architect Internet Security Solutions Lab Hewlett-Packard. An XML based Security Assertion Markup Language
Introduction to SAML An XML based Security Assertion Markup Language Jason Rouault Section Architect Internet Security Solutions Lab Hewlett-Packard 1/18/2002 Introduction to SAML Page 1 Credits and Acknowledgements
Revised edition. OIO Web SSO Profile V2.0.9 (also known as OIOSAML 2.0.9) Includes errata and minor clarifications
OIO Web SSO Profile V2.0.9 (also known as OIOSAML 2.0.9) Revised edition Includes errata and minor clarifications Danish Agency for Digitisation September 2012 Contents > 1 Introduction 8 1.1 Referenced
2015-11-30. Web Based Single Sign-On and Access Control
0--0 Web Based Single Sign-On and Access Control Different username and password for each website Typically, passwords will be reused will be weak will be written down Many websites to attack when looking
Revised edition. OIO Web SSO Profile V2.0.8 (also known as OIOSAML 2.0.8) Includes errata and minor clarifications
OIO Web SSO Profile V2.0.8 (also known as OIOSAML 2.0.8) Revised edition Includes errata and minor clarifications Danish Agency for Digitisation December 2011 Contents > 1 Introduction 8 1.1 Referenced
MLSListings Single Sign On Implementation Guide. Compatible with MLSListings Applications
MLSListings Single Sign On Implementation Guide Compatible with MLSListings Applications February 2010 2010 MLSListings Inc. All rights reserved. MLSListings Inc. reserves the right to change details in
igovt logon service Context Mapping Service (icms) Messaging Specification Release 9.6
igovt logon service Context Mapping Service (icms) Messaging Specification Release 9.6 Subject Client Author Context Mapping Service Messaging Specification for the igovt logon service The Department of
Setting Up Federated Identity with IBM SmartCloud
White Paper March 2012 Setting Up Federated Identity with IBM SmartCloud 2 Setting Up Federated Identity with IBM SmartCloud Notices Contents International Business Machines Corporation provides this publication
Compass Security. [The ICT-Security Experts] SAML 2.0 [Beer Talk Berlin 2/16/2016] Stephan Sekula
Compass Security [The ICT-Security Experts] SAML 2.0 [Beer Talk Berlin 2/16/2016] Stephan Sekula Compass Security Deutschland GmbH Tauentzienstr. 18 De-10789 Berlin Tel. +49 30 21 00 253-0 Fax +49 30 21
SAML 2.0 Interoperability Testing Procedures
1 2 3 4 5 6 7 8 9 10 11 Version 2.0 7 July 2006 Editors: Eric Tiffany, Contributors: Greg Whitehead, Hewlett-Packard Sampo Kellomäki, Symlabs Nick Ragouzis, Enosis Abstract: 12 13 14 15 16 17 18 19 20
Quiz! Database Indexes. Index. Quiz! Disc and main memory. Quiz! How costly is this operation (naive solution)?
Database Indexes How costly is this operation (naive solution)? course per weekday hour room TDA356 2 VR Monday 13:15 TDA356 2 VR Thursday 08:00 TDA356 4 HB1 Tuesday 08:00 TDA356 4 HB1 Friday 13:15 TIN090
Web Single Sign-On Authentication using SAML
IJCSI International Journal of Computer Science Issues, Vol. 2, 2009 ISSN (Online): 1694-0784 ISSN (Print): 1694-0814 41 Web Single Sign-On Authentication using SAML Kelly D. LEWIS, James E. LEWIS, Ph.D.
Configuring SAML2 for Single Sign-On to Smartsheet (Enterprise Only)
Configuring SAML2 for Single Sign-On to Smartsheet (Enterprise Only) This document is intended for technical professionals who are familiar with SAML and have access to the Identity Provider that will
Shibboleth Architecture
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Shibboleth Architecture Technical Overview Working Draft 02, 8 June 2005 Document identifier: draft-mace-shibboleth-tech-overview-02 Location: http://shibboleth.internet2.edu/shibboleth-documents.html
Web Access Management and Single Sign-On
Web Access Management and Single Sign-On Ronnie Dale Huggins In the old days of computing, a user would sit down at his or her workstation, login to the desktop, login to their email system, perhaps pull
Tusker IT Department Tusker IT Architecture
Tusker IT Department System Overview Documents Tusker IT Department Tusker IT Architecture Single Sign On Overview Page 1 Document Information and Approvals VERSION HISTORY Version # Date Revised By Reason
DTD Tutorial. About the tutorial. Tutorial
About the tutorial Tutorial Simply Easy Learning 2 About the tutorial DTD Tutorial XML Document Type Declaration commonly known as DTD is a way to describe precisely the XML language. DTDs check the validity
XACML Profile for Role Based Access Control (RBAC)
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 XACML Profile for Role Based Access Control (RBAC) Committee Draft 01, 13 February 2004 Document identifier: cs-xacml-rbac-profile-01 Location:
OIOIDWS for Healthcare Token Profile for Authentication Tokens
OIOIDWS for Healthcare Token Profile for Authentication Tokens Common Web Service Profile for Healthcare in the Danish Public Sector, version 2.0 Content Document History...3 Introduction...4 Notation...
The Direct Project. Implementation Guide for Direct Project Trust Bundle Distribution. Version 1.0 14 March 2013
The Direct Project Implementation Guide for Direct Project Trust Bundle Distribution Version 1.0 14 March 2013 Version 1.0, 14 March 2013 Page 1 of 14 Contents Change Control... 3 Status of this Guide...
Single Sign on Using SAML
Single Sign on Using SAML Priyank Rajvanshi, Subhash Chand Gupta Abstract- With the proliferation of SaaS and other web-based applications, identity management is becoming a major concern for businesses.
A Federated Authorization and Authentication Infrastructure for Unified Single Sign On
A Federated Authorization and Authentication Infrastructure for Unified Single Sign On Sascha Neinert Computing Centre University of Stuttgart Allmandring 30a 70550 Stuttgart [email protected]
December 2014 Keywords/Summary
December 2014 Keywords/Summary: SAML, OpenID, OAuth, XACML, Identity, Authentication, Authorization, Accounting, Federation, Auditing, Meta-Users, Meta-Attributes, Stores, RBAC, Roles, Access Contents
OIO Web SSO Profile V2.0.5
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Using WS-Federation and WS-Security for Identity Management in Virtual Organisations
Using WS-Federation and WS-Security for Identity Management in Virtual Organisations Demchenko, Yu. , Universiteit van Amsterdam Abstracts The paper provides insight into one of key
Identity, Privacy, and Data Protection in the Cloud XACML. David Brossard Product Manager, Axiomatics
Identity, Privacy, and Data Protection in the Cloud XACML David Brossard Product Manager, Axiomatics 1 What you will learn The issue with authorization in the cloud Quick background on XACML 3 strategies
How To Manage A Password Management System
FAKULTÄT FÜR INFORMATIK DER TECHNISCHEN UNIVERSITÄT MÜNCHEN Master s thesis in computer science Privileged User Password Management in Shared Environments Manuel Söhner FAKULTÄT FÜR INFORMATIK DER TECHNISCHEN
Federal Identity, Credential, and Access Management Security Assertion Markup Language (SAML) 2.0 Web Browser Single Sign-on (SSO) Profile
Federal Identity, Credential, and Access Management Security Assertion Markup Language (SAML) 2.0 Web Browser Single Sign-on (SSO) Profile Version 1.0 September 27, 2010 Document History This is the first
Server based signature service. Overview
1(11) Server based signature service Overview Based on federated identity Swedish e-identification infrastructure 2(11) Table of contents 1 INTRODUCTION... 3 2 FUNCTIONAL... 4 3 SIGN SUPPORT SERVICE...
Architecture Guidelines Application Security
Executive Summary These guidelines describe best practice for application security for 2 or 3 tier web-based applications. It covers the use of common security mechanisms including Authentication, Authorisation
Electronic Health Network - Case Study Consent2Share Share with Confidence
Electronic Health Network - Case Study Consent2Share Share with Confidence Jan 2015 About Consent2Share Complying with privacy regulations in an electronic environment is a very complex process. The Consent2Share
04 XML Schemas. Software Technology 2. MSc in Communication Sciences 2009-10 Program in Technologies for Human Communication Davide Eynard
MSc in Communication Sciences 2009-10 Program in Technologies for Human Communication Davide Eynard Software Technology 2 04 XML Schemas 2 XML: recap and evaluation During last lesson we saw the basics
CS 356 Lecture 28 Internet Authentication. Spring 2013
CS 356 Lecture 28 Internet Authentication Spring 2013 Review Chapter 1: Basic Concepts and Terminology Chapter 2: Basic Cryptographic Tools Chapter 3 User Authentication Chapter 4 Access Control Lists
Kantara egov and SAML2int comparison
Kantara egov and SAML2int comparison 17.8.2010/[email protected] This document compares the egovernment Implementation profile of SAML 2.0, created by the egovernment WG of Kantara Initiative, and the
White Paper Cybercom & Axiomatics Joint Identity & Access Management (R)evolution
White Paper Cybercom & Axiomatics Joint Identity & Access Management (R)evolution Federation and Attribute Based Access Control Page 2 Realization of the IAM (R)evolution Executive Summary Many organizations
SAML:The Cross-Domain SSO Use Case
SAML:The Cross-Domain SSO Use Case Chris Ceppi Oblix Corporate Engineer Ed Kaminski OBLIX Federal Business Manager 410-349-1828 [email protected] Mike Blackin Principal Systems Engineer Oblix, Inc. 202-588-7397
White Paper The Identity & Access Management (R)evolution
White Paper The Identity & Access Management (R)evolution Federation and Attribute Based Access Control Page 2 A New Perspective on Identity & Access Management Executive Summary Identity & Access Management
STUDY ON IMPROVING WEB SECURITY USING SAML TOKEN
STUDY ON IMPROVING WEB SECURITY USING SAML TOKEN 1 Venkadesh.M M.tech, Dr.A.Chandra Sekar M.E., Ph.d MISTE 2 1 ResearchScholar, Bharath University, Chennai 73, India. [email protected] 2 Professor-CSC
Appendix 1 Technical Requirements
1 av 13 Appendix 1 Technical Requirements Version 2.4.7 Technical requirements for membership in the Skolfederation The Skolfederation has, like many other federation initiatives, the goal to use the following
OpenHRE Security Architecture. (DRAFT v0.5)
OpenHRE Security Architecture (DRAFT v0.5) Table of Contents Introduction -----------------------------------------------------------------------------------------------------------------------2 Assumptions----------------------------------------------------------------------------------------------------------------------2
DocuSign Single Sign On Implementation Guide Published: March 17, 2016
DocuSign Single Sign On Implementation Guide Published: March 17, 2016 Copyright Copyright 2003-2016 DocuSign, Inc. All rights reserved. For information about DocuSign trademarks, copyrights and patents
Authentication and Authorization Systems in Cloud Environments
Authentication and Authorization Systems in Cloud Environments DAVIT HAKOBYAN Master of Science Thesis Stockholm, Sweden 2012 TRITA-ICT-EX-2012:203 Abstract The emergence of cloud computing paradigm offers
VETUMA SAML SAMPLE MESSAGES
Page 1 Version: 3.5 4.11.2015 VETUMA SAML SAMPLE MESSAGES 1 (7) Page 2 Version: 3.5 4.11.2015 Table of Contents 1. Introduction... 3 2. Authentication... 4 2.1 Single sign-on... 4 2.1.1 Request message...
Business Object Document (BOD) Message Architecture for OAGIS Release 9.+
Business Object Document (BOD) Message Architecture for OAGIS Release 9.+ an OAGi White Paper Document #20110408V1.0 Open standards that open markets TM Open Applications Group, Incorporated OAGi A consortium
Entitlements Access Management for Software Developers
Entitlements Access Management for Software Developers Market Environment The use of fine grained entitlements and obligations control for access to sensitive information and services in software applications
Secure Identity in Cloud Computing
Secure Identity in Cloud Computing Michelle Carter The Aerospace Corporation March 20, 2013 The Aerospace Corporation 2013 All trademarks, service marks, and trade names are the property of their respective
XML Signatures in an Enterprise Service Bus Environment
XML Signatures in an Enterprise Bus Environment Eckehard Hermann Research & Development XML Integration Uhlandstraße 12 64297 Darmstadt, Germany [email protected] Dieter Kessler Research
Standalone SAML Attribute Authority With Shibboleth
CESNET Technical Report 5/2013 Standalone SAML Attribute Authority With Shibboleth IVAN NOVAKOV Received 10. 12. 2013 Abstract The article defines what a standalone attribute authority is and how it can
Ameritas Single Sign-On (SSO) and Enterprise SAML Standard. Architectural Implementation, Patterns and Usage Guidelines
Ameritas Single Sign-On (SSO) and Enterprise SAML Standard Architectural Implementation, Patterns and Usage Guidelines 1 Background and Overview... 3 Scope... 3 Glossary of Terms... 4 Architecture Components...
Introduction to XML. Data Integration. Structure in Data Representation. Yanlei Diao UMass Amherst Nov 15, 2007
Introduction to XML Yanlei Diao UMass Amherst Nov 15, 2007 Slides Courtesy of Ramakrishnan & Gehrke, Dan Suciu, Zack Ives and Gerome Miklau. 1 Structure in Data Representation Relational data is highly
