有人可以解释一下 USB 令牌是如何工作的吗? 我必须在 java 应用程序中实现该安全层,但我不太清楚它是如何工作的!
我只知道普通令牌密钥生成器的机制!
非常感谢!
不清楚您在谈论哪个 USB 令牌。
某些代币(例如Aladdin)可以提供一次性密码功能和/或加密(公钥加密、签名、对称加密、散列)功能,如智能卡。
供应商通常会提供至少一个库,或者更常见的是提供一个软件开发工具包(阿拉丁工具包位于此处)来帮助您编写软件。
对于一次性密码系统,您可以读取令牌(计算机可以通过 USB 读取,或者用户可以读取屏幕)来获取密码。该密码和用户名或其他标识符,通常还有私人 PIN 被发送到进行验证的身份验证服务器。服务器将回复该用户是否已成功通过该用户名进行身份验证。
对于加密令牌,通常需要通过为其提供适当的 PIN 来“解锁”令牌。然后,您可以向令牌发送不同类型的数据和命令,使其对数据进行加密/解密/签名/散列等。它还可以验证签名和证书。
具体取决于代币的特定制造商和型号。