2016-05-11 10 views
2

私はSAMLを初めて使い、期待される署名と信頼プロセスで混乱しています。SAML証明書を確認する方法は?

私はSPをプログラミングし、含まれているIDPから署名samlp:Responseを受けていますKeyInfo

<KeyInfo> 
    <ds:X509Data> 
     <ds:X509Certificate> 
      MIIC4DCCAcigAwIBAgIQRzFzcQiEKpFD2C+gNZ8cFDANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDEyFBREZTIFNpZ25pbmcgLSB0ZXN0Lmx1Y2lkYXV0aC5jb20wHhcNMTYwNTA2MDcyODM5WhcNMTcwNTA2MDcyODM5WjAsMSowKAYDVQQDEyFBREZTIFNpZ25pbmcgLSB0ZXN0Lmx1Y2lkYXV0aC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDqng7wxIkT7VpVJhQYgwWMngST4EhxWha+vI9/5V+D0nWZXp6MIMiFO7rv0n4+og7fdVXHjK9wL4cG9MVUMFpV8cxl7lmwKC/EomPbdsHZfCQ4QE/M+jHUDRoyeqSZgUO1oMigz65FzSdtRoM6A3TKasU5+ISttvGx66gkP5wuQUllBfDJxuVA+5qPVLas5/0s/CCyVbKPDqYwn/GMKsTc1ECy8oEeBOrfRzEsQrqlkLcoriMXYIRW92j4MWUTnz3Ce4zTGPldPl2ix/dVk02MoJEgK7NTDru+2yvo0QDIvzWWs0rltF26UdABqsiq+uuwYiKkGQpBldyjfqVvmwChAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAKeywqRnNuBGaNB6k6wuDAK6Aknx28RXbJAMe9SkSAo6L16qbdRdL8JCGZCDRF7OI8GLMEZj+yStRPikEstBQYeOi+1OSDf6iqOr7LM/OURG3pNq/LUOdNJJcYUSuK3FPP4HSMOo6dOX5IHS+7OOh70CMg5dfdtjvHqb8ZsRUk30JX9nVcXXRO8Vqzgb7WjuVjGvz/zSR6Dy+f+N6UDerIauQxHPu81SasxEUE4R6pr/Tm80E6uoicp7VBtE8YGHBhag9c+rp/xLANJ+Oc0poKDvLr8odnlUvEgy5RQhqbPefQ9n8E5Pba2IA0w/tfsk0w/z2jNwgLzNCfJGyrGHiH4= 
     </ds:X509Certificate> 
    </ds:X509Data> 
</KeyInfo> 

私は、証明書が応答に署名したものを推測する必要がないように証明書が含まれていることを前提としてい。

これは今のところ非常に便利ではないようです。証明書チェーンが含まれているようには見えません。だから私は本当にその応答を信頼することはできません。

証明書が2番目の信頼できる帯域外プロトコルを介して私に与えられたと思われますが、正しい解決策のようには見えません。証明書が失効するたびに繰り返される必要があります。

X509チェーン(例:SSL)が指定されている場合、これは解決するのが簡単な問題です。

X509証明書の信頼性を確認するには、証明書が期限切れになることを考慮して、どのような方法をお勧めしますか?

+0

秘密鍵で署名し、署名を検証できるように公開鍵を添付してください。 –

+0

[SAML:署名内の証明書はなぜですか?](http://stackoverflow.com/質問/ 1703301/saml-why-the-the-signature-within-the-signature) –

+0

@DavidBrossard、トップの答えは「メッセージがそれが誰であるかをチェックするだけです。メッセージはCA、チェーン、または有効期限が切れた証明書に対処することなく、あなたが信頼する人から来ました。 –

答えて

2

私は証明書が、信頼できる第2の帯域外プロトコルを介して私に与えられたと考えます。

これは、SAMLの実装が通常行うことです。 SAMLは、証明書インフラストラクチャを「非常に汎用的で拡張性のある重要な情報伝達手段」として使用します。この仕様は、この要素の許容可能または示唆された内容、または依拠当事者に対するその意味についてのいかなる位置も持ちません。 X.509証明書を含む、値または参照によるものとみなされます。その有効期間、拡張子、失効ステータス、およびその他の関連コンテンツは、依拠当事者の裁量により強制される場合もありません。

これは、証明書の有効期限が切れるたびに繰り返す必要があるためです。

通常、有効期限は強制されないため、問題ではありません。重要なことは、キーが変更されたとき(キーのロールオーバー)です。証明書は通常、Idpによって発行されたメタデータからロードされることを処理します。これは、最終的に、Idp上のメタデータエンドポイントのTLS証明書であり、それが信頼のベースであることを意味します。

TLSが十分に信頼されていない(私はヘルスケアで経験している)場合や、セキュリティで保護された帯域外通信チャネル(個人の会議など)で証明書が交換される場合もあります。

関連する問題