「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。 目次 †概要 †汎用認証サイトにSAML2.0を実装するため仕様を読む。
以下、詳細 †SAML and XML Signature Syntax and Processing †SAMLのXML署名・暗号に関する処理。
Signing Assertions †Assertionの署名ができる。 Request/Response Signing †Request/Responseの署名ができる。 Signature Inheritance †簡単に言って、
XML Signature Profile †XML Signature 仕様[XMLSig]は、 Signing Formats and Algorithms †SAMLでは以下のXML署名・暗号を行う。
References †署名したルート要素のID属性を<ds:SignedInfo?>の<ds:Reference>要素に含める。 Canonicalization Method †オブジェクトに署名する前に使用された標準化アルゴリズム Transforms †エンベロープドには、
が含まれていてはならない。 KeyInfo? †SAMLでは、<ds:KeyInfo?>はオプション。 Example †<Response IssueInstant="2003-04-17T00:46:02Z" Version="2.0" ID="_c7055387-af61-4fce-8b98-e2927324b306" xmlns="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"> <saml:Issuer>https://www.opensaml.org/IDP"</saml:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <ds:Reference URI="#_c7055387-af61-4fce-8b98-e2927324b306"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#envelopedsignature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> <InclusiveNamespaces PrefixList="#default saml ds xs xsi" xmlns="http://www.w3.org/2001/10/xml-exc-c14n#"/> </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <ds:DigestValue>...</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue>...</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>...</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </ds:Signature> <Status> <StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/> </Status> <Assertion ID="_a75adf55-01d7-40cc-929f-dbd8372ebdfc" IssueInstant="2003-04-17T00:46:02Z" Version="2.0" xmlns="urn:oasis:names:tc:SAML:2.0:assertion"> <Issuer>https://www.opensaml.org/IDP</Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <ds:Reference URI="#_a75adf55-01d7-40cc-929f-dbd8372ebdfc"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#envelopedsignature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> <InclusiveNamespaces PrefixList="#default saml ds xs xsi" xmlns="http://www.w3.org/2001/10/xml-exc-c14n#"/> </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <ds:DigestValue>...</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue>...</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>...</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </ds:Signature> <Subject> <NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"> scott@example.org </NameID> <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"/> </Subject> <Conditions NotBefore="2003-04-17T00:46:02Z" NotOnOrAfter="2003-04-17T00:51:02Z"> <AudienceRestriction> <Audience>http://www.opensaml.org/SP</Audience> </AudienceRestriction> </Conditions> <AuthnStatement AuthnInstant="2003-04-17T00:46:00Z"> <AuthnContext> <AuthnContextClassRef> urn:oasis:names:tc:SAML:2.0:ac:classes:Password </AuthnContextClassRef> </AuthnContext> </AuthnStatement> </Assertion> </Response>
SAML and XML Encryption Syntax and Processing †
General Considerations †要素の暗号化は XML Encryption[XMLEnc]の使用により提供される。 Combining Signatures and Encryption †
参考 †XML署名・暗号 †oasis-open.org †https://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf 5 SAML and XML Signature Syntax and Processing 5.1 Signing Assertions 5.2 Request/Response Signing 5.3 Signature Inheritance 5.4 XML Signature Profile 5.4.1 Signing Formats and Algorithms 5.4.2 References 5.4.3 Canonicalization Method 5.4.4 Transforms 5.4.5 KeyInfo 5.4.6 Example 6 SAML and XML Encryption Syntax and Processing 6.1 General Considerations 6.2 Combining Signatures and Encryption Tags: :IT国際標準, :認証基盤, :クレームベース認証, :SAML |