在我工作的地方,单点登录其他应用程序风靡一时。但是,在处理我继承的一些代码时,我发现我们的第三方(一家大公司)使用了一个密钥,一个时间戳和一个用户ID的组合来验证他们的系统。所有这些信息都通过SSL通过查询字符串(MD5哈希)传递。我的同事和我发现了这一点,因为我们知道这个(开源)SSO解决方案是如何工作的,所以我们能够简单地生成我们自己的查询字符串并在没有密码的情况下登录任何人的帐户!不用说,我们立即压制了这个SSO功能。
我无论如何都不是安全方面的专家,但是用这种方式,这不是一个非常危险的秘密密钥吗?特别是因为第三方的SSO“连接器”是开源的。他们建议每隔一段时间更换钥匙,但就像我说的那样,这似乎太容易暴力了;猜一个密码等于访问每个人的帐户!请让我知道你的想法和意见,启发我:)。
答案 0 :(得分:0)
SSO的安全级别归结为特定产品的实施。我不是SSO或安全方面的专家。但OpenID是一个不错的选择:http://en.wikipedia.org/wiki/Openid。顺便说一下,StackOvewfloe也在使用OpenID。
答案 1 :(得分:0)