5

Nasza aplikacja ma integrację SAML2 SSO z 3 różnymi (Shibboleth) dostawcami tożsamości. Próbujemy dodać czwartą (także Shibboleth), ale działającą w niektórych przypadkach, ponieważ nasza aplikacja oczekuje, że wszystkie odpowiedzi SSO będą weryfikowalne. Te pozostałe 3 podpisują swoje odpowiedzi, ale czwarta nie jest i nie chce dodać niestandardowej konfiguracji wymuszającej podpisywanie naszej aplikacji.Czy muszę wymagać, aby dostawcy tożsamości podpisywali odpowiedzi SSO SAML2?

Technicznie mogę zmodyfikować naszą aplikację, aby akceptować niepodpisane odpowiedzi SSO, ale zastanawiam się, czy powinienem. Jakie są pułapki dopuszczania niepodpisanych odpowiedzi SSO? Czy istnieje luka w zabezpieczeniach?

Czy istnieje dokumentacja Shibboleth (lub inna dokumentacja SAML2 SSO), która zaleca podpisywanie odpowiedzi jako najlepszą praktykę?

Odpowiedz

8

Jedynym wymogiem dla dostawcy tożsamości zgodnego ze specyfikacją SAML 2.0 jest cyfrowe podpisanie asercji (patrz: http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf - sekcja 4.1.3.5). To wystarczy, aby stwierdzić, czy operacja logowania jednokrotnego od dostawcy tożsamości powinna być zaufana przez SP, który z nią stowarzyszył.

Podpisanie odpowiedzi zewnętrznej jest opcjonalne. Ma to pewne zalety bezpieczeństwa, takie jak zapobieganie wstawianiu wiadomości lub modyfikacji (patrz rozdziały 6.1.3/6.1.5 w http://docs.oasis-open.org/security/saml/v2.0/saml-sec-consider-2.0-os.pdf) - ale w praktyce jest często pomijane zamiast polegać na SSL/TLS.

+0

Czy na podstawie dokumentów, czy nasza aplikacja wymaga podpisu authn, czy nie jesteśmy technicznie zgodni z SAML2? Wszystkie nasze odpowiedzi są rzeczywiście wymuszane przez HTTPS. – danludwig

+1

Podpisywanie odpowiedzi lub aslifikacji SAML zależy od powiązania, którego używasz. Ponieważ zakładam, że otrzymujesz komunikat za pośrednictwem POST Binding, wówczas odpowiedź i/lub potwierdzenie * musi * być podpisane przez IDP, aby zapewnić integralność wiadomości. Myślę, że zamieszanie wynika z tego, jaka część Odpowiedzi jest podpisywana. Byłbym zaskoczony, gdyby Shibb zezwolił na wysłanie niepodpisanej wiadomości przez POST. – Ian

3

Celem podpisania odpowiedzi jest udowodnienie, że rzeczywiście pochodzą od emitenta. W przeciwnym razie "człowiek w środku" może zmienić atrybuty, np. dać sobie dostęp do aplikacji.

Program ADFS v2.0 używający SAML domyślnie podpisuje wszystkie tokeny odpowiedzi. Nie ma sposobu, żeby to wyłączyć.

Powiązane problemy