一种去中心化数字身份的构建方法和系统技术方案

技术编号:21300115 阅读:23 留言:0更新日期:2019-06-12 08:03
本发明专利技术公开了一种去中心化数字身份的构建方法和系统。该系统包括学校接入服务器和联盟链系统。学校接入服务器存储有学生信息,并作为联盟链系统的客户端与联盟链系统交互生成属性Merkle树存入联盟链系统中。学生构建数字身份时,首先登录学校接入服务器。学校接入服务器通过与学生终端交互获得学生构建数字身份时所输入的各属性和属性值,然后将这些属性和属性值哈希值发送至背书节点进行背书,背书节点背书时通过属性Merkle树对学生所输入的属性值进行正确性判断。学校接入服务器接收到各个背书节点的背书后打包将学生数字身份通过排序服务节点存入联盟链。

A Decentralized Digital Identity Construction Method and System

The invention discloses a method and system for constructing a decentralized digital identity. The system includes school access server and alliance chain system. The school access server stores student information, and as the client of the alliance chain system, it interacts with the alliance chain system to generate attribute Merkle tree and stores it in the alliance chain system. When students construct digital identity, they first log on to the school access server. The school access server obtains the attributes and attributes values that students input when they construct their digital identity by interacting with the student terminals, and then sends the hash values of these attributes and attributes to the endorsement node for endorsement. When the endorsement node endorses, the correctness of the attributes values that students input is judged by the attribute Merkle tree. The school access server receives the endorsement of each endorsement node and packs the student's digital identity into the alliance chain by sorting the service nodes.

【技术实现步骤摘要】
一种去中心化数字身份的构建方法和系统
本专利技术涉及区块链,特别涉及联盟链。
技术介绍
区块链是一种分布式数据库。由于其数据具有不可篡改性,因此可应用于个人数字身份验证。现有技术下,区块链分为公共链、私有链以及公共链和私有链相结合的联盟链三种。HyperledgerFabric是一种公开源码的联盟链。HyperledgerFabric系统由CA节点、账本节点、背书节点、排序服务节点以及客户端所组成。CA节点用于对接入HyperledgerFabric系统中的各个节点和客户端进行授权验证。账本节点用于分布式存储区块链数据。背书节点用于根据背书策略对合约数据进行背书签名。排序服务节点用于对背书签名后的合约数据进行排序打包同步存入各账本节点。联盟链中一般的合约处理过程如下:首先客户端生成交易提案发送至背书节点,交易提案包括链码和参数;背书节点通过执行链码实现业务逻辑处理,业务逻辑处理后进行背书签名返回客户端;客户端将各个背书节点的背书签名和交易打包发送至排序服务节点,排序服务节点对背书签名验证后进行排序打包同步存入各账本节点。
技术实现思路
本专利技术所要解决的问题:通过联盟链实现学校学生的数字身份验证。为解决上述问题,本专利技术采用的方案如下:根据本专利技术的一种去中心化数字身份的构建方法,包括如下步骤:S11:学校接入服务器将学生信息存入学校接入服务器的本地数据库中;所述学生信息至少包括学生ID;S12:学校接入服务器通过和联盟链系统的交互,将学生的属性、属性Merkle树存入联盟链系统;所述属性Merkle树是由对应属性的属性值构建的Merkle树;S2:学校接入服务器接受学生终端的连接和登录,并接收学生终端所发送的数字身份凭证创建请求;所述数字身份凭证创建请求包括属性和属性值的对应表、学生属性数字签名;所述学生属性数字签名是学生私钥对属性和属性值哈希值的对应表的数字签名;S3:学校接入服务器接收到数字身份凭证创建请求后,将所述的数字身份创建请求中的属性和属性值的对应表转换成属性和属性值哈希值的对应表,并获取属性值在对应属性Merkle树上的路径;然后将属性和属性值哈希值的对应表、学生属性数字签名、对应的学生ID、属性值在对应属性Merkle树上的路径组成合约数据发送至联盟链系统的背书节点请求背书;S4:联盟链系统的背书节点获取各属性对应的Merkle树树根,然后根据属性值哈希值和属性值在对应属性Merkle树上的路径对属性进行Merkle树树根验证;验证通过后,对所述合约数据进行背书签名将合约数据的背书签名数据返回学校接入服务器;S5:学校接入服务器接收到各个背书节点所返回的背书签名数据后,将合约数据和各个背书节点所返回的背书签名数据发送至联盟链系统的排序服务节点,并通过排序服务节点存入联盟链系统。根据本专利技术的一种去中心化数字身份的构建系统,该系统包括学校接入服务器和联盟链系统;所述学校接入服务器包括以下模块:M11,用于:将学生信息存入学校接入服务器的本地数据库中;所述学生信息至少包括学生ID;M12,用于:通过和联盟链系统的交互,将学生的属性、属性Merkle树存入联盟链系统;所述属性Merkle树是由对应属性的属性值构建的Merkle树;M2,用于:接受学生终端的连接和登录,并接收学生终端所发送的数字身份凭证创建请求;所述数字身份凭证创建请求包括属性和属性值的对应表、学生属性数字签名;所述学生属性数字签名是学生私钥对属性和属性值哈希值的对应表的数字签名;M3,用于:接收到数字身份凭证创建请求后,将所述的数字身份创建请求中的属性和属性值的对应表转换成属性和属性值哈希值的对应表,并获取属性值在对应属性Merkle树上的路径;然后将属性和属性值哈希值的对应表、学生属性数字签名、对应的学生ID、属性值在对应属性Merkle树上的路径组成合约数据发送至联盟链系统的背书节点请求背书;M5,用于:接收到各个背书节点所返回的背书签名数据后,将合约数据和各个背书节点所返回的背书签名数据发送至联盟链系统的排序服务节点,并通过排序服务节点存入联盟链系统;所述联盟链系统包括背书节点和排序服务节点;所述背书节点包括模块M4;所述排序服务节点包括模块MS5;所述模块M4用于:获取各属性对应的Merkle树树根,然后根据属性值哈希值和属性值在对应属性Merkle树上的路径对属性进行Merkle树树根验证;验证通过后,对所述合约数据进行背书签名将合约数据的背书签名数据返回学校接入服务器;所述模块MS5用于:接收学校接入服务器所发送的合约数据和各个背书节点所返回的背书签名数据,并将所接收到的数据存入联盟链系统。本专利技术的技术效果如下:1、学生数字身份的构建由学生主导,不依赖于中心化注册机构。2、基于联盟链,数字身份可信、安全,并且联盟链具有高效率。3、存入联盟链中的数据均为哈希值,不存在泄露个人隐私的问题。附图说明图1是本专利技术实施例属性Merkle树结构示意图。具体实施方式下面对说明书附图本专利技术做进一步详细说明。本实施例的去中心化数字身份的构建系统,用于为学生构建数字身份,基于HyperledgerFabric,由学生终端、学校接入服务器和联盟链系统所组成。本实施例的联盟链系统由HyperledgerFabric系统中的CA节点、账本节点、背书节点和排序服务节点所组成。学校接入服务器则相当于HyperledgerFabric系统中的客户端。学校接入服务器是学校连接HyperledgerFabric系统的入口,每个学校配备一台接入服务器。学生通过学生终端和学校接入服务器接入联盟链系统并进行交互。学生终端可以是台式PC、便携式PC、或者诸如手机、平板电脑等移动终端。本实施例的系统中,学校接入服务器包括三个基础模块:模块M11,用于,将学生信息存入学校接入服务器的本地数据库中;模块M12,用于:学校接入服务器通过和联盟链系统的交互,将学生的属性、属性Merkle树存入联盟链系统;模块M13,用于:对连接学校接入服务器的学生终端进行学生登录身份验证。学生信息包括但不限于学生ID、学号、姓名、年龄、性别、所属院系等信息。这里的本地数据库中的“本地”是相对于区块链而言,也就是说,学生信息并不存在联盟链系统中,而是存储在学校自己的服务器上,可以通过文件方式存储,也可以通过数据库方式存储。该存储学生信息的服务器可以和学校接入服务器是同一个物理设备,也可以不是同一个物理设备,但不管学校接入服务器如何架构,学校接入服务器能够获取或查询到相关的学生信息,使得学生由此可以通过学生信息所对应的账号登录并连接学校接入服务器。学生通过学生终端连接并登录学校接入服务器,经学校接入服务器对学生终端进行学生登录身份验证后,才能进行相关的数字身份凭证创建操作。也就是说,模块M13是用户管理模块。显而易见地,学生通过学生终端连接并登录学校接入服务器之前,需要进行学生账号注册,并通过实名验证,将学生账号与相应的学生信息相关联。学生账号注册、实名验证、将学生账号与相应的学生信息相关联等用户管理处理过程为本领域技术人员所熟悉,也不是本专利技术所讨论的范畴,本说明书不再赘述。学生的属性可以用属性名称或者属性ID表示。每种属性对应有属性值。每种属性对应的属性值均采用枚举值表示,例如,院系本文档来自技高网...

【技术保护点】
1.种去中心化数字身份的构建方法,其特征在于,包括如下步骤:S11:学校接入服务器将学生信息存入学校接入服务器的本地数据库中;所述学生信息至少包括学生ID;S12:学校接入服务器通过和联盟链系统的交互,将学生的属性、属性Merkle树存入联盟链系统;所述属性Merkle树是由对应属性的属性值构建的Merkle树;S2:学校接入服务器接受学生终端的连接和登录,并接收学生终端所发送的数字身份凭证创建请求;所述数字身份凭证创建请求包括属性和属性值的对应表、学生属性数字签名;所述学生属性数字签名是学生私钥对属性和属性值哈希值的对应表的数字签名;S3: 学校接入服务器接收到数字身份凭证创建请求后,将所述的数字身份创建请求中的属性和属性值的对应表转换成属性和属性值哈希值的对应表,并获取属性值在对应属性Merkle树上的路径;然后将属性和属性值哈希值的对应表、学生属性数字签名、对应的学生ID、属性值在对应属性Merkle树上的路径组成合约数据发送至联盟链系统的背书节点请求背书;S4:联盟链系统的背书节点获取各属性对应的Merkle树树根,然后根据属性值哈希值和属性值在对应属性Merkle树上的路径对属性进行Merkle树树根验证;验证通过后,对所述合约数据进行背书签名将合约数据的背书签名数据返回学校接入服务器;S5:学校接入服务器接收到各个背书节点所返回的背书签名数据后,将合约数据和各个背书节点所返回的背书签名数据发送至联盟链系统的排序服务节点,并通过排序服务节点存入联盟链系统。...

【技术特征摘要】
1.种去中心化数字身份的构建方法,其特征在于,包括如下步骤:S11:学校接入服务器将学生信息存入学校接入服务器的本地数据库中;所述学生信息至少包括学生ID;S12:学校接入服务器通过和联盟链系统的交互,将学生的属性、属性Merkle树存入联盟链系统;所述属性Merkle树是由对应属性的属性值构建的Merkle树;S2:学校接入服务器接受学生终端的连接和登录,并接收学生终端所发送的数字身份凭证创建请求;所述数字身份凭证创建请求包括属性和属性值的对应表、学生属性数字签名;所述学生属性数字签名是学生私钥对属性和属性值哈希值的对应表的数字签名;S3:学校接入服务器接收到数字身份凭证创建请求后,将所述的数字身份创建请求中的属性和属性值的对应表转换成属性和属性值哈希值的对应表,并获取属性值在对应属性Merkle树上的路径;然后将属性和属性值哈希值的对应表、学生属性数字签名、对应的学生ID、属性值在对应属性Merkle树上的路径组成合约数据发送至联盟链系统的背书节点请求背书;S4:联盟链系统的背书节点获取各属性对应的Merkle树树根,然后根据属性值哈希值和属性值在对应属性Merkle树上的路径对属性进行Merkle树树根验证;验证通过后,对所述合约数据进行背书签名将合约数据的背书签名数据返回学校接入服务器;S5:学校接入服务器接收到各个背书节点所返回的背书签名数据后,将合约数据和各个背书节点所返回的背书签名数据发送至联盟链系统的排序服务节点,并通过排序服务节点存入联盟链系统。2.一种去中心化数字身份的构建系统,其特征在于,该系统包括学校接入服务器和联盟链系统;所述学校接入服务器包括以下模块...

【专利技术属性】
技术研发人员:王喆李秀秀徐丽马璇刘国锋
申请(专利权)人:江苏金智教育信息股份有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1