一种自我主权身份系统及方法

文档序号:153421 发布日期:2021-10-26 浏览:22次 >En<

阅读说明:本技术 一种自我主权身份系统及方法 (Self-ownership identity system and method ) 是由 居敏 徐丹梅 于 2021-07-28 设计创作,主要内容包括:本发明公开了一种自我主权身份系统及方法,包括身份协议接口,所述身份协议接口包括数据模块、定义模块、记录模块和索引模块;所述数据模块用于创建DID控制的数据流;所述定义模块用于根据数据流创建相应的定义ID并映射到索引模块中,所述定义ID包括与数据流对应的数据结构;所述记录模块用于存储定义模块指定的数据流并形成对应的记录ID映射到索引模块中;所述索引模块用于根据DID和定义ID查询或取回记录ID对应的数据流。本发明解决现有自我主权身份现阶段面临的各种问题。(The invention discloses a self-ownership identity system and a self-ownership identity method, which comprise an identity protocol interface, wherein the identity protocol interface comprises a data module, a definition module, a recording module and an index module; the data module is used for creating a DID controlled data stream; the definition module is used for creating a corresponding definition ID according to the data stream and mapping the definition ID to the index module, wherein the definition ID comprises a data structure corresponding to the data stream; the recording module is used for storing the data stream specified by the definition module and forming a corresponding recording ID to be mapped into the index module; the index module is used for inquiring or retrieving the data stream corresponding to the record ID according to the DID and the definition ID. The invention solves various problems faced by the current autoownership identity at the present stage.)

一种自我主权身份系统及方法

技术领域

本发明涉及区块链技术领域,具体涉及一种自我主权身份系统及方法。

背景技术

自我主权身份的主要目的是使用户自身成为掌控自己数据的掌控者,用户的个人数据只有在本人同意的情况下才可能共享给他人。虽然自我主权身份的概念由来已久,但是直到区块链技术成熟以前并没有十分有效的解决方案。即便是现在,国际万维网联盟(w3c)正在制定一系列的自我主权身份的技术标准,但是由于该技术标准并未十分成熟,实际投入应用的解决方案在全球范围内屈指可数。

现有自我主权身份服务具有以下缺点:1)运营门槛高:当今主流的自我主权身份服务(比如Sovrin)或者技术框架(比如Hyperledger)大多基于联盟链(consortiumblockchain),联盟链作为一个相对封闭的生态系统,对于一般企业来说存在申请加入的门槛。即使加入了类似Sovrin Foundation之类的自我主权身份组织,企业还面临着搭建和维护区块链环境等技术课题,这将无疑大大地增加企业的运营成本;2)开发难度大:一般企业如果想导入自我主权身份的解决方案,则需要企业技术人员对区块链技术有充分的认识以外还具备搭建架构,开发手机应用等等一系列相关的知识,这对开发者来说可谓是比较高的要求;3)数据发行方和验证方资源难以整合:目前自我主权身份的数据发行和验证在全球范围内还仅限于十分有限的领域,比如欧洲的新冠疫苗接种证明等。此外,接受并提供自我主权身份验证的服务也屈指可数。作为企业来讲,更是非常难以找到理想的数据发行方和数据验证方从而实现整个业务应用场景。这有一部分原因也归结为自我主权身份的业界标准还处于不成熟的阶段,导致各个自我主权身份解决方案之间并没有互通性;4)不能实现数据交互:目前业界虽然有各种自我主权身份的解决方案,但是各个方案之间并没有成熟的技术实现数据的交互。这导致目前为止还没有一个被广泛承认和应用的解决方案。虽然W3C在加快自我主权身份的标准的普及,但是就现状而言,各个自我主权身份还是处于‘群雄割据’的混乱局面;5)面向个人用户的应用十分有限:目前自我主权身份的应用和开发主要是由政府,组织和大型互联网公司来推进的,其应用场景也往往限制于公共服务(如上文提到的新冠疫苗接种证明等)和企业服务(如面向于求职的自我主权身份网络Velocity Network)等,现阶段并没有面向开发者的类似App商店一样的社区,由此导致面向个人用户的基于自我主权身份应用十分的有限。

发明内容

本发明的目的是提供一种自我主权身份系统及方法,解决现有自我主权身份现阶段面临的上述问题。

为了解决上述技术问题,本发明提供了一种自我主权身份系统,包括身份协议接口,所述身份协议接口包括数据模块、定义模块、记录模块和索引模块;

所述数据模块用于创建DID控制的数据流;

所述定义模块用于根据数据流创建相应的定义ID并映射到索引模块中,所述定义ID包括与数据流对应的数据结构;

所述记录模块用于存储定义模块指定的数据流并形成对应的记录ID映射到索引模块中;

所述索引模块用于根据DID和定义ID查询或取回记录ID对应的数据流。

作为本发明的进一步改进,所述数据流的数据采用明文存储或加密存储到记录模块中。

作为本发明的进一步改进,所述数据模块创建新的数据流时,所述数据流通过定义模块和记录模块自动注册在所述索引模块中。

作为本发明的进一步改进,当所述数据模块创建DID控制的数据流,所述数据流存储加密的身份验证机密,允许使用各种区块链钱包对DID进行身份验证时,所述定义模块创建钥匙串定义。

作为本发明的进一步改进,当所述数据模块创建DID控制的数据流,所述数据流存储由拥有DID的同一用户控制的Web2帐户列表,以及证明此所有权的可验证声明时,所述定义模块创建AKA定义。

作为本发明的进一步改进,当所述数据模块创建DID控制的数据流,所述数据流存储用户帐户数据流ID列表,公开证明此DID的所有者还拥有Web3或区块链平台上的各种帐户时,定义模块创建加密帐户定义。

作为本发明的进一步改进,所述数据结构包括URL标识。

作为本发明的进一步改进,所述身份协议接口还用于根据数据结构和元数据使用相同的数据对接各区块链。

作为本发明的进一步改进,所述身份协议接口支持DID链接到各区块链账户进行身份验证。

一种自我主权身份的数据对接方法,采用如上所述的一种自我主权身份系统,对接方法包括以下步骤:

S1:数据模块创建DID控制的数据流;

S2:定义模块根据数据流创建相应的定义ID并映射到索引模块中,所述定义ID包括与数据流对应的数据结构;

S3:记录模块存储定义模块指定的数据流并形成对应的记录ID映射到索引模块中;

S4:索引模块根据DID和定义ID查询或取回记录ID对应的数据流。

本发明的有益效果:本发明能使开发人员可以轻松构建具有用户控制流的应用程序来存储数据并发现和利用在第三方应用程序上创建的用户数据;使用身份协议接口可以构建允许用户以独立于任何单个应用程序的方式控制他们的身份和数据,同时允许开发人员构建数据丰富的应用程序,而无需在中央服务器上保管用户数据,而且通过用户身份和数据的共享;身份协议接口解决用户登录不同应用时必须为每个应用创建帐号的问题,从而在保证帐号安全的同时提供了全新的,流畅的用户体验。

附图说明

图1是本发明系统结构示意图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。

实施例一

参考图1,本发明实施例提供了一种自我主权身份系统,包括身份协议接口,所述身份协议接口包括数据模块、定义模块、记录模块和索引模块;

所述数据模块用于创建DID控制的数据流;

所述定义模块用于根据数据流创建相应的定义ID并映射到索引模块中,所述定义ID包括与数据流对应的数据结构;

所述记录模块用于存储定义模块指定的数据流并形成对应的记录ID映射到索引模块中;

所述索引模块用于根据DID和定义ID查询或取回记录ID对应的数据流。

具体的,身份协议接口包括:索引:索引是一个键-值流(key value stream),它存储了定义ID到记录ID的映射列表;定义(Definition):定义是描述记录的流,包括定义ID标识;数据格式(Schema):数据格式是包含JSON模式的流,指定记录中的数据格式,由包含在定义中的schemaURL标识;记录是包含由定义指定的数据的流,记录ID标识。利用自我主权身份系统写记录过程:开发人员创建数据结构(schema);创建一个定义(Definition)并包含schemaURL;用户创建符合定义的记录(Record);用户将definitionID和recordID添加到他们的索引(Index)中。读记录过程:开发者使用DID和definitionID或别名查询索引;取回与definitionID对应的记录。

本申请具有以下特点:1)DID兼容性:身份协议接口本身不提供DID,而是依赖它们来获取去中心化的、与平台无关的标识符。身份协议接口可以支持的任何DID方法,从而身份协议接口可以链接到不同的区块链帐户并对其进行身份验证,这允许DID作为用户的通用、跨链和平台无关的标识符。2)基于数据流(Stream)的存储:身份协议接口在用户控制的数据流中存储用户或应用程序的数据。数据流中的数据可以明文存储或加密存储。身份协议接口创建的数据流有自我主权身份平台网络提供的可变性、持久性、可复制行和可用性的所有特点。3)身份中心:每当用户通过身份协议接口将数据存储在新的数据流中时,其数据流ID会自动注册在他们的索引中,索引使用户的所有数据关联都保存在同一数据存储,这反过来又使任何应用程序能够通过简单地查询用户的索引来发现有关用户的所有数据。4)公共的语义数据描述:通过身份协议接口存储的所有数据都在用户索引中进行语义描述和组织,允许多个应用程序根据数据结构(Schema)和元数据(Metadata)使用相同的数据;5)跨应用程序数据(Cross-application)可移植性:通过DID、数据流、身份中心和语义数据描述的组合,身份协议接口允许用户数据以与应用程序无关的方式存储,并可跨不同应用程序或接口使用,没有应用程序维护“特殊权限”,因为用户处于完全控制状态。

本申请实现了IPOA(Identity Protocol for Open Applications-开放应用程序的身份协议)接口,它提供了一个去中心化索引(Index),允许将结构化数据与区块链平台去中心化标识符(DID)相关联。数据可以被定义(Definition)并存储在记录(Record)中。身份协议接口是一种去中心化身份协议和JavaScript SDK,它提供的API能使开发人员可以轻松构建具有用户控制流的应用程序来存储数据并发现和利用在第三方应用程序上创建的用户数据。使用身份协议接口可以构建允许用户以独立于任何单个应用程序的方式控制他们的身份和数据,同时允许开发人员构建数据丰富的应用程序,而无需在中央服务器上保管用户数据,而且通过用户身份和数据的共享,身份协议接口成功解决了用户登录不同应用时必须为每个应用创建帐号的问题,从而在保证帐号安全的同时提供了全新的,流畅的用户体验。

实施例二

参考图1,本发明实施例提供了一种自我主权身份的数据对接方法,采用如上实施例一的一种自我主权身份系统,对接方法包括以下步骤:

S1:数据模块创建DID控制的数据流;

S2:定义模块根据数据流创建相应的定义ID并映射到索引模块中,所述定义ID包括与数据流对应的数据结构;

S3:记录模块存储定义模块指定的数据流并形成对应的记录ID映射到索引模块中;

S4:索引模块根据DID和定义ID查询或取回记录ID对应的数据流。

身份协议接口可用于(但不限于)以下用例:

1)身份验证机密(Astra Auth):Astra Auth使用身份协议接口创建一个DID控制的数据流,该数据流存储加密的身份验证机密,允许使用各种区块链钱包对DID进行身份验证。为实现这一目标,Astra Auth创建对接应用或平台钥匙串定义(Keychaindefinition)。

2)Web2社交帐户链接(Astra Self Identity):Astra Self Identity使用身份协议接口创建一个DID控制的数据流,该数据流存储由拥有DID的同一用户控制的Web2帐户列表,以及证明此所有权的可验证声明。为了实现这一点,Astra Self Identity创建了AKA(Also Known As)定义。

3)Web3加密帐户链接(Astra Connect)Astra Connect使用身份协议接口创建一个DID控制的数据流,该数据流存储用户帐户数据流ID列表,公开证明此DID的所有者还拥有Web3/区块链平台上的各种帐户。为实现这一目标,Astra Connect创建了加密帐户定义。

实施例三

参考图1,本发明实施例提供了一种自我主权身份系统,在实施例一的基础上,自我主权身份应用的生态系统,旨在解决上文背景技术中提到的现阶段面临的各个问题:

1)开发难度大:通过身份协议接口可以极大地简化自我主权身份应用的开发流程,即提供简单的接口代码,从而使开发者可以专注于开发业务流程而不需要花太多时间了解自我主权身份内部的工作原理和区块链相关的知识。此外,接口为手机应用开发者提供更加丰富的功能,从而使得开发者可以像开发一般的手机应用一样开发基于自我主权身份的应用,并可以提交到专门的App商店供其他用户下载;

2)面向个人用户的应用:自我主权身份是由开发者主导的App平台生态系统,开发者可以像开发一般的iOS,安卓(Android)应用一样开发MONiD的手机应用,除了可以提交给iOS或者安卓的应用商店以外,还提供自带的个人应用商店,所有的个人应用都可通过自我主权身份端口来进行数据交互(前提是需要取得数据保有者的同意),这就使自我主权身份系统可以成为一个各个App之间可以共享各类自我主权身份数据的平台。数据保有者通过共享自己的数据可以从平台和需要数据的一方获得一定的激励(当然数据保有者完全可以选择不共享信息以达到保护个人数据的目的--这也是自我主权身份的一大特点)。正因为自我主权身份系统是无需权限的基于公开链的技术架构,开发者可以没有任何门槛的提交各种自我主权身份的应用,从而大大丰富自我主权身份的应用场景。

3)运营门槛高:加入自我主权身份系统的企业或者个人开发者都可以通过系统的管理界面来实现一系列的操作,包括发行验证,请求验证,查看记录,请求与其他用户数据共享等。系统不需要企业和开发者参与区块链的节点的搭建和维护,因此即便是对于区块链没有足够经验的用户而言系统依然可以提供十分易于理解的用户体验。

4)数据发行方(issuer)和验证方(verifier)资源难以整合:加入系统的用户都可以设置可见的状态,同时也可以在平台内搜索符合条件的数据发行方和验证方并借由系统平台发出合作请求,对方在受到合作请求以后可以通过操作界面处理请求,如果双方同意合作,系统会提供双方数据交互的密钥。随着系统平台规模的扩大,可以预见越来越多符合条件的数据提供方和验证方会加入平台并为各种不同的应用提供数据服务。

以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于胶体金试纸显色原理的软件读取识别分析技术

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类