众所周知,凭证造假的现象在当今社会屡见不鲜,然而去中心化身份领域有关可验证凭证的创新让大家感到兴奋不已。本期小编为大家翻译了 Rebooting Web of Trust 组织在 RWOT IX — Prague, 2019会议上的一篇论文《Alice Attempts to Abuse a Verifiable Credential》,让我们共同来了解下目前的去中心化系统是如何防止欺诈的。
作者:P. Dingle, S. Hammann, D. Hardman, C. Winczewski, S. Smith
1、引言
可验证凭证(Verifiable Credentials, VC)是去中心化身份(Decentralized Identity, DID)领域中一项令人兴奋的创新。可验证凭证将凭证持有人接收和显示数字文档时允许的数据格式标准化,体现了在数据控制方面的进步,同时还允许权威信息流通。可验证凭证能够使远程交互成为可能,但对于是否可以保护这一过程也存在一些合理的关注点。可验证凭证很容易被复制,保护它们的密钥也很容易被共享。因此物理凭证存在的老问题更加迫切:系统存在哪些防止欺诈的机制?
在本文中,我们探索了欺诈问题的一个子集:与恶意凭证持有者相关的漏洞。我们虚构了一个关于 Alice 的故事。在这个故事中,Alice 将处方作为可验证凭证。不过 Alice 沉迷于处方药,渴望快速赚钱,漠视法律,因此她有多种动机用自己的凭证以不同的方式作恶。
2、假设条件
我们不想随意发表对现实世界中药物成瘾问题的看法,也不想让处方专家对当今处方系统的细节是否会导致某种药物滥用行为更加不可信而感到困惑。因此,我们进一步虚构,假设 Alice 会在未来某个时间沉迷于药物 melange(在《沙丘》的科幻世界中推动银河经济发展的虚构香料)。在 Alice 的世界中,可验证凭证很常见,支持它们的软件已经相当成熟,法律程序可能也与我们了解的有所差别。为简单起见,假设系统由三类参与者组成:发行者、持有者和验证者。假设发行者和验证者是诚实的 -- 医生具有执业许可,药房有资格分发 melange,只有持有人(Alice)有恶意行为。
3、Alice 的作恶行为
3.1 Alice 篡改凭证
首先,Alice 从她医生处以可验证凭证的形式获得了一份有效的 melange 处方,但她对剂量不满意。于是她决定篡改凭证,增加可购买的 melange 数量。她将凭证中的剂量值从250 mg 更改为500 mg,然后将修改后的凭证提供给药房。
传统的签名凭证
如果 Alice 拥有传统的签名凭证,那么当她向药房出示该凭证时,药房会按如下流程验证其签名:
1. 使用凭证中指定的算法(如 SHA 256等)在本地计算凭证的哈希值
2. 取得医生(发行者)的 DID 及其公钥
3. 利用本地计算的哈希值和公钥在本地计算签名
4. 将本地签名与凭证中的签名进行比较
此时,验证将失败。因为由于 Alice 在步骤1中篡改了数据,本地计算得到的哈希值与颁发证书时计算得到的哈希值不同。因此签名验证不会通过,Alice 的篡改凭证被拒绝。
【译者注】:一般来说,签名的验证不像上述步骤所述。签名的验证算法把公钥、本地计算的哈希值以及凭证中的签名值作为输入,输出一个比特,以说明该签名是否正确。
启用 ZKP 的凭证
如果 Alice 持有启用零知识证明(Zero-knowledge proof, ZKP)的凭证,那么药房将期望获得一个证明(proof),以此证明 Alice 是某个凭证的持有人。一般可通过证明人的签名来证明未做修改的凭证内容。由于 Alice 更改了证明的内容,因此签名与内容不再匹配,且她无法生成有效的证明,无效证明会被药房拒绝。
另外,Alice 可尝试出具其剂量值是500 mg 而不是250 mg 的证明。但由于这不是她凭证中的实际内容,因此她也无法对此出具有效的证明。
3.2 Alice 假装医生伪造新处方
Alice 尝试为 melange 伪造新的处方凭证,但她已经知道药房会执行签名验证。因此,如果凭证中的签名无效或缺失,凭证将会无效。不过,这也无法阻止 Alice。她最近参加了有关 DID 和可验证凭证的课程,甚至知道药房会在公有链上查找医生的公钥。因此,她使用自己的 DID 和密钥对创立了一个医生办公室,并在区块链上注册了该 DID(译者注:例如可在本体区块链上注册 DID)。然后,她使用伪造的医生 DID 作为发行者,为自己发行新的处方证书。可以看到,此凭证具有有效的签名。那么,她的恶意行为会成功吗?
无论 Alice 持有哪种类型的凭证,当她向药房出示该凭证时,药房都会解析发行者的 DID 并验证签名。这再次挫败了 Alice 的邪恶计划,因为药房的验证不会通过,同时显示“凭证不是由经认证的医生办公室签发的”错误。验证依赖于信任框架,即所有利益相关者共同认同发布的行为协议。在这个故事中,我们假定存在一个信任框架,用于管理与医疗相关的凭证(例如处方)的发行,且信任框架可指定授权哪些发行者可以发行处方凭证。Alice 伪造的医生办公室不属于此发行人列表,因此她的伪造证书会被拒绝。
3.3 Alice 试图使用过期处方
Alice 记得她有个旧处方,去年从未用过。第一次尝试得知修改凭证失败后,她决定不更改日期,但希望不检查日期。因此,她便将该处方提交给药房。
传统的签名凭证
对于药房来说,这很容易检测。虽然凭证具有认证医生的正确签名,但药房还会对照今天的日期来检查过期日期,并拒绝过期的凭证。Alice 再次失败。
启用 ZKP 的凭证
启用 ZKP 的凭证可以公开过期日期,这种情况可适用于上一段所述的传统签名凭证的逻辑。或者药房可以让 Alice 证明其处方还没有过期。但由于 Alice 的旧证书已过期,因此她并不能提供此类证明。
3.4 Alice 企图用截图蒙骗过关
Alice 注意到,当她在药房使用处方时,她的手机上显示一个绿色的对勾标记。她想知道仅绿色的对勾标记是否可以让她能得到额外的 melange。她将显示成功的应用程序屏幕截图展示给药房代理。
结果依旧行不通。药房已对其所有员工进行了培训,他们只相信经其系统确认的数据,因此 Alice 的截图并不管用。凭证必须在可验证凭证的展示中体现,表示已传输到药房的系统并通过了评估。
4、结语
屡屡失败,Alice 还有别的作恶手段吗?魔高一尺,道高一丈,请关注下期连载,看看 Alice 还有哪些招数。
BTW,本体一直以来致力于去中心化身份应用框架 ONT ID 的研究,建立多维度可信身份认证,让用户得以重新掌握身份和数据,且能够有效避免滥用数据的情况发生。如果你想了解更多,欢迎查阅
本文来自,仅作分享,存在异议请联系平台删除。本文观点不代表刺猬财经 - 刺猬区块链资讯站立场。