0

我正在尝试创建一个应用程序,该应用程序可以从 Java 语言中的 Yubikey Neo 等 U2F 令牌中检索公钥和私钥。我尝试在控制台中使用一个简单的扫描仪从 Yubikey Neo 获取任何内容,但它不起作用,因为它不会被打印(可能是因为格式),不像 OTP 会在记事本中打印出来,所以它可以是被读者捕获。

我知道像 Yubico 一样,它只提供 Javascript 中的实现,当用户触摸 U2F 令牌的按钮时能够检索公钥,但直到现在我还没有在 Java 中找到任何能够做到这一点的库。有没有办法从 U2F 令牌中获取公钥和私钥?

4

1 回答 1

3

简短回答:您无法提取私钥。

U2F 基于公钥加密(又名非对称加密)。私钥永远不会留下 U2F 令牌,并且仅在令牌内部(由内部 CPU,通常是内置智能卡)用于签署随机服务器挑战。

在此处查看简化的 U2F 身份验证图

通过使用公钥加密,FIDO U2F 比 OTP / TOTP 更安全。

有关 FIDO U2F 的更多信息:

http://www.slideshare.net/CloudIDSummit/cis-2015b-fido-u2-f-in-10-minutes-cis-2015

于 2016-08-23T07:41:07.043 回答