5

La nostra app ha l'integrazione SSO SAML2 con 3 IdP diversi (Shibboleth). Stiamo cercando di aggiungere un 4 ° (anche Shibboleth), ma ci sono alcuni problemi, perché la nostra app si aspetta che tutte le risposte SSO siano firmate in modo verificabile. Questi altri 3 stanno firmando le loro risposte, ma il 4 non lo è, ed è riluttante ad aggiungere una configurazione personalizzata per far rispettare la firma per la nostra app.Devo richiedere a IdP di firmare le risposte SSO SAML2?

Tecnicamente potrei modificare la nostra app per accettare risposte SSO non firmate, ma mi chiedo se dovrei o no. Quali sono le insidie ​​di consentire risposte SSO non firmate? C'è qualche vulnerabilità di sicurezza?

Esiste qualche documentazione Shibboleth (o altra SAML2 SSO) che consiglia di firmare le risposte come best practice?

risposta

8

L'unico requisito per l'IdP che segue la specifica SAML 2.0 è di firmare digitalmente l'asserzione (vedere http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf - sezione 4.1.3.5). Questo è sufficiente per dire se l'operazione SSO da un IdP dovrebbe essere considerata attendibile da SP che si è federata con esso.

La firma della risposta esterna è facoltativa. Vi sono alcuni vantaggi in termini di sicurezza, ad esempio impedire l'inserimento o la modifica dei messaggi (vedere le sezioni 6.1.3/6.1.5 in http://docs.oasis-open.org/security/saml/v2.0/saml-sec-consider-2.0-os.pdf), ma in pratica viene spesso omesso anziché fare affidamento su SSL/TLS.

+0

Quindi, in base ai documenti, se la nostra app richiede la risposta authn da firmare, tecnicamente non siamo conformi a SAML2? Tutte le nostre risposte sono infatti forzate su HTTPS. – danludwig

+1

La firma della risposta SAML o dell'asserzione dipende dal legame che si sta utilizzando. Dato che presumo che tu stia ricevendo il messaggio tramite POST Binding, allora la risposta e/o l'asserzione * devono * essere firmati dall'IDP per assicurare l'integrità del messaggio. Penso che la confusione derivi da quale parte della risposta viene firmata. Sarei sorpreso se Shibb consentisse l'invio di un messaggio non firmato tramite POST. – Ian

3

L'intero punto della firma della risposta è dimostrare che in realtà provengono dall'emittente. Altrimenti un "uomo nel mezzo" potrebbe cambiare gli attributi, ad es. per darsi accesso a un'applicazione.

ADFS v2.0 che utilizza SAML per impostazione predefinita firma tutti i token di risposta. Non c'è modo di disattivarlo.