SSL 自签名 CA 证书和 PHP 颁发/身份验证
我一直在用 PHP 编写一个身份验证例程,以允许公司用户通过 Internet 访问新工具。我已经弄清楚了大部分内容,但是当谈到如何在会话之间安全地“记住”经过身份验证的用户时,我很好奇。
由于缺乏相关信息,我感觉没有多少人使用客户端 SSL 证书来验证用户是否来自受信任的计算机。在我看来,只要你能让用户信任你的 CA(不是公司内部的问题),为什么没有一种好的、简单的方法来请求、签名、颁发和安装新的客户端证书来帮助防止 MITM 比说 cookie 更好吗?
我不希望客户端证书成为最终的一切,但是我是否缺少一些资源可以帮助我沿着这条道路进一步前进?或者是这个兔子洞太深了,而我详尽的搜索唯一缺少的是“噩梦”这个词来揭露这到底有多糟糕?
谢谢!
I've been writing an authentication routine in PHP to allow company users to access a new tool over Internet. I've got most everything figured out, but when it comes to how to safely 'remember' an authenticated user between sessions, I'm curious about something.
Based on the dearth of information surrounding it, I get the feeling not a lot of people use client-side SSL certificates to verify if a user is coming from a trusted computer. In my mind, so long as you can get the user to trust your CA (not an issue inside a company), why isn't there a nice, simple way to request, sign, issue, and install a new client cert that helps prevent MITM much better than say a cookie would?
I'm not expecting the client cert to be the end all be all, but is there some resource I am missing that would help further me along down this path? Or is the rabbit hole far too deep and the only thing my exhaustive searches lack is the word "nightmare" to expose how crappy this really is?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
很多人使用客户端证书。几乎整个美国联邦政府都这样做。
问题是需要大量的专业知识才能正确地做到这一点。但是,如果操作正确,它的效果很好,并且可以提供比基于密码的身份验证更强的安全性。
A lot of people use client-side certificates. Pretty much the entire US Federal Government does.
The problem is that it takes a lot of know-how to do it correctly. But, done correctly, it works great, and can provide far stronger security than password based authentication.