这篇文章要拉一条从PKI到DID的信任演进主线,拆解分布式数字身份的核心架构——三种身份模型、三种信任根、W3C DID设计目标、ToIP四层栈,以及主流方案的选型逻辑。搞懂这些,你就拿到了数字身份领域的地图。
克罗地亚的Fina CA在未经授权的情况下,为Cloudflare的公共DNS服务器(1.1.1.1)错误签发了12份证书,且持续长达19个月未被发现——这意味着,当你访问一个打着绿色小锁的”安全”网站时,你看到的可能是一个冒牌货。浏览器告诉你”连接安全”,但对方实际是攻击者。
这件事细思极恐的地方在于:整个互联网信任体系的根坏了。
你每天用手机刷脸解锁、用微信登录各种APP、用电子签名签合同——这些行为的背后,是一条信任链。而这条链的顶端,就是所谓的”信任根”(Root of Trust)。在传统PKI体系里,信任根就是那些CA机构。它们说”你是谁”,你就是谁。它们出了错,你毫无办法。
这就是我们正在面对的根本矛盾:互联网的信任体系建立在中心化的权威之上,但这个权威本身并不安全。
所以问题来了——能不能把”谁可以信任我”这个权力,从少数几个机构手里拿回来,还给每一个个体?
这就是分布式数字身份(Decentralized Identity,又称自我主权身份、分布式标识)要回答的问题。
信任不是凭空产生的,它需要一个根。问题是:这个根,应该种在谁的地里?
一、身份系统的三大架构:管理、算法与自主
第一代:基于管理的身份。这是今天最普遍的模式。你的微信账号归微信管,你的银行账户归银行管,你的企业邮箱归IT部门管。每个身份提供者(IdP)都是一个独立王国,数据和凭证完全由它掌控。这套架构的核心假设是:管理方可信。SAML、OIDC、LDAP都是这套架构的产物。问题是,当你的数字生活分布在几十个平台上,你就得忍受”账户爆炸”——每个平台一套用户名密码,或者被绑定在微信/谷歌的超级账户上,把命门交到巨头手里。
第二代:基于算法的身份。PGP的信任网络(Web of Trust)是代表。它不依赖中心化的管理方,而是靠数学算法保证身份的真实性,依赖人际网络中的”担保传递”——A信任B,B信任C,所以A可以间接信任C。这套模型在密码学圈子里极受推崇,但始终无法大规模落地,原因很朴素:普通用户根本搞不懂公钥指纹、密钥签名这些操作,信任网络的收敛速度也太慢。
第三代:基于自主的身份。也就是我们讨论的分布式数字身份。核心思想只有一句话:身份的所有权属于用户本人,而非任何机构。W3C的DID(Decentralized Identifier)标准是这套架构的基石。你不再需要向任何平台申请一个”账号”,而是自己生成一个去中心化标识符,用私钥控制它,把与之绑定的凭证存在自己的数字钱包里。你要向谁证明身份,就把凭证掏出来给对方验——不需要打电话给发证方确认。
从”管理型”到”算法型”再到”自主型”,本质上是信任权力的三次迁移:从机构到社区,从社区到个人。
二、三种信任根模型:谁说了算?
在技术层面,这个”开始”叫做信任根(Trust Anchor/Root of Trust)。目前有三种主流模型。
模型一:权威信任根。CA体系就是典型。根证书预埋在操作系统和浏览器里,全球就那么几百个根CA。它们的公钥是出厂自带的”默认信任”。好处是简单——谁预装谁说了算,兼容性极好;坏处也极其明显——单点失效风险,一个CA被攻破,全球数亿用户可能受牵连。
模型二:共识信任根。区块链是典型代表。不需要任何预装根证书,信任来源于分布式账本的不可篡改和全网共识。DID文档可以发布在区块链上,任何人都可以验证其完整性,不需要信任某个特定机构。代价是性能——区块链的TPS(每秒交易数)远不如CA系统的查表查询。
模型三:互认信任根。这是前两种的中间态。不同信任域之间通过信任桥接(Trust Bridge)实现互信。典型场景是:企业A的PKI体系和联盟链B的DID网络之间,通过规则映射实现证书互认。这种模型灵活但复杂,信任边界需要精确定义。
权威信任根就像”中央政府出入境管理局”——它印发护照,全国人民都认。你不需要自己证明”我是我”,因为中央已经替你证明好了。
共识信任根像”村里老人集体担保”——村里没有派出所,但村里所有老人都认识你,你遇到事的时候,他们一起站出来说”这娃我看着长大的”。没人能单独造假,因为需要全体老人一致作证。
互认信任根像”跨国驾照承认”——大多数国家不直接信任对方国家的驾照,但通过一个公约和一套验证规则,大家可以互相承认对方发的证件。
没有一种信任根是万能的。权威根的问题不是不好用,是权力太集中;共识根的问题不是不安全,是效率太感人。
三、W3C DID的架构野心:让标识符真正”去中心化”
如果你要设计一个全球通用的去中心化标识系统,你会定哪些目标?
W3C DID工作组给出了十项设计目标,其中最核心的几条,每一条背后都是一个深刻的权衡。
去中心化(Decentralization):标识符的生成、解析和更新,不依赖任何中心化登记处。这意味着DID的创建不需要向任何”管理员”申请,你关掉电脑都能在纸上生成一个DID。
持久性(Persistence):DID一经生成就永久有效。即使你换掉了所有设备、更换了密钥、甚至发布DID的账本换了,DID字符串本身不变。这和URL完全不同——URL换域名就挂了,DID不会。
可加密验证(Cryptographically Verifiable):DID文档中的公钥、服务端点信息,都必须能用密码学手段独立验证其真实性。不需要打电话、发邮件确认,”证明”的全程由数学完成。
可解析(Resolvable):通过DID方法(DID Method),任何人都可以把一个DID字符串解析成对应的DID文档——里面包含了公钥、身份验证协议、服务端点等信息。
这个设计有一个重要的潜台词:DID本身没有意义,有意义的是DID文档里的凭证。DID只是一个固定的锚点,真正的价值在于你通过这个锚点能够验证什么凭证、证明什么属性。
一个好的标识符不应该告诉你它从哪里来,而应该让你自己验证它从哪里来。前者叫索引,后者叫信任。
四、ToIP栈:技术地基和治理框架缺一不可
谈到这里,你可能已经意识到:分布式数字身份不只是一个技术问题。
它关乎身份信息的来源如何被信任(技术),也关乎谁有权定义验证规则(治理),还关乎不同生态之间的互通规则(政策)。
Trust over IP(ToIP)基金会提出的四层架构,是目前最完整的框架。它的高明之处在于:把技术栈和治理栈平行设计,各四层,一一对应。
底层的传输基础设施——区块链、分布式账本、甚至传统的PKI基础设施。解决”DID文档存在哪儿”的问题。
谁有权写入、如何达成共识、如何防止篡改。解决”谁来做主”的问题。
凭证的发行、持有、验证的协议标准。解决”怎么证明你说的是真的”的问题。
面向终端用户和业务场景的应用、钱包、代理服务。解决”人怎么用”的问题。
治理栈的四层一一对应:网络治理(谁可以运行节点)、共识治理(谁可以写入账本)、交换治理(凭证格式和验证规则谁定的)、应用治理(钱包和服务的合规要求)。
技术栈是房子的四层结构——地基(网络层)、承重墙(共识层)、水电管道(交换层)、装修陈设(应用层)。少了任何一层,这房子都住不了人。
治理栈是这座房子的物业公约和业主手册——地基怎么防水的标准谁来定?管道走向谁批准的?装修风格有没有社区规范?没有治理,技术各干各的,永远通不了。
技术栈让你能把身份”做出来”,治理栈让这套身份”走得通”。缺一个,分布式身份就只能是实验室里的玩具。
五、主流方案对比:战场已经拉开
分布式数字身份不是一个人的独角戏。过去几年,多个阵营的产品都在角力。
Hyperledger Indy / Sovrin:这是企业级DID网络的先行者。Indy提供了完整的去中心化凭证管理系统,包括DID方法、凭证模式、可验证凭证协议。Sovrin是运行在Indy之上的公共DID网络。优点是成熟、经过实战考验;缺点是门槛高——要跑一个Indy节点,光配置环境就能劝退多数团队。
Microsoft ION:基于比特币网络的Sidetree协议实现。微软不做自己的区块链,而是利用比特币主网的不可篡改性作为锚点,DID操作通过Sidetree计算节点批量处理后压缩上链。优点是继承了比特币的安全性,无需代币;缺点是DID解析需要依赖Sidetree节点,去中心化程度取决于节点分布。
Cheqd:一个从身份角度重新设计的Cosmos生态公链。引入了”身份代币经济学”,用代币激励验证节点和身份数据的使用者。优点是原生为身份场景设计了经济模型,灵活性高;缺点是生态仍在早期,生产级案例较少。
Veramo:这是目前最活跃的DID开发框架,更像一个”DID开发的Spring Boot”。不绑定特定区块链,通过插件架构支持多种DID方法和凭证格式。适合作为技术选型的起点——它让开发者可以”写一套代码,对接多种DID网络”。
选型建议很简单:如果你在联盟链环境里做身份治理,用Indy。如果你追求比特币级别的安全背书,上ION。如果你想要代币经济激活数据流动,看Cheqd。如果你还在技术探索阶段,先用Veramo搭原型。
选方案不是在选技术,而是在选你愿意把信任锚定在哪条链、哪个社区、哪套规则上。
主流PKI的根证书在操作系统出厂那天就写死了,而分布式数字身份的根长在数学和社区共识里。前者给你”开箱即信”的便利,后者给你”自我掌控”的自由。
这不是一个容易的选择。便利和自由从来没有同时到账过。
但有一点可以肯定:当CA可以被攻破、当巨头可以随时封禁你的账号、当”我证明了我自己”这件事还需要第三方盖章的时候——把信任的根,种回到自己手里,是一个值得严肃考虑的方向。
信任不应该是别人施舍给你的。它应该是你亲手构建、随时可验证的东西。