Autenticazione MVPD mvpd-authn
Panoramica mvpd-authn-overview
Il ruolo effettivo di provider di servizi (SP) è detenuto da un programmatore, ma Adobe Pass Authentication funge da proxy SP per tale programmatore. L’utilizzo dell’autenticazione di Adobe Pass come intermediario consente sia agli MVPD che ai programmatori di evitare di dover personalizzare i processi di adesione caso per caso.
I passaggi seguenti presentano la sequenza di eventi, utilizzando l’autenticazione di Adobe Pass, quando un programmatore richiede l’autenticazione da un MVPD che supporta SAML. Il componente Adobe Pass Authentication Access Enabler è attivo nel client dell’utente o del sottoscrittore. Da lì, Access Enabler semplifica tutti i passaggi del flusso di autenticazione.
- Quando l’utente richiede l’accesso a contenuti protetti, Access Enabler avvia l’autenticazione (AuthN) per conto del programmatore (SP).
- L’app dell’SP presenta un "selettore MVPD" all’utente per ottenere il proprio provider di Pay TV (MVPD). L'SP reindirizza quindi il browser dell'utente al servizio Identity Provider (IdP) dell'MVPD selezionato. Questo è "Accesso avviato dal programmatore". MVPD invia la risposta dell'IdP al servizio consumer di asserzione SAML di Adobe, dove viene elaborata.
- Infine, Access Enabler reindirizza il browser al sito SP, informandolo dello stato (operazione riuscita/non riuscita) della richiesta AuthN.
La richiesta di autenticazione authn-req
Come descritto nei passaggi precedenti, durante il flusso di AuthN un MVPD deve accettare una richiesta di AuthN basata su SAML e inviare una risposta di AuthN SAML.
La specifica dell'interfaccia di autenticazione e autorizzazione di Online Content Access (OLCA) presenta una richiesta e una risposta AuthN standard. Anche se l’autenticazione Adobe Pass non richiede che gli MVPD basino i messaggi di adesione su questo standard, l’analisi delle specifiche può fornire informazioni approfondite sugli attributi chiave necessari per una transazione AuthN.
Esempio di richiesta di autenticazione 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>
La tabella seguente spiega gli attributi e i tag che devono trovarsi in una richiesta di autenticazione, con i valori previsti predefiniti.
Dettagli richiesta autenticazione SAML
Risposta di autenticazione authn-response
Dopo aver ricevuto e gestito la richiesta di autenticazione, MVPD deve ora inviare una risposta di autenticazione.
Risposta di autenticazione SAML di esempio
<?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>
Nell’esempio precedente, l’SP Adobe prevede di recuperare l’ID utente dal Subject/NameId. L’SP di Adobe può essere configurato per ottenere l’ID utente da un attributo personalizzato definito; la risposta deve contenere un elemento come segue:
<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>
Dettagli risposta autenticazione SAML