【问题标题】:Is RESTful web service secured enough for Banking applications?RESTful Web 服务对于银行应用程序是否足够安全?
【发布时间】:2015-06-03 10:52:02
【问题描述】:

我将开发一个银行应用程序,它将向银行帐户持有人的移动设备发送和接收信息。为此,我想使用 Spring 框架的 REST api。是否有任何银行将 RESTful api 用于应用程序? RESTful api 是否为此提供了足够的安全性? 还是我应该坚持使用 SOAP Web 服务? 我知道,这个问题被问了好几次。但我想专注于银行业领域的 REST api 的可行性。

【问题讨论】:

  • 安全与 REST 或 SOAP 无关。

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    使用带有 WS-Security 的 SOAP 和带有 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?

    【讨论】:

      【解决方案3】:

      从安全角度来看,基于 HTTPS 的 REST 已经足够好,除非您需要端到端安全性或存在合规性限制。

      如果您的银行移动应用程序将通过任何中间体进行通信(这可能是 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。因此,在做出决定之前,请调查您的合规规定。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-28
        • 1970-01-01
        • 2012-05-28
        • 1970-01-01
        • 1970-01-01
        • 2012-01-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多