首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >U2F密钥的生成

U2F密钥的生成
EN

Security用户
提问于 2017-01-31 21:10:13
回答 2查看 553关注 0票数 3

当我购买一个U2F设备时,比如Yubikey智能卡,供应商会在上面硬编码一个私钥,稍后用户会在一个挑战响应机制中使用它,还是他们只在那里放上某种“种子”,后来当我将设备插入到我的计算机中时,它会被用来创建一个私钥?

在第一种情况下,供应商被泄露并泄露我的私钥的情况有多大?在第二种情况下,从数学角度看,是否有可能重建我的私钥呢?

如果我完全误解了它的工作原理,你能纠正我吗?

EN

回答 2

Security用户

回答已采纳

发布于 2017-02-23 23:26:28

这里有很多混乱..。但这是正常的:)

  1. 提醒:每次用户注册FIDO U2F设备(FIDO U2F USB安全密钥、FIDO U2F NFC卡、FIDO U2F BLE设备)时,都需要并创建一个新的密钥对。
  2. 在FIDO U2F规范中,有一个名为"7.允许使用廉价的U2F设备“(http://gg.gg/4eny2)的部分,描述了制造商如何允许从初始内置的秘密中包装每个新创建的用户密钥。尤比科(和其他许多人一样)决定走这条路。其优点是,该设备可以处理无限数量的键盘,因为它们不是真正存储在设备中的,它们是从密钥句柄中的信息“隐藏”/wrapped创建的,这些密钥句柄原本应该是附加到生成密钥的纯粹随机索引。第一个问题是,规范中没有提到制造商如何包装密钥,这样制造商就可以使用完全失效和非安全的包装方法,并且仍然可以通过"FIDO U2F“认证。这一选择的另一个主要问题是,即使使用安全包装方法,如果制造商被NSA这样的机构强迫提供这份初始机密清单,或者如果内部人员决定将这些内置于产品内部的秘密列表.好吧..。所有用户的私钥不再只属于用户.这意味着第三方可以从所有这些产品中重新构建所有用户密钥--仅从存储在服务器端并与浏览器交换的公共密钥句柄中.“有什么可能会出错呢?”(c)
  3. 据我所知,Yubico个性化不允许您更改这些内置的秘密,这个软件是为其他非FIDO U2F相关功能。*叹息*
  4. 有一些解决方案,如FIDO、U2F兼容的Ledger.co产品(第一种免责声明:他们是朋友),这些解决方案都是包装密钥的,但nuilt工具允许用户更改初始种子以更改内置的秘密。
  5. 其他一些制造商(第二个免责声明:就像我工作的公司NEOWAVE一样)不允许这种关键包装。这里有一个直观的例子来显示包装和非包装的区别:http://www.neowave.fr/pleaseno/key_包皮_对比_已存储_isolation.jpg

我希望现在更清楚:)

票数 4
EN

Security用户

发布于 2017-01-31 22:00:20

我对U2F的内部结构还不太熟悉,无法对其进行具体的评论。

但是Yubico提供了一个Yubikey个性化工具。您可以将它用于更改键上的多种设置,甚至可以使用它克隆一个密钥到另一个密钥。这意味着,是的,Yubico可以知道他们最初提供给您的密钥,并使用它来模拟您。但是,它也为您提供了一种防止这种情况的方法,即在接收设备时设置您自己的密钥。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/149989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档