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

基于设备标识的密钥生成方法及装置、计算机可读介质与流程

2022-04-07 00:31:53 来源:中国专利 TAG:


1.本说明书一个或多个实施例涉及密钥生成技术领域,尤其是涉及一种基于设备标识的密钥生成方法及装置、计算机可读介质。


背景技术:

2.随着物联技术的广泛应用,更多的低功耗终端产品应用于企业日常业务过程中。对于此类设备的数据安全,因为是低功耗设备,算力有限,故采用标准对称加密算法动态协商实现。
3.在现有技术中,由密钥管理平台统一生成密钥并分发密钥,在实际业务过程中存在以下问题:密钥的生成存在单点依赖,如果密钥管理平台不可访问,则相关使用方会受到影响;密钥在分发拷贝过程中容易造成丢失、错误、重复导入等多种问题。在使用过程中,如果设备密钥丢失则无法恢复。


技术实现要素:

4.本说明书一个或多个实施例描述了一种基于设备标识的密钥生成方法及装置、计算机可读介质。
5.根据第一方面,提供了一种基于设备标识的密钥生成方法,该方法由物联网设备生产侧的计算机设备执行,所述方法包括:
6.s1、获取物联网设备的设备标识,并获取根密钥和分散因子;
7.s2、根据所述设备标识和所述分散因子,生成待加密数据;
8.s3、将所述待加密数据和所述根密钥输入至预设分散算法中,得到密钥;
9.s4、将所述密钥写入所述物联网设备中。
10.根据第二方面,提供了一种基于设备标识的密钥生成装置,该装置位于物联网设备生产侧的计算机设备中,所述装置包括:
11.数据获取模块,用于执行s1、获取物联网设备的设备标识,并获取根密钥和分散因子;
12.第一生成模块,用于执行s2、根据所述设备标识和所述分散因子,生成待加密数据;
13.密钥生成模块,用于执行s3、将所述待加密数据和所述根密钥输入至预设分散算法中,得到密钥;
14.密钥写入模块,用于执行s4、将所述密钥写入所述物联网设备中。
15.根据第三方面,提供了一种基于设备标识的密钥生成装置,包括:至少一个存储器和至少一个处理器;
16.所述至少一个存储器,用于存储机器可读程序;
17.所述至少一个处理器,用于调用所述机器可读程序,执行第一方面提供的方法。
18.根据第四方面,提供了一种计算机可读介质,所述计算机可读介质上存储有计算
机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面提供的方法。
19.本发明实施例提供的基于设备标识的密钥生成方法及装置、计算机可读介质,本方案由物联网设备的生产侧的计算机设备执行,并非由密钥管理平台生成和下发,所以不依赖于密钥管理平台;在密钥管理平台不可访问时,密钥使用方不会受到影响。由于不需要分发拷贝,因此不会因为分发和拷贝而出现密钥丢失、错误、重复导入等多种问题。哪个物联网设备需要密钥,哪个物联网设备的生产侧的计算机设备生成即可。在密钥丢失后可以利用本方案再次生成即可。而且,待加密数据由设备标识和分散因子生成,并非单一的设备标识生成,分散因子可以增加密钥的复杂度,增加数据的安全性。
附图说明
20.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1是本说明书一个实施例中基于设备标识的密钥生成方法的流程示意图;
22.图2是本说明书一个实施例中基于设备标识的密钥生成方法的流程示意图。
具体实施方式
23.下面结合附图,对本说明书提供的方案进行描述。
24.第一方面,本发明提供一种基于设备标识的密钥生成方法,该方法由物联网设备生产侧的计算机设备执行,参见图1,所述方法包括:
25.s1、获取物联网设备的设备标识,并获取根密钥和分散因子;
26.可理解的是,设备标识为一个物联网设备的标识,设备标识根据一定的规则生成,在系统内具有唯一性。
27.可理解的是,物联网设备为低功耗设备,在生产物联网设备时,通过该物联网设备的生产侧的计算机设备执行本方案,使物联网设备获得密钥。不同的物联网设备,由各自生产侧的计算机设备执行本方案。可见本方案并非由密钥管理平台生成和下发,即不依赖于密钥管理平台;在密钥管理平台不可访问时,密钥使用方即物联网设备不会受到影响。由于不需要分发拷贝,因此不会因为分发和拷贝而出现密钥丢失、错误、重复导入等多种问题。哪个物联网设备需要密钥,哪个物联网设备的生产侧的计算机设备生成即可。在密钥丢失后可以利用本方案再次生成即可。
28.在具体实施时,所述获取根密钥,可以包括:从根密钥池中选择所述根密钥。即,在根密钥池中获取所需的根密钥即可。
29.s2、根据所述设备标识和所述分散因子,生成待加密数据;
30.可理解的是,这里将设备标识和分散因子生成待加密数据,而非仅依据设备标识生成待加密数据,分散因子的作用是增加待加密数据的复杂度,进而增加密钥的复杂度,提升数据的安全性。
31.在具体实施时,s2可以具体包括:将所述设备标识的二进制数据和所述分散因子的二进制数据中的对应位进行异或处理,得到所述待加密数据的二进制数据。
32.例如,设备标识用256位的二进制数据表示,分散因子也用256位的二进制数据表示,将设备标识的二进制数据中的每一位和分散因子的二进制数据中的对应位进行异或处理,得到256位的二进制数据,即上述待加密数据。例如,设备标识的二进制数据中的第1位和分散因子的二进制数据中的第1位进行异或处理,得到待加密数据中的第1位,对于其余位数也是如此。
33.其中,所谓的异或处理,即两个数值不相同,则异或结果为1,若两个数值相同,则异或结果为0。
34.s3、将所述待加密数据和所述根密钥输入至预设分散算法中,得到密钥;
35.其中,预设分散算法有多种,例如,md5(即信息摘要算法)、aes(即高级加密标)、des(即数据加密标准)、3des(即三重数据加密算法)等。
36.s4、将所述密钥写入所述物联网设备中。
37.即,在将密钥写入物联网设备之后,物联网设备就可以保有密钥。
38.在具体实施时,物联网设备为增加安全级别,会使用多个密钥以轮询或动态协商方式使用,此时需要多个分散因子,即分散因子的数量和密钥的数量是一致的。此时,参见图2,获取分散因子的过程可以包括:生成预设数量的分散因子,所述预设数量为所需密钥的数量。例如,需要16个密钥,则生成16个分散因子,例如采用初始化算法生成16个分散因子。
39.对应的,可以在生成一个密钥之后再生成下一个密钥的方式,直到所有的密钥生成完成,将所有的密钥写入对应的物联网设备中。因此在具体实施时,可以在预设数量的分散因子中按顺序选取一个分散因子,使该分散因子参与步骤s2和s3,得到一个对应的密钥;再从预设数量的分散因子中按照顺序选取下一个分散因子,使此时选取的分散因子参与步骤s2和s3,得到一个密钥。以此类推可以得到预设数量的密钥。
40.也就是说,在步骤s3之后且s4之前,所述方法还包括:判断已生成密钥的数量是否达到所述预设数量;若是,则执行s4;否则,从所述预设数量的分散因子中取下一个分散因子,并返回s2。
41.可理解的是,如果经过判断得知已经生成的密钥的数量达到预设数量,则所有密钥生成完成,进入s4即可。如果经过判断得知已经生成的密钥的数量还未达到预设数量,则还需要继续生成,此时从预设数量的分散因子中选取下一个分散因子返回到s2中,经过s2和s3生成下一个密钥,直到生成密钥的数量达到预设数量。
42.其中,预设分散算法可以共享,可以由密钥管理平台分享给生产测的计算机设备,由生产侧的计算机设备根据预设分散算法生成密钥。而根密钥和分散因子为重点保密数据,在本方案中不能共享和传播,因此本方案中,生产侧的计算机设备从根密钥池中获取以及根据分散因子的生成算法生成,而不会从密钥管理平台中获取。例如,将存储有关数据的动态库集成在生产侧的计算机设备中,即集成到生产系统中。
43.由于密钥不再由密钥管理平台统一生成,作为物联网设备的相关人可以根据授权生成物联网设备的密钥,保证物联网设备和密钥一一对应,同一个物联网设备多次生成的密钥是一样的,即在密钥丢失后重新生成的密钥和之前丢失的密钥是一样的。可见密钥的生成不依赖于密钥管理平台,不存在拷贝和分发,谁使用谁生成即可。密钥丢失后,可依据相关规则重复生成。从而解决密钥生成和分发过程中产生的诸多问题。
44.可理解的是,本方案主要针对实现对称加密算法的密钥生成场景,目前主要应用于低功耗产品加密算法密钥的生成及使用。本方案依据设备标识和分散因子,可实现多次生成,无需分发,从而解决使用过程中的密钥生成依赖风险、分发过程中丢失、截取、重复等问题。本方案所生成密钥数据,即使因环境等因素发生数据丢失,也可依据算法重新生成,不会对正式环境设备的使用产生任何影响。
45.可理解的是,本方案选择使用标准加密算法,跨平台(例如,windows、linux、mac)、多语言(例如,java、c/c 、python等)实现,解决方案本身无技术条件的限制。因为参与数据分散的算法与因子是固定的,当终端达到一定数量级,可考虑使用实时生成密钥方式,减少数据存储与检索时间,从而提升系统整体性能。
46.第二方面,本发明实施例提供一种基于设备标识的密钥生成装置,该装置位于物联网设备生产侧的计算机设备中,即如下多个功能模块可以部署在物联网生产侧的计算机设备中。该装置可以包括:
47.数据获取模块,用于执行s1、获取物联网设备的设备标识,并获取根密钥和分散因子;
48.第一生成模块,用于执行s2、根据所述设备标识和所述分散因子,生成待加密数据;
49.密钥生成模块,用于执行s3、将所述待加密数据和所述根密钥输入至预设分散算法中,得到密钥;
50.密钥写入模块,用于执行s4、将所述密钥写入所述物联网设备中。
51.在一些实施例中,所述第一生成模块可以具体用于:将所述设备标识的二进制数据和所述分散因子的二进制数据中的对应位进行异或处理,得到所述待加密数据的二进制数据。
52.在一些实施例中,所述数据获取模块中获取分散因子,可以包括:生成预设数量的分散因子,所述预设数量为所需密钥的数量;
53.对应的,所述装置还可以包括:
54.第一判断模块,用于在所述密钥生成模块执行步骤s3之后且所述密钥写入模块执行s4之前,判断已生成密钥的数量是否达到所述预设数量;若是,则所述密钥写入模块执行s4;否则,从所述预设数量的分散因子中取下一个分散因子,并返回所述第一生成模块中执行s2。
55.在一些实施例中,所述数据获取模块中所述获取根密钥,包括:从根密钥池中选择所述根密钥。
56.第三方面,本发明实施例提供一种基于设备标识的密钥生成装置,其特征在于,包括:至少一个存储器和至少一个处理器;
57.所述至少一个存储器,用于存储机器可读程序;
58.所述至少一个处理器,用于调用所述机器可读程序,执行第一方面中提供的方法。
59.第四方面,本发明实施例提供一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面提供的方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出
并执行存储在存储介质中的程序代码。
60.在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
61.用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
62.此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
63.此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
64.可理解的是,在第二、三、四方面中本发明实施例提供的装置、计算机可读介质,有关内容的解释、举例、有益效果等部分可以参考上述方法中的相应部分,此处不再赘述。
65.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
66.本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、挂件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
67.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
再多了解一些

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

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

相关文献