MVPD 인증 mvpd-authn
개요 mvpd-authn-overview
실제 서비스 공급자(SP) 역할은 프로그래머가 담당하지만 Adobe Pass 인증은 해당 프로그래머의 SP 프록시 역할을 합니다. Adobe Pass 인증을 중개자로 사용하면 MVPD와 프로그래머 모두 자격 프로세스를 사안별로 사용자 정의하지 않아도 됩니다.
아래 단계에서는 프로그래머가 SAML을 지원하는 MVPD에서 인증을 요청할 때 Adobe Pass 인증을 사용하여 이벤트 시퀀스를 설명합니다. Adobe Pass Authentication Access Enabler 구성 요소는 사용자/구독자의 클라이언트에서 활성화됩니다. 여기에서 Access Enabler를 사용하면 모든 인증 절차를 간편하게 수행할 수 있습니다.
- 사용자가 보호된 콘텐츠에 대한 액세스를 요청하면 액세스 Enabler가 SP(프로그래머)를 대신하여 인증(AuthN)을 시작합니다.
- SP의 앱은 MVPD(유료 TV 공급자)를 얻기 위해 사용자에게 "MVPD 선택기"를 제공합니다. 그러면 SP는 사용자의 브라우저를 선택한 MVPD의 ID 공급자(IdP) 서비스로 리디렉션합니다. "프로그래머 시작 로그인"입니다. MVPD는 IdP의 응답을 Adobe의 SAML 어설션 소비자 서비스로 보내고, 여기서 이 서비스가 처리됩니다.
- 마지막으로 Access Enabler는 브라우저를 SP 사이트로 다시 리디렉션하여 SP에 AuthN 요청 상태(성공/실패)를 알립니다.
인증 요청 authn-req
위의 단계에 제시된 바와 같이, AuthN 흐름 동안 MVPD는 SAML 기반 AuthN 요청을 수락하고 SAML AuthN 응답을 전송해야 한다.
OLCA(온라인 콘텐츠 액세스) 인증 및 권한 부여 인터페이스 사양은(는) 표준 AuthN 요청 및 응답을 제공합니다. Adobe Pass 인증에서는 이 표준을 기반으로 자격 메시지를 작성하는 데 MVPD가 필요하지 않지만, 사양을 보면 AuthN 트랜잭션에 필요한 주요 속성에 대한 통찰력을 얻을 수 있습니다.
샘플 SAML 인증 요청:
<?xml version="1.0" encoding="UTF-8"?>
<samlp:AuthnRequest
AssertionConsumerServiceURL=http://sp.auth.adobe.com/sp/saml/SAMLAssertionConsumer
Destination=http://idp.com/SSOService
ForceAuthn="false"
ID="_c0fc667e-ad12-44d6-9cae-bc7cf04688f8"
IsPassive="false"
IssueInstant="2010-08-03T14:14:54.372Z"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Version="2.0"
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
http://saml.sp.adobe.adobe.com
</saml:Issuer>
<ds:Signature xmlns:ds=_signature_block_goes_here_
</ds:Signature>
<samlp:NameIDPolicy
AllowCreate="true"
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
SPNameQualifier="http://saml.sp.adobe.adobe.com"/>
</samlp:AuthnRequest>
아래 표에서는 기본 예상 값을 사용하여 인증 요청에 있어야 하는 속성 및 태그에 대해 설명합니다.
SAML 인증 요청 세부 정보
인증 응답 authn-response
인증 요청을 수신하고 처리했으면 이제 MVPD가 인증 응답을 보내야 합니다.
샘플 SAML 인증 응답
<?xml version="1.0" encoding="UTF-8"?>
<samlp:Response Destination="https://sp.auth.adobe.com/sp/saml/SAMLAssertionConsumer"
ID="_0ac3a9dd5dae0ce05de20912af6f4f83a00ce19587"
InResponseTo="_c0fc667e-ad12-44d6-9cae-bc7cf04688f8"
IssueInstant="2010-08-17T11:17:50Z" Version="2.0"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
http://idp.com/SSOService
</saml:Issuer>
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<saml:Assertion ID="pfxb0662d76-17a2-a7bd-375f-c11046a86742"
IssueInstant="2010-08-17T11:17:50Z"
Version="2.0">
<saml:Issuer>http://idp.com/SSOService</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="#pfxb0662d76-17a2-a7bd-375f-c11046a86742">
<ds:Transforms>
<ds:Transform
Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform
Algorithm=http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>LgaPI2ASx/fHsoq0rB15Zk+CRQ0=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
POw/mCKF__shortened_for_brevity__9xdktDu+iiQqmnTs/NIjV5dw==
</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
MIIDVDCCAjygAwIBA__shortened_for_brevity_utQ==
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
<saml:Subject>
<saml:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
SPNameQualifier="https://saml.sp.auth.adobe.com">
_5afe9a437203354aa8480ce772acb703e6bbb8a3ad
</saml:NameID>
<saml:SubjectConfirmation
Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData
InResponseTo="_c0fc667e-ad12-44d6-9cae-bc7cf04688f8"
NotOnOrAfter="2010-08-17T11:22:50Z"
Recipient="https://sp.auth.adobe.com/sp/saml/SAMLAssertionConsumer"/>
</saml:SubjectConfirmation>
</saml:Subject>
<saml:Conditions NotBefore="2010-08-17T11:17:20Z"
NotOnOrAfter="2010-08-17T19:17:50Z">
<saml:AudienceRestriction>
<saml:Audience>https://saml.sp.auth.adobe.com</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement AuthnInstant="2010-08-17T11:17:50Z"
SessionIndex="_1adc7692e0fffbb1f9b944aeafce62aaa7d770cd9e">
<saml:AuthnContext>
<saml:AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:Password
</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
</saml:Assertion>
</samlp:Response>
위의 샘플에서 Adobe SP 는 Subject/NameId에서 사용자 ID 를 가져올 것으로 예상됩니다. Adobe SP는 사용자 정의 속성에서 사용자 ID를 가져오도록 구성할 수 있습니다. 응답에는 다음과 같은 요소가 포함되어야 합니다.
<saml:AttributeStatement>
<saml:Attribute Name="guid" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
<saml:AttributeValue xsi:type="xs:string">
71C69B91-F327-F185-F29E-2CE20DC560F5
</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
SAML 인증 응답 세부 정보