当前位置: 首页 > 专利查询>王江盼专利>正文

基于联盟链的证明信息生成和查询方法技术

技术编号:24354034 阅读:14 留言:0更新日期:2020-06-03 02:11
本发明专利技术涉及一种基于联盟链的证明信息生成和查询方法,在隐私信息生成阶段,运用非对称加密算法对信息请求、生成时均需各实体的私钥对信息进行加密签名,使用信息时用公钥进行身份验证;整个系统约定:使用用户对请求信息的签名取前固定个比特位(N个bit)的数据作为AES‑N加密算法的密钥对证明信息进行加密和解密,保证用户信息通道和证明文件数据的安全;证明信息查询时,服务器对用户和授权查询人的身份都要使用非对称加密算法进行验证,确保证明信息的保密性;授权查询人还要对开具证明信息的联盟链节点的身份使用非对称加密进行验证,保证开具信息的真实性。

A method of generating and querying proof information based on alliance chain

【技术实现步骤摘要】
基于联盟链的证明信息生成和查询方法
本专利技术涉及一种区块链技术,特别涉及一种基于联盟链的证明信息生成和查询方法。
技术介绍
目前大学生的一些学历、获奖等在校数据仅保存在本校,用人单位无法获取,但求职简历中数据填写的真实性有待检验,涉及到个人隐私行为,有些必须提供纸质化的证明,特别是当重要证件丢失后,很难补办。
技术实现思路
本专利技术是针对涉及到隐私等证明材料的开具和查询耗时耗力的问题,提出了一种基于联盟链的证明信息生成和查询方法,保证用户证明信息的安全的同时,方便证明信息查询。本专利技术的技术方案为:一种基于联盟链的证明信息生成和查询方法,实体包括用户U1、授权查询人A1、请求客户端R1、联盟链服务器ACS、联盟链节点P1、查询客户端W1;具体包括如下步骤:第一步:证明信息生成:1.1)用户U1通过请求客户端R1提交请求信息事务RT1,请求信息事务RT1包括五个部分:请求开具证明信息的内容C1、用户的公钥PUK_U1、授权查询人的公钥PUK_A1、可以开具查询证明的联盟链节点P1的公钥PUK_P1、用户U1对请求开具证明信息的内容C1的hash值H1进行加密生成的签名S1;1.2)请求客户端R1将请求信息事务RT1转到联盟链服务器ACS中;1.3)联盟链服务器ACS根据请求信息事务RT1中可以开具查询证明的联盟链节点P1的公钥PUK_P1,将请求信息事务RT1转发给联盟链节点P1;1.4)联盟链节点P1通过用户的公钥PUK_U1对签名S1进行运算,如果运算后的hash值H(1)与请求开具证明信息的内容C1的hash值H1一致,验证通过,说明用户本人申请开具证明验证通过,否则验证失败;1.5)验证通过后,查看证明信息C1,若所需的证明信息C1合法,联盟链节点P1根据所需的证明信息C1的要求,生成证明信息LR1,并从请求信息事务RT1中提供的签名S1中取前N个固定个比特位的数据作为AES-N加密算法的密钥EM1对生成证明信息LR1进行加密,得到加密后的证明信息E_LR1;加密后的证明信息E_LR1、用户的公钥PUK_U1、授权查询人的公钥PUK_A1、联盟链节点P1的公钥PUK_P1,四个部分的组成证明材料PM1,并将证明材料PM1取hash值H2;联盟链节点P1用自己的私钥PRK_P1对hash值H2进行加密生成签名S2;1.6)联盟链节点P1将带有签名S2的证明材料PM1广播到联盟链,请求加入到区块链中;1.7)其他联盟链节点验证信息合法性后,将生成区块B1加入到区块链中;1.8)联盟链节点P1返回给联盟链服务器ACS两个hash值:第一个证明材料PM1所在的区块B1块头的hash值H3,第二个是证明材料PM1的hash值H4;1.9)联盟链服务器ACS将两个hash值H3和H4转发给请求客户端R1;1.10)用户U1对这两个hash值H3和H4进行hash运算,得到hash值H5,再用自己的私钥PRK_U1对产生的hash值H5进行加密运算生成签名S3;第二步:证明信息的查询阶段,包括两个子部分,授权查询人身份的验证阶段和授权查询人信息查询阶段,授权查询人身份的验证阶段:2.1)用户U1将联盟链节点P1返回的2个hash值H3和H4,以及2个签名S1和S3提供给授权查看人A1;2.2)授权查看人A1通过查询客户端W1向联盟链服务器ACS发送查询请求RC1,查询请求RC1包括:用户U1给的2个hash值H3和H4和两个签名S1和S3;2.3)联盟链服务器ACS对授权查看人A1提供查询请求RC1进行验证:联盟链服务器ACS首先根据授权查看人A1提供的第一个hash值H3找到对应的区块B1;再根据第二个hash值H4找到证明材料PM1;2.4)联盟链服务器ACS对hash值H3和H4取hash值得到H5,通过用户的公钥PUK_U1对签名S3进行加密运算得到H(5),若H5与H(5)相等,则验证通过说明查询请求RC1是用户U1授权的查询请求,结束RC1验证;2.5)此时联盟链服务器ACS用随机算法产生随机信息Random1,并用哈希算法产生hash值H6;2.6)要求授权查询人A1用自己的私钥PRK_A1对hash值H6进行加密生成签名;2.7)授权查询人A1用自己的私钥PRK_A1对hash值H6进行加密生成签名S4,并返回给联盟链服务器ACS;2.8)联盟链服务器ACS根据用户U1提供的授权查询人A1的公钥PUK_A1对签名S4进行运算,如果运算后的hash值H(6)与产生的hash值H6一致,验证通过,否则验证失败;2.9)如果验证通过,说明目前的查询人A1为用户指定的合法授权查看人;授权查询人信息查询阶段,具体步骤如下:2.10)联盟链服务器ACS向授权查询人A1提供证明材料PM1;2.11)授权查询人A1利用联盟链节点P1的公钥PUK_P1对证明材料签名S2进行验证;若通过验证,说明证明材料是查询人需要相应目标节点开具的证明材料;2.12)验证通过后,按照请求信息中的加密要求,从签名S1中取前N个固定个比特位的数据作为AES-N加密算法的密钥EM1,对证明信息进行解密;2.13)解码后得到需要查询的证明信息LR1。本专利技术的有益效果在于:本专利技术基于联盟链的证明信息生成和查询方法,运用联盟链保证证明信息的安全存储和不可篡改,运用非对称密码算法实现对申请开具证明信息的保护,开具证明信息的节点,以及查询信息的用户实现身份和权限验证,运用AES加密算法实现对证明信息内容加密存储。附图说明图1为本专利技术基于联盟链的证明信息生成和查询系统示意图;图2为本专利技术基于联盟链的证明信息生成和查询方法中证明信息生成图;图3为本专利技术基于联盟链的证明信息生成和查询方法中证明信息的查询过程图。具体实施方式如图1所示基于联盟链的证明信息生成和查询系统示意图。联盟链为用于机构间的区块链,AES加密算法是一种高级加密标准算法,属于对称加密算法,N表示密钥长度,密钥长度可以为16个字节、24个字节、或32个字节,即128位密钥、192位密钥、或256位密钥;AES-N加密算法用于对隐私查询证明材料进行加密,然后再将加密后的信息广播加入到区块链中,用于对隐私信息的保护。系统包括:联盟链节点P,联盟链,联盟链服务器(ACS),请求客户端和查询客户端。联盟链节点用于响应联盟服务器发来的请求,验证请求客户端用户的身份,开具证明信息,以及打包联盟链上的事务进区块链;联盟链用于信息的存储和确认,实现区块链的生成;联盟链服务器用于外界访问联盟链的接口,转发请求客户端发的请求信息到特定节点,以及响应查询客户端的访问请求并验证查询客户端的访问权限。请求客户端是用于向联盟链提交开具证明信息请求的接口,用于接受联盟链反馈的信息,用于向指定地址的查询客户端发送消息;查询客户端是用于接收请求本文档来自技高网...

【技术保护点】
1.一种基于联盟链的证明信息生成和查询方法,其特征在于,实体包括用户U1、授权查询人A1、请求客户端R1、联盟链服务器ACS、联盟链节点P1、查询客户端W1;/n具体包括如下步骤:/n第一步:证明信息生成:/n1.1)用户U1通过请求客户端R1提交请求信息事务RT1,请求信息事务RT1包括五个部分:请求开具证明信息的内容C1、用户的公钥PUK_U1、授权查询人的公钥PUK_A1、可以开具查询证明的联盟链节点P1的公钥PUK_P1、用户U1对请求开具证明信息的内容C1的hash值H1进行加密生成的签名S1;/n1.2)请求客户端R1将请求信息事务RT1转到联盟链服务器ACS中;/n1.3)联盟链服务器ACS根据请求信息事务RT1中可以开具查询证明的联盟链节点P1的公钥PUK_P1,将请求信息事务RT1转发给联盟链节点P1;/n1.4)联盟链节点P1通过用户的公钥PUK_U1对签名S1进行运算,如果运算后的hash值H(1)与请求开具证明信息的内容C1的hash值H1一致,验证通过,说明用户本人申请开具证明验证通过,否则验证失败;/n1.5)验证通过后,查看证明信息C1,若所需的证明信息C1合法,联盟链节点P1根据所需的证明信息C1的要求,生成证明信息LR1,并从请求信息事务RT1中提供的签名S1中取前N个固定个比特位的数据作为AES-N加密算法的密钥EM1对生成证明信息LR1进行加密,得到加密后的证明信息E_LR1;/n加密后的证明信息E_LR1、用户的公钥PUK_U1、授权查询人的公钥PUK_A1、联盟链节点P1的公钥PUK_P1,四个部分的组成证明材料PM1,并将证明材料PM1取hash值H2;联盟链节点P1用自己的私钥PRK_P1对hash值H2进行加密生成签名S2;/n1.6)联盟链节点P1将带有签名S2的证明材料PM1广播到联盟链,请求加入到区块链中;/n1.7)其他联盟链节点验证信息合法性后,将生成区块B1加入到区块链中;/n1.8)联盟链节点P1返回给联盟链服务器ACS两个hash值:第一个证明材料PM1所在的区块B1块头的hash值H3,第二个是证明材料PM1的hash值H4;/n1.9)联盟链服务器ACS将两个hash值H3和H4转发给请求客户端R1;/n1.10)用户U1对这两个hash值H3和H4进行hash运算,得到hash值H5,再用自己的私钥PRK_U1对产生的hash值H5进行加密运算生成签名S3;/n第二步:证明信息的查询阶段,包括两个子部分,授权查询人身份的验证阶段和授权查询人信息查询阶段,/n授权查询人身份的验证阶段:/n2.1)用户U1将联盟链节点P1返回的2个hash值H3和H4,以及2个签名S1和S3提供给授权查看人A1;/n2.2)授权查看人A1通过查询客户端W1向联盟链服务器ACS发送查询请求RC1,查询请求RC1包括:用户U1给的2个hash值H3和H4和两个签名S1和S3;/n2.3)联盟链服务器ACS对授权查看人A1提供查询请求RC1进行验证:联盟链服务器ACS首先根据授权查看人A1提供的第一个hash值H3找到对应的区块B1;再根据第二个hash值H4找到证明材料PM1;/n2.4)联盟链服务器ACS对hash值H3和H4取hash值得到H5,通过用户的公钥PUK_U1对签名S3进行加密运算得到H(5),若H5与H(5)相等,则验证通过说明查询请求RC1是用户U1授权的查询请求,结束RC1验证;/n2.5)此时联盟链服务器ACS用随机算法产生随机信息Random1,并用哈希算法产生hash值H6;/n2.6)要求授权查询人A1用自己的私钥PRK_A1对hash值H6进行加密生成签名;/n2.7)授权查询人A1用自己的私钥PRK_A1对hash值H6进行加密生成签名S4,并返回给联盟链服务器ACS;/n2.8)联盟链服务器ACS根据用户U1提供的授权查询人A1的公钥PUK_A1对签名S4进行运算,如果运算后的hash值H(6)与产生的hash值H6一致,验证通过,否则验证失败;/n2.9)如果验证通过,说明目前的查询人A1为用户指定的合法授权查看人;/n授权查询人信息查询阶段,具体步骤如下:/n2.10)联盟链服务器ACS向授权查询人A1提供证明材料PM1;/n2.11)授权查询人A1利用联盟链节点P1的公钥PUK_P1对证明材料签名S2进行验证;若通过验证,说明证明材料是查询人需要相应目标节点开具的证明材料;/n2.12)验证通过后,按照请求信息中的加密要求,从签名S1中取前N个固定个比特位的数据作为AES-N加密算法的密钥EM1,对证明信息进行解密;/n2.13)解码后得到需要查询的证明信息LR1。/n...

【技术特征摘要】
1.一种基于联盟链的证明信息生成和查询方法,其特征在于,实体包括用户U1、授权查询人A1、请求客户端R1、联盟链服务器ACS、联盟链节点P1、查询客户端W1;
具体包括如下步骤:
第一步:证明信息生成:
1.1)用户U1通过请求客户端R1提交请求信息事务RT1,请求信息事务RT1包括五个部分:请求开具证明信息的内容C1、用户的公钥PUK_U1、授权查询人的公钥PUK_A1、可以开具查询证明的联盟链节点P1的公钥PUK_P1、用户U1对请求开具证明信息的内容C1的hash值H1进行加密生成的签名S1;
1.2)请求客户端R1将请求信息事务RT1转到联盟链服务器ACS中;
1.3)联盟链服务器ACS根据请求信息事务RT1中可以开具查询证明的联盟链节点P1的公钥PUK_P1,将请求信息事务RT1转发给联盟链节点P1;
1.4)联盟链节点P1通过用户的公钥PUK_U1对签名S1进行运算,如果运算后的hash值H(1)与请求开具证明信息的内容C1的hash值H1一致,验证通过,说明用户本人申请开具证明验证通过,否则验证失败;
1.5)验证通过后,查看证明信息C1,若所需的证明信息C1合法,联盟链节点P1根据所需的证明信息C1的要求,生成证明信息LR1,并从请求信息事务RT1中提供的签名S1中取前N个固定个比特位的数据作为AES-N加密算法的密钥EM1对生成证明信息LR1进行加密,得到加密后的证明信息E_LR1;
加密后的证明信息E_LR1、用户的公钥PUK_U1、授权查询人的公钥PUK_A1、联盟链节点P1的公钥PUK_P1,四个部分的组成证明材料PM1,并将证明材料PM1取hash值H2;联盟链节点P1用自己的私钥PRK_P1对hash值H2进行加密生成签名S2;
1.6)联盟链节点P1将带有签名S2的证明材料PM1广播到联盟链,请求加入到区块链中;
1.7)其他联盟链节点验证信息合法性后,将生成区块B1加入到区块链中;
1.8)联盟链节点P1返回给联盟链服务器ACS两个hash值:第一个证明材料PM1所在的区块B1块头的hash值H3,第二个是证明材料PM1的hash值H4;
1.9)联盟链服务器ACS将两个hash值H3和H4转发给请求客户端R1;
1.10)用户U1对这两个hash值H3和H4进行hash运算,...

【专利技术属性】
技术研发人员:王江盼
申请(专利权)人:王江盼
类型:发明
国别省市:上海;31

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

1