本体技术观点|可验证凭证的出示流程可以简化吗?

2021-06-01 15:08:09 浏览数 (1)

前两期,我们围绕去中心化,从四个角度简要分析了去中心化身份解决方案的特征和前景。

本体技术视点 | 去中心化身份新手指南(上)

本体技术视点 | 去中心化身份新手指南(下)

本期,我们将继续展开去中心化的话题,探究去中心化身份和可验证凭证的关系及其本质

本文要点

· 选择性披露类型的凭证增强了对用户身份隐私的保护,使用户出示凭证更加灵活和方便。

· 可验证凭证出示的正常流程为什么不能简化?

· Ontology 始终在保护用户数据安全、保护用户身份隐私的前提下,为应用方和用户带来更可靠更便捷的身份自主的体验

引言

我们在往期技术视点文章中介绍了很多关于去中心化身份以及可验证凭证的概念、特点以及解决方案等,也转载了一些媒体对去中心化身份的看法。去中心化身份以及可验证凭证是实现身份自管和数据自管的较好的技术方式之一。选择性披露类型的凭证更是增强了对用户身份隐私的保护,实现了用户可按用户自主意愿,有选择性和目的性地分享其身份信息和个人数据,使用户出示凭证更加灵活和方便。

图片源自网络

问题

在我们对接很多应用方在实现去中心化身份和可验证凭证时,会经常遇到一个问题:用户可以向第三方可信凭证机构或者任意个体和组织申请各种类型的可验证凭证,比如身份证明、工作经历凭证等。在取得可验证凭证后,用户会向第三方出示凭证。当我们需要展示凭证中所有信息时,很多应用方觉得用户可以直接将可验证凭证发送给验证方,验证方验证凭证是否在有效期内、颁发方的签名是否正确以及链上凭证状态是否可用等,据此得到该可验证凭证是否有效的结论。我们知道,一个可验证凭证的正确流程是用户需要对自己拥有的可验证凭证进行处理,进行签名或者证明生成,才能把处理结果发送给验证方。那么,这两种流程哪一种才是较为正确的流程?尤其是需要展示凭证中所有信息的情况下,应用方所提出的简化流程是否能同样保证安全?

为了说明问题,我们拿 Ontology Trust Anchor Gateway(ONT TAG)产品做示例,以相对具体的流程图演示这两种方法的区别。在以 ONT TAG,应用方(验证方)可能希望 TAG 直接将可验证凭证发给起服务器。这和上面提到的简化方式其实是同一种处理方法。

「正常流程」

「简化流程」

思考

那么,哪一种方式更好?

首先,在采用选择性披露类型的可验证凭证时,验证方直接得到凭证泄露了用户凭证上不想披露的信息。比如某个工作经历凭证上有工作时期、工作单位以及薪水等信息时,用户在某些场合下只想让验证方知道工作过的单位,如果验证方直接得到凭证,那么用户的薪水等信息就会泄露。此时,简化的流程显然不是一种好选择。用户在发送前需要利用自己的凭证生成相关证明,把证明发送给验证方,从而保护自己的隐私。

其次,在需要展示凭证中所有信息时,采用简化流程也不是一种好的选择。在正常流程中,用户需要对凭证、意向接受方、有效时间以及一些其它信息等进行签名,并将签名结果发送给验证方。省略这个步骤会引起攻击。设想如果省略这个步骤,一个恶意的验证方,在拿到用户的可验证凭证后,将其直接转发给另外的验证方并号称自己是用户,由于缺乏用户签名,该验证方只能验证凭证的有效性,而不能验证出示过程的安全性,从而形成误判

图片源自网络

结论

去中心化身份以及可验证凭证可实现用户身份和数据的自管理,但在使用中,我们也要特别小心处理流程。不正确的流程会导致无法达到协议应具备的安全性。Ontology 始终在保护用户数据安全、保护用户身份隐私的前提下,为应用方和用户带来更可靠更便捷的身份自主的体验


本篇完

0 人点赞