この付録では、今日のWebサービス環境に存在するセキュリティの脅威と、Oracle Application Server Web Servicesセキュリティによるその脅威への対処方法を説明します。セキュリティの脅威については、Web Services Interoperability(WS-I) Organizationのドキュメント『Security Challenges, Threats and Countermeasures Version 1.0』で説明されています。このドキュメントには次のような情報が記載されています。
セキュリティの課題: これは、ユーザーが特定のセキュリティ計画を策定する際に役立つ目標、または機能となります。
各目標の達成を妨げる脅威。
それぞれの脅威に対処するために採用できる対抗策。
利用可能な使用例と、各例に適用されるセキュリティの課題と脅威。
関連資料: これらのセキュリティ・メカニズムと脅威の詳細は、次のWebサイトにある『Security Challenges, Threats and Countermeasures Version 1.0』を参照してください。
|
この付録では、Security Challengesのドキュメントで説明されている脅威に対処するため、OracleAS Web Servicesの機能がどのように使用されるかを説明します。たとえば、表B-1ではメッセージ・レベル・セキュリティの脅威を、また表B-2ではトランスポート・レベル・セキュリティの脅威を説明します。これらの表では、セキュリティの脅威に対する利用可能なソリューションと、そのソリューションをApplication Server ControlまたはOracle JDeveloperで実装可能かどうかも示します。またこれらの表には、ソリューションの詳細を参照できる、マニュアル内の項目へのロードマップもあります。
これらの表ではメッセージおよびトランスポートのレイヤー・セキュリティ・メカニズムを示すために、SC1、SA1およびBISP1などのタグを使用します。これらのタグについては表B-3で簡単に説明します。これらの表ではセキュリティの脅威のタイプを示すために、T-01およびT-02などのスレッドIDも使用します。これらの脅威については表B-4で簡単に説明します。
表B-1 メッセージ・レイヤー・セキュリティ・ソリューション
ソリューション | 脅威の番号と名前 | サポートされているソリューション | Application Server Controlサポート | Oracle JDeveloperサポート | 参照先 |
---|---|---|---|---|---|
送信者認証 パスワード/ダイジェストが暗号化された、クリアテキスト・パスワードまたはダイジェスト・パスワード付きのユーザー名(SA1) |
T-05: プリンシパル・スプーフィング |
SA1 |
インバウンド構成: (ユーザー名トークンの検証)がサポートされています。 アウトバウンド構成: (ユーザー名トークン)、Application Server Controlはユーザー名トークンの暗号化または復号化をサポートしていません。 |
インバウンド構成: (ユーザー名トークンの検証)がサポートされています。 アウトバウンド構成: (クリアテキスト/ダイジェスト・パスワード付きのユーザー名トークン)がサポートされています。 ユーザー名トークンの暗号化および復号化は手動による手順です。 |
ユーザー名トークンの暗号化および復号化の詳細は、「SOAPメッセージの要素の暗号化」と「SOAPメッセージの要素の復号化」を参照してください。 「安全なWebサービスのアセンブル」に、ユーザー名トークンを使用するボトム・アップおよびトップ・ダウンの例があります。 |
送信者認証 クリアテキスト・パスワードまたはダイジェスト・パスワード付きのユーザー名(SA2) |
T-05: プリンシパル・スプーフィング |
SA2 |
インバウンド構成は |
インバウンド構成およびアウトバウンド構成の両方がサポートされています。 |
|
メッセージ整合性、送信者認証 XMLデジタル署名(SI1)と、次のいずれか:
|
T-01: メッセージ改ざん T-05: プリンシパル・スプーフィング |
SI1、SA2、SA3およびSA5はサポートされています。SA6はサポートされていません。 |
SI1に対するインバウンド・ポリシー(署名の検証)がApplication Server Controlでサポートされています。インスタンス/ポート・レベル・キーストアを署名鍵で構成します。SA2、SA3およびSA5に対するインバウンド・ポリシーがApplication Server Controlでサポートされています。SA2、SA3およびSA5に対するアウトバウンド・ポリシーはApplication Server Controlでサポートされていません。 |
SI1、SA2、SA3およびSA5に対するインバウンド・ポリシーおよびアウトバウンド・ポリシーが両方ともOracle JDeveloperでサポートされています。キーストアを署名鍵で構成します。 |
「ボトム・アップによるセキュリティのWebサービスへのアセンブル」に、ボトム・アップのXML署名およびユーザー名トークンの例があります。 |
メッセージ秘匿性、送信者認証 XML暗号(SC1)と、次のいずれか:
|
T-02: メッセージ秘匿性、T-05: プリンシパル・スプーフィング |
SC1、SA1、SA2、SA3およびSA5はサポートされています。SA6はサポートされていません。 |
SC1に対するインバウンド・ポリシーがApplication Server Controlでサポートされています。インスタンス/ポート・レベル・キーストアを暗号鍵で構成します。SA2、SA3およびSA5に対するインバウンド・ポリシーがApplication Server Controlでサポートされています。SA2、SA3、SA5およびSC1に対するアウトバウンド・ポリシーはApplication Server Controlでサポートされていません。 |
SC1、SA2、SA3およびSA5に対するインバウンド・ポリシーおよびアウトバウンド・ポリシーが両方ともOracle JDeveloperでサポートされています。インスタンス/ポート・レベル・キーストアを暗号鍵で構成します。 |
セキュリティ・トークンおよび暗号化の構成については、第3章「Webサービス・セキュリティの管理」を参照してください。 「ボトム・アップによるセキュリティのWebサービスへのアセンブル」に、ボトム・アップのXML暗号化の例があります。 |
一方向の任意ノード: 任意ノードのメッセージ秘匿性、整合性、送信者認証 XMLデジタル署名(SI1)と、次のいずれか:
|
T-01: メッセージ改ざん、T-02: メッセージ秘匿性、T-05: プリンシパル・スプーフィング、T-06: 偽造された要件 |
SI1、SC1、SA1、SA2、SA3およびSA5はサポートされています。SA6はサポートされていません。 |
SI1およびSC1に対するインバウンド・ポリシーがApplication Server Controlでサポートされています。SA2、SA3およびSA5に対するインバウンド・ポリシーがApplication Server Controlでサポートされています。SC1、SC2、SA2、SA3およびSA5に対するアウトバウンド・ポリシーはApplication Server Controlでサポートされていません。 |
SI1、SC1、SA2、SA3およびSA5に対するインバウンド・ポリシーおよびアウトバウンド・ポリシーが両方ともOracle JDeveloperでサポートされています。ユーザーは署名鍵および暗号鍵でキーストアを構成します。 |
セキュリティ・トークンおよびXML署名の構成については、第3章「Webサービス・セキュリティの管理」を参照してください。 |
双方向の任意ノード: 任意ノードのメッセージ秘匿性、整合性、送信者認証 XMLデジタル署名(SI1)と、次のいずれか:
|
T-01: メッセージ改ざん、T-02: メッセージ秘匿性、T-05: プリンシパル・スプーフィング、T-06: 偽造された要件 |
SI1、SC1、SA1、SA2、SA3およびSA5はサポートされています。SA6はサポートされていません。 |
SI1およびSC1に対するインバウンド・ポリシーがApplication Server Controlでサポートされています。SA2、SA3およびSA5に対するインバウンド・ポリシーがApplication Server Controlでサポートされています。SI1、SC1、SA2、SA3およびSA5に対するアウトバウンド・ポリシーはApplication Server Controlでサポートされていません。 |
SI1、SC1、SA2、SA3およびSA5に対するインバウンド・ポリシーおよびアウトバウンド・ポリシーが両方ともOracle JDeveloperでサポートされています。 |
セキュリティ・トークンおよびXML署名の構成については、第3章「Webサービス・セキュリティの管理」を参照してください。 |
ハイブリッド: トランスポート整合性および秘匿性、任意ノード-任意ノードのメッセージ秘匿性、整合性、相互認証 SSL/TLS(BISP1)と、XML署名(SI1)と、次のいずれか:
|
T-01: メッセージ改ざん、T-02: メッセージ秘匿性、T-03: 偽造されたメッセージ、T-04: 介在者、T-05: プリンシパル・スプーフィング、T-06: 偽造された要件、T-07: メッセージ・パーツのリプレイ、T-08: リプレイ |
BISP、BC1、SI1、SC1、SA1、SA2、SA3およびSA5はサポートされています。SA6はサポートされていません。 |
SI1およびSC1に対するインバウンド・ポリシーがApplication Server Controlでサポートされています。SA2、SA3およびSA5に対するインバウンド・ポリシーがApplication Server Controlでサポートされています。SC1、SI1、SA2、SA3、SA5、BISPおよびBC1に対するアウトバウンド・ポリシーはApplication Server Controlでサポートされていません。 |
SI1、SC1、SA2、SA3およびSA5に対するインバウンド・ポリシーおよびアウトバウンド・ポリシーが両方ともOracle JDeveloperでサポートされています。BISPおよびBC1はOracle JDeveloperでサポートされていません。 |
セキュリティ・トークンおよびXML署名の構成については、第3章「Webサービス・セキュリティの管理」を参照してください。 SSL構成の手動手順については、『Oracle Containers for J2EEセキュリティ・ガイド』を参照してください。 |
ハイブリッド: トランスポート整合性および秘匿性、相互認証の任意ノード-任意ノードのメッセージ秘匿性、整合性、相互認証 SSL/TLS(BISP)と、クライアント認証付きSSL/TLS(BC1)と、次のいずれか:
|
T-01: メッセージ改ざん T-02: メッセージ秘匿性 T-03: 偽造されたメッセージ T-04: 介在者 T-05: プリンシパル・スプーフィング T-06: 偽造された要件 T-07: メッセージ・パーツのリプレイ T-08: リプレイ |
BISP、SI1、SC1、SA1、SA2、SA3およびSA5はサポートされています。SA6はサポートされていません。 |
SI1およびSC1に対するインバウンド・ポリシーがApplication Server Controlでサポートされています。SA2、SA3およびSA5に対するインバウンド・ポリシーがApplication Server Controlでサポートされています。SI1、SC1、SA2、SA3、SA5およびBISPに対するアウトバウンド・ポリシーはApplication Server Controlでサポートされていません。 |
SI1、SC1、SA2、SA3およびSA5に対するインバウンド・ポリシーおよびアウトバウンド・ポリシーが両方ともOracle JDeveloperでサポートされています。BISPはOracle JDeveloperでサポートされていません。 |
SSL構成の手動手順については、『Oracle Containers for J2EEセキュリティ・ガイド』を参照してください。 |
表B-2に、トランスポート・レイヤーに影響するセキュリティの脅威と、OracleAS Web Servicesセキュリティで実装できる利用可能なソリューションを示します。
表B-2 トランスポート・レイヤー・セキュリティ・ソリューション
ソリューション | 脅威の番号と名前 | サポートされているソリューション | Application Server Controlサポート | Oracle JDeveloperサポート | 参照先 |
---|---|---|---|---|---|
コンシューマ認証
|
T-05: プリンシパル・スプーフィング |
○ |
× |
× |
「トランスポート・レベル・セキュリティのWebサービスへの追加」。『Oracle Containers for J2EEセキュリティ・ガイド』も参照 |
トランスポート整合性、秘匿性、プロバイダ認証 SSL/TLS(BISP1) |
T-01: メッセージ改ざん T-02: メッセージ秘匿性 |
○ |
× |
× |
「トランスポート・レベル・セキュリティのWebサービスへの追加」。『Oracle Containers for J2EEセキュリティ・ガイド』も参照 |
トランスポート整合性、秘匿性、相互認証 SSL/TLS(BISP1)と、クライアント認証付きSSL/TLS(BC1) |
T-01: メッセージ改ざん T-02: メッセージ秘匿性 T-03: 偽造されたメッセージ T-04: 介在者 T-05: プリンシパル・スプーフィング T-06: 偽造された要件 T-07: メッセージ・パーツのリプレイ T-08: リプレイ |
○ |
× |
× |
「トランスポート・レベル・セキュリティのWebサービスへの追加」。『Oracle Containers for J2EEセキュリティ・ガイド』も参照 |
コンシューマ認証で強化された、トランスポート整合性、秘匿性、相互認証 SSL/TLS(BISP1)と、HTTP Basic/ HTTP Digest認証(BC5) |
T-01: メッセージ改ざん T-02: メッセージ秘匿性 T-03: 偽造されたメッセージ T-05: プリンシパル・スプーフィング T-06: 偽造された要件 T-07: メッセージ・パーツのリプレイ T-08: リプレイ |
○ |
× |
× |
「トランスポート・レベル・セキュリティのWebサービスへの追加」。『Oracle Containers for J2EEセキュリティ・ガイド』も参照 |
表B-3で、表B-1および表B-2で説明されているメッセージおよびトランスポートのレイヤー・セキュリティ・メカニズムを表すタグを簡単に説明します。
表B-3 メッセージおよびトランスポートのレイヤー・セキュリティ・メカニズムに対する一意のID
タグ | 説明 |
---|---|
BC1 |
クライアント認証付きのSSL/TLS |
BC2 |
HTTP Basic |
BC3 |
HTTP Digest |
BC4 |
HTTP属性 |
BC5 |
HTTP BasicまたはHTTP Digest |
BISP1 |
SSL/TSL |
SA1 |
XML暗号、パスワードまたはダイジェスト付きのユーザー名トークン |
SA2 |
ユーザー名と、パスワードまたはダイジェスト |
SA3 |
X.509証明書 |
SA5 |
SAMLトークン |
SA6 |
RELトークン |
SC1 |
XML暗号 |
SI1 |
XMLデジタル署名 |
表B-4で、表B-1および表B-2で使用されているセキュリティの脅威のIDおよび名前を簡単に説明します。
表B-4 OracleAS Web Servicesセキュリティで対処できるセキュリティの脅威
脅威ID | 脅威名 | 説明 |
---|---|---|
T-01 |
メッセージ改ざん |
情報の発信者によって作成された情報が挿入、削除または修正されることでメッセージ情報が改ざんされてしまい、受信者がそれを発信者の意図のように誤って認識します。 |
T-02 |
メッセージ秘匿性 |
メッセージ内の情報が、意図または認証されていない参加者によって参照可能です。 |
T-03 |
偽造されたメッセージ |
偽のメッセージが作成されて受信者に送られ、受信者はそのメッセージが送信者以外のパーティから送られたものであると認識します。 |
T-04 |
介在者 |
本当の送信者および受信者の両者を欺くため、送信者および受信者以外の参加者になりすますパーティ(たとえば、攻撃者はメッセージ保護に使用される暗号化レベルをダウングレードできます)。 |
T-05 |
プリンシパル・スプーフィング |
別のプリンシパルから送られたように表示されるメッセージが送信されます。 |
T-06 |
偽造された要件 |
別の未認可情報へのアクセスを得るため、セキュリティ要件が偽造されたメッセージが送信されます(たとえば、指定された認証局で実際に発行されてはいないセキュリティ・トークンが使用されます)。 |
T-07 |
メッセージ・パーツのリプレイ |
別の未認可情報へのアクセスを得るため、または受信者になんらかの行動を起こさせるため、別のメッセージのパーツを含むメッセージが送信されます。 |
T-08 |
リプレイ |
メッセージすべてが攻撃者によって再送信されます。 |
T-09 |
サービス拒否 |
増幅攻撃: 攻撃者は短時間の作業によって、強制的にシステムが大量の処理を行うように攻撃します。 |