上网冲浪这么多年,你可能从来没有拥有过你的“账户”

2023-10-22 20:40

本文主要是介绍上网冲浪这么多年,你可能从来没有拥有过你的“账户”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这期文章最开始想解读W3C的DID标准,但是我们去搜DID关键词的话,会出现很多名词DPKI、PKI、VC等,往往会令人感到很困惑,那么学习与探索之路就很难继续下去。

为了大家能更好的理解,就先写一篇文章对互联网身份的发展背景进行简单地解释。那么这期,我们就先从身份开始聊起。


1. 身份的功能                    

百度词条里面对身份的解释是:身份指人的出身和社会地位

这个身份包括两层含义:一是主权国家赋予本国公民的法律或者公民属性的身份;另外就是大众常说的出身决定命运的社会阶层的身份。

我们不谈阶层,仅从人口管理和服务的角度来讨论身份问题身份具有两大功能,一为区分,二为证明

1. 身份的区分功能服务于国家的人口管理制度

对于人口管理必须进行人口调查以及人口登记,联合国 1969 年发布的《人口登记或类似系统的方法和评估》将人口登记定义为 :“一种个人数据的系统,即连续记录和/或协调联系一个国家常住人口的每个成员有关信息的机制,以便在特定时间间隔确定有关人口规模和特征的最新信息。”

为便于人口登记,很多国家都采取一人一号的制度,比如我国通过公民身份号码对人口数据进行索引,美国采用社会保险号(Social Security Number) 来作为索引记录人口数据。

2. 身份管理的另一功能在于证明。

整个社会的运行需要建立在对于社会主体一定程度的信任基础上。

信任来自于对社会主体的了解,为了解决这种信任的需求,身份证明开始出现。

在原始社会中,社会主体之间的交往可能仅是部落成员之间的物物交换,基于彼此的了解即可证明身份,但是随着生产力的进步,社会成员之间的互动范围不再限于熟人之间,此时需要有权威或者公信力的机构出具特定的证明来增加交往双方的信任度以完成一定的社会行为

我国的身份证即是政府为公民统一颁发的一种身份证明,在其他没有国家统一身份证明的国家,如美国政府颁发的社会安全卡(Social Security Card)、驾照都可以作为身份证明使用。


2. 数字身份                    

数字身份是实体社会中的自然人身份在数字空间的映射。

对于数字身份的概念,争议颇多,但普遍认为数字身份主要用于在提供数字服 务时识别用户身份。我们认为数字身份是能代表主体身份属性特征集合的标记。数字身份在一定范围内用于唯一标记该主体,并将之与其他主体区分。

鉴于数字身份具有高度识别性,且与主体的网络行为密切相关,因此,数字身份所代表的主体属性特征可能含有高度敏感的个人信息。

数字身份可作为用户在网络上证明其身份(属性)真实性的凭证,用户在不同的应用服务中可使用不 同的数字身份进行标识(如手机号码、电子邮箱、微博、微信等),这些身份属性信息可以辅助业务机构确定一个人的身份,但是此类信息是 可以变更、隐藏、甚至是可以注销废弃的。

数字身份技术的发展经历了中心化身份、第三方身份提供商 IDP(ID Provider)及自主主权身份 SSI(Self-sovereign Identity)三个阶段


      

3. 中心化身份                                  

绝大多数互联网身份都是中心化的。

中心化身份也就是基于账户的身份。

在这种模式下,个人账户是依赖于中心化组织存在的,没有中心化组织,也就没有个人账户。

当你使用论坛、社区、电商、游戏等各种不同的应用和服务时,你必须向这个系统注册申请一个账户,然后用用户名和密码来登录使用。

与此同时,在每一个网站上,我们都有一个账户ID。我们之所以把这个账户ID称作“中心化”,是因为对应的网站掌握了验证用户名和密码的权力。

换句话说,你必须在网站上输入自己对应的用户名和密码,通过验证,才能享受用户的权利。

实际上,你所有的数据都存储在服务商的服务器上,根据你签署的用户协议,你的账户和数据在法律上也归属于服务商。

但是,有时是惯用的用户名在某个网站不可用,有时是密码的设置要求发生改变,导致不能使用同一个密码。

这一身份模式带来了用户体验问题:每个应用服务都要创建账户,账户越来越多,管理起来实在是太麻烦了


4.联合身份模型                    

面对上述问题,人们创建了第二种数字身份的模式——联合身份模型(Federated Identity Management,FIM

当用户信息存储在第三方身份提供程序(Identity Provider,IdP)中时,联合身份管理提供了一种连接身份管理系统的方式。

联合身份模型

这个过程中,涉及到几个容易混淆的概念:

1.身份提供商(Identity Provider,简称IdP) 负责收集、存储用户身份信息,如用户名、密码等,在用户登录时负责认证用户的服务。身份提供商指企业自身的身份提供商,目前常用的第三方IdP有Microsoft Active Directory(AD FS)、 Shibboleth。

2. 服务提供商(Service Provider,简称SP) 服务提供商通过与身份提供商IdP建立信任关系,使用IdP提供的用户信息,为用户提供具体的服务

3. 联邦身份认证:身份提供商IdP与服务提供商SP建立信任关系并完成交互流程,实现用户单点登录的过程,称之为联邦身份认证。

4.单点登录(Single Sign-On,简称SSO)用户在身份提供商IdP系统登录后,就可以通过跳转链接访问已建立互信关系的服务提供商SP系统,这一过程称之为单点登录。

业界也涌现出 OpenID、SAML、OAuth、FIDO 等一系列国际标准, 来实现不同 IDP 身份认证系统之间的互联互通和跨域访问授权。

与前一种模式不同的是,联合身份模型是你把数据上传至某一个登录服务提供商的中心系统,经你授权,由它把你的数据提供给第三方。

目前,大家都普遍接受微信、脸书等大平台提供的账户登录各种不同的应用服务,使用起来非常方便。

这看起来是一个不错的解决方案,我们登录新网站的时候再也不用重复输入用户名、密码等,只需要轻轻一点或扫描二维码,就可以通过一个第三方账户登录。

但这个方案不过是将验证用户名和密码的过程从之前的网站转移到了登录平台上,也就是说,离开了登录平台,我们就无法登录目标服务商。

而且,单点登录使我们在各个网站留下的记录通过一个共同的登录平台被串联在了一起。根据这些数据记录,第三方可以生成更详细的用户画像,甚至利用机器学习和大数据分析挖掘出更多隐含的信息,由此带来的数据隐私泄露和滥用的风险日益增加

实践中,这一数字身份模式出现的问题大致有以下两种。

第一,隐私泄露。全球第一大社交平台脸书的日活跃用户占世界人口的1/5,许多用户通过脸书账户单点登录许多外部服务的时候,脸书并没有保护好用户隐私,而是把各种各样的社交信息全部提供出去,导致脸书仅在2018年一年就泄露了8 700万用户信息,英国剑桥分析公司未获授权搜集5 000万脸书用户信息用于精准投放政治竞选广告,只是其中的一例。

第二,限制封锁。与上述例子相比,微信登录似乎刚好相反。当你使用微信账户登录任何一个第三方应用时,不论你怎么授权,微信提供的信息都极为有限,极端的例子则是彻底封锁,例如用户无法使用微信或QQ账户登录使用今日头条旗下的抖音

无论是互联网传统账户还是单点登录,这两种数字身份从技术和法律上从来都不属于用户自己。随着用户数据被泄露和滥用的痛点日益凸显,让每个人在数字世界都有权拥有并控制自己的身份,数字身份信息能够被安全存储,隐私能够得到保护,已成为人们日益强烈的刚需。


5. 去中心化身份模型                    

因此,前面两种模型的共同特点是:我们需要验证用户名和密码互相匹配,从而证明我们是账户的持有人。

那么去中心化身份模型的最大区别是:它不再是基于账户的。相反,它就像现实世界中的身份一样工作。即,它基于你和另一方作为同伴的直接关系。你们都没有“提供”,“控制”或“拥有”与对方的关系。无论对方是人、组织还是事物,都是如此

去中心化身份让账户持有人可以自证身份,不需要任何登录平台或第三方

去中心化身份利用区块链技术实现让数字身份真正为用户所拥有并支配,就像我们把身份证、护照、户口本这些纸质文件放在自己家里小心保存,只有在需要的时候才拿出来一样,不再有任何中间人(即使是去中心化身份技术供应商)接触、拥有、控制用户的身份和数据。

去中心化身份技术实现的去中心化身份的体验和用途与传统的数字身份截然不同。

首先,你将不止有一个去中心化身份,而是依据身份场合需要的不同拥有无数不同的去中心化身份,每一个去中心化身份都给你一个单独的、终生加密的私密渠道与其他个人、组织或事物交互沟通,因此你能更好地选择自己的身份来交流,更好地保护自己的隐私,传统互联网的“人肉”现象将不会再发生。

其次,去中心化身份将不仅可以用来证明身份,而且可用来交换可验证的数字证书。最后,最棒的是,每个去中心化身份直接登记在区块链或分布式网络上,无须向中心化注册机构申请。

另外,任何事物都可拥有去中心化身份

是的,凡是能抽象成数据的事物都可以有自己的去中心化身份,不光是人,证书、证件、电影票、农产品等都可以有。

甚至抽象的关系也可以有去中心化身份,比如你对房子的所有权或者你和朋友的关系。

如果是这样,去中心化身份会不够用吗?理论上来说不会。原因很简单:去中心化身份太多了。

多到什么程度呢?假设你有10亿个朋友,每个人每秒钟可以生成10亿个地址,需要比整个宇宙寿命还长的时间才会有重复的地址出现。


6.自我主权身份                   

作为去中心化的数字身份模型开始流行起来,它迅速发展了绰号self-sovereign identity和缩写 SSI,也就是我们之前文章提到的自我主权身份。

合身份模型中,控制点是网络中的发行者和验证者。在分散的 SSI 身份模型中,控制点转移到个人用户身上,他们现在可以作为一个完整的对等方与其他所有人进行交互。

去中心化身份为用户提供了一个更好的自主身份,一个最直观的用途是登录,另一个用途就是实现更好的数字证书体系。关于技术上怎么实现,万维网联盟2019年1月起开始制定相关数字身份技术标准,也就是我们经常看到的W3C制定的DID标准。

围绕SSI,有七个主要的模块:

  • 可验证凭证,也就是VC,(Verifiable Credential)

  • 信任三角:发行者、验证者、持有者

  • 数字钱包

  • 数字代理

  • 去中心化标识符DID

  • 区块链和其他可验证数据的注册表

  • 治理框架,也就是信任框架

今天就分享这么多,下期再接着可验证凭证继续聊。

这篇关于上网冲浪这么多年,你可能从来没有拥有过你的“账户”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/263468

相关文章

电脑没有仿宋GB2312字体怎么办? 仿宋GB2312字体下载安装及调出来的教程

《电脑没有仿宋GB2312字体怎么办?仿宋GB2312字体下载安装及调出来的教程》仿宋字体gb2312作为一种经典且常用的字体,广泛应用于各种场合,如何在计算机中调出仿宋字体gb2312?本文将为您... 仿宋_GB2312是公文标准字体之一,仿China编程宋是字体名称,GB2312是字php符编码标准名称(简

豆包 MarsCode 不允许你还没有女朋友

在这个喧嚣的世界里,爱意需要被温柔地唤醒。为心爱的她制作每日一句小工具,就像是一场永不落幕的浪漫仪式,每天都在她的心田播撒爱的种子,让她的每一天都充满甜蜜与期待。 背景 在这个瞬息万变的时代,我们都在寻找那些能让我们慢下来,感受生活美好的瞬间。为了让这份浪漫持久而深刻,我们决定为女朋友定制一个每日一句小工具。这个工具会在她意想不到的时刻,为她呈现一句充满爱意的话语,让她的每一天都充满惊喜和感动

easyui同时验证账户格式和ajax是否存在

accountName: {validator: function (value, param) {if (!/^[a-zA-Z][a-zA-Z0-9_]{3,15}$/i.test(value)) {$.fn.validatebox.defaults.rules.accountName.message = '账户名称不合法(字母开头,允许4-16字节,允许字母数字下划线)';return fal

找出php中可能有问题的代码行

前言 当你发现一个平时占用cpu比较少的进程突然间占用cpu接近100%时,你如何找到导致cpu飙升的原因?我的思路是,首先找到进程正在执行的代码行,从而确定可能有问题的代码段。然后,再仔细分析有问题的代码段,从而找出原因。 如果你的程序使用的是c、c++编写,那么你可以很容易的找到正在执行的代码行。但是,程序是php编写的,如何找到可能有问题的代码行呢?这个问题就是本文要解决的问题。 背景

安装SQL2005后SQL Server Management Studio 没有出来的解决方案

一种情况,在安装 sqlServer2005 时 居然出现两个警告: 1 Com+ 目录要求 2 Edition change check 郁闷!网上说出现两个警告,是肯定装不成功的!我抱着侥幸的态度试了下,成功了。 安装成功后,正准备 “ 仅工具、联机丛书和示例(T)” 但是安装不了,他提示我“工作站组件”安装过了对现有组件无法更新或升级。 解决办法: 1 打开“控

颠覆你的开发模式:敏捷思维带来的无限可能

敏捷软件开发作为现代软件工程的重要方法论,强调快速响应变化和持续交付价值。通过灵活的开发模式和高效的团队协作,敏捷方法在应对动态变化和不确定性方面表现出色。本文将结合学习和分析,探讨系统变化对敏捷开发的影响、业务与技术的对齐以及敏捷方法如何在产品开发过程中处理持续变化和迭代。 系统变化对敏捷软件开发的影响 在敏捷软件开发中,系统变化的管理至关重要。系统变化可以是需求的改变、技术的升级、

src/pyaudio/device_api.c:9:10: fatal error: portaudio.h: 没有那个文件或目录

(venv) shgbitai@shgbitai-C9X299-PGF:~/pythonworkspace/ai-accompany$ pip install pyaudio sounddeviceCollecting pyaudioDownloading PyAudio-0.2.14.tar.gz (47 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

html记账本改写:数据重新布局,更好用了,没有localStorage保存版本

<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><title>htm记账本</title><style>table {user-select: none;/* width: 100%; */border-collapse: collapse;}table,th,td {border: 1px solid bla

vite是如何实现依赖预构建的,浏览器为什么没有实现从node_modules查找依赖,vite开发环境解决了什么问题

浏览器的esmodule 为什么没有做从node_modules查找依赖项 浏览器是基于http请求的,node_modules中依赖项不可控,可能又会依赖很多的包,整个依赖图都需要加载的话很耗性能。 commonjs是运行在服务端的,以file形式读取文件,内部有规避机制。 依赖预构建 首先vite会找到对应的依赖,然后调用esbuild(对js语法进行处理的一个库),将其他规范的代码转换

828华为云征文|基于Flexus云服务器X实例的应用场景-拥有一款自己的ssl监控工具

先看这里 写在前面效果图华为云Flexus云服务器X实例介绍特点可选配置购买 连接服务器Uptime-kuma简介开源信息部署准备工作:docker部署命令访问uptime-kuma 基本配置总结 写在前面 作为一个个人开发者,相信你手里肯定也有不少自己的服务,有的服务呢也是https的。 以前ssl各厂都是可以免费申请一年的,我们更换的频率还好,比较小;但是最近,各厂都