如何通过网络使用智能卡和智能卡读卡器实现双重身份验证

How to implement a two factor authentication using smart cards and smart card readers via web

首先请原谅我对这个话题的无知。 (related)

实施这样的过程究竟需要什么:

  1. 客户访问登录站点(示例。com/login)。
  2. 要登录,客户端输入其客户端 ID。此外,随机(?)代码是 显示给访问者:
    251 221 555.

  3. 客户拿起他的智能卡reader,将他的智能卡放入其中并点击"Login"按钮,输入代码 251 221 555

  4. 然后客户输入他的 PIN 码(在智能卡中 reader)
  5. 然后 return 编辑一个令牌:922 444 113
  6. 客户端使用 returned 令牌登录网站。

我想一个人需要:

我想知道如何验证网站中的 returned 令牌,以及如何 return 智能卡中的令牌 reader? 实施上述过程的确切(或最简单)步骤是什么?

最简单的实现方式是在智能卡中存储一个密钥,并触发对输入数字的加密或MAC计算。为此,PIN 输入应在 之前 输入数字。

命令是

  • 验证(使用 PIN)
  • INTERNAL AUTHENTICATE(输入号码)
  • 或在计算加密校验和模式下执行安全操作。

有关更多详细信息,您应该详细查看 ISO 7816 第 4 部分(验证和内部授权)和 7816 第 8 部分(执行安全操作)。这假定了一个所谓的本机卡(而不是 JavaCard)。