Oracle OpenSSO Update 2 リリースノート

セキュリティートークンの作成

Oracle OpenSSO セキュリティートークンサービス (OpenSSO STS) は、Web サービスクライアントと Web サービスプロバイダの間で信頼関係を確立したり、その信頼関係を破棄したりします。Web サービスは、複数のクライアントと通信をする必要なく、1 つのエンティティー「OpenSSO STS」のみが発行したトークンを信頼できます。このようにして、OpenSSO STS はトラストポイントを管理するためのオーバーヘッドを大幅に削減します。

次にセクションでは、セキュリティートークンのニーズを判定する手順、およびそのニーズを満たすようセキュリティートークンサービスを設定してセキュリティートークンの生成と検証を行う手順を解説します。

Web サービスプロバイダの OpenSSO STS への登録

新しい Web サービスプロバイダのセキュリティーエージェントプロファイルを追加する場合、Web サービスプロバイダは OpenSSO STS に自動で登録されます。詳細については以降の節を参照してください。

Web サービスプロバイダを OpenSSO STS に登録したら、OpenSSO STS を設定して Web サービスプロバイダが受け入れられる Web クライアントのセキュリティートークンを生成できます。

OpenSSO STS からの Web サービスクライアントのセキュリティートークン要求

Web クライアントセキュリティートークンを生成するには、セキュリティートークンサービスを設定する前に、Web サービスプロバイダが必要としているセキュリティートークンの種類を調べる必要があります。OpenSSO STS は、Liberty Alliance Project のセキュリティートークンと Web Services Interoperability の Basic Security Profile セキュリティートークンをサポートしています。

セキュリティートークンの生成プロセスの流れ

Liberty Alliance Project のトークンを使用してセキュリティーを有効にしている場合、HTTP クライアント (ブラウザ) は Web サービスクライアントを通じて Web サービスプロバイダにアクセス要求を送信します。Web サービスのセキュリティーエージェントは、OpenSSO STS の認証サービスにその要求をリダイレクトします。Liberty Alliance Project のセキュリティー機構が機能している場合は、HTTP セキュリティーエージェントがリダイレクトを発行します。WS-IBS のセキュリティーを使用している場合は、SOAP セキュリティーエージェントがリダイレクトを発行します。

OpenSSO STS の認証サービスは、Web サービスプロバイダによって登録されたセキュリティー機構を判定し、適切なセキュリティートークンを取得します。認証成功後、Web サービスクライアント側の SOAP セキュリティーエージェントがセキュリティーヘッダーとトークンを挿入している間、Web サービスクライアントは SOAP メッセージ本文を提供します。その後、要求が WSP に送信される前にメッセージは署名されます。

Web サービスプロバイダ側の SOAP セキュリティーエージェントは、要求を Web サービスプロバイダ自身に転送する前に、SOAP 要求の中の署名とセキュリティートークンを検証します。Web サービスプロバイダはこの要求を処理して、SOAP セキュリティーエージェントによって署名された応答を Web サービスクライアントに返します。Web サービスクライアント側の SOAP セキュリティーエージェントは、応答を Web サービスクライアントに転送する前に、その署名を検証します。

Liberty Alliance Project のトランザクションでサポートされているトークンのリストと簡単な説明を次の表に示します。

表 3–1 要求者のトークン - Liberty Alliance Project

トークン

これらの要件を満たします

X.509 

  • 安全な Web サービスは公開鍵基盤 (PKI) を使用します。PKI では、要求元の特定手段として、および Web サービスプロバイダに対する認証手段として、Web サービスクライアントが公開鍵を提供します。

  • 安全な Web サービスは公開鍵基盤 (PKI) を使用します。PKI では、要求元の特定手段として、および Web サービスプロバイダに対する認証手段として、Web サービスクライアントが公開鍵を提供します。

BearerToken 

  • 安全な Web サービスは Security Assertion Markup Language (SAML) SAML Bearer トークンによる確認手法を利用します。

  • WSC は、要求元を Web サービスプロバイダに対して認証する手段として SAML 表明を公開鍵情報とともに提供します。

  • 2 つ目の署名は表明を SOAP メッセージにバインドします。

  • 2 つ目の署名バインディングは、Liberty Alliance Project で定義されたルールを使用します。

SAML トークン 

  • 安全な Web サービスは、SAML Holder-of-Key の確認手法を利用します。

  • WSC は、SAML 表明およびデジタル署名を SOAP ヘッダーに追加します。

  • 送信側の証明書または公開鍵も署名とともに提供されます。

  • この送信は、Liberty Alliance Project で定義されたルールを使用して処理されます。

WS-IBS のトランザクションでサポートされているトークンのリストと簡単な説明を次の表に示します。

表 3–2 要求者のトークン - WS-IBS

トークン

これらの要件を満たします

ユーザー名 

  • 安全な Web サービスはユーザー名、パスワード、およびオプションで署名された要求を必要とします。

  • Web サービスコンシューマは、要求元を特定する手段としてユーザー名トークンを提供します

  • Web サービスコンシューマは、パスワード、共有シークレット、またはパスワードに相当するものを提供して、Web サービスプロバイダに対して身元を認証します。

X.509 

安全な Web サービスでは PKI (公開鍵基盤) を使用しています。PKI では、要求元を特定する手段、および Web サービスプロバイダに対する認証を実現する手段として、Web サービスコンシューマが公開鍵を提供します。 

SAML-Holder-Of-Key 

  • 安全な Web サービスは、SAML Holder-of-Key の確認手法を利用します。

  • Web サービスコンシューマは、要求元を Web サービスプロバイダに対して認証する手段として SAML 表明を公開鍵情報とともに提供します。

  • 2 つ目の署名は表明を SOAP ペイロードにバインドします。

SAML-SenderVouches 

  • 安全な Web サービスは、SAML Sender-Vouches の確認手法を利用します。

  • Web サービスコンシューマは、SAML 表明およびデジタル署名を SOAP ヘッダーに追加します。送信側の証明書または公開鍵も署名とともに提供されます。

セキュリティートークン生成表の使用

セキュリティートークン生成表を使用すれば、OpenSSO STS を設定して、Web サービスプロバイダが必要とする Web サービスクライアントのセキュリティートークンを生成できるようになります。まず、「OpenSSO STS 出力トークン」という名前の最後の列で、Web サービスプロバイダトークンの要件を満たす説明文を探します。そして、セキュリティートークンサービスを設定する場合は同じ行にあるパラメータの値を使用します。「トークン生成表の凡例」では、表の見出しと利用可能なオプションについての情報を記載しています。設定手順についての詳細は、5.2.3 節「To Configure the Security Token Service」を参照してください。Web サービスのセキュリティーと関連技術についての一般的な情報については、次を参照してください。

セキュリティートークン生成表では、頻繁に使用するセキュリティートークンサービスのパラメータ設定と、それらの設定に基づいて OpenSSO STS が生成するセキュリティートークンの種類についてまとめています。

表 3–3 セキュリティートークン生成表

メッセージレベルのセキュリティーバインディング

Web サービスクライアントのトークン

KeyType

OnBehalfOf トークン

Use Key

OpenSSO STS 出力トークン

非対称  

X509  

ベアラー  

はい  

いいえ  

SAML ベアラー (証明鍵なし) 

非対称  

ユーザー名  

ベアラー  

はい  

いいえ  

SAML ベアラー (証明鍵なし) 

非対称  

X509  

ベアラー  

いいえ  

いいえ  

SAML ベアラー (証明鍵なし) 

非対称  

ユーザー名  

ベアラー  

いいえ  

いいえ  

SAML ベアラー (証明鍵なし) 

非対称  

X509  

対称  

はい  

いいえ  

SAML Holder-of-Key (対称証明鍵) 

非対称  

ユーザー名  

対称  

はい  

いいえ  

SAML Holder-of-Key (対称証明鍵) 

非対称  

X509  

対称  

いいえ  

いいえ  

SAML Holder-of-Key (対称) 

非対称  

ユーザー名  

対称  

いいえ  

いいえ  

SAML Holder-of-Key (対称証明鍵) 

非対称  

X509  

非対称  

いいえ  

Web サービスクライアントの公開鍵  

SAML Holder-of-Key (非対称証明鍵) 

10 

非対称  

X509  

SAML Sender-Vouches  

はい  

いいえ  

SAML Sender-Vouches (証明鍵なし) 

11 

非対称  

ユーザー名  

SAML Sender-Vouches  

はい  

いいえ  

SAML Sender-Vouches (証明鍵なし) 

12 

非対称  

X509  

SAML Sender-Vouches  

いいえ  

いいえ  

エラー 

13 

非対称  

ユーザー名  

SAML Sender-Vouches  

いいえ  

いいえ  

エラー 

14 

トランスポート  

ユーザー名  

ベアラー  

はい  

いいえ  

SAML ベアラー (証明鍵なし) 

15 

トランスポート  

ユーザー名  

ベアラー  

いいえ  

いいえ  

SAML ベアラー (証明鍵なし) 

16 

トランスポート  

ユーザー名  

対称  

はい  

いいえ  

SAML Holder-of-Key (対称) 

17 

トランスポート  

ユーザー名  

対称  

いいえ  

いいえ  

SAML Holder-of-Key (対称証明鍵) 

18 

トランスポート  

ユーザー名  

SAML Sender-Vouches  

はい  

いいえ  

SAML Sender-Vouches (証明鍵なし) 

19 

トランスポート  

ユーザー名  

SAML Sender-Vouches  

いいえ  

いいえ  

エラー 

20 

非対称  

ユーザー名  

非対称  

いいえ  

Web サービスクライアントの公開鍵  

エラー 

21 

トランスポート  

ユーザー名  

非対称  

いいえ  

Web サービスクライアントの公開鍵  

エラー 

22 

非対称  

X509  

非対称  

はい  

いいえ  

エラー 

23 

非対称  

ユーザー名  

非対称  

はい  

いいえ  

エラー 

24 

トランスポート  

ユーザー名  

非対称  

はい  

いいえ  

エラー 

25 

非対称  

X509  

非対称  

いいえ  

いいえ  

SAML Holder-of-Key (非対称証明鍵) 

26 

非対称  

X509  

いいえ  

いいえ  

いいえ  

SAML Holder-of-Key (非対称証明鍵) 

27 

非対称  

ユーザー名  

いいえ  

いいえ  

いいえ  

SAML Holder-of-Key (対称証明鍵) 

28 

トランスポート  

ユーザー名  

いいえ  

いいえ  

いいえ  

SAML Holder-of-Key (対称証明鍵)