安全的Web服务:基于HTTPS的REST vs SOAP + WS
我不是任何安全专家,但我倾向于创建REST风格的Web服务。
在创建一个需要传输数据的新服务时,它是安全的。 我们已经就哪种方法更安全问题进行了辩论 - 包含HTTPS的REST或具有WS-Security的SOAP WS。
我觉得我们可以在所有的Web服务调用中使用HTTPS,并且这种方法是安全的。 我的看法是,“如果HTTPS足够适合银行和金融网站,那对我来说已经足够了”。 再说一次,我并不是这方面的专家,但我认为这些人对这个问题有相当的认识,并且对HTTPS很满意。
一位同事不同意,并说SOAP和WS-Security是唯一的出路。
网络似乎在这方面全面。
也许这里的社区可以权衡每个人的利弊。 谢谢!
HTTPS通过网络保证消息的传输,并向客户端提供关于服务器身份的一些保证。 这对您的银行或在线股票经纪商至关重要。 他们对客户进行身份验证的兴趣不在于计算机的身份,而在于您的身份。 所以卡号,用户名,密码等用于验证您的身份。 通常会采取一些预防措施以确保提交文件没有被篡改,但总体而言,会话中发生的任何事情都被视为由您发起。
WS-Security为消息的创建提供了机密性和完整性保护。 因此,不要确保只有正确的服务器才能读取通信内容,而是确保只能通过服务器上的正确进程读取通信内容。 不要假设安全启动的会话中的所有通信都来自经过身份验证的用户,每个用户都必须签名。
这里有一个有趣的解释,涉及裸体摩托车手:
http://blogs.msdn.com/vbertocci/archive/2005/04/25/end-to-end-security-or-why-you-shouldn-t-drive-your-motorcycle-naked.aspx
因此WS-Security提供比HTTPS更多的保护,并且SOAP提供比REST更丰富的API。 我的观点是,除非您真的需要额外的功能或保护,否则您应该跳过SOAP和WS-Security的开销。 我知道这是一个阴谋,但是关于多少保护实际上是合理的(而不仅仅是构建什么会很酷)的决定需要由那些亲密地了解问题的人做出。
REST安全性依赖于传输,而SOAP安全性则不依赖于传输。
REST从底层传输中继承安全措施,而SOAP则通过WS-Security定义自己的安全措施。
当我们谈论REST时,通过HTTP - 应用HTTP的所有安全措施都会被继承,这被称为传输级安全性。
传输级别的安全性,只在线路上保证您的信息 - 只要它离开线路,信息就不再安全。
但是,借助WS-Security,其消息级安全性 - 即使消息离开传输通道,它仍然会受到保护。 另外 - 通过消息级别的安全性,您可以部分加密消息[不是整个消息,而只是您想要的部分] - 但是对于传输级别的安全性,您无法做到这一点。
WS-Security具有认证,完整性,机密性和不可否认性的措施,而SSL不支持不可否认[采用双腿OAuth。]。
在性能方面,SSL比WS-Security要快得多。
谢谢...
从技术上讲,它的措辞是不正确的,因为SOAP方法的通信不安全,而REST方法没有说明对合法用户进行身份验证的任何事情。
HTTPS可防止攻击者窃听两个系统之间的通信。 它还验证主机系统(服务器)实际上是用户打算访问的主机系统。
WS-Security可防止未经授权的应用程序(用户)访问系统。
如果一个RESTful系统有一种验证用户身份的方法,并且一个使用WS-Security的SOAP应用程序正在使用HTTPS,那么两者都是安全的。 这只是一种呈现和访问数据的不同方式。
链接地址: http://www.djcxy.com/p/12343.html