X.509 バイナリー・セキュリティー・トークン
X.509 バイナリー・セキュリティー・トークンは、X.509 公開証明書の Base64 エンコード表現です。
以下の表では、X.509 トークン・タイプについて説明します。
X.509 トークン・タイプ | 説明 |
---|---|
X.509 バージョン 1 | X.509 公開証明書のみを含みます。 |
X.509 バージョン 3 | X.509 公開証明書のみを含みます。 |
PKIPath | PKIPath にパッケージされた、番号付きリストの X.509 公開証明書が含まれます。 X509PKIPathv1 トークン・タイプは、証明書パスを表すために使用できます。 |
PKCS7 | X.509 証明書のリストを含み、オプションで、PKCS#7 ラッパーにパッケージされた証明書失効リスト (CRL) が含まれます。 PKCS7 トークンは証明書パスを表すために使用できます。 |
X.509 トークンは一般に、XML デジタル署名または XML 暗号化で SOAP メッセージを保護するために使用されます。 推奨はしませんが、X.509 トークンも認証トークンとして使用できます。
認証への X.509 トークンの使用
トークンを認証する場合には、トークンの送信者が自分の身元について説明しているとおりの人物であるかを確認します。 ユーザー ID などの、メッセージで送信された公開情報を受け取り、それをパスワードなどの本人しか提供できない秘密情報を用いて何らかの方法で確認します。
非常に単純な例として、UsernameToken を認証する場合には、ユーザー名とパスワードが SOAP メッセージで渡され、それらはエンドポイントのユーザー・レジストリーに照らして検査されます。
X.509 証明書の場合、公開情報は公開鍵/識別名であり、秘密情報は秘密鍵です。 UsernameToken のパスワードとは異なり、秘密鍵はメッセージでは送信されません。
- トラストが有効である場合、トラストストアと証明書ストアが構成済みであれば、証明書はそれらに照らして評価されます。 これにより、トラスト・エラー、証明書チェーン・エラー、失効エラー、証明書有効期限切れなどをキャッチできます。例えば、各証明書を明示的に信頼するために、トラストストアで特定の識別名を持つようにしたり、この CA から発行されるすべての証明書を信頼し、他からのものは信頼しないように、ルート CA のみを持つようにしたりできます。
- ランタイムでは、メッセージの送信側が、署名を確認して証明書と関連付けられた秘密鍵を持っていることを確認します。
署名を確認できない場合は、以下のいずれかの条件が発生しています。
- メッセージが、メッセージ内の公開鍵と一致しない秘密鍵で署名されている。
- メッセージが、送信後に変更されている。
署名の確認後は、メッセージの送信者が秘密鍵の所有者であることが分かり、自分の身元について説明しているとおりの人物であることが分かります。
メッセージで X.509 トークンを、メッセージに署名するためのその秘密鍵を使用せずに受け渡す場合は、ステップ #2 は実行しません。 この場合は、メッセージの送信者が秘密鍵の所有者であることや、自分の身元について説明しているとおりの人物であることは確認できません。 メッセージに署名する場合、秘密鍵の所有者にしか行えないことを実行していることになります。
- 有効なメッセージと、アタッカーの X.509 トークンに代わるものが同じメッセージで取り込まれます。
無保護の X.509 トークンはメッセージで送信しないことをお勧めします。 X.509 トークンを認証に使用する場合、1 つの X.509 トークンをメッセージで送信し、その X.509 トークンを、呼び出し元の構成で、デジタル署名と認証の両方に使用することをお勧めします。 署名パート参照は、呼び出し元の設定で使用されます。
以下の表では、X.509 トークン値タイプについて説明します。
X.509 トークン・タイプ | 値のタイプ |
---|---|
X.509 バージョン 1 | http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509 |
X.509 バージョン 3 | http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3 |
PKIPath | http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509PKIPathv1 |
PKCS7 | http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#PKCS7 |