基本セキュリティー・プロファイル準拠のヒント
Web Services Interoperability Organization (WS-I) の基本セキュリティー・プロファイル (BSP) 1.0 では、一連の非占有の Web サービス仕様を明確化および詳述化することによって、インターオペラビリティーが促進されています。 WebSphere® Application Server の Web サービス・セキュリティーでは、 インターオペラビリティーを確保する目的で、BSP 勧告およびセキュリティー上の考慮事項を確実に実現するための 構成オプションが提供されています。これらの勧告に従う度合いは、構成しているアプリケーションがどれだけ基本セキュリティー・プロファイル (BSP) に準拠しているかを測る指標となります。
基本セキュリティー・プロファイル (BSP) に準拠するアプリケーションは、新しい WebSphere Application Server バージョン 9.0でサポートされます。基本セキュリティー・プロファイルに関する詳しい情報は、基本セキュリティー・プロファイルのバージョン 1.0 の Web Services Interoperability Organization (WS-I) 基本セキュリティー・プロファイル (BSP) を参照してください。
キーワードの定義済みリストか XPath 式 のどちらかを使用して、BSP に準拠することができます。キーワードおよび XPath 式の両方とも、デプロイメント記述子構成ファイルで指定され、アセンブリー・ツールを使用して構成されます。
基本セキュリティー・プロファイル勧告
- 元の XPath 変換を使用しないでください。http://www.w3.org/TR/1999/REC-xpath-19991116
SIGNATURE エレメント の ds:Reference からの ID 属性タイプを持っていない SECURE_ENVELOPE のエレメントを参照する場合には、XPath Filter 2.0 変換を使用する必要があります。それらのエレメントについては、http://www.w3.org/2002/06/xmldsig-filter2 を参照してください。
SIGNATURE エレメントの ds:Transform/@Algorithm 属性 (ds:Transform/@Algorithm attribute) には、以下の値の 1 つが含まれる必要があります。- http://www.w3.org/2001/10/xml-exc-c14n#
- http://www.w3.org/2002/06/xmldsig-filter2
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform
- http://www.w3.org/2000/09/xmldsig#enveloped-signature
- http://docs.oasis-open.org/wss/2004/XX/oasis-2004XX-wss-swa-profile-1.0#Attachment-Content-Only-Transform
- http://docs.oasis-open.org/wss/2004/XX/oasis-2004XX-wss-swa-profile-1.0#Attachment-Complete-Transform
- http://www.w3.org/2000/09/xmldsig#dsa-sha1 署名アルゴリズムを使用しないでください。対称鍵を基にしている SIGNATURE の ds:SignatureMethod/@Algorithm エレメントには、以下の値の 1 つが含まれる必要があります。
- メッセージ部分用に digestvalue キーワードを指定して、暗号化しないでください。
代わりに、シグニチャー・キーワードを使用します。
SIGNATURE エレメントの ds:DigestValue エレメント の値を暗号化する必要がある場合、ds:Signature エレメントの親全体を暗号化する必要があります。SIGNATURE は、下位に xenc:EncryptedData エレメントを持つことはできません。
- KEYNAME 鍵情報タイプを使用しないでください。
KEYNAME 参照は未確定の場合があり、BSP 準拠では KEYNAME の使用を許可していません。
SECURITY_TOKEN_REFERENCE には、SECURITY_TOKEN を参照するために鍵の名前を使用できません。 ENCRYPTED_KEY の ds:KeyInfo エレメントの子エレメントは、SECURITY_TOKEN_REFERENCE または ds:MgmtData エレメントのどちらかである必要があります。暗号鍵の KEYNAME 鍵情報タイプを使用すると、ds:KeyInfo エレメントの KeyName 子エレメントになり、BSP 準拠では許可されていません。
- http://www.w3.org/2001/04/xmlenc#aes192-cbc ビット・データ暗号化アルゴリズムを使用しないでください。ENCRYPTED_DATA エレメントの xenc:EncryptionMethod/@Algorithm 属性には、以下の値の 1 つが含まれる必要があります。
- 拡張暗号化標準 (advanced encryption standard) (AES) 鍵ラップ (aes192): http://www.w3.org/2001/04/xmlenc#kw-aes192 鍵暗号化アルゴリズムを使用しないでください。鍵ラップを使用する場合、ENCRYPTED_KEY エレメントの xenc:EncryptionMethod/@Algorithm 属性には、以下の値の 1 つが含まれる必要があります。
BSP 準拠の構成オプション
- シグニチャーの ds:Transforms エレメントを構成する場合、変換のリストには、その最後の子エレメントとして http://www.w3.org/2001/10/xml-exc-c14n# または http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform が含まれる必要があります。
- Username トークンに wsse:Nonce または wsse:Created エレメントを追加して、リプレイさせないでください。エレメントが追加された後、Username トークンに署名して、これらのフィールドの未検出の変更を防止してください。そうしなければ、リプレイが発生する場合があります。