当前位置:首页 行业动态 正文

如何利用分布式帐本实现自主身份?

2025-04-18

前言

每个人都有过回答“你是谁”这个问题的经验。最近一次被问到“你是谁”时,你是怎麽介绍自己的?是回答姓名与职称?或是身份证字号?还是某活动的报名序号?

当我们在尝试回答“你是谁”的时候,也正在定义我们的身份。

身份会因情境不同而不同,有时是姓名,有时是身份证字号,也有时是某个临时编号。

什么是数位身份(Digital Identity)?

数位身份就是以数位形式表现与储存的身份,自全球资讯网被发明以来,数位身份便跟著开始发展直到今日,网站域名、电子信箱、社群帐号等等都是数位身份的一种。

我们的日常生活离不开数位身份的使用:上社群网站发文、订演唱会门票、上PTT看废文、用 GMail 联络公事、用线上课程进修、用云端硬碟备份资料等等。

几乎可以说没有数位身份,就没有现代便利的生活。

自主身份出现之前,数位身份的发展大致可以分为三个阶段:

  • 第一阶段:中心化身份(Centralized Identity)

数位身份第一次随著全球资讯网的流行而有了大量的需求。

如雨后春笋般冒出来的各种网站显露了一个迫切的问题:要怎麽证明你正在浏览的网站是可信任的?

一个直觉的思路是:我们可以对可信任的网站域名颁发凭证(Certificate),那么由谁来颁发?

由于颁发凭证的机构必须是具有公信力的机构,因此凭证机构(Certificate Authority, CA)被设立,负责域名的审核与凭证的颁发。

自1995年发展至今,凭证机构现在仍是Https的骨干。

然而,CA是中心化且阶层化的(Hierarchical):

根CA(Root CA)颁发凭证给次级CA,次级CA再颁发凭证给更次级的CA,更次级的CA可以颁发凭证给注册某域名的网站,拥有凭证的域名则可以让用户信任,使用户愿意于此域名注册身份。

在这样阶层化的架构下,一个用户的身份可以一直往上追朔到根CA,也就是说,根CA是身份的根基。

由此可知,这样的数位身份非常依赖可信的根凭证机构,且用户的身份完全掌控于注册身份的域名拥有者,随着使用服务的增长,一个用户可能必须同时在数十个服务注册身份,身份变得破碎而脆弱。

  • 第二阶段:联合身份(Federated Identity)

为了解决身份的破碎,一个直觉的思路是:让身份由数个组织组成的联盟共同管理,于联盟中任一个域名注册的身份都可以在联盟中通用,其中一个例子就是由昇阳(Sun)主导的自由联盟(Liberty Alliance, 2001)。

联合身份虽然稍微解决在联盟之间身份破碎的问题,但是于联盟之外的身份仍然是破碎的,且身份仍由服务提供者掌控。

  • 第三阶段:以用户为中心的身份(User-Centric Identity)

这就是我们目前所在的阶段:让不同服务、不同联盟的身份互通以及给予用户更多对身份的掌控,是此阶段的目标。

若要使某一服务的身份可以在多个服务之间通用,则各家服务需要共同制定同一套规格以跨服务验证身份。

重视用户允许(User Consent)与互通性(Interoperability)的结果使用户成为了身份的中心。

用户可以自行决定是否要从一个服务分享自己的身份至另一个服务,防止数位身份的破碎。

例如Open ID(2005)/OAuth(2010)/FIDO (2013)这些开发者熟知的验证(Authentication)协定就是遵循此原则的产物。

虽然用户对身份拥有更多掌控以及有更好的互通性,但用户对于中心化服务的依赖程度却更胜以往,导致服务商拥有“滥用”用户隐私的权力,例如以广告营收为主要获利来源的企业,可以在不经用户同意下便使用或贩售用户资讯,用户隐私有受到侵犯的风险。

身份的价值与厚度来自社交行为与频繁的互动,在完全理想(例如非数位)的场景下,身份应当是一个整体,并能依据情境不同而揭露不同资讯,正如同当我被询问“我是谁”时,我可以依照情境的不同给予不同的身份证明。

然而,我们当今使用的数位身份既脆弱也无法表达身份的厚度。

那么要如何实现一个不受任何中心化服务掌控的身份呢?

这个问题的答案一直到最近才出现?—?分散式帐本就是实现自主身份的最后一块拼图。

什么是自主身份?

自主身份(Self-sovereign Identity)就是用户可以完全掌控且于任何服务之间互通使用的数位身份。

自主身份与当今的数位身份不同?—?自主身份锚定于分散式帐本,不被任何中心化服务掌控。

分散式帐本使数位身份具备下列特性,且正是这些特性保证了数位身份的自主性:

  • 存在性(Existence)

中心化服务可以随时窜改数位身份的存在;分散式帐本则使身份能以去中心化识别符(DID)的形式锚定在其上且保护其不受篡改。

  • 掌控性(Control)

中心化服务可以完全掌控数位身份;分散式帐本使用数位签章,掌控私钥即掌控身份,且私钥由用户自行保管。

  • 存取性(Access)