4

我在这里的第一篇文章!我想获得一些有关 Web 服务安全性的社区帮助。

我正在做最先进的 Web 服务安全性。我需要一个解决方案的每一点,以解决关于识别、访问控制、传输相关问题(如数据完整性、保护、不可否认性)的问题。

所以我获取了一些现实世界的解决方案来满足这些需求,我找到了基于 SOAP 的 Web 服务的解决方案:

  • 标识:WS-Security 框架
  • 身份验证:可扩展访问控制标记语言 (XACML)
  • 授权
    • 可扩展权限标记语言 (XrML)
    • XML 密钥管理 (XKMS)
    • 安全断言标记语言 (SAML)
    • .NET 护照
  • 保密
    • WS-安全框架
    • XML-加密
    • 安全套接层 (SSL)
    • WSS

几乎所有这些都可以使用 spring-security 来实现

另一方面,RESTful Web 服务的安全性较低。基于网络 SSL/TLS 是一种很好的加密解决方案,但确实存在其他安全协议,例如:

  • OAuth:由 facebook、twitter 使用,无需令牌交换
  • OpenID:谷歌使用
  • 中国科学院
  • LDAP、Kerberos
  • 角色,BrowerID

另一种解决方案可能是将企业总线中的安全集成为服务(Security as a Service)。

所以我的问题是:还有其他我应该知道的解决方案吗?还有其他框架吗?

非常感谢

4

2 回答 2

4

只是补充一点,对于restful webservices,开发者可以使用tomcat servlet 容器提供的安全性。这可以通过在 server.xml 和 tomcat-users.xml 中配置领域来完成。此处的配置详情 -> http://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html

最适合的可以是基于表单的身份验证。参考:http ://www.onjava.com/pub/a/onjava/2001/08/06/webform.html?page=2

于 2013-05-03T18:26:49.060 回答
1

如果您想更好地控制 REST Web 服务的安全性,那么您可以考虑实现自己的身份验证和 RBAC(基于角色的访问控制)。只需通过 HTTPS 在标头中的每个请求中获取用户名和密码,然后在 REST Web 服务层上实现 RBAC。您基本上可以添加 Servlet 过滤器来在请求实际移交给 Web 服务之前进行身份验证和授权。

选择权在您手中,显然有不同的安全框架可用,但您必须选择最符合您要求的安全框架。

于 2013-05-04T07:28:36.417 回答