验证用户的私钥以进行网站登录

Spa*_*rky 14 authentication public-key-encryption public-key web

我正在尝试使用公钥身份验证实现登录系统登录网站.我不确定这是否可行.

这是我打算做的: -

  1. 注册时,用户的公钥将保存在网站中.
  2. 当用户稍后尝试登录时,网站会询问用户其对应的私钥.
  3. 如果私钥与用户在注册时提供的公钥匹配,则对用户进行身份验证.

我见过像startssl.com这样的网站要求用户的私钥来验证他们的身份(参见附件截图).那么实现这样一个系统需要什么呢?

网站要求私钥的屏幕截图

Raf*_*ele 6

只是为了澄清流程

  1. 用户使用普通的用户名和密码对注册.还要求他输入至少一个公钥(稍后可以从配置文件管理面板添加其他公钥)
  2. 服务器存储用户的公钥并将其与用户关联在证书中
  3. 下次客户端发出请求时会显示他的证书(这应该由浏览器处理,因此透明地发生在用户身上),服务器端的SSL引擎检查它是否知道客户端,如果是,则处理请求并且应用程序代码将对用户进行身份验证和授权,因为它知道公钥和用户之间的链接.如果标识客户端,则服务器应重定向到某个页面以允许注册或手动登录(可能添加新的公钥)

  • [this](http://cweiske.de/tagebuch/ssl-client-certificates.htm)是一个很好的教程,Apache和PHP作为服务器端技术 (4认同)