【问题标题】:What are the advantages of using WS-Security?使用 WS-Security 有哪些优势?
【发布时间】:2018-08-02 16:01:52
【问题描述】:

我将开始一个新项目,向我们的外部合作伙伴公开一个 SOAP Web 服务。主要目标是确保端到端交换消息的安全性。 我们的主要安全要求:

  1. 身份验证
  2. 诚信
  3. 反重放攻击。
  4. 保密

我听说了一个新的协议 WS-Security,可以用来解决这个问题。我的替代解决方案是将一些安全元素合并到我的 SOAP 主体中,如下所示:

<soapenv:Body>
  <nms:Request>
     <nms:requestor>bankX</nms:requestor>
     <nms:nonce>45465464</nms:nonce>
     <nms:created>12/12/2017</nms:created>
     <nms:hmac256>hmacvalue</nms:hmac256>
     <nms:id>someID</nms:id>
     <nms:amount>5000</nms:amount>
     <nms:currency>EUR</nms:currency>
  </nms:Request>
</soapenv:Body>

使用 WS-Security 有什么好处?使用我自己的解决方案比 WS-Security 有什么缺点?

我正在使用带有完整 Spring 堆栈的 Java8。

感谢您的帮助。

【问题讨论】:

    标签: web-services soap jax-ws spring-ws ws-security


    【解决方案1】:

    WS-Security 是一个国际标准,因此它为您提供了使用符合 WS-Security 的软件堆栈的所有 Web 服务客户端/服务器之间的互操作性,正如您在大多数主要编程语言中可以找到的那样,例如Apache CXF 或 Glassfish Metro for Java; .Net 的 WCF。例如,支持 WCF 的 .Net 客户端可以使用 SOAP+WS-Security 与其 Java 对应客户端进行通信。作为 OASIS 标准化过程的一部分,他们进行了互操作测试。

    您还可以使用 WS-SecurityPolicy 在您的服务的 WSDL 中直接表达您的安全要求,以便您的消费者可以(在某种程度上)自动发现它们,以便与您的服务进行安全通信。

    除了互操作性之外,获得正确的安全标准需要时间,让国际安全专家社区对其进行审查、挑战、改进等。因此,如果您想要相同的标准,使用现有的成熟标准会更安全功能水平和稳健性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-16
      • 2019-04-24
      • 1970-01-01
      • 1970-01-01
      • 2013-09-22
      • 2012-05-17
      • 2016-08-04
      • 1970-01-01
      相关资源
      最近更新 更多