Metodi di autenticazione Fed in OAM e IdP
Questo articolo descrive come IdP può essere configurato per mappare i metodi di autenticazione Federation agli schemi di autenticazione OAM:
-
Quando si elabora una richiesta di autenticazione, il provider di servizi richiede un metodo di autenticazione federativo specifico con il quale l'utente deve essere interrogato.
-
Quando si invia un'asserzione, dove IdP imposta il metodo di autenticazione della federazione nell'asserzione
Panoramica
I vari protocolli della Federazione supportano meccanismi che consentono ai partner di scambiare informazioni su:
-
Modalità di richiesta di verifica da parte dell'utente quando il punto di fornitura/RP effettua una richiesta
-
Modalità di contestazione dell'utente quando l'IdP/OP emette una risposta SSO
Quando un partner SP remoto reindirizza l'utente a IdP per SSO Federation, il messaggio potrebbe contenere dati che richiedono la modalità di richiesta di verifica dell'utente da parte di IdP: questo metodo viene considerato come metodo di autenticazione Federation richiesto.
IdP deve mappare il metodo di autenticazione federativa richiesto a uno schema di autenticazione locale, quindi richiamare OAM per l'autenticazione o la verifica dell'utente con lo schema di autenticazione mappato. OAM esegue l'autenticazione dell'utente se necessario con lo schema specificato da IdP.
Analogamente, quando un IdP emette una risposta SSO, nella maggior parte dei casi deve includere un identificativo che rappresenti il modo in cui l'utente è stato sfidato. Questo viene considerato come il metodo di autenticazione Federation.
Quando IdP esegue un'asserzione, valuta lo schema di autenticazione con cui OAM ha identificato l'utente:
-
Se lo schema di autenticazione può essere mappato a un metodo di autenticazione federativo, IdP utilizza il risultato di tale mapping nella risposta SSO in uscita:
-
AuthenticationStatement
nell'asserzione SAML -
OpenID Risposta, se PAPE è abilitato
-
Se non è possibile mappare lo schema di autenticazione, IdP imposta il metodo di autenticazione Federation come nome dello schema di autenticazione nella risposta SSO in uscita
-
AuthenticationStatement
nell'asserzione SAML -
OpenID Risposta, se PAPE è abilitato
Mapping
In IdP, il mapping tra i metodi di autenticazione Federation e gli schemi di autenticazione prevede le regole riportate di seguito.
-
Un metodo di autenticazione Federation può essere mappato a più schemi di autenticazione
-
In un Mapping Metodo di autenticazione federazione, Schemi di autenticazione, un singolo schema di autenticazione viene contrassegnato come lo schema predefinito che verrà utilizzato per autenticare un utente, se il partner SP/RP richiede l'autenticazione dell'utente tramite un metodo di autenticazione federazione specifico.
-
Uno schema di autenticazione può essere mappato a un singolo metodo di autenticazione Federation
Esaminiamo l'esempio seguente e i vari casi d'uso, basati sul protocollo SAML 2.0:
Mapping definiti come:
-
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
mappato aLDAPScheme
, contrassegnato come schema predefinito utilizzato per l'autenticazioneBasicScheme
-
urn:oasis:names:tc:SAML:2.0:ac:classes:X509
mappato aX509Scheme
, contrassegnato come schema predefinito utilizzato per l'autenticazione
Casi d'uso:
-
SP invia un messaggio AuthnRequest specificando
urn:oasis:names:tc:SAML:2.0:ac:classes:X509
come RequestedAuthnContext: IdP autentica l'utilizzo conX509Scheme
poiché si tratta dello schema predefinito mappato per tale metodo. -
SP invia un messaggio AuthnRequest specificando
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
come RequestedAuthnContext: IdP autentica l'utilizzo conLDAPScheme
in quanto si tratta dello schema predefinito mappato per tale metodo, nonBasicScheme
-
SP non ha richiesto metodi specifici e l'utente è stato autenticato con
BasisScheme
: IdP esegue un'asserzione conurn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
comeFederationAuthenticationMethod
-
SP non ha richiesto metodi specifici e l'utente è stato autenticato con
LDAPScheme
: IdP esegue un'asserzione conurn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
comeFederationAuthenticationMethod
-
SP non ha richiesto metodi specifici e l'utente è stato autenticato con
BasisSessionlessScheme
: IdP emette un'asserzione conBasisSessionlessScheme
comeFederationAuthenticationMethod
, poiché tale schema non può essere mappato a nessun metodo di autenticazione Federation (in questo caso l'amministratore deve correggere e creare un mapping)
Configurazione
Il mapping dei metodi di autenticazione della federazione agli schemi di autenticazione OAM dipende dal protocollo in quanto i metodi sono definiti nei vari protocolli (SAML 2.0, SAML 1.1, OpenID 2.0).
Di conseguenza, i comandi WLST per impostare tali mapping comprendono:
-
Il profilo partner SP e interessa tutti i partner che fanno riferimento a tale profilo, che non sostituiscono il metodo di autenticazione Federation ai mapping dello schema di autenticazione OAM
-
Oppure la voce Partner SP, che interessa il Partner SP
Nota: se un partner SP è configurato per definire uno o più mapping del metodo di autenticazione federativo allo schema di autenticazione OAM, tutti i mapping de2ned nel profilo partner SP verranno ignorati.
Schema di autenticazione
Durante SSO Federation, IdP inoltra internamente l'utente a OAM per l'autenticazione/verifica e specifica lo schema di autenticazione da utilizzare.
OAM determina se è necessario eseguire la richiesta di verifica di un utente:
-
Se l'utente non è ancora autenticato
-
Se l'utente è autenticato ma si è verificato il timeout della sessione
-
Se l'utente è autenticato, ma il livello dello schema di autenticazione dell'autenticazione originale è inferiore al livello dello schema di autenticazione richiesto da IdP
Pertanto, anche se un provider di servizi richiede un metodo di autenticazione federativo specifico da utilizzare per contestare l'utente, se tale metodo è mappato a uno schema di autenticazione e se in fase di esecuzione OAM ritiene che non sia necessario sottoporre a verifica l'utente. con tale schema (poiché l'utente è già autenticato, la sessione non è scaduta e il livello di autenticazione della sessione è uguale o superiore a quello per lo schema di autenticazione specificato), l'intervallo non comporta un'operazione di richiesta di verifica.
Protocolli
SAML 2.0
Le specifiche SAML 2.0 definiscono i seguenti metodi di autenticazione federativa per i flussi SAML 2.0:
-
urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified
-
urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocol
-
urn:oasis:names:tc:SAML:2.0:ac:classes:Telephony
-
urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorUnregistered
-
urn:oasis:names:tc:SAML:2.0:ac:classes:PersonalTelephony
-
urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSession
-
urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorContract
-
urn:oasis:names:tc:SAML:2.0:ac:classes:Smartcard
-
urn:oasis:names:tc:SAML:2.0:ac:classes:Password
-
urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword
-
urn:oasis:names:tc:SAML:2.0:ac:classes:X509
-
urn:oasis:names:tc:SAML:2.0:ac:classes:TLSClient
-
urn:oasis:names:tc:SAML:2.0:ac:classes:PGP
-
urn:oasis:names:tc:SAML:2.0:ac:classes:SPKI
-
urn:oasis:names:tc:SAML:2.0:ac:classes:XMLDSig
-
urn:oasis:names:tc:SAML:2.0:ac:classes:SoftwarePKI
-
urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos
-
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
-
urn:oasis:names:tc:SAML:2.0:ac:classes:SecureRemotePassword
-
urn:oasis:names:tc:SAML:2.0:ac:classes:NomadTelephony
-
urn:oasis:names:tc:SAML:2.0:ac:classes:AuthenticatedTelephony
-
urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorUnregistered
-
urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorContract
-
urn:oasis:names:tc:SAML:2.0:ac:classes:SmartcardPKI
-
urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken
Per impostazione predefinita, IdP dispone dei seguenti mapping per il protocollo SAML 2.0:
-
Solo
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
è definito -
Questo metodo di autenticazione della federazione è mappato a:
-
LDAPScheme
, contrassegnato come schema predefinito utilizzato per l'autenticazione -
FAAuthScheme
-
BasicScheme
-
BasicFAScheme
-
-
Questo mapping è definito nel profilo partner SP saml20-sp-partner-profile, che è il profilo partner SP OOTB predefinito per SAML 2.0
Un esempio di messaggio AuthnRequest inviato da un provider di servizi a un IdP con il provider di servizi che richiede un metodo di autenticazione federativo specifico da utilizzare per contestare l'utente sarà:
<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
Destination="https://idp.com/oamfed/idp/samlv20" ID="id-8bWn
A9o4aoMl3Nhx1DuPOOjawc-" IssueInstant="2014-03-21T20:51:11Z" Version="2.0">
<saml:Issuer ...>https://acme.com/sp</saml:Issuer>
<samlp:NameIDPolicy AllowCreate="false"
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspeciGed"/> <samlp:RequestedAuthnContext Comparison="minimum">
<saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
</saml:AuthnContextClassRef>
</samlp:RequestedAuthnContext>
</samlp:AuthnRequest>
Un esempio di asserzione eseguita da un IdP sarà:
<samlp:Response ...>
<saml:Issuer ...>https://idp.com/oam/fed</saml:Issuer>
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<saml:Assertion ...>
<saml:Issuer ...>https://idp.com/oam/fed</saml:Issuer>
<dsig:Signature>
...
</dsig:Signature>
<saml:Subject>
<saml:NameID ...>bob@oracle.com</saml:NameID>
<saml:SubjectConGrmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConGrmationData .../>
</saml:SubjectConGrmation> </saml:Subject>
<saml:Conditions ...>
<saml:AudienceRestriction>
<saml:Audience>https://acme.com/sp</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement AuthnInstant="2014-03-21T20:53:55Z" SessionIndex="id6i-Dm0yB-HekG6cejktwcKIFMzYE8Yrmqwfd0azz"
SessionNotOnOrAfter="2014-03-21T21:53:55Z">
<saml:AuthnContext>
<saml:AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
</saml:AuthnContextClassRef> </saml:AuthnContext>
</saml:AuthnStatement>
</saml:Assertion>
</samlp:Response>
Un amministratore deve essere in grado di specificare un mapping tra un metodo di autenticazione federativo SAML 2.0 e uno o più schemi di autenticazione OAM
SAML 1.1
Le specifiche SAML 1.1 definiscono i seguenti metodi di autenticazione federativa per i flussi SAML 1.1:
-
urn:oasis:names:tc:SAML:1.0:am:unspecified
-
urn:oasis:names:tc:SAML:1.0:am:HardwareToken
-
urn:oasis:names:tc:SAML:1.0:am:password
-
urn:oasis:names:tc:SAML:1.0:am:X509-PKI
-
urn:ietf:rfc:2246
-
urn:oasis:names:tc:SAML:1.0:am:PGP
-
urn:oasis:names:tc:SAML:1.0:am:SPKI
-
urn:ietf:rfc:3075
-
urn:oasis:names:tc:SAML:1.0:am:XKMS
-
urn:ietf:rfc:1510 urn:ietf:rfc:2945
Per impostazione predefinita, IdP dispone dei seguenti mapping per il protocollo SAML 1.1:
-
Solo
urn:oasis:names:tc:SAML:1.0:am:password
è definito -
Questo metodo di autenticazione della federazione è mappato a:
-
LDAPScheme
, contrassegnato come schema predefinito utilizzato per l'autenticazione -
FAAuthScheme
-
BasicScheme
-
BasicFAScheme
Questo mapping è definito nel profilo partner SP saml11-sp-partner-profile, che è il profilo partner SP OOTB predefinito per SAML 1.1
Un esempio di asserzione eseguita da un IdP sarà:
<samlp:Response ...>
<samlp:Status>
<samlp:StatusCode Value="samlp:Success"/>
</samlp:Status>
<saml:Assertion Issuer="https://idp.com/oam/fed" ...>
<saml:Conditions ...>
<saml:AudienceRestriction>
<saml:Audience>https://acme.com/sp/ssov11</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement AuthenticationInstant="2014-03-21T20:53:55Z"
AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:password">
<saml:Subject>
<saml:NameIdentiGer ...>bob@oracle.com</saml:NameIdentiGer>
<saml:SubjectConGrmation>
<saml:ConGrmationMethod>
urn:oasis:names:tc:SAML:1.0:cm:bearer
</saml:ConGrmationMethod>
</saml:SubjectConGrmation>
</saml:Subject>
</saml:AuthnStatement>
<dsig:Signature>
...
</dsig:Signature> </saml:Assertion> </samlp:Response>
Nota: SAML 1.1 non definisce un messaggio AuthnRequest.
Un amministratore può specificare un mapping tra un metodo di autenticazione federativo SAML 1.1 e uno o più schemi di autenticazione OAM.
OpenID 2.0
Le specifiche PAPE OpenID 2.0 definiscono i metodi di autenticazione della federazione riportati di seguito per i flussi OpenID 2.0.
-
http://schemas.openid.net/pape/policies/2007/06/phishing-resista
-
http://schemas.openid.net/pape/policies/2007/06/multi-fact
-
http://schemas.openid.net/pape/policies/2007/06/multi-factor-physic
Per impostazione predefinita, IdP non definisce alcun mapping per i metodi di autenticazione Federation OpenID 2.0.
Per OpenID 2.0, la configurazione prevede il mapping di una lista di criteri OpenID 2.0 a una lista di schemi di autenticazione.
Un esempio di messaggio di richiesta OpenID 2.0 inviato da un SP/RP a un IdP/OP sarà:
https://idp.com/openid?openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=checkid_setup&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2FidentiGer_select&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2FidentiGer_select&openid.assoc_handle=id-6a5S6zhAKaRwQNUnjTKROREdAGSjWodG1el4xyz3&openid.return_to=https%3A%2F%2Facme.com%2Fopenid%3FreGd%3Did9PKVXZmRxAeDYcgLqPm36ClzOMA-&openid.realm=https%3A%2F%2Facme.com%2Fopenid&openid.ns.ax=http%3A%2F%2Fopenid.net%2Fsrv%2Fax%2F1.0&openid.ax.mode=fetch_request&openid.ax.type.aer0=http%3A%2F%2Faxschema.org%2Fcontact%2Femail&openid.ax.if_available=aer0&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&openid.pape.max_auth_age=0
Un esempio di risposta SSO Open ID 2.0 emessa da un IdP/OP sarà:
https://acme.com/openid?reGd=id-9PKVXZmRxAeDYcgLqPm36ClzOMA-&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=id_res&openid.op_endpoint=https%3A%2F%2Fidp.com%2Fopenid&openid.claimed_id=https%3A%2F%2Fidp.com%2Fopenid%3Fid%3Did-38iCmmlAVEXPsFjnFVKArfn5RIiF75D5doorhEgqqPM%3D&openid.identity=https%3A%2F%2Fidp.com%2Fopenid%3Fid%3Did-38iCmmlAVEXPsFjnFVKArfn5RIiF75D5doorhEgqqPM%3D&openid.return_to=https%3A%2F%2Facme.com%2Fopenid%3FreGd%3Did9PKVXZmRxAeDYcgLqPm36ClzOMA-&openid.response_nonce=2014-03-24T19%3A20%3A06Zid-YPa2kTNNFftZkgBb460jxJGblk2g--iNwPpDI7M1&openid.assoc_handle=id6a5S6zhAKaRwQNUnjTKROREdAGSjWodG1el4xyz3&openid.ns.ax=http%3A%2F%2Fopenid.net%2Fsrv%2Fax%2F1.0&openid.ax.mode=fetch_response&openid.ax.type.aer0=http%3A%2F%2Fsession%2Fcount&openid.ax.value.aer0=1&openid.ax.type.aer1=http%3A%2F%2Fopenid.net%2Fschema%2FnamePerson%2Ffriendly&openid.ax.value.aer1=My+name+is+Bobby+Smith&openid.ax.type.aer2=http%3A%2F%2Fschemas.openid.net%2Fax%2Fapi%2Fuser_id&openid.ax.value.aer2=bob&openid.ax.type.aer3=http%3A%2F%2Faxschema.org%2Fcontact%2Femail&openid.ax.value.aer3=bob%40oracle.com&openid.ax.type.aer4=http%3A%2F%2Fsession%2Fipaddress&openid.ax.value.aer4=10.145.120.253&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&openid.pape.auth_time=2014-03-24T19%3A20%3A05Z&openid.pape.auth_policies=http%3A%2F%2Fschemas.openid.net%2Fpape%2Fpolicies%2F2007%2F06%2Fphishing-resistant&openid.signed=op_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle%2Cns.ax%2Cax.mode%2Cax.type.aer0%2Cax.value.aer0%2Cax.type.aer1%2Cax.value.aer1%2Cax.type.aer2%2Cax.value.aer2%openid.sig=mYMgbGYSs22l8e%2FDom9NRPw15u8%3D
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o visita altri contenuti di formazione gratuiti sul canale Oracle Learning YouTube. Inoltre, visitare education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.
Per la documentazione sul prodotto, visitare Oracle Help Center.
Fed Authentication Methods in OAM and IdP
F60445-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.