写点什么

区块链:通往自主主权身份的道路

  • 2018-05-30
  • 本文字数:4867 字

    阅读完需:约 16 分钟

为什么我们需要自主主权身份?各国政府和商业公司正在共享海量的信息,从商品的浏览习惯、白天工作的地理位置、晚上睡觉的地方甚至到我们与谁交往的“朋友圈”,所有这些数据都是相互关联的。此外,随着全世界进入移动互联网时代,数字公民身份正在为第三世界居民激活人权和接入全球经济的能力。如果设计和实施得当,自主主权身份在提供这些好处前提下,同时也可以保护个人不受日益增长的隐私泄露的影响,使得个人利益重新归属个人还不是某个企业。

首先,我们来看自主主权身份是指什么?

身份是人类特有的概念,这是生活在不同国度不同文化的人们都理解的“我是谁”。

随着现代社会发展,国家和企业将驾照、社保卡和其他国家颁发的凭证与身份相混淆 ; 这可能是有问题的,假如一个国家撤销颁发的证书或者即使他只是穿越了国界,一个人就会失去自己的身份,这显然不合理。

数字世界中的身份更加棘手。它不但受到中心化控制,同时还十分琐碎,不同互联网领域都有身份的部分信息。

随着数字化的深入,区块链提供了重新定义数字身份的可能性,我们终于可以重新控制自己的身份。

近年来,这种身份的重新定义已经开始有一个新的名字:自主主权身份。但是,为了理解这个术语,我们需要回顾一下身份技术发展的一些历史:

身份的演变

自互联网出现以来,在线身份模型已经历经了四个广泛的阶段:中心化身份,联盟身份,以用户为中心的身份和自主主权身份。

第一阶段:中心化身份(由单一机构进行管理)

在互联网早期,中央政府成为数字身份的发起者和认证者。IANA(1988)负责确定 IP 地址有效性,ICANN(1998)仲裁域名的有效性。从 1995 年开始,证书颁发机构(CA)开始帮助互联网商业网站证明他们是谁。

有一些组织向去中心化更进了一步,创建了层次结构。一个根控制器可以替换二级机构来管理他们自己的层次结构。但是,根仍然具有核心地位 - 他们只是看上去把权力下放了一部分给二级的认证机构。

随着互联网的发展,越来越多的中央集权层出不穷,另外一个问题就显露出来了:我们的网络身份被日益分化,迫使我们在不同的网站上使用不同的身份,当然,这些身份是由这些网站中心化控制的,支付宝没法登陆微信,微信没法登陆亚马逊。

当今互联网的数字身份依然是中心化的或者使用 oauth 做的授权多层次。数字身份由 CA、域名注册商和网站拥有,然后随时赋予用户或撤销。然而,过去二十年来,人们也做了大量努力把身份归还给人们自己。

插曲:展望未来

PGP(1991)提出了可能创造自主主权身份的第一个方案。它引入了“信任网络”的概念 ,它通过允许节点担任公钥的介绍者和验证者来建立对数字身份的信任。任何人都可以在 PGP 模型中进行验证,这是一个典型的分布式信任管理的例子,但它主要针对电子邮件地址,电邮依赖于中心化的层次结构。由于各种原因,PGP 未被广泛采用。

其他早期的想法出现在 Carl Ellison 的一篇论文“建立不依赖 CA 的身份”(1996)中,该论文研究了如何创建数字身份。他认为,不管是像 PGP 这样的点对点系统还是 CA 证书颁发机构都可以作为定义数字身份的选项。Ellison 提出通过在安全信道上交换共享秘密来验证数字身份,这允许用户在不依赖管理机构的情况下控制自己的身份。

Ellison 也是 SPKI / SDSI 项目(1999 年)的核心成员。其目标是建立一个更简单的身份证明公共基础设施,以取代复杂的 X.509 系统。

这只是个开始,二十一世纪身份革命的重头戏 - 自主主权身份还未开始。

第二阶段:联盟身份(由多个机构或联盟来进行管理)

数字身份的下一个重大进步发生在 20 世纪末,各种商业组织使用一种新形式的在线身份超越了传统的层级制。

微软的 Passport(1999)计划是最早的一个。它设想了“联盟身份”的概念,允许用户在多个站点上使用相同的身份。但是,这使得微软成为联盟的中心,微软和传统中央集权机构拥有一样大的权力。

作为回应,Sun 公司组织了自由联盟(2001)。他们抵制中央集权,希望建立了一个“真正的”联盟,结果却形成了又一个寡头统治,在这个时期,我们看到中央集权的力量现在被分成几个强大的实体(联盟)。

联盟有助于一定程度解决身份割裂的问题,用户可以在多个系统间自由访问。但是,每个单独的网站依然是一个中心,大的体系之间并不互认。

第三阶段:以用户为中心的身份( 无需联盟,跨多个个人或机构进行管理)

增强社交网络 ASN(2000)为创建下一代互联网提出了新的数字身份标准。在他们的白皮书中,他们建议在互联网的架构中建立“永存的在线身份”。从自主主权身份的角度来看,他们最主要的进步是提出“每个人都有控制自己数字身份的权力”的假设。ASN 小组认为 Passport 和自由联盟无法实现这些目标,因为“基于商业驱动”会主要考虑将信息私有化和留存这些客户。

ASN 的这些想法成为了很多后续项目的基础。

身份共享项目(2001 年 - 至今)开始在去中心化上开展数字身份工作。他们最重要的贡献是与身份协会共同创建了互联网身份工作室 IIW(2005- 至今)。在过去的十年中,这个工作小组在半年一度的会议上提出了多个去中心化身份的想法。

IIW 社区针对以服务器为中心的中央认证授权模式提出了一个新名词:以用户为中心的身份。工作组最初的讨论集中在创造一个更好的用户体验,强调把用户放在第一位和以用户为中心。然而,以用户为中心的定义很快扩展到,包括用户希望对他的身份有更多的控制权、去中心化的信任等等。

IIW 的工作支持了许多创建数字身份的项目,包括 OpenID(2005),OpenID 2.0(2006),OpenID Connect(2014),OAuth(2010)和 FIDO(2013)。以用户为中心的方法倾向于关注两个要素:用户授权和互操作性。通过授权和许可,用户可以决定从一个服务到另一个服务共享一个身份。

以用户为中心的数字身份社区有更雄心勃勃的愿景,他们打算让用户完全控制自己的数字身份。不幸的是,他们的努力并没有成功。

OpenID 提供了一个例子。用户理论上可以注册他自己的 OpenID,然后他可以自主使用。但是,这有一定技术门槛,所以大部分互联网用户更可能选择一个长期可靠的网站的 OpenID 来登陆网站。看上去,用户拥有了自主主权身份的优势,但是它可以随时被注册 OpenID 的提供商剥夺!

Facebook Connect(2008 年)在 OpenID 之后几年发布,吸取了之前的经验教训,提供了更好的用户界面从而大获成功。不幸的是,Facebook Connect 更偏离以用户为中心的原始理念。首先,身份供应商只有 Facebook。更糟糕的是,Facebook 存在随意关闭账户的历史。因此,“以用户为中心”的 Facebook Connect 可能比 OpenID 更加脆弱,这一切又回归了中央集权。

看到这里我们发现,光以用户为中心是不够的。

第四阶段:自主主权身份(个人完全控制)

以用户为中心的设计将中心化身份转化为可互操作的联盟身份,同时还允许用户对如何共享身份进行一定的控制。这是向完全自主控制身份迈出的重要一步,下一步我们需要用户的自主权。

这是自主主权身份的核心,它要求用户成为自己身份的支配者,而不是让用户仅参与认证的过程。

身份主权第一次被引用发生在 2012 年 2 月,开发人员莫克西·马林斯皮克展示了一种解决自主主权身份的方法:使用基于密码学的策略来保护用户的自主权和控制权。

Respect Network(2016)将自主主权身份当做法律政策看待 ; 他们定义了网络成员同意遵守的合同规则和原则。数字身份的 Windhover 原则、Trust and Data 和 Everynym 身份系统提供了更多关于自我主权身份的观点。

去年,自主主权身份也进入了国际政策领域。这很大程度上是因为欧洲的难民危机,导致许多人由于从出具证书的国家逃离而缺乏公认的身份。然而,这是一个长期存在的国际问题,由于缺乏国家颁发的证书,外国工人经常被工作地所在的国家滥用,据联合国统计全球没有身份的大约有 10 亿人口。

自主主权身份的重要性正在快速增长,现在是走向自主主权身份时代的时候了。

自主主权身份的界定

究竟什么是自主主权身份呢?事实是到目前为止还没有共识。本文会提供一些观点

自主主权身份:用户必须是身份管理的中心。这不仅需要在用户同意的情况下实现跨区域身份的互操作性,还要求用户对该数字身份的真实控制,从而创建用户的自主权。要做到这一点,一个自主主权身份必须是全局的、去中心化的。

自主主权身份还必须允许普通用户可以提出声明,可能是能力信息、职业信息、学历信息等。它甚至可以包含有关其他人所声称的信息。

在创建自主主权身份的过程中,必须小心保护个人权益,防止侵犯人权的超级节点的存在(NSA?)。

任何自主主权身份也必须符合一系列指导原则 - 如下:

自主主权身份的十大原则

金卡梅隆(Kim Cameron)写了最早的“身份法则” ,而前述 Respect Network 撰写的政策和 W3C 可验证声明工作组的 FAQ 提供了关于数字身份的观点。

这些原则用于确保用户控制是自主主权身份的核心。但是,我们也意识到,身份可以是一把双刃剑 - 既可以用于有益的目的,也可以用于恶意的目的。因此,数字身份必须要平衡好透明度、公平性并且能够保护个人权益。

  1. 存在性:用户必须是独立存在的,这是任何自主主权身份的核心。
  2. 可控性:用户必须完全控制他们的身份,依托安全算法确保身份及其有关声明的持续有效性、可读性。
  3. 可访问: 用户必须有权访问自己的数据。用户能够轻松地查询其身份的所有声明和相关数据。
  4. 透明度:系统和算法必须是透明的(开源)。用于管理和操作身份网络的系统必须是公开的,包括它们包含的功能和治理模型。算法应该是免费的、开源的,任何人都能开放使用。
  5. 持久性: 身份必须是永远存在的或者至少持续到用户期望的期限为止。可能私钥需要更换或者数据需要更改,但关联的数字身份应该保持存在。在快速发展的互联网世界中,这个目标可能并不完全合理,所以至少让数字身份维持到新的认证体系来临之前。
  6. 可移植性:关于身份的信息和服务必须是可迁移的。数字身份不能仅由一个单一的第三方实体拥有,即使这是一个值得信赖的实体,希望能够为用户的最佳利益行事。问题是实体可能会消失 - 而且在互联网上,任何实体都可能最终会消失。政权可能会改变,用户可能会迁往不同的司法管辖区。可迁移的数字身份确保用户无论任何情况都可以保持对自己身份的控制。
  7. 互操作性:数字身份应尽可能被广泛使用。如果他们只在有限的领域工作,身份是没有多大价值的。
  8. 共识:必须经过用户同意才能使用他们的身份。数字身份系统都是围绕共享该身份及其声明而建立的,互操作会增加系统共享的数量。但是,共享数据的前提是用户授权同意。非身份持有者提出的声明必须经过用户同意才能生效。
  9. 最小化:声明信息的披露必须尽可能的少。当披露数据时,披露的内容应该是满足验证要求的最小信息。例如,如果只要求一个最低年龄,那么确切的年龄就不应该被公开,如果只要求一个年龄,那么不应该公开更精确的出生日期。这个原则可以通过选择性披露、范围证明和零知识证明技术来支持,我们所做的就是尽可能地保护隐私。
  10. 保护:保护用户的权利。当身份网络的需求和个人用户的权利存在冲突时,系统可能会犯错误。为了防范这一点,身份认证必须通过独立、共识、透明的算法以去中心化方式运行。

结论

数字身份的概念已经诞生几十年,从中心化身份到联盟身份、以用户为中心的身份到自主主权身份。然而,即使在今天,自主主权身份究竟是什么,它应该参考什么规则,了解的人并不多。

区块链正在激活这个概念的再一次革命,遵循一套简单的定义和一套共识的原则,引用自联合国 ID2020,全球依然有近 5 分之一人口没有身份,区块链 / 分布式账本技术系统的特性天然与自主主权身份相匹配,并且已纳入 ISO TC307 的工作范畴。

本体项目是国内唯一致力于打造新一代分布式数字身份网络的区块链项目,本体信任网络架构了一个分布式融合的信任体系,将信任的多样性在一体化的协议体系下进行协同,整合分布式多维实体认证体系及各类不同区块链体系与信息系统,纳入多源身份认证和多源信息交换协议,并提供不同分布式应用场景的开放基础模块,实现分布式点对点的信任体系,构建跨链、跨系统、跨行业、跨应用和跨终端的分布式信任基础设施。

感谢大家阅读数字身份的发展简史,希望不久的将来,数字化新时代能够真正跨越国界实现全人类分布式大协作。

2018-05-30 18:113145

评论

发布
暂无评论
发现更多内容

基于 Spring Boot 的企业级快速开发框架 BDF3

木香丘

架构 Spring Boot 可视化 后台管理系统

极客时间架构 1 期:第 3 周代码重构 - 学习总结

Null

Serverless 多云解决方案 Malagu

木香丘

云计算 Serverless 架构 云原生 Malagu

Redis-技术专题-基础介绍

洛神灬殇

入行架构师之前,这7项技能你要先了解一下

Java架构师迁哥

架构师1期-代码重构作业

ltl3884

极客大学架构师训练营

发几张国庆的照片

亨利笔记

容器 k8s Harbor 镜像

单例模式

魏小龙

极客时间架构 1 期:第 3 周代码重构 - 命题作业

Null

爆赞!这份《Java核心宝典》绝对是面试复习的最佳选择

Java架构之路

Java 程序员 面试 编程语言

Python 为什么不支持 switch 语句?

Python猫

Python 编程

Malagu 框架介绍

木香丘

云计算 开源 Serverless 架构 框架

第四周作业

极客大学架构师训练营

架构师训练营第四周学习总结

尹斌

架构师训练营第四周作业

尹斌

LeetCode题解:226. 翻转二叉树,递归,JavaScript,详细注释

Lee Chen

大前端 LeetCode

spring-boot-route(九)整合JPA操作数据库

Java旅途

Java Spring Boot jpa

架构师训练营第三小结(9.28-10.4)

zjzj2017

Hazelcast IMDG 带你瞬间进入内存计算的时代

张磊

分布式计算 内存管理 分布式缓存 分布式内存网格

Redis-技术专题- 热点Key如何解决

洛神灬殇

架构师训练营第三周课后作业

Gosling

极客大学架构师训练营

架构师训练营第 1 期第 4 周作业

好吃不贵

极客大学架构师训练营

架构师训练营第三周学习总结

Gosling

极客大学架构师训练营

如何高质量学习与正确运用设计模式

木香丘

学习 设计模式 实战

深入剖析go中字符串的编码问题——特殊字符的string怎么转byte?

Gopher指北

后端 string utf-8 Go 语言

架构师训练营第三周作业(9.28-10.4)

zjzj2017

有这些要素,架构才完整

北风

架构 架构师之道 架构方法

架构师训练营第 1 期第 4 周学习总结

好吃不贵

缓存服务-技术专题-解决方案

洛神灬殇

实用威胁建模指南(一)

亚伦碎语

敏捷 安全设计 系统安全 #威胁建模

3. CocoaPods 命令解析 - CLAide

Edmond

ruby ios objective-c CocoaPods PackageManager

区块链:通往自主主权身份的道路_语言 & 开发_本体_InfoQ精选文章