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