2011-11-26 4 views
15

SAML 요청을 개인 키로 서명하고 SSL을 통해 보내는 경우 SAML 요청을 암호화해야합니까? 아니면 내 개인 키를 사용하여 서명하고 아이디 공급자 공개 키를 사용하여 암호화 한 다음 SSL을 통해 전송하는 것이 좋습니다.SAML 서명 및 암호화 및 SSL 사용을 권장합니까?

답변

37

SAML 어설 션 쿼리/요청은 대개 많은 개인 데이터를 포함하지 않으며 일반적으로 요청 자체는 나중에 사용하기 위해 유지되지 않으므로 SAML 요청 자체를 암호화 할 필요가 거의 없습니다. 서명하면 수신자가 콘텐츠가 전송 중에 변경되지 않았는지 확인하고 SSL을 통해 콘텐츠를 전송하면 전송 중에 개인 정보가 제공됩니다. 이 상황에서 요청을 암호화하는 것은 과도한 행동 일 것입니다.

그러나 SAML 어설 션 응답은 완전히 다른 동물입니다. 클레임 또는 어설 션이 포함 된 SAML 응답에는 개인 데이터가 포함될 가능성이 큽니다. 시스템에서 이러한 어설 션이 사용되는 방식에 따라 어설 션은 서로 다른 당사자간에 전달 될 수 있습니다. 일부는 (SAML 제공자와의 신뢰 관계가 있으므로) 해독에 필요한 키가있는 키와 그렇지 않은 일부가 전달 될 수 있습니다 . SAML 어설 션은 캐시 또는 데이터베이스에 저장 될 수 있으므로 앞으로 누가 그 데이터를 파고들 것인지 알 수 없습니다.

개인 데이터가 포함 된 클레임 및 어설 션이 포함되어 있고 응답 수신자가 SAML 어설 션을 무기한 유지하거나 신뢰할 수없는 중간 당사자를 통해 SAML 어설 션을 전달하는 경우, SSL로 전송되었는지 여부에 관계없이 SAML 어설 션을 암호화하고 응답을 서명해야합니다. 암호화는 SSL 파이프의 다른 끝에 도착한 후 데이터의 개인 정보를 보호합니다.

+3

"암호화는 SSL 파이프의 다른 쪽 끝에 도착한 후 데이터의 개인 정보를 보호합니다." 이것은 나에게 분명했다. 고맙습니다! – BernardMarx

2

그리고 SSL 파이프의 다른 쪽 끝이 브라우저입니다. IdP에서부터 브라우저까지, 그리고 브라우저에서 서비스 제공자까지의 파이프가 하나 있습니다. 어설 션이 암호화되지 않은 경우 어설 션은 브라우저의 모든 사용자가 사용할 수 있습니다. 공격자는 향후 SAML 문서 및 상호 작용에 대한 공격의 일종으로 암호화되지 않은 이름 식별자를 사용할 수 있습니다.

+3

그러나 침입자가 브라우저를 소유 한 경우 이미 손실되지 않았습니까? – sbc