买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种在区块链中进行双向身份认证方法_三维通信股份有限公司_201810325798.5 

申请/专利权人:三维通信股份有限公司

申请日:2018-04-12

公开(公告)日:2020-09-15

公开(公告)号:CN108777673B

主分类号:H04L29/06(20060101)

分类号:H04L29/06(20060101);H04L9/32(20060101)

优先权:

专利状态码:有效-授权

法律状态:2020.09.15#授权;2018.12.14#实质审查的生效;2018.11.09#公开

摘要:本发明涉及一种在区块链中进行双向认证的方法,对需要进行数据交互的双方进行双向认证,并通过存在性证明的方法记录到区块链网络中。本发明属于区块链和隐私保护创新领域。本发明设计出的在区块链中的双向方法,可应用于在需要进行隐私保护的数据应用环境,同时实现方式简单,易于操作。

主权项:1.一种在区块链中进行双向认证的方法,其特征在于:将用户对服务器以及服务器对用户进行双向认证,并且将用户的认证信息保留在区块链中作为存在性证明,同时还保留了用户认证信息的转移的权利;具体包括如下步骤:S1:用户注册:步骤1:终端用户U通过加密信道向服务器S注册应用,向服务器S发送AU、K、Mix信息;其中,AU为终端用户U的数字交易地址,为终端用户U的标识,K为终端用户U和服务器S间交互信息加密的对称秘钥,Mix为注册日期信息以及终端用户U添加的其他说明信息;步骤2:服务器S生成校验码CV=MSExhashAU||K||Mix,其中,MSEx表示校验码截取前x位;“||”表示将前后两个字节流串接,并通过加密信道将CV发送给终端用户U;S2:打包交易信息到区块链网络上:步骤3:终端用户U使用UID、CV、AU形成ID=hashAU||CV||UID,并用终端用户U的私钥sU对ID签名,其中UID为终端用户U注册名或其他信息;使能将终端用户的CV不在区块链网络上以明文形式存在,并且通过签名证明该CV为终端用户U所拥有;步骤4:打包一个区块链网络上的标准交易信息,将以上得到的ID以及签名嵌入到标准消息中;此时,交易的发起方和接收方均为AU,以保证需要的时候可以将该认证信息发送给其他用户;S3:终端用户U向服务器S认证;S4:终端用户U对服务器S认证。

全文数据:一种在区块链中进行双向身份认证方法技术领域[0001]本发明涉及区块链技术领域及身份认证技术,主要是一种在区块链中进行双向身份认证方法。背景技术[0002]区块链是一种分布式账本技术,账本内的交易按照密码学签名和哈希算法保证不可篡改,且所有交易在账本中可追溯。在公有区块链中,用户的账户信息和交易内容都是公开的,仅仅通过“伪匿名”的方式保护用户隐私。但在数据作为资产的情况下,一方面用户并不希望所有的数据资源都开放给公共的网络环境,另一方面服务商业不希望数据在一次授权后就被其他用户无限次使用,因此有必要使用加密技术来保护数据隐私,同时又要保证授权的服务商能够查看数据,以保证大数据应用的正常使用。这就需要灵活的访问控制策略来实现对不同用户访问权限的控制。发明内容[0003]本发明的目的在于克服现有技术存在的不足,而提供一种在区块链中进行双向身份认证方法。[0004]本发明的目的是针对现有互联网环境下,用户一旦提交数据,则无法再对数据进行管理的弊端,通过身份认证和数据加密的方法,在大数据环境下保护用户隐私,具体来说是通过区块链技术将用户与服务器之间的交互通过双向的身份认证进行保护。该方法适用于用户和服务商之间的数据交互环节形成身份识别并利于数据在公开的区块链网络上存储。[0005]本发明的目的是通过如下技术方案来完成的。这种在区块链中进行双向认证的方法,将用户对服务器以及服务器对用户进行双向认证,并且将用户的认证信息保留在区块链中作为存在性证明,同时还保留了用户认证信息的转移的权利;具体包括如下步骤:[0006]S1:用户注册:[0007]步骤1:终端用户⑹通过加密信道向服务器⑸注册应用,向服务器⑸发送Au、K、Mix信息;其中,Au为终端用户⑻的数字交易地址,为终端用户⑻的标识,K为终端用户⑹和服务器S间交互信息加密的对称秘钥,Mix为注册日期信息以及终端用户〇J添加的其他说明信息;[000S]步骤2:服务器⑸生成校验码CV=MSExhashAu||K||Mix,其中,MSEx表示校验码截取前x位;“II”表示将前后两个字节流串接,并通过加密信道将CV发送给终端用户⑻;[0009]S2:打包交易信息到区块链网络上:[0010]步骤3:终端用户⑼使用UID、CV、Au形成ID=hashAu||CV||UID,并用私钥别对卬签名,其中UID为终端用户〇J注册名或其他信息;使能将终端用户的CV不在区块链网络上以明文形式存在,并且通过签名证明该CV为终端用户〇J所拥有;[0011]步骤4:打包一个区块链网络上的标准交易信息,将以上得到的ID以及签名嵌入到标准消息中;此时,交易的发起方和接收方均为Au,以保证需要的时候可以将该认证信息发送给其他用户;[0012]S3:终端用户⑹向服务器⑸认证;[0013]S4:终端用户⑹对服务器⑸认证。[0014]作为优选,终端用户⑼向服务器⑸认证的具体流程为:终端用户⑼将自身的CV、Au发送给服务器S,并保留此次验证时间为Tb,首先服务器S查找区块链网络中是否存在终端用户(U签名的ID是否存在,即采用用户公钥pu验证ID的正确性,如证明存在,则进行下一步,否则退出验证;服务器(S查找与之对应的堆成秘钥K、Mix信息,计算CV‘=MSExhashAu||K||Mix,比比较CV=CV’是否成立,若成立,则用户验证成功。[0015]作为优选,终端用户⑹对服务器⑸认证:服务器⑸验证了终端用户⑼的合法性后,采用私钥ss对当前时间信息1^和上述ID组成的信息ID||Tn®行签名,通过互联网发送给终端用户(U,终端用户采用服务器提供的公钥ps验证签名的真实性,若签名真实,则进行下一步,若不真实,则退出验证;同时比较给出的TnTb是否成立,若成立,则证明该服务器为真实注册过的服务器S,若不正确,则退出验证。[0016]作为优选,在步骤2中,其中Hash函数hash采用SHA-1、SHA-256、SHA-512、Whirlpool、RIPEMD-160算法。[0017]作为优选,在步骤4中,要保证消息的合法性既不能违背标准消息格式,也要保证该交易的有效性,需要加上对区块链网络奖励的代币。[0018]S3:终端用户⑹向服务器⑸认证。[0019]本发明的有益效果为:依据上述方法可以在将终端用户⑼和服务器S之间的对称秘钥和公开秘钥进行交互,形成验证信息,并且在区块链网络上通过存在性证明该验证信息属于终端用户U。同时通过交易发送给终端用户⑹的方式保证了该存在证明可以被交易给其他用户。附图说明[0020]图1为双向认证的主要流程图。[0021]图2为终端用户(U和服务器(S以及区块链网络之间的关系以及数据交互示意图。具体实施方式[0022]下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落后于本申请所附权利要求所限定的范围。[0023]如图2所示,终端用户⑼与服务器s之间的隐私保护通过第三方的区块链网络来实现。在区块链网络上的每个用户至少设置一对公私钥,其中终端用户⑹具有公私钥对pusu,服务端S具有公私钥对psSs。并通过以上公钥p通过约定的区块链网络形成交易数字地址Ap,其中A表示形成地址的算法,输入为公钥p,该地址在此区块链网络上具有唯一性。[0024]在本发明实施例中,本发明提供了一种双向认证方法,并在区块链网络上形成存在性证明。如图1所示:[0025]S1:用户注册:[0026]步骤1:终端用户⑹通过加密信道向服务器⑸注册应用,向服务器⑸发送Au、K、Mix信息。其中,Au为终端用户⑼的数字交易地址,为终端用户⑹的标识,K为终端用户⑼和服务器(S间交互信息加密的对称秘钥,Mix为注册日期信息以及终端用户〇〇添加的其他说明信息。[0027]步骤2:服务器⑸生成校验码CV=MSExhaShAu||K||Mix,其中,Hash函数hash0可以采用SHA-l、SHA-256、SHA-512、Whirlpool、RIPEMD-160等算法,为了与区块链技术取得统一,推荐使用SHA-256算法;MSExO表示校验码截取前x位;表示将前后两个字节流串接。并通过加密信道将CV发送给终端用户U。[0028]S2:打包交易信息到区块链网络上。[0029]步骤3:终端用户⑼使用UID、CV、Au形成ID=hashAu||CV||UID,并用私钥su对ID签名。其中UID为终端用户⑼注册名或其他信息。[0030]该步骤的目的是将终端用户的CV不在区块链网络上以明文形式存在,并且通过签名证明该CV为终端用户⑼所拥有。[0031]步骤4:打包一个区块链网络上的标准交易信息,将以上得到的ID以及签名嵌入到标准消息中。此时,交易的发起方和接收方均为Au,以保证需要的时候可以将该认证信息发送给其他用户。在此过程中要保证消息的合法性既不能违背标准消息格式,也要保证该交易的有效性。因此需要加上对区块链网络奖励的代币(在此区块链上产生、流通的货币),例如,在已经成熟的比特币网络中,有一种标准的交易格式,该交易消息的输出部分操作码是0P_RETURN,作为打包该笔交易的矿工的奖励;若该笔交易没有被成功打包且过了存在的有效时间,则重新构造该交易信息,加大交易奖励,即加大给矿工的费用,来获得更大的被打包到区块的机会。[0032]S3:终端用户〇向服务器⑸认证。[0033]终端用户⑹向服务器⑸认证的具体流程为:终端用户⑹将自身的CV、Au发送给服务器S,并保留此次验证时间为Tb,首先服务器S查找区块链网络中是否存在终端用户⑹签名的ID是否存在,即采用用户公钥pu验证ID的正确性,如证明存在,则进行下一步,否则退出验证。[0034]服务器⑸查找与之对应的堆成秘钥K、Mix等信息,计算CV‘=MSExhashAu||K||Mix,比比较CV=CV’是否成立,若成立,则用户验证成功。[0035]S4:终端用户⑹对服务器⑸认证。[0036]服务器S验证了终端用户(U的合法性后,采用私钥ss对当前时间信息1^和上述ID组成的信息10||1'„进行签名,通过互联网发送给终端用户⑹,终端用户采用服务器提供的公钥ps验证签名的真实性,若签名真实,则进行下一步,若不真实,则退出验证。同时比较给出的TnTb是否成立,若成立,则证明该服务器为真实注册过的服务器S,若不正确,则退出验证。[0037]可以理解的是,对本领域技术人员来说,对本发明的技术方案及发明构思加以等同替换或改变都应属于本发明所附的权利要求的保护范围。

权利要求:1.一种在区块链中进行双向认证的方法,其特征在于:将用户对服务器以及服务器对用户进行双向认证,并且将用户的认证信息保留在区块链中作为存在性证明,同时还保留了用户认证信息的转移的权利;具体包括如下步骤:S1:用户注册:步骤1:终端用户U通过加密信道向服务器S注册应用,向服务器S发送Au、K、Mix信息;其中,Au为终端用户⑹的数字交易地址,为终端用户⑹的标识,K为终端用户U和服务器S间交互信息加密的对称秘钥,Mix为注册日期信息以及终端用户U添加的其他说明信息;步骤2:服务器⑸生成校验码CV=MSExhashAu||K||Mix,其中,MSEx表示校验码截取前x位;“II”表示将前后两个字节流串接,并通过加密信道将CV发送给终端用户⑼;S2:打包交易信息到区块链网络上:步骤3:终端用户⑼使用UID、CV、Au形成ID=hashAu||CV||UID,并用私钥su对ID签名,其中UID为终端用户⑻注册名或其他信息;使能将终端用户的CV不在区块链网络上以明文形式存在,并且通过签名证明该CV为终端用户〇J所拥有;步骤4:打包一个区块链网络上的标准交易信息,将以上得到的ID以及签名嵌入到标准消息中;此时,交易的发起方和接收方均为Au,以保证需要的时候可以将该认证信息发送给其他用户;S3:终端用户⑹向服务器⑸认证;S4:终端用户⑼对服务器⑸认证。2.根据权利要求1所述的在区块链中进行双向认证的方法,其特征在于:终端用户(U向服务器S认证的具体流程为:终端用户0J将自身的CV、Au发送给服务器S,并保留此次验证时间为Tb,首先服务器S查找区块链网络中是否存在终端用户0J签名的ID是否存在,即采用用户公钥pu验证ID的正确性,如证明存在,则进行下一步,否则退出验证;服务器⑸查找与之对应的堆成秘钥K、Mix信息,计算CV^MSExOiashMul|K||Mix,比比较CV二CV’是否成立,若成立,则用户验证成功。3.根据权利要求1所述的在区块链中进行双向认证的方法,其特征在于:终端用户(U对服务器⑸认证:服务器S验证了终端用户⑼的合法性后,采用私钥对当前时间信息Tn和上述ID组成的信息ID||Tn进行签名,通过互联网发送给终端用户(U,终端用户采用服务器提供的公钥ps验证签名的真实性,若签名真实,则进行下一步,若不真实,则退出验证;同时比较给出的TnTb是否成立,若成立,则证明该服务器为真实注册过的服务器S,若不正确,则退出验证。4.根据权利要求1所述的在区块链中进行双向认证的方法,其特征在于:在步骤2中,其中Hash函数hash采用3脱-1、3说-256、3脱-512、他化化〇〇1、1?1?£]\«-160算法。5.根据权利要求1所述的在区块链中进行双向认证的方法,其特征在于:在步骤4中,要保证消息的合法性既不能违背标准消息格式,也要保证该交易的有效性,需要加上对区块链网络奖励的代币。

百度查询: 三维通信股份有限公司 一种在区块链中进行双向身份认证方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。