一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区块链的密钥中心认证方法和设备与流程

2022-02-22 07:14:09 来源:中国专利 TAG:


1.本技术涉及区块链技术领域,尤其涉及一种基于区块链的密钥中心认证方法和设备。


背景技术:

2.区块链是一种不可改的分布式共享账本。在区块链中,数据保存在多方,利用共识算法实现多节点数据的一致性。在区块链中,数据只能追加不能删除或修改。写入区块链的数据必须带有数字签名,意味着链上数据的所有权、控制权和责任主体明确。新型区块链是可编程的,利用智能合约可以将业务规则编码到区块链中,规则(代码)象数据一样不能删除或修改,代码在调用时自动执行,不能跳过,执行的结果也往往写入区块链。
3.由于数据保存在多方,链上数据不可篡改,所以利用区块链可实现多方之间的可信数据共享。利用智能合约可以实现精准的数据权限控制。
4.标识密码算法的设计思想是以实体的有效标识(如邮件地址、手机号码、身份证码、车架号、设备编号等)作为公钥,用户无需申请和交换证书,从而大大降低安全系统的复杂性。基于标识的密码体制假设存在一个可信的密钥生成中心(kgc,key generation center)作为系统的中心,用户可以利用自身标识向密钥中心申请私钥。


技术实现要素:

5.本说明书实施例提供一种基于区块链的密钥中心认证方法和设备,用于解决现有技术中的如下技术问题:
6.物联网设备进行点对点通信互联时的跨企业身份认证。
7.本说明书实施例采用下述技术方案:
8.本发明实施例的第一方面提供了一种基于区块链的密钥中心认证方法,包括:
9.接收第一设备发送的查询第二设备对应的密钥中心的请求,并通过该请求中的密钥中心的相关信息在区块链中进行查询;
10.若所述第二设备对应的密钥中心登记在所述区块链中,则将所述第二设备对应的密钥中心的主公钥发送至所述第一设备,使所述第一设备通过所述主公钥核验所述第二设备的数字签名,以认证所述第二设备对应的密钥中心,其中,生成所述数字签名的私钥通过所述第二设备对应的密钥中心生成。
11.sm9标识密码国家标准仅定义单一密钥中心的标准,本发明示例通过与区块链技术的结合,构建了多个密钥中心之间可信数据共享桥梁,实际上使sm9支持类似pki(公钥基础设施)的分层治理架构,大大拓展了sm9标识密码的使用范围,使sm9成为一个分布式体系。
12.利用区块链网络和智能合约技术,形成了一个全局可信的sm9密钥中心清单,允许跨密钥中心的数字签名交叉验证,使得物联网设备在点对点互联时,支持跨企业、跨密钥中心的设备身份相互认证,充分利用了sm9标识密码体制的轻量化密钥分发,和区块链的数据
共享、不可篡改机制,提高了物联网跨企业互联的安全性、便利性
13.在一个示例中,还包括:接收注册密钥中心的请求,其中,每个密钥中心对应一个或多个企业;
14.对密钥中心进行验证,并将验证通过的密钥中心进行链上登记和主公钥公示。
15.在一个示例中,所述对密钥中心进行验证,并将验证通过的密钥中心进行链上登记和主公钥公示,包括:
16.通过密钥中心认证机构,对所述密钥中心进行认证,其中,认证的指标至少包括下列之一:合法性、诚信度和服务能力。
17.将认证通过后的密钥中心登记在区块链的已认证密钥中心清单中。
18.在一个示例中,通过设置密钥中心认证机构对密钥中心进行认证,并设置了相应的标准,提高了链上数据的可信性。
19.在一个示例中,所述对密钥中心进行验证,并将验证通过的密钥中心进行链上登记和主公钥公示,包括:
20.通过自定义密钥中心智能合约验证企业信任的密钥中心;
21.将验证通过后的所述企业信任的密钥中心登记在区块链的自定义密钥中心清单中。
22.本发明示例通过企业自定义的密钥中心,可以降低企业的运行成本,适用性更广。
23.在一个示例中,所述通过该请求中的密钥中心的相关信息在区块链中进行查询,包括:
24.通过所述相关信息在所述区块链中的已认证密钥中心清单和/或自定义密钥中心清单中进行查询。
25.本发明示例在“自定义密钥中心”智能合约代码中编码了数据权限控制,企业只能维护自己的kgc信任清单,而且通过设置清单的方式,降低了区块链的检索压力。
26.在一个示例中,还包括:
27.接收企业发送的撤销该企业的设备标识的有效性请求,并将所述设备标识存储至区块链中,其中,每个所述设备标识对应一个设备;
28.通过撤销标识智能合约检测所述第二设备的设备标识,以确定所述第二设备的有效性。
29.sm9算法不支持标识及私钥的撤销,本发明示例通过“撤销标识”智能合约,弥补了sm9算法的一些漏洞。
30.本发明实施例的第二方面提供了一种基于区块链的密钥中心认证方法,包括:
31.第一设备接收第二设备发送的通信数据,获取所述第二设备的设备标识,其中,所述设备标识中含有所述第二设备所属企业的信息;
32.所述第一设备向区块链发送查询所述第二设备对应的密钥中心的的请求,使所述区块链通过该请求中密钥中心的相关信息进行查询,以及使所述区块链查询到所述第二设备对应的密钥中心后,将该密钥中心的主公钥反馈至所述第一设备;
33.所述第一设备接收所述区块链反馈的所述主公钥;
34.所述第一设备通过所述主公钥核验所述通信数据携带的数字签名,以对所述第二设备对应的密钥中心的身份认证,其中,生成所述数字签名的私钥通过所述第二设备对应
的密钥中心生成。
35.本发明示例通过设置自动化的指令,实现了不同企业的设备在通信过程中的身份认证。
36.在一个示例中,还包括:
37.通过第一设备的设备标识向对应的密钥中心申请私钥,将所述私钥自动配置在所述第一设备的加密算法客户端中。
38.本发明示例通过在设备上预先设置自动化指令,实现了设备私钥的申请。
39.在一个示例中,所述通过第一设备的标识向对应的密钥中心申请私钥,包括:
40.将所述第一设备的标识和所述第一设备对应企业信息发送至该企业对应的密钥中心,使密钥中心对所述企业信息进行审核后生成所述私钥,并将所述私钥反馈给所述第一设备。
41.本发明示例通过对企业的信息进行验证,防止私钥泄露,提高了安全性。
42.在一个示例中,所述私钥是密钥中心通过指定的加密算法生成,所述第一设备的加密算法客户端采用所述指定的加密算法。
43.本发明示例中,将私钥和设备中的加密算法客户端进行统一,可以更好的对设备进行管理。
44.本发明实施例的第三方面提供了一种基于区块链的密钥中心认证设备,包括:
45.至少一个处理器;以及,
46.与所述至少一个处理器通信连接的存储器;其中,
47.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
48.接收第一设备发送的查询第二设备对应的密钥中心的请求,并通过该请求中的密钥中心的相关信息在区块链中进行查询;
49.若所述第二设备对应的密钥中心登记在所述区块链中,则将所述第二设备对应的密钥中心的主公钥发送至所述第一设备,使所述第一设备通过所述主公钥核验所述第二设备的数字签名,以认证所述第二设备对应的密钥中心,其中,生成所述数字签名的私钥通过所述第二设备对应的密钥中心生成。
50.本发明实施例的第四方面提供了一种基于区块链的密钥中心认证设备,包括:
51.处理器;以及,
52.与所述处理器通信连接的存储器;其中,
53.所述存储器存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够:
54.第一设备接收第二设备发送的通信数据,获取所述第二设备的设备标识,其中,所述设备标识中含有所述第二设备所属企业的信息;
55.所述第一设备向区块链发送查询所述第二设备对应的密钥中心的的请求,使所述区块链通过该请求中密钥中心的相关信息进行查询,以及使所述区块链查询到所述第二设备对应的密钥中心后,将该密钥中心的主公钥反馈至所述第一设备;
56.所述第一设备接收所述区块链反馈的所述主公钥;
57.所述第一设备通过所述主公钥核验所述通信数据携带的数字签名,以对所述第二
设备对应的密钥中心的身份认证,其中,生成所述数字签名的私钥通过所述第二设备对应的密钥中心生成。
附图说明
58.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
59.图1为本发明实施例提供的密钥中心认证流程示意图;
60.图2为本发明实施例提供的设备部署之后的密钥中心认证流程示意图;
61.图3为本发明实施例提供的第一种方法流程示意图;
62.图4为本发明实施例提供的第二种方法流程示意图;
63.图5为本发明实施例提供的第一种方法对应的一种设备的框架示意图;
64.图6为本发明实施例提供的第二种方法对应的一种设备的框架示意图。
具体实施方式
65.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
66.标识密码体制很适合进行设备身份认证。但sm9并没有形成覆盖全国的密钥生成中心(kgc,key generation center)体系,为了便于便于描述,在下文将密钥生成中心称为密钥中心。不同的企业或机构可能自建或使用了不同的密钥中心。这导致不同企业的设备进行点对点通信时,无法使用设备标识加sm9私钥来验证对方的数字签名,导致无法相互认证设备身份。
67.sm9标识密码标准为“gm/t 0044-2016sm9标识密码算法”。sm9算法主要包括四部分:数字签名算法、密钥交换协议、密钥封装机制、公钥加密算法,其中sm9签名算法收录于iso/iec 14888-3:2018《信息安全技术带附录的数字签名第3部分:基于离散对数的机制》,成为一种国际标准。
68.sm9密码算法是一种基于双线性对的标识密码体制(identity-based cryptography,ibc),算法的理论基础和数学工具是有限域群上的椭圆曲线的点群运算的性质及双线性对运算特性。
69.本技术实施例中的密钥中心是基于sm9密码算法的实现的,不应理解为对本技术的限制,本技术实施例也可以使基于其他类型的加密算法实现密钥中心。
70.当一个物联网设备接入网络时,经常发生的联网动机有三种:第一是数据上传,将自身产生的数据(如传感器数据)上传到服务器;第二是数据下行,服务器将配置、指令、参数、管理等数据下发到设备;第三是设备之间的点对点互联。随着物联网的不断发展,第三种的情况越来越多。物联网设备的计算能力、存储能力有限,不可能像服务器一样有一个强大的数据库来管理用户清单和权限。需要一种轻量的设备之间的互联认证方案,解决点对点互联时的跨企业设备身份认证问题。
71.本发明实施例通过区块链这种分布式账本,实现各企业/机构对自身使用的sm9密
钥中心(kgc)的主公钥的注册、共享、公示,形成统一的全局可信的密钥中心清单,并允许企业增加自己个性的可信密钥中心,以便支持跨kgc的sm9数字签名互认,进而支撑覆盖全国、跨企业的设备身份相互认证。
72.以下结合附图,详细说明本技术各实施例提供的技术方案。
73.图1为本发明实施例提供的密钥中心认证流程示意图;如图所示,方法大致包括:
74.密钥中心权威认证机构对sm9密钥中心进行诚信和能力评估,将通过认证的密钥中心及其主公钥注册到区块链,作为全局可信密钥中心。
75.具体而言,需设立一个密钥中心认证机构,用于对密钥中心的合法性、诚信度、服务能力进行评估,将可信的密钥中心注册到区块链,并在链上公示其主公钥,供使用者检验相关sm9数字签名的有效性。在区块链上部署一个“已认证密钥中心”的智能合约,供密钥中心认证机构将通过认证的密钥中心进行链上登记和主公钥公示。
76.本发明实施例类比到现有的pki/ca体系,部署“已认证密钥中心”智能合约的区块链网络,起到了类似“根ca”的作用,用于声明哪些密钥中心是可信的。
77.企业将自己信任的密钥中心及其主公钥注册到区块链,作为全局可信密钥中心清单的补充。
78.具体而言,企业可以自建sm9密钥中心,或选择选择一个自己信任的第三方密钥中心。当企业发现自己自建或选择密钥中心不在链上“已认证密钥中心”清单中时,一是可以想办法让密钥中心通过认证机构的认证,从而添加到清单中;二是将自己的密钥中心注册到链上的“自定义密钥中心”清单中,这同样以智能合约的方式实现。
[0079]“自定义密钥中心”智能合约允许各个企业登记自己信任的密钥中心清单,登记内容包括密钥中心的名称、密钥中心的主公钥等,作为由密钥中心认证机构维护的全局可信密钥中心清单的补充。在“自定义密钥中心”智能合约代码中编码了数据权限控制,企业只能维护自己的密钥中心信任清单。
[0080]
由于所有sm9的系统参数是一样的,已经在国家标准文档中定义,可以不登记到区块链。进行验证数字签名,直接使用sm9标准的系统参数。
[0081]
图2为本发明实施例提供的设备部署之后的密钥中心认证流程示意图,如图所示,本发明实施例依托区块链实现了sm9密钥中心的可信清单管理、密钥中心的主公钥的共享和公示,可以通过如下方式实现对设备的身份认证。
[0082]
利用设备标识向密钥中心申请sm9私钥,密钥中心审核企业身份后生成私钥发送企业。企业收到sm9私钥后装入到设备中,与sm9客户端配置在一起,用于之后的sm9数字签名、加密通信、密钥交换等。当然,也可以通过设置一些自动化指令,自动让设备进行上述的设置。
[0083]
设备标识不需要向区块链注册,只要是可信密钥中心生成的私钥,数字签名验证都会成功。对于设备报废、丢失后的标识撤销,可以增加一个“撤销标识”智能合约,供企业注册失效的设备标识。在设备身份认证时,可以访问区块链的“撤销标识”智能合约,查看参与认证的设备标识是否是有效。
[0084]
不同企业的设备进行点对点联网时,先进行设备身份标识的交换,取得对方密钥中心的相关信息,相关信息可以是对方的企业信息(在注册时企业与密钥中心是对应的),也可以是对方密钥中心的名称或者其他的相关信息,通过相关信息检索区块链,确保对方
的密钥中心在全局可信密钥中心或企业自定义可信密钥中心清单中,以确定对方密钥中心是否可信,如果可信就返回对方密钥中心的主公钥。
[0085]
在本发明的一些优选的实施例中,还可以通过访问区块链的“撤销标识”智能合约,查看参与认证的设备标识是否是有效。
[0086]
利用取得的对方kgc主公钥和对方设备标识,验证对方数字签名的有效性。如果数字签名有效,则完成设备身份认证。
[0087]
sm9的密钥中心本身不支持层次化的治理结构,没有“根密钥中心”的概念。在密钥中心认证机构的维护下,通过区块链网络的智能合约,实现了全局可信密钥中心的登记,并允许企业定义自己的可信密钥中心,从而实现了跨密钥中心的数字签名交叉验证,支撑了设备身份的跨企业跨密钥中心相互认证。sm9算法不支持标识及私钥的撤销,通过“撤销标识”智能合约,弥补了sm9的一些漏洞。
[0088]
对应上述的整体的实时方案,本发明实施例的第一方面提供了一种基于区块链的密钥中心认证方法,应用于区块链,包括:
[0089]
s301接收第一设备发送的查询第二设备对应的密钥中心的请求,并通过该请求中的密钥中心的相关信息在区块链中进行查询;
[0090]
s302若所述第二设备对应的密钥中心登记在所述区块链中,则将所述第二设备对应的密钥中心的主公钥发送至所述第一设备,使所述第一设备通过所述主公钥核验所述第二设备的数字签名,以认证所述第二设备对应的密钥中心,其中,生成所述数字签名的私钥通过所述第二设备对应的密钥中心生成。
[0091]
本发明实施例的第一方面的具体实现参照上述的整体描述,在此不作赘述。对应上述的整体的实时方案,本发明实施例的第二方面提供了一种基于区块链的密钥中心认证方法,应用于物联网设备,物联网设备包括第一设备和第二设备,方法包括:
[0092]
s401第一设备接收第二设备发送的通信数据,获取所述第二设备的设备标识,其中,所述设备标识中含有所述第二设备所属企业的信息;
[0093]
s402所述第一设备向区块链发送查询所述第二设备对应的密钥中心的的请求,使所述区块链通过该请求中密钥中心的相关信息进行查询,以及使所述区块链查询到所述第二设备对应的密钥中心后,将该密钥中心的主公钥反馈至所述第一设备;
[0094]
s403所述第一设备接收所述区块链反馈的所述主公钥;
[0095]
s404所述第一设备通过所述主公钥核验所述通信数据携带的数字签名,以对所述第二设备对应的密钥中心的身份认证,其中,生成所述数字签名的私钥通过所述第二设备对应的密钥中心生成。
[0096]
本发明实施例的第二方面的具体实现参照上述的整体描述,在此不作赘述。
[0097]
基于同样的思路,本技术的一些实施例还提供了上述方法对应的设备和非易失性计算机存储介质。
[0098]
图5为本发明实施例提供的第一种方法对应的一种设备的框架示意图,基于区块链的密钥中心认证设备,应用于区块链,包括:
[0099]
至少一个处理器;以及,
[0100]
与所述至少一个处理器通信连接的存储器;其中,
[0101]
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一
个处理器执行,以使所述至少一个处理器能够:
[0102]
接收第一设备发送的查询第二设备对应的密钥中心的请求,并通过该请求中的密钥中心的相关信息在区块链中进行查询;
[0103]
若所述第二设备对应的密钥中心登记在所述区块链中,则将所述第二设备对应的密钥中心的主公钥发送至所述第一设备,使所述第一设备通过所述主公钥核验所述第二设备的数字签名,以认证所述第二设备对应的密钥中心,其中,生成所述数字签名的私钥通过所述第二设备对应的密钥中心生成。
[0104]
图6为本发明实施例提供的第二种方法对应的一种设备的框架示意图,如图6所示,基于区块链的密钥中心认证设备,应用于设备,包括:
[0105]
第一设备接收第二设备发送的通信数据,获取所述第二设备的设备标识,其中,所述设备标识中含有所述第二设备所属企业的信息;
[0106]
所述第一设备向区块链发送查询所述第二设备对应的密钥中心的的请求,使所述区块链通过该请求中密钥中心的相关信息进行查询,以及使所述区块链查询到所述第二设备对应的密钥中心后,将该密钥中心的主公钥反馈至所述第一设备;
[0107]
所述第一设备接收所述区块链反馈的所述主公钥;
[0108]
所述第一设备通过所述主公钥核验所述通信数据携带的数字签名,以对所述第二设备对应的密钥中心的身份认证,其中,生成所述数字签名的私钥通过所述第二设备对应的密钥中心生成。
[0109]
本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0110]
本技术实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。
[0111]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0112]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0113]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
[0114]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0115]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0116]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0117]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0118]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0119]
以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献