2010-04-17 120 views
3

我正在计划一个Web服务,并对目前的安全用户身份验证方法进行了一些研究。什么是最新的安全用户认证方法?

谷歌和Facebook在做什么被认为是行业标准?

+3

谷歌和Facebook在做什么? – 2010-04-17 22:49:50

+0

不知道他们在后端做了什么,但是,在前端它是微不足道的用户名/密码。 – 2010-04-18 20:43:48

回答

2

对“Web服务”进行身份验证...您是指SOAP/HTTP(S)还是网页?两种情况下的答案是不同的!

  • 对于SOAP/HTTPS,您正在使用带有SAML/XACML令牌的WS-Security套件进行通话。该权限可以通过多种方式派生,如Kerberos或VOMS。这显然不是微不足道的,你需要弄清楚服务“生态系统”中的所有其他部分是否合适,并确保与之互操作。
  • 对于网页,请查看OpenID或Shibboleth作为从其他人维护的来源获取认证令牌的方式。据我了解,OpenID对于开放式互联网更好,Shibboleth更适合企业部署(它被设计用于处理大学处理网页登录等问题)。

如果你这样做,作为一个门户网站安全web服务网页,有可能弥合以上,这样的OpenID的浏览器介导的技术被用来生成密码令牌是两套服务然后用于与后端交谈。但这真是非常不平凡! (不是我的专业领域,但工作与人对他们来说是


[编辑]:当然,如果你只是问一般的登录方式,那么它是微不足道的。用户真正接受的唯一方法就是将他们的用户名和密码输入到网页中,即使如此,它也只是在很少。如果您要做到这一点,请记住只允许通过HTTPS登录,您应该只允许他们登录系统的页面通过HTTPS提供服务,而且您必须付出努力-XSS铠装(一个经典的SO问题!)

+0

呃,你提到两者其实都很棒。我必须做出这样的区分。所以是的,我想同时使用网页中的常规用户登录,以及使用某种形式的客户端身份验证的API。 – 2010-04-17 23:35:45

1

它取决于你需要什么类型的securiry,但它通常认证协议是最后一件事情。执行缺陷被更频繁地利用。

如果你需要一个Web服务的安全性和您需要的不仅仅是简单的用户名和密码的(有密码强度政策),考虑

  • SSL(相互验证)
  • 的Kerberos
  • 零知识协议(lightweigth)

但是,不管你选择什么,不要让它变得复杂,并确保实现是安全的,因为你的安全性是一样的好最弱点

+0

听起来像Kerberos和零知识协议适用于客户端 - 服务器通信,其中都是机器。我实际上是通过浏览器谈论用户身份验证。 – 2010-04-17 23:12:38

相关问题