随着网络技术的不断发展,网络空间中不同体系结构、不同应用领域的身份管理系统协同并存, 如何管理繁多的网络身份是一个具有挑战性的问题。

本文总结了传统身份管理系统的特点,认为传统的系统大多依赖于可信第三方,将身份数据库集中存储在权威的中心机构,如果中心机构被入侵,所有用户的隐私就会被破坏。

而且随着网络用户数量的激增,管理身份数据库所耗费的资源也在不断攀升。区块链作为一个新兴技术,其天然的去中心结构为身份管理提供了新的解决思路,本文总结了一些结合区块链技术的身份管理系统的特点,并对未来网络空间身份管理系统的发展提出了展望。

网络身份管理是实现现实世界与网络空间虚实结合、提供信任服务和行为监管的关键, 是实施网络空间治理的基础。

如表 1 所示,各国对网络身份管理高度重视,纷纷将其上升至国家战略高度。我国在最新发布的《国家网络空间安全战略》 中将构建网络信任体系,提高网络科学化规范化管理作为十九大战略任务之一。

表 1 各国针对身份管理系统的发展战略

2016 年 4 月 19 日,习近平总书记关于网络安全和信息化工作发表了重要论述。

2017 年的全国两会上,网络身份管理和隐私保护也成为焦点问题,多位代表和委员提出加强网络身份管理、防止个人信息泄漏的议案。

2018 年国发 27 号文对一体化政务服务,提出了统一身份管理和信任服务的要求。目前的网络身份管理技术已经在政府、银行、电商、社交网络等领域建立了各自的管理与服务系统。

身份的作用是区分不同的个体,身份管理系统就是一个管理这些不同个体的系统,它能够给用户的使用带来极大的便利。根据国际电信联盟(ITU)所提出的身份管理标准 ,身份管理大致可以分为以下几个方面:

  • 用户对身份证明和账户隐私安全的保护;

  • 运营商、提供商的安全性和经济性需求;

  • 政府企业管理、公共服务需求;

  • 网络安全、公共政策需求;

  • 非政府组织隐私保护需求等。

目前,国内外大量身份管理基础设施在理念上以应用、信息系统为中心,其身份管理差别大、实现手段各异、结构松散,形成了一个个身份管理“孤岛”,为跨域身份共享、业务融合、系统集成带来了诸多不便。目前的网络身份管理存在如下问题:

  • 身份管理平台多样,不互通;

  • 多维度身份认证体验差,管理难;

  • 跨域身份管理的可信评估缺失;

  • 异构环境权限管理困难;

  • 网络实体身份的虚拟性导致监管困难;

  • 身份隐私信息易被滥用和误用;

  • 身份信息易被复制和伪造;

  • 异构环境身份隐私数据共享难;

  • 多态跨域网络实体行为综合分析困难。

统一的身份管理系统是解决身份管理问题的一个有效方法,它能提供统一、安全可信、全生命周期的身份管理和服务,是提升网络空间监管与治理能力、保护网络身份隐私的有效途径,是促进国家网络经济良性发展、维护国家网络安全的战略基石。

传统的统一身份管理系统发展

1.1我国网络身份管理的发展

我国从“十二五”起先后资助了“网络真实身份管理产业化”“网域空间身份管理”等信息安全重大专项课题,围绕网络空间身份管理关键技术取得了一系列成果。

公安部第三研究所联合其他单位设立了国内专门从事本领域标准制定的“网域空间身份管理标准工作组”, 牵头制定了“网络电子身份格式规范”等 30 余项国家及行业标准,出版了我国在网络身份管理领域的第一部专著《全球网络身份管理的现状与发展》 等。

2011 年,中国电子认证服务产业联盟 (CEAIA) 于北京成立,该组织致力于促进电子认证关键技术和产品研发,提升电子认证服务创新能力和水平,推动可靠电子签名的广泛应用,推进网络信任体系建设。

公钥基础设施 (Public Key Infrastructure,简称 PKI) 是基于非对称密码的身份认证体系,电子证书、USBKey、eID[11]、芯片银行卡等应用都是基于 PKI 技术发展而来。

1.2微软的 Passport 项目

早在 20 世纪末,微软就推行了一个基于NET 平台的统一身份管理项目——“Passport” 项目。

在该项目中,身份管理的核心站点是微软的 Passport.com 网站,站点中存储了所有用户的身份,并为微软的全部授权站点统一提供身份认证服务。

因此,用户只要在任意一个授权站点登录,就可以自由地访问其他授权站点, 而不需要重复登录。

虽然微软 Passport 已经投入使用多年,但是诸多安全性问题都限制了它的进一步发展。

首先,Passport 的架构属于集中统筹式,其核心的验证服务器以及用户身份信息的数据库都是由微软维护的,而且微软公司并没有对这个项目的技术细节进行公开,因此,用户身份信息被泄漏的隐患一直存在。

其次,微软的 Passport系统曾多次被黑客入侵,本身的安全性也存在隐患。

1.3自由联盟规范

2001 年,多个技术企业共同成立了“自由联盟”组织(Liberty Alliance),该联盟的宗旨是创建一个任何终端都能参与的、开放性的、联合的、单一的身份识别的解决方案,这个解决方案被称为自由联盟规范。

加盟该组织的企业囊括了各行各业,比如汽车制造、金融服务、旅行业、数字媒体、零售业、电信及技术相关企业,Sun、Nokia、American Express 等公司负责制定跨企业的身份认证服务的技术规范。

自由联盟主要有如下三个目标:

使个人用户和企业用户都能够维护自身的信息,而非把个人信息交给集中式的机构;

推进可以互通和跨域使用的服务,制定跨域身份认证服务的标准,使用户在任何一个站点通过认证后,也可以在其他站点享受服务;

为所有接入因特网的设备制定网络认证标准,使手机、平板电脑等终端间都能进行安全的认证。

具体来说,自由联盟的协议包括三个主体:用户、服务提供者和身份提供者。用户的单点登陆流程如图 1 所示。

图 1 自由联盟单点登陆流程图

自由联盟规范与集中统筹式的 Passport 项目不同的是,用户的认证数据不再被集中存储和维护,中心统筹式身份管理中心不再存在,取而代之的是一种分散的管理模式,在其信任圈中可以存在多个独立的身份提供者。

但是自由联盟规范的问题在于一旦某个身份提供者不可用,用户就不能继续获取该组织的资源,而且自由联盟的 SSO 协议的安全性也存在隐患 。

1.4 IBM 的 Tivoli Access Manager

Tivoli Access Manager 是用于管理电子商务和分布式应用程序的解决方案,它能够对分散在内部网和外部网上的资源提供安全性保护。除了其强大的安全性外,Tivoli Access Manager 还能够提供授权、认证和资源管理的能力。

它有两个核心组件:一个用户注册表,一个由授权数据库和授权引擎支持的授权服务。

用户注册表和授权服务是 Access Manager 提供其安全服务功能的基本模块,所有其他服务和组件都基于此基础构建。

1.5 Novell 公司的 iChain

Novell 的 iChain 是一种集成式的安全的访问管理基础架构,可保护敏感的业务和身份数据, 而且可提供基于 Web 的身份验证和访问。

iChain 是一种缓存反向代理,它基于身份验证和访问控制策略限制对基于 Web 的内容、门户和 Web 应用程序的访问。

iChain 还可以通过向受保护的服务器和应用程序提供经过身份验证的用户凭据信息,为多个 Web 服务器和 Web应用程序提供单点登录服务。

iChain 简化了管理, 同时也保护了数据,加速了对信息资源的访问速度。

1.6 Central Authentication Service

Central Authentication Service 是由耶鲁大学的 Shawn Bayern 创造的一种针对互联网的单点登录协议。CAS 协议大致包括三个方面:客户端Web 浏览器、Web 应用请求的身份验证和 CAS服务器。

当客户端访问应用程序并请求身份验证时,应用程序会将请求重定向到 CAS 服务器。CAS 服务器验证客户端是否被授权,验证过程一般是通过在数据库对用户名和密码进行检查(例如 Kerberos、LDAP 或 Active Directory)。

如果身份验证成功,CAS 服务器就同意客户端返回到应用程序,并传递身份验证票据(Service ticket)。之后,应用程序可以安全连接 CAS,并提供自己的服务标识和验证票据,CAS 给出关于特定用户是否已成功通过应用程序授权的身份验证的信息。

新兴的身份管理系统

2.1电子身份 eID

eID 是以密码技术为基础、以智能安全芯片为载体、由“公安部公民网络身份识别系统” 签发给公民的网络电子身份标识,它的特点是能够在不泄露身份信息的前提下在线远程识别身份。

具体来说,用户开通 eID 时,智能安全芯片内部会采用非对称密钥算法生成一组公私钥对, 这组公私钥对可用于电子签名,基本原理是: 用户可以使用自己的 eID 私钥对信息进行电子签名后发送给其他人,其他人可以使用用户的 eID公钥对签名信息进行验签。

用户使用 eID 通过网络向应用方自证身份时,应用方会向连接“公安部公民网络身份识别系统”的服务机构发出请求,以核实用户网络身份的真实性和有效性。

一旦用户网络身份通过验证,应用方就能得到用户在当前应用上的网络身份应用标识。由于用户在不同的线上应用所使用的网络身份应用标识编码不同,因此可以避免用户在不同线上应用中的行为数据被汇聚、分析和追踪。

目前,我国的电子身份 eID 已发行 5000 万张并且在在银行、证券、保险、征信、互联网金融、电子商务等领域广泛应用。欧盟多个国家也已经颁发了 eID 来替代传统的身份证件,使 eID 既具备了线下身份识别的功能,又具备了网络远程身份识别功能。

此外,华为联合公安部第三研究所宣布启动了将 eID 载入手机的试点,此次合作是首次将eID 直接载入手机,可在互联网环境下为用户的线上线下活动提供高安全可靠的身份认证服务。

手机 eID 可简单理解为一款手机移动端的电子版身份凭证。使用时,身份电子证照需经本人输入 eID 签名密码授权后方可被使用,不会在未经本人授权的情况下被第三方偷取身份信息。

此外,eID 具有唯一性,一旦手机丢失,用户在新手机上开通 eID 后,旧的将即刻失效,无法被冒用。

2.2OAuth

OAuth 是 Open Authority 的缩写,它是一个授权框架,或称授权标准,它可以使第三方应用程序(微信、QQ 等)或客户端获得对HTTP 服务上(例如 Google、GitHub)用户信息的有限的访问权限。

OAuth 通过将用户身份验证委派给托管用户的服务以及授权客户端访问用户进行工作。它可以为 Web 应用和桌面应用以及移动应用提供授权流程,其体系结构如图 2 所示。

图 2 OAuth 的体系结构

2.3OpenID协议

OpenID 是 Live Journal 社 区 创 办 人 Brad Fitzpatrick 提出的一个去中心化的网上身份认证系统。OpenID 允许用户使用现有账户登录多个网站,而无需创建新密码。

取而代之的是,他们只需要预先在一个 OpenID 身份提供者的网站上注册,就可以任意享用支持 OpenID 的网站上面的资源。

OpenID 的最大特点是采用了去中心化的架构,任何网站都可以使用 OpenID 来作为用户登录的一种方式,任何网站也都可以作为OpenID 身份提供者。

目前,OpenID 正在网络上迅速普及,超过 10 亿个支持 OpenID 的用户账户和超过 50000 个网站接受 OpenID 登录,包括谷歌、Facebook、雅虎、微软、MySpace、Novell、Sun、意大利电信等等。

基于区块链技术的身份管理系统

在很长的时间内,人们对电子身份管理系统的要求都不能得到全部满足。区块链作为一个分布式账本平台,它天然的去中心结构为身份管理提供了新的解决思路。

3.1区块链技术简介

区块链是比特币背后的核心技术,它本质上是一个在所有参与方之间共享和共同维护的分布式数据库,上面记录了所有交易或数字事件。

参与节点之间的每笔交易都通过系统中大多数参与者的共识进行验证,交易信息一旦记录进区块链,它永远不会被删除。这些特点能够有效解决数字货币中长期存在的拜占庭将军问题 和“双花问题”。

区块链上的“ 块” 由数字信息组成, 如图 3 所示,每个数据区块由区块头和区块体组成。区块头中包含了时间戳、目标哈希值、当前区块工作量证明共识过程的随机数、Merkle 根以及版本号等信息。

区块体由交易计数器和所有的交易记录组成,这些记录通过 Merkle 树的哈希过程生成唯一的 Merkle 根并记入区块头。

图 3 区块链结构

顾名思义,区块链由多个块组成,在区块链网络中,每个分布式节点都可以通过特定的哈希算法和 Merkle 树数据结构,将一段时间内接收到的交易数据和代码封装到一个带有时间戳的数据区块中,并链接到当前最长的主区块链上,形成最新的区块。

但是,为了将块添加到区块链中,必须经历以下过程:有新交易产生;交易信息被广播至所有节点;该交易信息必须被核实, 并且将新事务收集到块中,每个节点都在为其块查找困难的工作证明。

在此过程中,比特币网络可以动态调整工作证明的难度值, 当节点找到工作证明时, 它将块广播到所有节点;经过全体矿工节点验证后,找到工作证明的矿工节点将会获得当前区块的记账权, 并将新的区块写入区块链中。图 4 描述了区块链工作流程。

图 4 区块链工作流程

总的来说,区块链具有以下四个主要特性:

去中心化:在传统的集中交易系统中, 每个交易需要通过中央信任机构(例如中央银行)进行验证,不可避免地导致中央服务器的成本巨大和性能瓶颈。与集中模式相比,区块链不再需要第三方。区块链中的共识算法用于维护分布式网络中的数据一致性。

一致性:交易可以快速验证,诚实的矿工不会承认无效交易。一旦它们包含在区块链中,几乎不可能被删除。

匿名性:每个用户都可以使用生成的地址与区块链交互,这不会显示用户的真实身份。但是,由于比特币的每一笔交易都会公开记录在区块链账本上,任何人都可以查阅。

只要通过分析每个地址发生过的交易,就可以获取账号之间的部分隐私,因此,区块链无法保证完美的隐私保护。

可审计性:任何交易都必须引用一些先前的未花费的交易。一旦当前事务被记录到区块链中,那些引用的未花费的事务的状态就从未花费转换为花费。因此,可以轻松验证和跟踪交易。

3.2区块链技术在身份管理领域的优势

区块链技术产生初期,研究人员更关注于区块链在比特币等数字加密货币中发挥的作用, 尝试将区块链技术应用在金融领域。

随着人们对区块链技术的深入认识,发现使用分布式账本技术可以解决许多业务中的难题,特别是在需要高度信任的业务中,通过使用区块链技术作为应用程序平台来构建系统的底层信任基础结构来建立信任服务,使用区块链技术可以降低成本,并为企业提供构建和维护基础架构的机会,这些基础架构能够以比传统集中式模型更低的成本提供更好的功能。

虽然比特币是区块链的第一个实施的应用,但比特币的基础结构不必限于支付交易、账户、余额或用户。比特币是使用加密方法和脚本语言保护和执行的交易,它可以应用在除加密货币之外的许多应用之中。

如图 5 所示,在 Web of Science 数据库中, 以 blockchain 为主题进行检索, 可以看出从2013 年到 2018 年来以 blockchain 为主题的论文数量增长迅速,涵盖了计算机科学、电子医疗、金融科学、社会科学等多个领域。

图 5 以 blockchain 为主题的论文数量

当前的身份管理机制在架构上面临着以下问题:系统是建立在可信第三方,由权威的第三方机构来维护身份数据库和提供认证服务,比如,基于可信第三方的证书认证机构 (certification authority,简称CA) 来建立的公钥基础设施(PublicKey Infrastructure,简称 PKI)。

然而,传统的身份管理机制过分依赖第三方,存在存储成本高和隐私保护不够等问题。频频出现的安全事故也说明了传统的身份管理系统结构面临着很大的挑战,例如,DigiNotar CA 被攻击并发布虚假证书事件。

此外,CA 的存在也带来了用户身份信息被泄露的隐患,有些不诚实的 CA 可能会为了利益而泄露用户隐私信息。

区块链的去中心化的结构能够很好地解决传统的身份管理机制中存在的过分依赖第三方的问题,在区块链系统中,不存在可信第三方,人人都可以参与记账,共同维护身份数据库。用户的身份信息被加密存储在区块链上,具有安全性和不可修改性。

而密钥只有用户本人知道,真正实现了用户的身份属于用户自身,消除了身份信息被泄露的隐患。

3.3基于区块链技术的身份管理发展现状

区块链的去中心化的结构能够很好地解决传统的身份管理机制中存在的问题,因此区块链技术为身份管理系统的设计提供了一个新的思路和方法,许多研究者将区块链技术运用在身份管理系统上,出现了很多结合区块链的身份管理系统。

3.3.1Blockstack

Blockstack 是由 Muneeb Ali 等人提出的一个建立在 Namecoin 区块链之上的分散式PKI 系统, 它使用比特币的工作证明共识机制维护系统的状态一致性,系统中不存在中心机构或可信第三方。

传统的应用程序和服务将用户数据存储在中心机构,因此中心机构成为黑客和犯罪分子的头号目标,黑客可以通过一次攻击收集到大量的用户隐私信息。

在平台上进行身份验证的密钥由拥有该服务或应用程序的公司拥有,而不是由用户拥有。所有这些问题都为互联网的安全带来了隐患。

Blockstack 解决了这些问题, Blockstack 中所有用户数据都存储在本地设备上。数字身份密钥也会在用户自己的设备上生成, 而不是由应用提供者生成。

目前,Blockstack 作为开源软件发布,是一个分层结构。第一层是控制层,具有两个主要功能:操作的存储和写操作顺序的共识。

下一个层是数据层,主要用作数据发现和数据路由。顶层是实际数据值的存储层。整个系统都依赖于底层区块链的共识协议来维持一致性。

3.3.2Authcoin

Authcoin 由 Benjamin Leading 等人提出,它是一个传统的 PKI 系统的替代方法。该协议使用挑战响应模式进行公钥的验证和认证过程, 可以在有特定安全要求的各种场景中使用。

该协议利用区块链的去中心化、容错、难以篡改的特点来安全地存储数据,消除了对可信第三方的依赖。

此外,他们还分析了 Authcoin的潜在威胁(如 Sybil 攻击 [30]),并找到了缓解这些威胁的方法。

3.3.3CertCoin

CertCoin 由 Conner Fromknecht 等人提出。具体而言,它是一种分布式的身份验证方案,利用区块链维护了一个公共的存储身份信息的账本,与比特币中的区块链不同的是,CertCoin 中的区块链存储的不是交易信息,而是用户的身份 ID 以及公钥的信息。

该系统主要包括五个功能:注册身份、更新公钥、搜索给定身份的公钥、撤销给定身份的公钥、恢复给定身份的公钥。

为了提升系统效率,他们提出使用 RSA 累加器 [32] 来加速公钥验证,并应用 Kademlia 分布式哈希表 [33] 进行快速密钥查找。

3.3.4Instant Karma PKI

Matsumoto 等人的模型 Instant Karma PKI(IKP)旨在实现改进的 PKI,它是一个用于定义和报告CA 不当行为的自动化平台,它使用基于区块链的机制自动检测 CA 的不当行为,激励CA 正确发布证书和检测程序,以快速报告未经授权的证书,并利用比特币中的激励机制来奖励曾经帮助检测 CA 不当行为的人。

更具体地说,IKP 允许参与的 HTTPS 域发布指定用于定义 CA 不当行为的策略,任何违反这些策略的行为都会构成 CA 的不当行为。

3.3.5基于 PGP 信任网的分布式 PKI

Pretty Good Privacy(PGP) 由 Philip R. Zimmermann 于 1991 年开发 ,它最初是为电子邮件用户设计的,用于通过 Internet 加密和解密电子邮件,以及使用数字签名和加密存储文件验证邮件。

在该系统中,每个用户都有一个公开的公钥和一个只有该用户知道的私钥。发送邮件时,用户使用他人的公钥对邮件进行加密并发送。

接收邮件时,用户使用他自己的私钥解密邮件。由于加密整个邮件可能非常耗时, 因此PGP 使用更快的对称加密算法来加密邮件,然后使用公钥来加密用于加密邮件的短密钥。

加密消息和短密钥都被发送到接收者,接收者首先使用自己的私钥来解密短密钥,然后使用该密钥来解密邮件。

PGP 中没有中央机构来发布证书,用户发布自签名证书并使用自己的密钥签署其他用户的(ID,PK)对,以表示他们信任这些(ID, PK)对。

在 PGP 中,此信任被记录为证书的形式。如果 A 想要与 C 通信,但 A 没有颁发 C 的身份证书,A 可以搜索从他自己到C 的证书链, 如果他可以构建这样的证书链,A 肯定会信任 C 的身份证书。

然而,在 PGP 的可用性和安全性方面存在一些不容忽视的问题。

首先,PGP 没有定义构建证书链的方法。在实际应用中,构建证书链的方法是建立一个可以存储证书链的中央密钥服务器。

显然,建立中央密钥服务器的方法, 就像集中式 PKI 中的 CA 一样,仍然存在单点故障等问题。

此外,由于缺乏激励措施,证书信息的正确性无法保证,一些用户可能伪造证书以获取利益。

SCPKI将 PGP 信任网(web-of-trust) 模型和以太坊区块链上的智能合约相结合,使虚假证书在发布时很容易被检测到。

该系统仅适用于用户希望公开的属性,不适合发布更多私人身份属性,例如个人地址,因为系统中的任何人都可以查看所有属性,并且没有访问控制。

KeyChains[37] 也是一个基于 PGP 信任模型网络的分散式公钥基础设施,它使用了一种新颖的查找机制 LMS[38],专门针对在分布式网络中生成和检索证书链的任务而定制。

该协议的优点是搜索不仅返回绑定到特定主体的公钥,还返回完整的证书链,可以确保密钥的正确性。

3.3.6ShoCard

ShoCard 是一个使用区块链实现节点间信任建立并对加密安全的身份进行验证的系统。在ShoCard 中,用户在自己的移动设备上存储其身份信息,并通过私钥来进行加密。区块链作为去中心的交换承诺而存在,不存储敏感信息,保证信息的有效性、完整性。

这样一来身份信息共享和验证变得更高效、私密和安全, ShoCard 的用户可以选择将自己的身份信息的哪一部分与某用户共享, 从而消除了集中式数据库中包含个人身份信息的必要性, 集中式的身份信息数据库一旦出现安全漏洞,其存储的个人身份信息就很可能被黑客利用, 并用于攻击个人和企业。图 6 描述了 ShoCard 系统的基本架构。

图 6 ShoCard 的基本架构

3.3.7Uport

Uport 身份是一个以太坊地址,它不依赖于中心化的身份提供者。所以,如果你们需要与一个拥有他们自己的以太坊地址的终端客户交易的时候,Uport 就提供这个服务。

在传统的公共密钥加密系统中存在一些难以解决的问题,比如,丢失私钥将会使得身份失效, 并难以恢复。

此外,如果没有中心化的机构,也不能直接撤销密钥,也不能将身份的控制安全地转移给其他人。这些问题很大程度上限制了传统的公共密钥加密系统在密钥管理上的发展。

以太坊智能合约为我们提供了一个加密密钥管理问题的通用解决方案,为设置永久身份提供了基础。可以通过智能合约或传统公共密钥的地址来表示以太坊身份。还可以对智能合约进行编程,以支持各种私钥找回方法,例如一些密钥恢复方法。

Uport 身份本质上是一个非常简单的智能合约,由可替换的控制器合约控制,其中包含密钥恢复和访问控制逻辑。控制器合约又由安全地存储在智能手机上的密钥控制。

随着互联网的不断发展, 网络中的用户数量越来越多, 不同网站维护着各自的身份数据库,建立一个统一的身份管理系统来管理繁多的网络身份成为了一个研究重点。

本文首先介绍了身份管理的概念,总结了传统的依赖中心机构的身份管理系统, 如微软的Passport 项目、自由联盟规范等等。之后,介绍了新兴技术区块链的特性,总结了运用区块链技术来进行身份管理的项目,例如KeyChains、ShoCard 等等。

姜文博:电子科技大学计算机科学与工程学院硕士,研究方向为网络安全。

郝尧:中国电子科技集团公司第三十研究所研究员,研究方向为信息安全。

董贵山:中国电子科技集团公司第三十研究所研究员,研究方向为信息安全。

选自《通信技术》2019年第九期

声明:本文来自信息安全与通信保密杂志社,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。