RESTful Web服务是否足够用于银行应用程序?

时间:2015-03-30 12:12:49

标签: spring rest soap spring-security ws-security

我将开发一个银行应用程序,它将向银行账户持有人的移动设备发送和接收信息。我想为此目的使用Spring框架的REST api。是否有任何银行将RESTful api用于应用程序? RESTful api是否为此提供了足够的安全性? 或者我应该坚持使用SOAP Web服务? 我知道,这个问题被多次询问。但我想集中讨论REST api for Banking域的可行性。

3 个答案:

答案 0 :(得分:2)

是的,它与包括SOAP在内的任何其他方法一样安全(或不安全)。在编写应用程序时,您仍然必须遵循所有最佳实践(在任何地方使用https,加密敏感数据,确保不以明文形式将敏感数据写入日志,等等)。最好与您的银行/公司的安全团队讨论,他们通常会有一套您需要遵循的要求来保护您的申请。

答案 1 :(得分:2)

大多数银行仍然使用SOAP进行集成,但您可以找到像Visa或Paypal这样的公司的示例,以RESTful方式公开它们的api。

使用SOAP与WS-Security和带有SSL的REST api之间存在一个关键区别,即WS-Security提供端到端安全性(提供从消息来源到机密性的机密性和完整性保护)接收器)。

我们在这里处理的是两个不同级别的安全性:HTTPS适用于传输层(可以应用于REST或SOAP服务),WS-Security适用于应用层。

但现在您可以使用OAuth2处理REST,检查Paypal如何使用它here

另一个问题:Secure Web Services: REST over HTTPS vs SOAP + WS-Security. Which is better?

答案 2 :(得分:0)

从安全角度来看,REST over HTTPS已足够好,除非您需要端到端安全性或者您有合规性限制。

如果您的银行移动应用程序将通过任何中间人(这可能是NFC,支持蓝牙低功耗的POS)进行通信,那么我建议根据您计划发送的信息的风险和敏感度来考虑端到端安全性。遗憾的是,除了WS-Security之外,我还没有为银行应用推荐的端到端安全机制。我查看了许多解决方案,例如JSON Web Encryption (JWE)Javascript Object Signing and Encryption (JOSE)OAuth 1.0 Signature等。我发现没有解决方案可以提供开箱即用的RESTful Web服务的完整性,机密性,真实性方面的端到端安全性。原因是假定RESTful Web服务始终通过HTTP工作,因此它们将受HTTPS保护。因此,如果您需要端到端的安全性,那么考虑SOAP和WS-Security是一个很好的选择。

考虑WS-Security的另一个原因可能是PCI DSS等合规性法规。然后,您可以通过持卡人数据的端到端加密来减少合规范围。很好的例子是Netflix的人做的https://youtu.be/sYFDnGjNVrk。因此,如果您在做出决定之前有这样的规