Verifica che la risposta SAML provenga da un'origine attendibile

7

Sono in procinto di apportare modifiche al mio sito in modo da poter essere un fornitore di servizi SAML 2.0. Effettueremo SAML avviato da IdP con la federazione di account fuori banda.

La mia domanda è questa: data una risposta SAML che viene pubblicata nella pagina di destinazione sul mio sito, come posso verificare che la risposta sia stata generata da una fonte attendibile?

Posso convalidare la firma incorporata nella risposta, ma ... non è possibile che qualcuno possa solo firmare una risposta e iniziare a postarla sul mio sito, tentando di convalidare gli utenti? Presumo che ci sia qualcosa nella firma che posso estrarre e abbinare a un elenco di provider di identità attendibili? Ma non è possibile che un utente malintenzionato lo abbia appena falsificato?

    
posta theycallmemorty 17.05.2011 - 20:24
fonte

2 risposte

6

La firma dovrebbe essere valida contro una chiave. Dovresti avere una chiave corrispondente per qualsiasi entità con cui stai scambiando dati. Le entità non autorizzate non avranno le chiavi e lo spazio delle chiavi di qualsiasi protocollo di crittografia valido e ampiamente accettato renderà impossibile la forzatura bruta.

Dal testo della tua domanda, penso che potresti voler leggere il concetto di firme digitali .

    
risposta data 17.05.2011 - 21:01
fonte
6

Come ha detto @Jeff Ferland, devi fidarti della chiave del party remoto.

Questo è esattamente il motivo per cui le federazioni Shibboleth sono progettate per, per esempio. Se si guarda un tipico esempio di configurazione Shibboleth SP , verrà regolarmente prelevato un file di metadati che tirerà il certificati degli IdP che fanno parte della federazione. È necessario verificare che ci si fidi di tale elenco in genere (può essere firmato dal certificato di federazione o reso disponibile da un server HTTPS attendibile). Quindi devi verificare che la risposta SAML ricevuta sia emessa da uno degli IdP in tale federazione.

Si noti che questo è solo un modo per ottenere un elenco di certificati affidabili. Potresti farlo più manualmente se sai in anticipo quali IdP di cui sei disposto a fidarti. Dovrai sempre configurare almeno un "punto di ingresso" più o meno manualmente (in questo caso, intendo sia un certificato IdP di cui ti fidi, fuori dalle bande o un certificato CA della federazione): questo è lo stesso problema di qualsiasi PKI , compreso il modo in cui ti fidi dei siti web nel tuo browser.

La vera difficoltà in questo tipo di ambiente non è propriamente tecnica, anzi, è la parte amministrativa con cui si negoziano con i partner quali certificati si vogliono fidare (e quali attributi possono essere scambiati).

    
risposta data 17.05.2011 - 23:26
fonte

Leggi altre domande sui tag