作者简介:汪德嘉,美国威斯康星大学麦迪逊分校数学博士、九三学社社员、正高级工程师;时空码发明者,《身份危机》与《数字身份》专著作者;曾在ORACLE、VISA、IBM等企业部门负责总体设计、产品开发;2011年归国创立通付盾公司,担任董事长兼CEO。
数字身份的演变
信息技术的快速发展让人类文明快速进入数字时代。在数字世界中如何安全有效地证明身份,是数字时代的基础性问题。与现实世界相比,数字空间里的身份认证更加具有挑战性。随着数字化进程的不断推进,数字技术飞速发展的同时也带来了诸多数据安全与身份安全问题,面临造假门槛低、隐私易泄露、验证成本高等困难。数字身份问题的本质是信任问题,从生成到存储再到使用,数字身份生命周期里的每个环节都需要信任各方主体,这就意味着一个行之有效的信任系统是数字身份运行的关键。在过去30年的发展历程中,数字身份信任系统经历了四个阶段的演进:
第一个阶段是中心化身份。在互联网早期,政府成为数字身份的唯一发起者和认证者。互联网数字分配机构(IANA)从1995年开始,通过CA帮助互联网商业网站进行身份证明。
第二个阶段是联盟身份。20世纪末,数字身份发生了重大进步,商业组织开始使用一种超越传统层级制的在线身份。互联网平台的互相认证登录是典型例子。
第三个阶段是以用户为中心的身份。增强社交网络(ASN)为创建下一代互联网提出了新的数字身份标准,用户获得了更高的自主权和控制权,但身份服务还是中心化的。谷歌的OpenID是典型例子。
第四个阶段是自主主权身份。自主主权身份(Self Sovereign Identity)是数字身份的最终形态,也是下一代互联网(Web3)数字身份的原型,实现用户完全掌握自己的身份和相关数据。2022年8月W3C颁布分布式数字身份(DID)初版标准。
图 1 数字身份演进史
需要注意的是,这四个阶段并不是交替进行的,而是高度重合的。直到现在,中心化CA仍然是数字身份信任系统较为常见的形态,但随着之后平台经济的发展,以及下一代互联网与分布式商业的普及,数字身份的跨域互联互通和自主主权成为未来数字身份发展的大方向,也为下一代数字身份信任系统提出了新的要求。
数字证书:数字身份的不完美信任锚点
CA(Certificate Authority),或证书权威中心,是一种基于数字证书的高度中心化的数字身份认证体系。作为互联网通讯中标志通讯各方身份信息的标识,CA数字证书不是数字身份证,而是身份认证机构盖在数字身份证上的一个章或印(或者说加在数字身份证上的一个签名)。它是由权威机构—CA机构发行,通过公私钥密码体系验证机构签名。CA体系的出现开创了数字身份的一个繁荣时代,其最核心的优势是政府机构为虚拟的数字身份带来的权威性,有政府机构为数字身份提供了一个强而有力的信任锚点。
在早期的很多数字经济应用场景中,这种权威性是不可替代的。数字化转型的初级阶段是产业数字化。产业数字化更多意味着现有实体经济应用场景向数字空间的“映射”,所以必须严格遵守实体经济的运行模式与监管要求。公民身份是最强有力也是最基础的实体身份形态,所以产业数字化自然会要求数字空间满足这种权威数字身份的数字化映射,这为CA的存在提供了必要性基础。
CA的权威性是它的核心优势,但随着数字化转型的不断深入,越来越多的数字化场景出现,CA体系也逐渐暴露出了它的一些弱点。一是在便捷性方面,CA证书的申请和保管都意味着业务流程的复杂化,在一些CA认证场景,往往会使用事件型证书来代替身份证书来提升便捷度。事件型证书由机构托管用户私钥,签名本身不能严格体现用户意愿,存在法律风险和滥用风险。二是在安全性上,中心化的数字证书系统存在单点失效风险,数据安全高度依赖CA中心机构的安全防护能力,一旦发生风险后果严重。
数字化转型的高级阶段是数字产业化。随着下一代互联网基础设施的不断完善,数字产业化的进程也在不断推进。随着数字交互的场景越来越复杂,即时性越来越高,数字身份技术由中心化向去中心化方向发展是必然趋势。基于PKI的传统公私钥基础设施的核心问题是需要信任一个中心化的信任根,并由此引出安全和效率问题。DPKI(Decentralized Public Key Infrastructure,分布式公钥基础设施)的出现为这一问题提供了解决方案。基于分布式思想,CL-PKI(Certifiacte-less Public Key Infrastructure,无证书公钥基础设施)等技术的出现也为行业提供了新的应用探索方向。
下一代数字身份基础设施:
分布式无证书公钥基础设施
图 2 PKI vs. CL-PKI技术对比
针对基于身份密码体系中固有的密钥托管带来的中心化风险问题,业界提出了无证书的公钥密码体制。该体制的主要思想为:在已有公钥密码体制基础上,将用户的私钥由两部分组成,包括KGC(Key Generation Center)提供的部分私钥和用户选择的秘密值组成,这样KGC和用户都不可能独立生成完全的私钥,从而解决了基于身份密码体制中密钥托管问题。因此一个无证书加密体制的形式化模型需要包含额外的算法。根据Al-Riyami和Paterson对于无证书密码系统的定义[1],无证书加密体制由七个算法构成,包括:系统初始化设置、提取部分私钥、设定秘密值、设定私钥值、设定公钥、加密和解密。
Al-Riyami S.S., Paterson K.G. (2003) Certificateless Public Key Cryptography.
(1)系统初始化设置算法(Setup):此算法通常由密钥生成中心(KGC)运行。该算法输入一个安全参数k,输出系统参数params和主密钥master-key。系统参数包括消息空间M和密文空间C。系统参数公开,主密钥只有KGC知道;
(2)提取部分私钥算法(Extract-Partial-Private-Key):此算法通常由密钥生成中心(KGC)运行。该算法输入参数params,主密钥master-key以及用户身份ID∈{0,1}*,返回部分私钥DID;
(3)设置秘密值算法(Set-Secret-Value):此算法输入参数params和用户身份ID,输出秘密值x;
(4)设置私钥算法(Set-Private-Key):该算法输入参数params,用户身份ID,用户的部分私钥DID和秘密值x,输出用户的完整私钥SKID;
(5)设置公钥算法(Set-Public-Key):输入参数params,用户身份ID,用户秘密值x,输出用户的完整公钥PKID;
(6)加密算法(Encrypt):此算法是概率性算法。加密方输入参数params,用户身份ID,用户公钥PKID和明文消息m∈M(M是明文空间),输出密文c∈C(C是密文空间);
(7)解密算法(Decrypt):此算法是确定性算法。解密方输入参数params,用户私钥SKID,密文c,输出明文m或错误标识⊥,⊥表示解密失败。
图 3 基于区块链账本的DPKI架构
无证书公钥密码的相关理论技术在2003年就已经完善,但真正为这一技术提供产品化基础的是区块链技术的发展与DPKI的落地实践。在标准的CL-PKI形式化定义中,KGC依然承担了部分中心化的信任根的功能。基于分布式账本的DPKI充分发挥了区块链作为信任机器的作用, 消除了传统PKI系统的中心化风险。DPKI与CL-PKI的结合,并非对PKI或传统CA系统的全盘抛弃和替代,更多是在原有认证体系基础之上的一种改进和补充,通过构建一种分布式的认证体系来解决中心化认证体系存在的问题,是未来网络信任生态的基础设施。
基于无证书公钥的数字身份信任系统
分布式无证书公钥基础设施为信任系统的建设提供了理论基础,但技术的实践需要与应用场景和市场需求进行紧密的结合。通付盾在基于无证书公钥的分布式数字身份认证系统UIAM的建设过程中,观察总结了下一代数字身份信任系统的几个发展趋势:
1.以数据要素为核心的DID(分布式数字身份)应用场景
数据要素是新时代的生产要素。分布式数字身份(DID,Decentralized Identity)不仅仅是一个身份标识,更需要与数据应用相关联,通过自主主权数据容器实现数据要素的“还数于民”。通过分布式基础设施改变应用厂商控制数字身份的模式,让用户控制和管理数字身份,“以人为本”将数据所有权归还用户,从根本上解决隐私问题。UIAM提供安全可信的身份认证服务,实现了数据使用权和所有权的分离,具备安全性、可控性和互操作性。
2.结合AI与大数据决策智能的数字身份安全模型
分布式架构更加需要自动化的智能决策来解决效率问题。数字身份信任系统不能仅仅依赖密码层面的安全性,还需要灵活可配置的数字身份风控系统。随着AI大模型技术的进一步发展,高度数智化的数字风控模块将成为数字身份安全系统的核心竞争力。
3.“安全可控、开放创新”战略发展路线
SM2、SM3、SM4、SM9等算法可以与区块链底层加解密算法和无证书公钥加解密算法结合,提供符合“安全可控、开放创新”战略发展路线的数字身份应用基础设施。例如,采用密钥前缀方法能够将无证书密钥生成算法和ECDSA、SM2等签名算法连接在一起形成一个安全、高效的无证书数字签名算法;SM9签名方案可以实现一种抗恶意KGC无证书签名的方法,结合智能合约验证公钥真实性。