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

时间:2012-04-07 15:47:48

标签: authentication web public-key-encryption public-key

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

这是我打算做的: -

  1. 注册时,用户的公钥会保存在网站中。
  2. 当用户稍后尝试登录时,网站会要求用户提供相应的私钥。
  3. 如果私钥与用户在注册时提供的公钥匹配,则会对用户进行身份验证。
  4. 我看过像startssl.com这样的网站要求用户的私钥来验证他们的身份(参见附件截图)。那么实现这样一个系统需要什么呢?

    Screenshot of website asking for private key

1 个答案:

答案 0 :(得分:6)

只是为了澄清流程

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