REST(使用JSON)与SOAP安全性

REST(使用JSON)与SOAP安全性,json,web-services,security,rest,soap,Json,Web Services,Security,Rest,Soap,这可能是一个愚蠢的问题,但我与两位同事就安全性进行了简短的辩论,因为它涉及到SOAP与REST 我认为在使用SOAP时,没有什么比这更安全的了。 换句话说,可以应用于SOAP端点的任何安全性都可以应用于REST端点(反之亦然) 当我们转到客户端时,它自然会有点崩溃,在客户端,REST很可能有更多的“客户端”东西,例如JavaScript消费者等等。坐在用户浏览器中的安全性当然是一个更大的挑战 那么,有人能提供一个反例吗? 如果这是针对一个以安全为中心的小组,请道歉。如果是这样的话,请随意提问。你

这可能是一个愚蠢的问题,但我与两位同事就安全性进行了简短的辩论,因为它涉及到SOAP与REST

我认为在使用SOAP时,没有什么比这更安全的了。 换句话说,可以应用于SOAP端点的任何安全性都可以应用于REST端点(反之亦然)

当我们转到客户端时,它自然会有点崩溃,在客户端,REST很可能有更多的“客户端”东西,例如JavaScript消费者等等。坐在用户浏览器中的安全性当然是一个更大的挑战

那么,有人能提供一个反例吗?
如果这是针对一个以安全为中心的小组,请道歉。如果是这样的话,请随意提问。

你的同事说得有道理。REST仅支持与承载令牌的绑定,其中SOAP还支持所谓的密钥持有者令牌。在后一种情况下,客户机通过使用生成的中间密钥加密消息,向其使用的服务证明它请求了令牌。 这是防止代币被盗的额外保护措施

有关更多信息,请参阅本文:

好的,从评论中的内容来看,摩托车故事似乎很好地为我澄清了这一点

简而言之:WS-Security(在SOAP上分层)是一种标准的“东西”,通过它,消息体(请求中的实际数据)可以完全或部分加密(安全),以便只有正确的处理器代码才能解密。这超越了安全性和传输层安全性(SSL)

好吧,现在的REST并没有类似的标准。因此,您可以为REST服务实现类似的安全性,但您必须这样做。对于大多数情况,SSL上的REST可能对大多数人来说已经足够了(其中大多数人是普通用户/消费者的主体)


底线是,正如我所说,在安全方面,SOAP仍然做不到任何事情,而REST则做不到。REST端可能需要比SOAP端更多的工作。

可能是因为使用REST,最终用户永远不知道与SOAP相比的实际目的地。这让黑客更容易进行恶意攻击Rafael-你能澄清一下“目的地”是什么意思吗-我想你指的是终点URL?是的,没错。它通过隐藏文件夹结构来保护服务器文件系统。另外,由于服务器只能与请求方法(动词)交互,因此您可以更灵活地使用更多http动词,这些动词还可以隐藏资源数据并确保它们的保护。如果您想了解有关REST的更多信息,我建议您。它涵盖了您需要了解的关于rest和与SOAP的区别的所有内容。感谢您的文章user18044,有趣的阅读。如果我理解正确的话,这是烘焙到低级SOAP协议中的,但是(当时(2009年)的当前web浏览器中的缺陷降低了功能,相当于SSL上的基本身份验证。因此,如果我有这个权利的话,仍然有理由证明Server2Server通信在SOAP上更安全。嗯,再想想,这似乎与SAML协议有关,而不是与SOAP有关。似乎表明您可以通过SOAP发出SAML请求,以便在后通道通信中使用,以提高前通道的安全性。刚刚发现这一点-它已关闭(正如我预期的那样),但仍有一些有用的信息。我认为您将SAML令牌格式与协议混淆了。这些令牌在活动客户端(服务到服务)中使用,例如WS-Tust协议。顺便说一句,我不是说你应该选择肥皂而不是休息。您的问题是使用SOAP是否比REST有任何安全好处。