使用关键字将机密性的现时标志添加到生成者安全性约束

机密性的现时标志用于指定在消息内嵌入特殊元素的现时标志并且该元素已加密。现时标志是随机生成的密码令牌。当将现时标志添加到特定的消息部件时,它可以阻止偷盗和重放攻击,因为生成的现时标志是唯一的。例如,没有现时标志的话,当使用非安全传输(如 HTTP)从一台机器向另一台机器传递用户名令牌时,令牌可能会被拦截并用于重放攻击中。即使使用 XML 数字签名和 XML 加密,用户名令牌也可能被盗取。 添加现时标志会阻止此问题。

当为请求生成者或响应生成者配置生成者安全性约束时,完成下列步骤以使用关键字来指定机密性的现时标志。请求生成者是为客户机配置的,而响应生成者是为服务器配置的。在以下步骤中,您必须在步骤 2 中配置客户端扩展或在步骤 3 中配置服务器端扩展。

  1. 单击窗口 > 打开透视图 > J2EE
  2. 可选: 使用“项目资源管理器”窗口找到客户端扩展。 显示“客户机部署描述符”窗口。此 Web Service 包含需要配置的扩展。完成下列步骤以找到客户端扩展:
    1. 展开“Web Service > 客户机”部分,并双击 Web Service 的名称。
    2. 单击 WS 扩展选项卡并展开“请求生成者配置”部分。
  3. 可选: 使用“项目资源管理器”窗口找到服务器端扩展。 显示“Web Service 编辑器”窗口。此 Web Service 包含需要配置的扩展。 完成以下步骤以找到服务器端扩展:
    1. 展开“Web Service > 服务”部分,并双击 Web Service 的名称。
    2. 单击扩展选项卡,并展开“响应生成者服务配置详细信息”部分。
  4. 展开“机密性”部分。 机密性是指加密,而完整性是指数字签名。机密性可减少在网络中传递消息时被其他人拦截的风险。采用机密性规范时,在发送消息之前将对消息进行加密,而期望的目标接收到该消息之后再对它进行解密。有关加密的更多信息,请参阅 XML 加密
  5. 单击添加以指定完整性的现时标志。 显示“机密性”对话窗口。完成以下步骤以指定配置:
    1. 在“机密性名称”字段中指定机密性元素的名称。 例如,您可以指定 conf_nonce
    2. 在“顺序”字段中指定顺序。 该值必须是正整数值,指定处理加密的顺序。顺序值 1 指定先完成的加密。
  6. 在现时标志下,单击添加并选择现时标志方言。 http://www.ibm.com/websphere/webservices/wssecurity/dialect-was 方言指定现时标志要添加到和加密的消息部件。如果选择此方言,则可以在现时标志关键字下选择以下某个关键字:
    bodycontent
    指定消息的用户数据部分。如果选择此关键字,则在简单对象访问协议(SOAP)消息体中嵌入现时标志,并且加密该主体。
    usernametoken
    指定包含基本认证信息(例如,用户名和密码)的用户名令牌。通常,加密用户名令牌以便保护用户信息。如果您选择此关键字,则在用户名元素中嵌入现时标志元素并且加密该元素。
    digestvalue
    指定唯一摘要值。当标记部分 SOAP 消息时,创建唯一摘要值并由检索方使用来检查消息的完整性。您可以加密 digestvalue 元素来保护摘要值。如果您选择此关键字,则现时标志嵌入到 digestvalue 元素,并加密该元素。
  7. 在“消息部件”部分中,单击添加并在“消息部件方言”字段中选择 http://www.ibm.com/websphere/webservices/wssecurity/dialect-was。
  8. 在“消息部件”部分中,选择消息部件关键字。
    要点: 在“消息部件”部分中必须至少定义一个消息部件,以便指定机密性的现时标志。当您选择消息部件时,您对现时标志的父元素之外的所有消息部件进行加密。
  9. 单击确定以保存配置更改。
    注: 生成者和使用者的这些配置必须匹配。
    除现时标志外,您还可以指定加密的时间戳记元素。有关更多信息,请参阅下列文章:
以下示例是 SOAP 消息的一部分,其中现时标志插入到 bodycontent 元素,并使用 bodycontent 关键字和 http://www.ibm.com/websphere/webservices/wssecurity/dialect-was 方言加密该元素。
要点: 您无法在消息中看到现时标志,因为它已经被加密。
<soapenv:Body soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
   <EncryptedData Id="wssecurity_encryption_id_1669600751905274321" 
    Type="http://www.w3.org/2001/04/xmlenc#Content" xmlns="http://www.w3.org/2001/04/xmlenc#">
      <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
      <CipherData>            
         <CipherValue>pZpVL6Rs6zhvu8UrC7TH3BA2zvOdpPpLeHnwH0dCpmdc7ETz1tUHDdXLFxy143nYu91Mxpzsp
          Wt1rWx2Lx9vFGRIfblRSX5lEpV8+0LvezvhJYY/cbTA04mTMUzCfv28v2TI09AZQ4TjII4u+cPeh5f0prBVK1
          E5hLTql4QMcwf/rq9h+tttrJbR7ub3AUgIVo42ucQs5HZbaDijxmdSuFboBql4lv1Ep24ZfeoB/p7aHzyeWy7p
          YtO0bshpks/oBwO/78vxSklVJKu4sUseFvZa+B7sciFneeNnNuRCqB2JXc/vtH83l3AELUZg60ehd4vqvXkyuv
          SLohZ/kKnF/A5c+BP5Bo1pgvwmDEeJItQ5a7LOKkTavLuc2WGtVo1947fnNGm2TN4C6U/cp9ERT7jAB9Lr/1v/8
          ZqPZYmssyME4pGeSWLy232WrPvk6HEu96GHfRt+YXWpVNvSEt/gZw==</CipherValue> 
      </CipherData>
   </EncryptedData>
</soapenv:Body>
在指定要对哪些消息部件进行加密之后,必须指定使用哪种方法来对消息进行加密。有关更多信息,请参阅为生成者绑定配置加密信息
相关概念
XML 数字签名
相关任务
使用关键字将机密性的时间戳记添加到生成者安全性约束
使用 XPath 表达式将机密性的时间戳记添加到生成者安全性约束中
为生成者绑定配置加密信息

反馈