WebSphere Application Server for z/OS, Version 6.0.x   
             オペレーティング・システム: z/OS

             目次と検索結果のパーソナライズ化

ジェネレーターのセキュリティー制約で保全性を実現する nonce (ランダム・ストリング) の、キーワードによる追加

nonce はランダムに生成される暗号トークンです。特定のエレメントに nonce を組み込み、 そのエレメントに署名するよう指定する場合には、保全性を得るための nonce を使用します。

始める前に

このタスクを実行する前に、 アプリケーションをアセンブリー・ツールにインポートする必要があります。

アプリケーションをインポートする方法については、エンタープライズ・アプリケーションのインポートを参照してください。

このタスクについて

特定のメッセージ・パーツに nonce を追加すると、 メッセージの盗み見やリプレイ・アタックを防ぐことができます。これは、生成される nonce が固有であるためです。 例えば、nonce を使用しない場合に、非セキュア・トランスポート (HTTP など) を使用してユーザー名トークンがマシン間で受け渡されると、 トークンが傍受されて、リプレイ・アタックで使用されることがあります。 ユーザー名トークンは、XML デジタル・シグニチャーと XML 暗号化を使用している場合であっても、 盗まれる可能性があります。しかし、nonce を追加するとこれを防ぐことができます。

以下のステップに従って、 ジェネレーターのセキュリティー制約を要求ジェネレーターまたは応答ジェネレーターに対して構成するときに、 キーワードを使用して保全性を得るための nonce を指定します。 要求ジェネレーターはクライアント用に構成され、 応答ジェネレーターはサーバー用に構成されます。 以下のステップでは、 ステップ 2 でクライアント・サイドの拡張機能を構成するか、ステップ 3 でサーバー・サイドの拡張機能を構成する必要があります。

プロシージャー

  1. アセンブリー・ツールを開始して、 「ウィンドウ」>「パースペクティブのオープン」>「J2EE」とクリックします。
  2. オプション: プロジェクト・エクスプローラー・ウィンドウで、 クライアント・サイドの拡張機能を探します。 「Client Deployment Descriptor」ウィンドウが表示されます。 この Web サービスに、構成が必要な拡張機能が含まれています。
    1. Web サービス」 > 「クライアント」セクションを展開し、Web サービスの名前をダブルクリックします。
    2. WS Extension」タブをクリックして、 「Request Generator Configuration」セクションを展開します。
  3. オプション: 「Project Explorer」ウィンドウを使用して、サーバー・サイドの拡張機能を見付けます。 「Web Services Editor」ウィンドウが表示されます。 この Web サービスに、構成が必要な拡張機能が含まれています。
    1. Web サービス」 > 「サービス」セクションを展開し、Web サービスの名前をダブルクリックします。
    2. 拡張機能」タブをクリックして、 「Response Generator Service Configuration Details」セクションを展開します。
  4. 保全性」セクションを展開します。 機密性が暗号化を意味するのに対して、「保全性」はデジタル・シグニチャーを意味します。 保全性によって、データがネットワーク内を伝送されている間に変更されるリスクが減少します。 SOAP メッセージへのデジタル署名の詳細については、XML デジタル・シグニチャー を参照してください。
  5. 追加」をクリックして、保全性を得るための nonce を指定します。 「保全性」ダイアログ・ウィンドウが表示されます。
    1. 「Required Integrity Name」フィールドで、 保全性エレメントの名前を指定します。 例えば、int_nonce などです。
    2. 「順序」フィールドで順序を指定します。 この値は正の整数値で、 デジタル・シグニチャーの処理順序を指定するものです。 順序値 1 を指定すると、その署名が最初に実行されます。
  6. 「Nonce」の下にある「追加」をクリックして、nonce ダイアレクトを選択します。 http://www.ibm.com/websphere/webservices/wssecurity/dialect-was ダイアレクトで、 nonce を追加し、署名するメッセージ・パーツが指定されます。 このダイアレクトを選択した場合は、 「Nonce keyword」の下にある以下のキーワードのいずれかを選択することができます。
    body
    メッセージのユーザー・データ部分を指定します。 このオプションを選択すると、SOAP の本文エレメントに nonce が組み込まれ、 その本文エレメントが署名されます。
    timestamp
    メッセージ内の独立したタイム・スタンプ・エレメントに nonce を組み込み、そのエレメントに署名するように指定します。 timestamp を選択する場合は、 メッセージ内に独立したタイム・スタンプ・エレメントが存在することを確認してください。 存在しない場合は、 独立したタイム・スタンプの、ジェネレーターのセキュリティー制約への追加 を参照してください。
    securitytoken
    securitytoken エレメントに署名するように指定します。 セキュリティー・トークンは、クライアントの認証を行います。 このオプションを選択すると、nonce エレメントが securitytoken エレメントに組み込まれます。
    dsigkey
    nonce を鍵情報エレメント (デジタル・シグニチャーに使用) に挿入し、 その鍵情報エレメントに署名するように指定します。
    enckey
    nonce を鍵情報エレメント (暗号化に使用) に挿入し、 その鍵情報エレメントに署名するように指定します。
    messageid
    nonce を <wsa:MessageID> エレメントに挿入し、 <wsa:MessageID> エレメントに署名するように指定します。
    to
    nonce をメッセージ内の <wsa:To> エレメントに挿入し、 <wsa:To> エレメントに署名するように指定します。
    action
    <wsa:Action> エレメントに署名するように指定します。
    relatesto
    nonce をメッセージ内の <wsa:RelatesTo> エレメントに挿入し、 <wsa:RelatesTo> エレメントに署名するように指定します。
  7. 「メッセージ・パーツ」セクションで「追加」をクリックして、 「Message parts dialect」フィールドで http://www.ibm.com/websphere/webservices/wssecurity/dialect-was を選択します。
  8. 「メッセージ・パーツ」セクションで、メッセージ・パーツのキーワードを選択します。
    重要: 保全性を得るために nonce を指定するには、 「メッセージ・パーツ」セクションで少なくとも 1 つのメッセージ・パーツを定義しておく必要があります。 nonce の親エレメントだけでなく、このメッセージ・パーツにも署名されます。
  9. OK」をクリックして、構成変更を保管します。
    注: 以上の構成は、 コンシューマー側とジェネレーター側で一致している必要があります。
    nonce のほか、タイム・スタンプ・エレメントに署名されるように指定することもできます。 詳しくは、以下の項目を参照してください。

次の例は SOAP メッセージで、このメッセージには、 SOAP メッセージの本文に挿入され、署名される nonce が含まれています。

<soapenv:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Header soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/
       wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/
          oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType=
          "http://docs.oasis-open.org/wss/2004/01/
          oasis-200401-wss-x509-token-profile-1.0#X509v3"
          wsu:Id="x509bst_1179110083179840266" xmlns:wsu="http://docs.oasis-open.org/
          wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> E21hcnV5YW1hQGpwLmlib
          S5jb22CAgEBMA0GCSqGSIb3DQEBBQUAA4GBAHkthdGDgCvdIL9/vXUo74xpfOQd/rr1owBmMdb1TWdO
          yzwbOHC7lkUlnKrkI7SofwSLSDUP571iiMXUx3tRdmAVCoDMMFuDXh9V7212luXccx0s1S5KN0D3xW9
          7LLNegQC0/b+aFD8XKw2U5ZtwbnFTRgs097dmz09RosDKkLlM
         </wsse:BinarySecurityToken>
         <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
            <ds:SignedInfo>
               <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                  <ec:InclusiveNamespaces PrefixList="wsse ds xsi soapenc xsd soapenv "
                   xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
               </ds:CanonicalizationMethod>
               <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
               <ds:Reference URI="#wssecurity_signature_id_8451968259110349556">
                  <ds:Transforms>
                     <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                        <ec:InclusiveNamespaces PrefixList="xsi soapenc xsd wsu soapenv "
                         xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                     </ds:Transform>
                  </ds:Transforms>
                  <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                  <ds:DigestValue>HgfL7FiG/TGECE/L0zg5mJldfgc=</ds:DigestValue>
               </ds:Reference>
            </ds:SignedInfo>
            <ds:SignatureValue>iE2G53VMwCFBI6BwOWiaOLYvemZUJTXJocXpy8loyW1LiR8bBQcFioDOuD
             XXzVj3K+ZD2pYhc0krVYqkYY0IZoRx7xpWt+9qn7aSbxKjuHlMFNCdB1Uxp608zCZcSwvuoCffjl
             O0ltUQ8JTEBnmMB0cfaoiG5bFkUOEpkFo2P9c=</ds:SignatureValue>
            <ds:KeyInfo>
               <wsse:SecurityTokenReference>
                  <wsse:Reference URI="#x509bst_1179110083179840266" ValueType="
                   http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-
                   token-profile-1.0#X509v3"/>
               </wsse:SecurityTokenReference>
            </ds:KeyInfo>
         </ds:Signature>
      </wsse:Security>
   </soapenv:Header>
   <soapenv:Body soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    wsu:Id="wssecurity_signature_id_8451968259110349556" xmlns:wsu="http://docs.oasis-open.org/
    wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
      <getVersion/>
      <wsse:Nonce wasextention="wedsig" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/
       oasis-200401-wss-wssecurity-secext-1.0.xsd">1u0otbnjkPiCWDhh25yEyBHD/r3VPSbQ1oZTs0K
       s1GE/iDL4YbKDTwdL+e2Hb7nNZn397nRJQ9ePGgf7PRdEuqATFbfq0/T+6j6Fk/MbSHmZnHHoBscFX8W/dY
       ssyCmWDp99447kRhnJbNg5JxarkFmMLqpxKfm1iP3hKP5DpJY=</wsse:Nonce>
   </soapenv:Body>
</soapenv:Envelope>

次の作業

デジタル署名するメッセージ・パーツを指定したら、次に、 そのメッセージのデジタル署名に使用するメソッドを指定する必要があります。 詳しくは、コンシューマー・バインディング用署名情報の、アセンブリー・ツールによる構成 を参照してください。



関連概念
XML デジタル・シグニチャー
関連タスク
コンシューマー・セキュリティー制約での独立したタイム・スタンプの追加
コンシューマーのセキュリティー制約で保全性を実現するタイム・スタンプの、キーワードによる追加
コンシューマーのセキュリティー制約で保全性を実現するタイム・スタンプの、XPath 式による追加
コンシューマー・セキュリティー制約で保全性を実現する nonce (ランダム・ストリング) の、XPath 式による追加
コンシューマー・バインディング用署名情報の、アセンブリー・ツールによる構成
ジェネレーターのセキュリティー制約におけるメッセージ・エレメントの、キーワードによる署名
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 10:52:11 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.zseries.doc/info/zseries/ae/twbs_specnonceintkeygenbind.html