一种针对移动互联网的轻量级密钥认证方法及装置与流程

文档序号:21982465发布日期:2020-08-25 19:18阅读:318来源:国知局
一种针对移动互联网的轻量级密钥认证方法及装置与流程

本发明涉及区块链技术领域,尤其涉及一种针对移动互联网的轻量级密钥认证方法及装置。



背景技术:

目前基于pki(pblickeyinfrastructure)公钥基础设施体系建立的集中式数字证书体系导致数字证书申请、审核、发放、更新、撤销等流程非常繁杂,比如用户与证书一一对应、n个用户需要n个证书,证书相关的密钥不断更新且旧密钥还需保存,持有证书的用户离开组织后需撤销相关证书导致撤销列表同样需要维护等,发布及不断更新pki的证书管理将因为众多的业务需求而变得复杂,难以适应业务的灵活扩展,增加了业务系统运营、维护负担和成本。

基于身份的加密ibc(identitybasedcryptography)机制的国密sm9算法提供一种无证书的基于身份的密加体系,由kgc(keygenerationcenter)根据身份id信息生成公钥和私钥,用户的id为公钥,无需数字证书绑定。但国密sm9算法存在密钥更新难题,若某个用户私钥泄露,就需要更改用户的id信息来重新生成密钥,或者就需要kgc更换所有用户的密钥,给密钥的维护和管理造成了很大的不便利。



技术实现要素:

有鉴于此,本发明提供了一种针对移动互联网的轻量级密钥认证方法及装置,用以解决基于国密sm9算法加密过程中,若某个用户私钥泄露,就需要更改用户的id信息来重新生成密钥,或者就需要kgc更换所有用户的密钥,给密钥的维护和管理造成了很大的不便利的问题。具体方案如下:

一种针对移动互联网的轻量级密钥认证方法,应用于目标区块链,其中,所述目标区块链包括:监管节点和全节点,所述目标区块链基于目标utxo模型,所述目标utxo模型的每次交易只有一个输入和一个输出,输入为更新前的密钥信息,输出为更新后的密钥信息,包括:

令用户在所述监管节点中依据所述目标utxo模型和预设密码算法完成注册,得到初始密钥,其中,所述初始密钥包括:初始公钥和初始私钥;

将所述初始私钥发送给所述用户所属的目标全节点,将所述初始公钥发送给所述目标区块链的其余全节点;

当接收到对所述初始密钥的更新请求时,获取所述目标全节点中与本次交易相邻的上次交易的第一历史密钥信息,其中,所述第一历史密钥信息包括:第一索引值和第一哈希值;

将所述第一历史密钥信息发送给所述目标全节点中所述目标utxo模型进行更新,得到目标密钥,其中,所述目标密钥包括目标私钥和目标公钥。

上述的方法,可选的,令用户在所述监管节点中依据所述目标utxo模型完成注册,得到初始密钥,还包括:

获取所述监管节点的监管私钥;

依据所述监管私钥对注册的交易过程进行签名。

上述的方法,可选的,令用户在所述监管节点中依据所述目标utxo模型和预设密码算法完成注册,得到初始密钥,还包括:

输出所述用户的初始身份标识,公开参数和有效期,其中,所述公开参数包括:所述监管节点的监管公钥和算法参数。

上述的方法,可选的,还包括:

当接收到对所述初始身份标识的变更请求时,获取与本次交易相邻的上次交易的第二历密钥信息,其中,所述第二历史密钥信息包括:第二索引值和第二哈希值;

将所述第二历史密钥信息发送给所述目标全节点中所述目标utxo模型进行更新,得到目标身份标识。

上述的方法,可选的,还包括:当接收到对所述目标密钥的变更请求时,令所述目标全节点中目标utxo模型的输出为空。

上述的方法,可选的,还包括:将所述目标公钥发送给所述目标区块链中的其余全节点。

一种针对移动互联网的轻量级密钥认证装置,应用于目标区块链,其中,所述目标区块链包括:监管节点和全节点,所述目标区块链基于目标utxo模型,所述目标utxo模型的每次交易只有一个输入和一个输出,输入为更新前的密钥信息,输出为更新后的密钥信息,包括:

注册模块,用于令用户在所述监管节点中依据所述目标utxo模型和预设密码算法完成注册,得到初始密钥,其中,所述初始密钥包括:初始公钥和初始私钥;

发送模块,用于将所述初始私钥发送给所述用户所属的目标全节点,将所述初始公钥发送给所述目标区块链的其余全节点;

获取模块,用于当接收到对所述初始密钥的更新请求时,获取所述目标全节点中与本次交易相邻的上次交易的第一历史密钥信息,其中,所述第一历史密钥信息包括:第一索引值和第一哈希值;

更新模块,用于将所述第一历史密钥信息发送给所述目标全节点中所述目标utxo模型进行更新,得到目标密钥,其中,所述目标密钥包括目标私钥和目标公钥。

上述的装置,可选的,所述注册模块还包括:

私钥获取单元,用于获取所述监管节点的监管私钥;

签名单元,用于依据所述监管私钥对注册的交易过程进行签名。

上述的装置,可选的,所述注册模块还包括:

输出单元,用于输出所述用户的初始身份标识,公开参数和有效期,其中,所述公开参数包括:所述监管节点的监管公钥和算法参数。

上述的装置,可选的,还包括:

密钥信息获取单元,用于当接收到对所述初始身份标识的变更请求时,获取与本次交易相邻的上次交易的第一历密钥信息,其中,所述第二历史密钥信息包括:第二索引值和第二哈希值;

更新单元,用于将所述第一历史密钥信息发送给所述目标全节点中所述目标utxo模型进行更新,得到目标身份标识。

与现有技术相比,本发明包括以下优点:

本发明公开了一种针对移动互联网的轻量级密钥认证方法,应用于目标区块链,目标区块链包括:监管节点和全节点,目标区块链基于目标utxo模型,包括:用户在监管节点中依据所述目标utxo模型和预设密码算法完成注册,得到初始密钥,其中,所述初始密钥包括:初始公钥和初始私钥;将初始私钥发送给用户所属的目标全节点,将初始公钥发送给目标区块链的其余全节点;当接收到对初始密钥的更新请求时,获取目标全节点中与本次交易相邻的上次交易的第一历史密钥信息,将第一历史密钥信息发送给目标全节点中目标utxo模型进行更新,得到目标密钥。上述方法,采用区块链对密钥进行管理,当任一密钥更新时,只需要密钥所属节点进行更新,减少了节点更新的数量,其余节点不需要更新,便于管理。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术中一种utxo模型示意图;

图2为本申请实施例公开的一种针对移动互联网的轻量级密钥认证方法流程图;

图3为本申请实施例公开的一种针对移动互联网的轻量级密钥认证装置结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

本发明公开了一种针对移动互联网的轻量级密钥认证方法及装置,应用在密钥更新过程中,现有技术中,主要是基于pki(pblickeyinfrastructure)公钥基础设施体系,通过第三方的可信任机构—认证中心ca(certificateauthority),把用户的公钥和用户的其他标识信息(如名称、e-mail、身份证号等)捆绑在一起,在互联网网上验证用户的身份。pki系统是一种中心化的密钥管理方式,但随着移动互联网的发展,pki机制在海量设备场景下导致ca(certificateauthority)证书管理日益复杂,一旦网络收到终端请求超过了资源处理能力,则容易导致网络服务出现问题。并且pki中心化的管理方式易使ca遭受单点故障和拒绝服务攻击。基于身份的加密ibc(identitybasedcryptography)机制的国密sm9算法能够有效地解决pki数字证书管理的难题。由kgc(keygenerationcenter)根据身份id信息生成公钥和私钥,用户的id为公钥,无需数字证书绑定。但国密sm9算法存在密钥更新难题,若某个用户私钥泄露,就需要更改用户的id信息来重新生成密钥,或者就需要kgc更换所有用户的密钥,给密钥的维护和管理造成了很大的不便利。针对国密sm9密钥更新的难题,本发明提出采用基于区块链的utxo模型构建一种去中心化的密钥认证方法,实现了全节点的密钥认证,解决传统pki机制证书管理复杂以及基于ibc机制的国密sm9算法密钥更新困难的问题。同时,实现密钥认证的可追溯。

其中,pki(publickeyinfrastructure)指"公钥基础设施",能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系,是利用公钥理论和技术建立的提供安全服务的基础设施。pki的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。ibc(identitybasedcryptography)指身份标识密码,是一种非对称的公钥密码体系。标识密码的主要观点是系统中不需要证书,使用用户的标识如姓名、ip地址、电子邮箱地址、手机号码等作为公钥。用户的私钥由密钥生成中心(keygeneratecenter,简称kgc)根据系统主密钥和用户标识计算得出。用户的公钥由用户标识唯一确定,从而用户不需要第三方来保证公钥的真实性。国密sm9算法指sm9算法属于标识密码体系,不需要申请数字证书,适用于互联网应用的各种新兴应用的安全保障。如基于云技术的密码服务、电子邮件安全、智能终端保护、物联网安全、云存储安全等等。这些安全应用可采用手机号码或邮件地址作为公钥,实现数据加密、身份认证、通话加密、通道加密等安全应用,并具有使用方便,易于部署的特点。utxo(unspenttransactionoutput)模型:为未花费的交易输出,它是比特币交易生成及验证的一个核心概念。在比特币区块链账本上记录了一笔一笔的交易,每一笔交易都有若干个交易输入(转账者),也就是资金来源,同时也有若干个交易输出(收款者),也就是资金去向。每一笔交易都要花费一笔输入,产生一笔输出,而产生的输出就是utxo,图1即为比特币的uxto模型实例,transaction0即有一个100k的输入(input0)和两个输出(output0和output1),这两个输出又分别作为transaction1和transaction2的输入,又产生其它的输出,由此形成相应的链式结构。

所述认证方法应用于目标区块链,其中,所述目标区块链包括:监管节点和全节点,全节点和监管节点都保存着所述目标区块链上数据,但监管节点相对于普通全节点有更高的权限,负责用户初始身份信息的注册,并在设置监管模式允许监管节点可以获取用户的私钥,可以监控用户加密的相关信息。用户(代指人或各种互联网终端设备)通过全节点连接区块链网络,实现相互身份认证和网络信息交互。所述目标区块链基于目标utxo模型,所述目标utxo模型的每次交易只有一个输入和一个输出,输入为更新前的密钥信息,输出为更新后的密钥信息,基于所述目标utxo模型的交易的数据结构如表1所示,

表1

表1中的交易数据结构中,给出的是交易发布者的身份信息,输入中的索引指示其作为上个交易输出所在的位置,即指示密钥更新前的身份标识符和参数,hash值为对上个交易hash运算后的结果,以对其完整性进行验证。输出表示密钥更新后的身份标识符、参数和有效期。身份标识符为用户初始认证的身份标识。公开参数主要为公钥和国密sm9算法参数等信息;有效期表示密钥更新后的有效使用期,所述有效期可以依据经验或者具体情况进行设定。最后对整个交易信息进行签名,签名密钥为更新前的密钥,以保证整个交易信息的有效性。

所述认证方法的执行流程如图2所示,包括步骤:

s101、令用户在所述监管节点中依据所述目标utxo模型完成注册,得到初始密钥,其中,所述初始密钥包括:初始公钥和初始私钥;

本发明实施例中,所述预设密码算法为国密sm9算法或者其它优选的密码算法,本发明实施例中,对所述预设密码算法不进行限定,优选的,以所述预设密码算法为国密sm9算法为例进行说明,在注册过程中,由所述监管节点作为认证机构,初始化国密sm9算法相关参数,作为kgc认证唯一标识用户的身份id后生成初始密钥,其中,所述初始密钥包括:初始公钥和初始私钥,初始注册交易形式如表2所示。此时注册交易的输入为空,类似比特币的coinbase交易。对于输出,初始身份标识即为用户的id信息。公开参数即为所述监管节点的公钥和国密sm9算法相关基本参数。最后所述监管节点用其的私钥对整个注册交易签名,以保证其合法性。

表2

s102、将所述初始私钥发送给所述用户所属的目标全节点,将所述初始公钥发送给所述目标区块链的其余全节点;

本发明实施例中,将所述初始私钥发送给所述用户所属于的目标节点,将所述初始公钥发送给所述目标区块链的其余全节点,同时,将此过程作为了一条交易通过共识机制写入目标区块链中,完成所述目标全节点的注册,其中,所述目标区块链中的每一个节点都需要监管节点上完成注册,注册的过程相同。

s103、当接收到对所述初始密钥的更新请求时,获取所述目标全节点中与本次交易相邻的上次交易的第一历史密钥信息,其中,所述第一历史密钥信息包括:第一索引值和第一哈希值;

本发明实施例中,当所述初密钥达到有效期或者其它原因需要更新时,会向所述目标全节点发送更新请求,当接收到对所述初始密钥的更新请求时,获取所述目标全节点中与本次交易相邻的上次交易的第一历史密钥信息,其中,所述第一历史密钥信息包括:第一索引值和第一哈希值。

s104、将所述第一历史密钥信息发送给所述目标全节点中所述目标utxo模型进行更新,得到目标密钥,其中,所述目标密钥包括目标私钥和目标公钥。

本发明实施例中,由所述目标全节点结合当前日期或算法参数利用国密sm9算法机制为用户生成目标密钥。用户节点生成该交易并通过共识机制将公钥等公开参数发布到多数目标区块链,交易结构如表3所示,其中输入为所述第一历史密钥信息,输出则为密钥更新后的相关信息。包括:初始标识信息、第一公开参数和第一有效期,签名为用户利用更新前的初始密钥对整个交易进行签名,以保证其合法性。

表3

本发明公开了一种针对移动互联网的轻量级密钥认证方法,应用于目标区块链,目标区块链包括:监管节点和全节点,目标区块链基于目标utxo模型,包括:用户在监管节点中依据所述目标utxo模型和预设密码算法完成注册,得到初始密钥,其中,所述初始密钥包括:初始公钥和初始私钥;将初始私钥发送给用户所属的目标全节点,将初始公钥发送给目标区块链的其余全节点;当接收到对初始密钥的更新请求时,获取目标全节点中与本次交易相邻的上次交易的第一历史密钥信息,将第一历史密钥信息发送给目标全节点中目标utxo模型进行更新,得到目标密钥。上述方法,采用区块链对密钥进行管理,当任一密钥更新时,只需要密钥所属节点进行更新,其余节点不需要更新,减少了节点更新的数量,便于管理。

本发明实施例中,当接收到对所述初始身份标识的变更请求时,获取与本次交易相邻的上次交易的第二历密钥信息,其中,所述第二历史密钥信息包括:第二索引值和第二哈希值,此过程类似于初始注册过程中,区别在于输入不为空,指向用户变更前的身份状态,并使其作废。如表4所示,

表4

本发明实施例中,需要对所述目标密钥进行注销的时候,可由监管机构或用户自发完成,只需要发布一条交易,使其输出为空即可。

本发明提出的基于目标区块链目标uxto模型实现便捷化的国密sm9密钥管理和更新方法,能够更加灵活地满足移动互联网场景下的实际应用需求。可解决密钥更新的难题,适合于移动互联网的应用场景可实现用户密钥更新过程的可追溯、可查询以及不可篡改,能够更加安全地实现用户身份认证和密钥管理。

基于上述的一种针对移动互联网的轻量级密钥认证方法,本发明实施例提供了一种针对移动互联网的轻量级密钥认证装置,所述认证装置应用于目标区块链,其中,所述目标区块链包括:监管节点和全节点,所述目标区块链基于目标utxo模型,所述目标utxo模型的每次交易只有一个输入和一个输出,输入为更新前的密钥信息,输出为更新后的密钥信息,所述认证装置的结构框图如图3所示,包括:注册模块201、发送模块202、获取模块203和更新模块204。

其中,

所述注册模块201,用于令用户在所述监管节点中依据所述目标utxo模型和预设密码算法完成注册,得到初始密钥,其中,所述初始密钥包括:初始公钥和初始私钥;

所述发送模块202,用于将所述初始私钥发送给所述用户所属的目标全节点,将所述初始公钥发送给所述目标区块链的其余全节点;

所述获取模块203,用于当接收到对所述初始密钥的更新请求时,获取所述目标全节点中与本次交易相邻的上次交易的第一历史密钥信息,其中,所述第一历史密钥信息包括:第一索引值和第一哈希值;

所述更新模块204,用于将所述第一历史密钥信息发送给所述目标全节点中所述目标utxo模型进行更新,得到目标密钥,其中,所述目标密钥包括目标私钥和目标公钥。

本发明公开了一种针对移动互联网的轻量级密钥认证装置,应用于目标区块链,目标区块链包括:监管节点和全节点,目标区块链基于目标utxo模型,包括:用户在监管节点中依据所述目标utxo模型和预设密码算法完成注册,得到初始密钥,其中,所述初始密钥包括:初始公钥和初始私钥;将初始私钥发送给用户所属的目标全节点,将初始公钥发送给目标区块链的其余全节点;当接收到对初始密钥的更新请求时,获取目标全节点中与本次交易相邻的上次交易的第一历史密钥信息,将第一历史密钥信息发送给目标全节点中目标utxo模型进行更新,得到目标密钥。上述的装置,采用区块链对密钥进行管理,当任一密钥更新时,只需要密钥所属节点进行更新,其余节点不需要更新,减少了节点更新的数量,便于管理。

本发明实施例中,所述注册模块201还包括:

私钥获取单元205和签名单元206。

其中,

所述私钥获取单元205,用于获取所述监管节点的监管私钥;

所述签名单元206,用于依据所述监管私钥对注册的交易过程进行签名。

本发明实施例中,所述注册模块201还包括:输出单元207。

其中,

所述输出单元207,用于输出所述用户的初始身份标识,公开参数和有效期,其中,所述公开参数包括:所述监管节点的监管公钥和算法参数。

本发明实施例中,所述认证装置还包括:

密钥信息获取单元208和更新单元209。

其中,

所述密钥信息获取单元208,用于当接收到对所述初始身份标识的变更请求时,获取与本次交易相邻的上次交易的第一历密钥信息,其中,所述第二历史密钥信息包括:第二索引值和第二哈希值;

所述更新单元209,用于将所述第一历史密钥信息发送给所述目标全节点中所述目标utxo模型进行更新,得到目标身份标识。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

以上对本发明所提供的一种针对移动互联网的轻量级密钥认证方法及装置。进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1