タイム・スタンプ

タイム・スタンプ は、 オブジェクトのヒストリーにおける重要時点のシステム時刻を 示す、オブジェクトの値です。

タイム・スタンプは、リプレイ・アタックに対するアプリケーションの ぜい弱性を軽減するため、メッセージに組み込まれます。リプレイ・アタックは、Web サービス で HTTP 要求がインターセプトされ、内容が元の形式のままプロバイダーに 再送されるときに発生します。

トラブルの回避 (Avoid trouble) トラブルの回避 (Avoid trouble): メッセージにタイム・スタンプを組み込む場合は、 トランスポート・セキュリティー (Secure Sockets Layer (SSL) など) またはメッセージ・レベル・セキュリティー (XML デジタル署名など) を 使用して、タイム・スタンプの整合性を保護する必要があります。タイム・スタンプの整合性を 保護しないと、メッセージを取り込み、タイム・スタンプまたはメッセージ有効期限日付 (あるいは両方) を異なるものにして内容を 再送することが可能になります。gotcha

JAX-RPC ランタイムと JAX-WS WS-Security ランタイムの両方で、メッセージ中に値が指定されていない場合に 受信側に使用される、デフォルトのメッセージ有効期限時間は 5 分 です。特定のクライアントではこれと異なる有効期限が必要な場合、 または、ターゲット・サービスのデフォルト値が不明な場合、 アウトバウンド・タイム・スタンプのメッセージ有効期限時間の値を 構成してください。

サポートされる構成 サポートされる構成:
  • Web Services Security JAX-RPC ランタイムおよび JAX-WS ランタイムは、 メッセージを生成またはコンシュームするとき、タイム・スタンプの整合性 が保護されることを強制しません。
  • Web Services Security JAX-RPC ランタイムおよび JAX-WS ランタイムには、 アウトバウンド・メッセージ有効期限のデフォルト値はありません。メッセージ 有効期限値をメッセージに組み込むには、有効期限を構成する必要があります。JAX-WS ランタイム にはアウトバウンド・メッセージ有効期限のデフォルト値はありませんが、 アウトバウンド・メッセージ有効期限値をデフォルト汎用バインディング内に 構成することができます。この値は、デフォルト・バインディング が適用されるレベルのすべてのアプリケーションによって取得されます。例えば、 この値は、セル・レベルで取得されたり、アプリケーション・レベルで取得されたりします。
  • JAX-RPC ランタイムの場合、タイム・スタンプ有効期限値は、 Web サービスのデプロイメント記述子拡張に指定されます。Web サービスのデプロイメント記述子拡張を 管理コンソールから変更することはできず、表示することしか できません。デプロイメント記述子拡張を変更するには、 アセンブリー・ツールを使用し、JAX-RPC アプリケーションのタイム・スタンプ 有効期限値を追加または変更する必要があります。
  • タイム・スタンプをコンシュームするための WS-Security 制約 が存在する場合、クライアントはタイム・スタンプを送信する必要があります。
  • WebSphere® Application Server は、IncludeTimestamp ポリシー・アサーションを強制します。 ただし、多くのサービス・プロバイダーは、要求にその <wsu:Timestamp> エレメントを必要としますが、応答ではそれを送信しません。 応答内にまったくセキュリティー・ヘッダーがなく、タイム・スタンプもない可能性もあります。 IncludeTimestamp がポリシーにあるが、応答でタイム・スタンプが戻されない場合、クライアントで次のエラーが発生します。
    CWWSS5730E: A required timestamp is not found.
    この問題を解決するには、タイム・スタンプを送信するようにサービス・プロバイダーを構成するか、 WS-Security ポリシー・バインディングで com.ibm.wsspi.wssecurity.consumer.timestampRequired カスタム・プロパティーを false に設定することで、タイム・スタンプを必要としないようにクライアントを構成してください。 詳しくは、Web Services Security のカスタム・プロパティーを参照してください。
sptcfg

JAX-WS WS-Security ランタイムは、OASIS WS-SecurityPolicy 1.2 仕様の「Timestamp Required」要件に準拠しています。 アウトバウンド・タイム・スタンプが構成されている場合にインバウンド・タイム・スタンプを要求しないようにアプリケーションを構成するには、com.ibm.wsspi.wssecurity.consumer.timestampRequired カスタム・プロパティーをインバウンドまたはインバウンド/アウトバウンドの Web Services Security のカスタム・プロパティーとして追加できます。

JAX-WS ランタイムは常に、タイム・スタンプを最初に配置しますが、JAX-RPC ランタイムはそのようにはなっていません。JAX-RPC WS-Security 1.0 ランタイムを使用し、セキュリティー・ヘッダーで最初にタイム・スタンプを送出する場合は、以下を行う必要があります。
  • プロパティー com.ibm.wsspi.wssecurity.timestamp.keywordSecurityFirst を設定します。
  • プロパティー com.ibm.wsspi.wssecurity.timestamp.dialect http://www.ibm.com/websphere/webservices/wssecurity/dialect-was に設定します。 com.ibm.wsspi.wssecurity.timestamp.dialect のデフォルト値は dialect-was ですが、希望する機能を作動させるには、このプロパティーは明示的に設定する必要があります。
これらのプロパティーは、Web サービス・デプロイメント記述子拡張の Timestamp 生成プログラムのプロパティーとして設定されます。 これは拡張内にあるので、アセンブリー・ツールでのみ編集できます。

トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_timestamp
ファイル名:cwbs_timestamp.html