2010-06-15 67 views
4

我一直在试用OpenID,并设置了一个示例网页以使用我的OpenID帐户进行访问。我使用的是Php OpenID Library by Janrain,它不适用于我的Google帐户。一个小小的研究使我this question,这表明问题是,谷歌使用https和...PHP OpenID不适用于Google/Yahoo和'黑客'修复它...他们安全吗?

...很可能作出HTTPS请求是borked你的PHP服务器上安装。检查并确保安装了ca-certificates包。

在同一个线程中,有人链接到我已部署并用于Google帐户的hacked version of the library。其他问题有其他自定义来解决类似的问题(Janrain’s PHP-OpenID and Google/Yahoo,php-openID doesn’t work with Yahoo!,Example usage of AX in PHP OpenID ...)

我对安全性不太热,所以我问;有谁知道不使用这些被黑客入侵版本的理由吗?

原始图书馆有什么缺点,这些黑客修复设计,因此黑客是一个潜在的安全漏洞?

是否有合格的加密ifier在那里谁也看着这些解决方案,并走了

如果是“通过戴维·肖姆的胡子NO !!!” - 我因此不应该使用任何这些黑客 - 我将如何检查我是否“安装了ca-certificates包”?

回答

6

以下是这些“破解”版本之一的作者写道:

特别CURLOPT_SSL_VERIFYPEER 和CURLOPT_SSL_VERIFYHOST是真正的由 默认:我将它们设置为false,它 供职的测试页!

这个效应几乎否定了使用HTTPS提供的安全优势。 HTTPS在OpenID中非常有用的主要原因是它可以防范中间人攻击,即某些坏人毒害了你的DNS缓存,将所有请求发送到bad-guys.example。使用正确配置的HTTPS,您可以验证连接上的证书,发现它不是来自Google,并说“我不会相信你说的任何话,bad-guys!“

除非,当然,你不验证任何证书(您设置的所有SSL_VERIFY选项false),在这种情况下,你的服务器会相信一切bad-guys说,就好像它是真正的谷歌提供。你能想象怎么可能是坏的。

现在,坦率地说,这还不是最糟糕的选择你可以做,因为它没有比只使用HTTP,其中有很多人做反正糟糕。你只是lying to your users如果你意味着你不提供HTTPS级别的安全性。

而且还有很多那里有关于它是多么容易或不是做基于dns的攻击的信息,或者是多么容易forge SSL certificates。无论哪种方式,它确实需要有人攻击你的服务器和Google之间的连接,这通常是比攻击咖啡店中的用户膝上型计算机和你的服务器之间的连接更难。

但是,实际修复您的PHP或CURL SSL配置仍然更好。或者,如果您不这样做,请在注册HTTPS标识符时提醒用户,以便他们可以选择是否真的想在您的站点中使用该OpenID。

这导致你的第二个问题。我想,不知道你正在使用哪个服务器平台,我能做的最好的事情就是将你链接到Curl docs on SSL certificates;请参阅“获取更好/不同/更新的CA证书包”一节。

-1

有没有人知道一个理由不 使用这些被黑客入侵的版本?

除了被黑客入侵的版本,这些版本很可能没有记录,并且不能保证他们的行为?

我无法专门回答,但是在使用已应用快速修复和解决方法的模块(尤其是在处理授权和安全性的模块)时,应该有一些警告灯闪烁。我认为最好的建议将是“自负风险!”

我敢肯定,对这个话题有更多知识的人很快就会到来,并有更多的答案。

+0

+1虽然这不能回答我的问题,但它完美地反映了我的担忧。 – 2010-06-15 18:04:23

+0

我很担心张贴它,但我认为如果我提出这个问题的话,我会这么担心的安抚:)正如我所说,希望有一些更具体的知识渊博的人会很快出现。 – Jeriko 2010-06-15 18:18:16

0

从维基百科的文章上Certificate Authority

CA发行包含一个公钥和所有者的身份数字证书。当最终用户尝试访问未知的URL时,Web浏览器(例如Mozilla Firefox和Microsoft Internet Explorer)将联系CA以确认URL的公钥。

...所以CA证书是用于通过https://进行通信的Public Key Certificate。您的服务器应该在文件系统上有某个CA证书。如果没有,您必须自己下载CA证书,并将CURLOPT_CAINFO设置为常数以指向其位置。 See this article

http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/

相关问题