简介
作者:Dr. Carsten Stöcker (Spherity GmbH), Dr. Samuel M. Smith (ProSapien LLC);共同作者(编辑):Dr. Juan Caballero (Spherity GmbH)
2020年1月19日,杜塞尔多夫
RWOT 虚拟社区内的论文
https://github.com/WebOfTrustInfo/rwot10-buenosaires/blob/master/final-documents/quantum-secure-dids.md
关键词:去中心化身份、W3C DID 规范、数字签名、密钥轮转、哈希函数、DAD、关键事件接收日志(KERL)、关键时间接收基础设施(KERI)、比特币 P2PKH、因式分解、哈希碰撞、量子计算、密码学
前情回顾:
上一期我们围绕比特币所提供的多个地址方案,如何抵抗量子计算?做出阐释,总结出几项观点:
1. 量子计算机将比因式分解硬件具有更强的可扩展性;
2.128位的安全强度在不久的将来已经足够抵御攻击;
3. 比特币为点对点交易提供了多个地址方案。
本期我们将围绕 DID 方法的实现和结构的量子安全继续展开。
图片来源于网络
DID与量子安全
在设计过程中实现两者的安全性
和比特币一样,Ethereum 也采用了单向哈希函数的方法来创建 Ethereum 钱包地址。Ethereum 的 DID 方法 did:ethr 就得益于这种致盲机制。其他 DID 方法也采用了类似的方法,如 Sovrin 的 did:sov。译者注:本体的 did:ont 也采用了类似的方法。 使用 Ethereum 轻量级身份标准 ERC-1056,一个默认(未配置)的 DID Document 可以被认为是量子安全的。但当 DID Document 首次配置时,区块链交易会被签署,公钥会被揭示。除非公钥被轮换停用,否则 DID Document 不能再被认为是后量子安全的。在 ERC/Ethereum-core 层面的规范指导和/或改变语法可能是合理的,以防止整个系统将这个漏洞自动化到身份系统中。
图片来源于网络
但上述内容只涵盖了 DID 操作,验证凭证的发放必然需要透露一个公钥,至少是对凭证持有者而言。大多数 DID 系统中的公有签名密钥在签发可验证凭证或签署可验证演示文稿时就会暴露。重新构思 PKI 基础架构以尽量减少公钥暴露,将给 SSI 系统增加很大的复杂性。
图片来源于网络
DID C.R.U.D.机制一般依赖于底层 DID 方法和 DLT 实现的密码原语(例如 Ethereum的情况下是 ECDSA)。一个由具有量子计算能力的恶意行为者可以通过使用公钥信息来控制 DID Document。因此,我们可以认为在后量子世界中,无论在哪种情况下(发行 VC 或 CRUD),不管签名是发生在链上还是链下,相应的私钥本身都是不安全的。 为了缓解理论上的量子计算攻击,我们提出以下措施。
1. 注册单向哈希公钥,而不是清空公钥作为所有 DID 文件操作的授权属性
2. 来同时停用和/或轮换每次在链上或链下签名过程中暴露各自的公钥哈希
为了实现量子安全的 DID 方法,我们建议在每次链上或链下签名交易后应用密钥轮换机制。这种方法独立于 DID 方法的实现,尽管显然这可能会对依赖区块链的方法的简单性或成本效益造成巨大打击。
图片来源于网络
密钥轮换事件可以从用于发布 DID 的区块链(或其他公共预言机)中移出,在它们的起源处使用某种备用的、更本地的共识系统来维护密钥材料状态,例如像 KERI(key-event receipt infrastructure,密钥事件接收基础设施)这样的系统,它可以随着时间的推移创建可验证的密钥轮换事件链接日志。这样一来,DID 系统可以在一个比它们用来担保每个 DID 存在时间的公共预言机更高效、更轻量级的并行系统中维护公钥的状态和年表,而它们的 DID 文件仍然已经需要被信任来解析。
图片来源于网络
至关重要的是,KERI 或任何其他这样的 "并行"/链外密钥状态机制可以在不参考区块链上的区块确认时间的情况下进行维护和查询。由于这样的系统不需要其时序精确地锁定到区块链的时序,因此没有理由仅仅为了受益于其基础架构的共识而对其效率等进行限制。因此,这种系统是使 DID 系统有希望成为量子安全的一个构件,因为它们可以在每次可验证凭证/展示签名交易需要时触发一个轻量级的密钥轮换事件,而不需要区块链操作。
未完待续......
如有任何疑问,可通过私信后台或 research@ont.io 联络我们。