包含“http”协议超链接的 SOAP 消息安全吗?

问题描述 投票:0回答:1

最近我开始学习 Web 服务,以便在我的应用程序中使用它们。 我的目标是最大限度地降低 SOAP 请求被捕获的风险。 据我了解,SOAP 消息不仅应该使用“https”协议进行加密,还应该使用称为 WS-Security 的技术进行加密。

我在互联网上搜索了一些可以连接以进行测试的简单公共网络服务。 我发现的所有 SOAP 消息示例都包含使用未加密的“http”的超链接。

这种消息安全吗还是我遗漏了什么?

作为参考,下面是用于将数字转换为单词的 SOAP 请求正文示例:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <NumberToWords xmlns="http://www.dataaccess.com/webservicesserver/">
      <ubiNum>this_is_a_placeholder_for_an_integer_number</ubiNum>
    </NumberToWords>
  </soap:Body>
</soap:Envelope>
http soap https network-programming websecurity
1个回答
0
投票

包含“http”协议超链接的 SOAP 消息安全吗?

超链接是指

http://schemas.xmlsoap.org/soap/envelope/
http://www.dataaccess.com/webservicesserver/
吗?如果是,那么这些不是超链接,而是XML 命名空间

不会向这些地址提出请求。该命名空间的 XML Schema 可能托管在该地址,就像

http://schemas.xmlsoap.org/soap/envelope/
的情况一样,但这只是为了方便。该链接不需要工作。很多命名空间不提供这一点。

如果您想确保服务呼叫的安全,那么您有以下三种选择:

  1. 传输级安全。
  2. 消息级安全性。
  3. 两者皆有。

传输级安全意味着您传输消息,但您保护传输(即发送消息的管道)。这意味着使用 HTTPS 而不是 HTTP。该消息是纯文本形式,但由于它位于

https://
而不是
http://
,因此人们无法查看内部。

但这适用于点对点连接。如果您在传输消息时经历跳跃,您可能会有像“中间人”一样的代理,他们可能会查看消息内部。如果您不希望这样,那么您需要使他们无法阅读该消息。这里出现了消息级安全性,您可以对消息本身进行加密(例如使用 WS-Security 等扩展),而不是以纯文本形式发送消息。即使中间有一个人查看该消息,他们也不会理解任何内容,因为它是加密的。 显然,您可以将消息级安全性与传输级安全性结合起来,在其中加密消息并通过 HTTPS 发送消息。这是第三个选项。

© www.soinside.com 2019 - 2024. All rights reserved.