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

一种密钥对管理方法、装置、电子设备及存储介质与流程

2022-05-17 22:28:29 来源:中国专利 TAG:


1.本发明涉及信息加密技术领域,具体涉及一种密钥对管理方法、装置、电子设备及存储介质。


背景技术:

2.随着网络技术的不断发展,越来越多的用户将信息存储在计算机网络系统中,为保证用户信息不回免遭未经授权的纰漏、修改和使用,如何保证用户信息的安全性也变得尤为重要。
3.现阶段,通常通过信息加密来保证用户信息的安全性。具体的,当接收到用户的密钥对生成指令时,首先,可以基于密钥对生成指令生成密钥对,该密钥对中包括一个私钥和一个公钥。然后,可以将前述密钥对返回至前述用户,以使用户可以记忆该密钥对。由于密钥对的管理和使用是信息加密成功的关键,而直接将密钥对返回至用户,用户可以直接获取到密钥对中的私钥,这样,会在一定程度上影响到私钥的安全性,进而会导致网络信息的安全性较低。故而,目前亟需一种能够提高私钥安全性,提高网络信息安全性的密钥对管理方法。


技术实现要素:

4.由于现有方法存在上述技术问题,本发明实施例提出一种密钥对管理方法、装置、电子设备及存储介质。
5.第一方面,本发明实施例提出一种密钥对管理方法,包括:
6.基于接收到的密钥对生成指令生成密钥对,其中,所述密钥对生成指令包含有标签键值信息;
7.根据所述标签键值信息存储所述密钥对,并基于所述标签键值信息更新密钥对标签索引,其中,所述标签键值信息中的值为所述密钥对中的公钥。
8.可选的,所述基于接收到的密钥对生成指令生成密钥对,包括:
9.基于所述密钥对生成指令生成第一随机数,对所述第一随机数进行加密处理,生成所述密钥对生成指令对应的密钥对。
10.可选的,所述基于所述标签键值信息更新密钥对标签索引之后,还包括:
11.当接收到第一密钥读取指令且所述密钥读取指令中携带有目标标签键值信息时,输出所述目标标签键值信息对应的第一目标公钥;
12.或者,
13.当接收到第二密钥读取指令且所述第二密钥读取指令未携带有目标标签键值信息时,输出当前已存储的所有公钥。
14.可选的,还包括:
15.当接收到数字签名指令时,获取所述数字签名指令携带的第二目标公钥及需要进行数字签名的目标数据;
16.获取所述第二目标公钥对应的目标私钥,对所述目标私钥进行加密处理生成目标数字签名;
17.基于所述目标数字签名对所述目标数据进行签名,得到所述数字签名指令对应的签名结果,并输出所述签名结果。
18.可选的,所述得到所述数字签名指令对应的签名结果,并输出所述签名结果之后,还包括:
19.接收签名验证指令,获取所述签名验证指令携带的所述第二目标公钥及需要进行数字签名的所述目标数据;
20.对所述第二目标公钥进行加密处理生成验证数字签名,并确定所述验证数字签名和所述目标数字签名的布尔值;
21.所述基于所述目标数字签名对所述目标数据进行签名,包括:
22.当所述布尔值为真时,基于所述目标数字签名对所述目标数据进行签名。
23.可选的,还包括:
24.当接收到共享密钥生成指令时,获取所述共享密钥生成指令携带的第一公钥及第二公钥,其中,所述第一公钥及为当前用户的公钥,所述第二公钥为目标通信用户的公钥;
25.获取所述第一公钥对应的第一私钥,并对所述第一私钥及所述第二公钥进行加密处理生成第一目标共享密钥,并输出所述第一目标共享密钥。
26.可选的,还包括:
27.当接收到匿名共享密钥生成指令时,基于所述匿名共享密钥生成指令生成第二随机数,对所述第二随机数进行加密处理,生成所述匿名共享密钥生成指令对应的临时密钥对;
28.获取所述临时密钥对中的临时私钥,及所述匿名共享密钥生成指令携带的目标接收端的公钥;
29.对所述临时私钥及所述目标接收端的公钥进行加密处理,生成第二目标共享密钥,并输出所述第二目标共享密钥。
30.第二方面,本发明实施例还提出一种密钥对管理装置,包括密钥对生成模块和索引更新模块,其中:
31.所述密钥对生成模块,用于基于接收到的密钥对生成指令生成密钥对,其中,所述密钥对生成指令包含有标签键值信息;
32.所述索引更新模块,用于根据所述标签键值信息存储所述密钥对,并基于所述标签键值信息更新密钥对标签索引,其中,所述标签键值信息中的值为所述密钥对中的公钥。
33.第三方面,本发明实施例还提出一种电子设备,包括:
34.至少一个处理器;以及
35.与所述处理器通信连接的至少一个存储器,其中:
36.所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述方法。
37.第四方面,本发明实施例还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述方法。
38.由上述技术方案可知,本发明实施例通过在生成密钥对之后,可以根据标签键值
信息存储前述密钥对,并基于标签键值信息更新密钥对标签索引。这样,根据标签键值信息存储前述密钥对,即以键-值对的存储方式存储密钥对,且将标签键值信息中的值为密钥对中的公钥,可以使得用户在查询密钥时,仅能查询到公钥,即私钥只参与计算不会被发送至用户,从而可以避免用户直接读取到私钥,有效防止私钥泄露,有效提高私钥的安全性,进而可以有效提高网络信息的安全性。
附图说明
39.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
40.图1为本发明一实施例提供的一种管理服务器的结构示意图;
41.图2为本发明一实施例提供的一种密钥对管理方法的流程示意图;
42.图3为本发明一实施例提供的一种密钥对管理装置的结构示意图;
43.图4为本发明一实施例提供的电子设备的逻辑框图。
具体实施方式
44.下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
45.本发明实施例提供的方法的执行主体可以是管理服务器,该管理服务器可以执行本发明方法实施例所示的应用于非对称加密算法中的密钥对管理过程。具体的,参见图1,前述管理服务器上可以设置有接口单元、控制单元、随机数生成单元、加密单元、密钥存储单元。其中,接口单元可以用于实现和用户终端的信息交互;控制单元可以用于执行控制和业务逻辑;随机数生成单元可以用于生成随机整数;加密单元可以用于执行加密处理,如可以通过国密sm2算法、ed25519等椭圆加密算法以及rsa加密算法(rsa algorithm)等加密算法执行加密处理;密钥存储单元可以用于按照键-值对的存储方式存储加密单元生成的密钥对。
46.图2示出了本实施例提供的一种密钥对管理方法的流程示意图,包括:
47.s201,基于接收到的密钥对生成指令生成密钥对。
48.其中,所述密钥对生成指令包含有标签键值信息,该标签键值信息实质上可以是键-值对,该键-值对可以供用户自行标识和记忆上述密钥对。
49.所述密钥对生成指令中可以携带一个或多个键-值对。
50.在实施中,可以在密钥对生成指令对应的密钥对后,根据密钥对生成指令携带的标签键值信息,以键值对的存储方法存储前述密钥对。具体的,用户可以通过上述接口单元发送密钥对生成指令,该密钥对生成指令中至少可以携带有标签键值信息,该标签键值信息为字符串键-值对(key-value pair),可以理解的是,前述键-值对可以是用户指定的,键-值对是编程语言对数学概念中映射的实现,其中,键(key)用作元素的索引,值(value)则表示所存储和读取的数据。然后,在接收到前述密钥对生成指令之后,可以基于该密钥对生成指令,通过国密sm2算法、ed25519等椭圆加密算法以及rsa(rsa algorithm)等加密算
法,生成前述密钥对生成指令对应的密钥对,该密钥对包括一个公钥和该公钥对应的私钥。
51.s202,根据标签键值信息存储密钥对,并基于标签键值信息更新密钥对标签索引。
52.其中,所述标签键值信息中的值为所述密钥对中的公钥。
53.在实施中,在基于密钥对生成指令生成密钥对之后,可以获取前述密钥对生成指令携带的标签键值信息。然后,可以基于前述标签键值信息存储所述密钥对,如可以将前述密钥对中的公钥存储为标签键值信息的中的值。之后,还可以根据接口单元的标签键值信息更新密钥对对应的标签索引,如接口单元的标签键值信息的键更新为前述标签键值信息的键,将接口单元的标签键值信息的值指向前述已存储的密钥对的公钥,以使用户可以通过前述键查询到对应的公钥。以密钥对(私钥,公钥)为(d,p)为例,可以将公钥p存储为接口单元的标签键值信息的值。
54.需要说明的是,上述生成的密钥对仅存储在存储单元,并不返回给用户。
55.由上述技术方案可知,本发明实施例通过在生成密钥对之后,可以根据标签键值信息存储前述密钥对,并基于标签键值信息更新密钥对标签索引。这样,根据标签键值信息存储前述密钥对,即以键-值对的存储方式存储密钥对,且将标签键值信息中的值为密钥对中的公钥,可以使得用户在查询密钥时,仅能查询到公钥,即私钥只参与计算不会被发送至用户,从而可以避免用户直接读取到私钥,有效防止私钥泄露,有效提高私钥的安全性,进而可以有效提高网络信息的安全性。
56.进一步地,在上述方法实施例的基础上,可以对生成的随机数进行加密处理生成密钥对,相应的上述步骤s201的处理可以如下:基于密钥对生成指令生成第一随机数,对第一随机数进行加密处理,生成密钥对生成指令对应的密钥对。
57.其中,所述第一随机数指基于密钥对生成指令生成的随机数。
58.在实施中,在接收到密钥对生成指令之后,控制单元可以驱动随机数生成单元生成前述密钥对生成指令对应的第一随机数。然后,控制单元可以将前述第一随机数发送至加密单元,由加密单元对第一随机数进行加密处理,如可以通过国密sm2算法、ed25519等椭圆加密算法以及rsa等加密算法,对第一随机数进行加密处理,得到密钥对生成指令对应的密钥对。
59.进一步地,在上述方法实施例的基础上,可以查询已存储有的公钥,相应的处理可以如下:当接收到第一密钥读取指令且密钥读取指令中携带有目标标签键值信息时,输出目标标签键值信息对应的第一目标公钥;或者,当接收到第二密钥读取指令且第二密钥读取指令未携带有目标标签键值信息时,输出当前已存储的所有公钥。
60.其中,所述第一密钥读取指令指携带有目标标签键值信息的读取指令。
61.所述第二密钥读取指令指未携带有目标标签键值信息的读取指令。
62.所述目标标签键值信息指第一密钥读取指令中携带的标签键值信息,前述标签键值信息可以是一个或多个。
63.所述第一目标公钥指第一密钥读取指令携带有目标标签键值信息对应的公钥,该第一目标公钥可以是一个或者多个。
64.在实施中,当用户想要读取某个或某几个公钥时,可以通过接口单元发送第一密钥读取指令。然后,在接收到第一密钥读取指令之后,可以获取第一密钥读取指令携带的目标标签键值信息。之后,可以密钥存储单元中查询前述目标标签键值信息对应的第一目标
公钥,并输出前述第一目标公钥,以使用户可以读取到需要读取的公钥。或者,当用户想要读取所有公钥时,可以通过接口单元发送第二密钥读取指令。然后,在接收到第二密钥读取指令之后,可以获取密钥存储单元已存储的所有公钥,并输出前述所有公钥(如可以通过列表形式输出),以使用户可以读取到需要的公钥。这样,用户可以根据需要读取公钥,且在用户读取公钥的同时,没有私钥的参与,私钥始终对用户是保密的,从而可以进一步防止私钥泄露,提高网络信息的安全。
65.进一步地,在上述方法实施例的基础上,可以利用私钥进行数字签名,相应的处理可以如下:当接收到数字签名指令时,获取数字签名指令携带的第二目标公钥及需要进行数字签名的目标数据;获取第二目标公钥对应的目标私钥,对目标私钥进行加密处理生成目标数字签名;基于目标数字签名对目标数据进行签名,得到数字签名指令对应的签名结果,并输出签名结果。
66.其中,所述第二目标公钥指所述数字签名指令中携带的公钥。
67.所述目标数据指所述数字签名指令中携带的需要进行数字签名的数据。
68.所述目标私钥指与第二目标公钥对应的私钥。
69.目标数字签名指利用目标私钥生成的目标数据的数字签名。
70.在实施中,当接收到用户通过接口单元输入的数字签名指令时,可以获取前述数字签名指令携带的第二目标公钥及需要进行数字签名的目标数据。然后,可以在密钥存储单元中查询并获取前述第二目标公钥对应的目标私钥,并可以通过国密sm2算法、ed25519等椭圆加密算法以及rsa等加密算法对前述目标私钥进行加密处理,以生成目标数据的目标数字签名。之后,可以基于前述目标数字签名对目标数据进行数字签名,得到前述数字签名指令对应的签名结果,并输出该签名结果。这样,在通过不对称加密算法进行数字签名时,对于用户而言,用户仅可以接触到公钥,而接触不到私钥,从而可以进一步保证私钥的安全。
71.进一步地,在上述方法实施例的基础上,可以基于公钥对上述目标数字签名进行验证,相应的处理可以如下:接收签名验证指令,获取签名验证指令携带的第二目标公钥及需要进行数字签名的目标数据;对第二目标公钥进行加密处理生成验证数字签名,并确定验证数字签名和目标数字签名的布尔值。此时,上述基于目标数字签名对目标数据进行签名的处理可以如下:当布尔值为真时,基于目标数字签名对目标数据进行签名。
72.其中,所述验证数字签名指基于第二目标公钥进行加密处理生成的数字签名。
73.在实施中,在得到数字签名指令对应的签名结果,并输出签名结果之后,还可以对目标数字签名进行验证。具体的,首先,可以通过接口单元接收签名验证指令,并获取前述签名验证指令中携带的第二目标公钥和目标数据。然后,可以通过国密sm2算法、ed25519等椭圆加密算法以及rsa等加密算法对前述第二目标公钥进行加密处理,以生成目标数据的验证数字签名。之后,可以确定验证数字签名和目标数字签名的布尔值,以根据前述布尔值确定是否对目标数据进行数字签名,并将签名结果返回给用户。若验证数字签名和目标数字签名相同,则布尔值为“真”,此时可以基于目标数字签名对目标数据进行签名,并将签名结果返回给用户;反之,若验证数字签名和目标数字签名不相同,则布尔值为“假”,此时不对目标数据进行签名。这样,在数字签名的验证过程中仅涉及到公钥,无需私钥参与,从而可以进一步提高私钥的安全性。
74.进一步地,在上述方法实施例的基础上,可以基于当前用户的公钥和目标通信用户的公钥生成共享密钥,相应的处理可以如下:当接收到共享密钥生成指令时,获取共享密钥生成指令携带的第一公钥及第二公钥;获取第一公钥对应的第一私钥,并对第一私钥及第二公钥进行加密处理生成第一目标共享密钥,并输出第一目标共享密钥。
75.其中,所述第一公钥及为当前用户的公钥,所述第二公钥为目标通信用户的公钥。
76.所述第一私钥指所述第一公钥对应的私钥。
77.所述第一目标共享密钥指共享密钥生成指令对应的共享密钥,共享密钥是通信各方之间共享的一段数据,用在实现相互间的安全通信。共享密钥既可以用来在发送端加密数据,也可以用来在接收端解密数据。
78.在实施中,当通过接口单元接收到共享密钥生成指令时,可以获取前述共享密钥生成指令携带的当前用户的第一公钥,及目标通信用户的第二公钥。然后,可以在密钥存储单元中获取前述第一公钥对应的第一私钥,并可以对前述第一私钥及第二公钥进行加密处理,如可以通过通过国密sm2算法、ed25519等椭圆加密算法以及rsa等加密算法进行加密处理,生成共享密钥生成指令对应的第一目标共享密钥,并输出该第一目标共享密钥。这样,在整个加密过程中,私钥的访问仅应用于服务器内部的读取和加密,从而可以进一步避免私钥被用户读取;同时,由于前述加密过程中会使用的是由私钥生成的共享密钥,而非私钥本身,故而可以进一步防止私钥的泄露。
79.进一步地,在上述方法实施例的基础上,可以生成临时密钥对,基于临时密钥对生成第二共享密钥,相应的处理可以如下:当接收到匿名共享密钥生成指令时,基于匿名共享密钥生成指令生成第二随机数,对第二随机数进行加密处理,生成匿名共享密钥生成指令对应的临时密钥对;获取临时密钥对中的临时私钥,及匿名共享密钥生成指令携带的目标接收端的公钥;对临时私钥及目标接收端的公钥进行加密处理,生成第二目标共享密钥,并输出第二目标共享密钥。
80.其中,所述第二随机数指基于匿名共享密钥生成指令生成的随机数。
81.所述临时密钥对指基于第二随机数临时生成的密钥对,该密钥对是临时的,不会被存储。
82.所述第二目标共享密钥指匿名共享密钥生成指令对应的共享密钥。
83.在实施中,匿名加密是指通信双方之间对数据加密的方式之一。数据发送方可以使用临时生成的私钥和接收方发布的公钥对将要发送的数据进行加密,因此数据的接受方能够通过私钥对加密数据的解密,来确认数据的完整性(没有被篡改),但无法确定数据发送人的身份,且匿名加密由数据发送方完成。具体的,当接收到匿名共享密钥生成指令时,可以基于前述匿名共享密钥生成指令生成第二随机数。然后,可以对前述第二随机数进行加密处理,可以通过国密sm2算法、ed25519等椭圆加密算法以及rsa等加密算法进行加密处理,生成临时密钥对。之后,可以获取前述临时密钥对中的临时私钥,以及前述匿名共享密钥生成指令携带的目标接收端的公钥。然后,可以对前述临时私钥和目标接收端的公钥进行加密处理,同样可以通过国密sm2算法、ed25519等椭圆加密算法以及rsa等加密算法,生成第二目标共享密钥,并输出该第二目标共享密钥。这样,在匿名加密过程中,生成临时密钥对,且临时密钥对的私钥仅应用于服务器内部的读取和加密,从而可以进一步避免私钥被用户读取;同时,由于前述加密过程中会使用的是由私钥生成的共享密钥,而非私钥本
身,故而可以进一步防止私钥的泄露,提高私钥的安全性。
84.图3示出了本实施例提供的一种密钥对管理装置,包括密钥对生成模块301和索引更新模块302,其中:
85.所述密钥对生成模块301,用于基于接收到的密钥对生成指令生成密钥对,其中,所述密钥对生成指令包含有标签键值信息;
86.所述索引更新模块302,用于根据所述标签键值信息存储所述密钥对,并基于所述标签键值信息更新密钥对标签索引,其中,所述标签键值信息中的值为所述密钥对中的公钥。
87.可选的,所述密钥对生成模块301,用于:
88.基于所述密钥对生成指令生成第一随机数,对所述第一随机数进行加密处理,生成所述密钥对生成指令对应的密钥对。
89.可选的,还包括读取模块,用于:
90.当接收到第一密钥读取指令且所述密钥读取指令中携带有目标标签键值信息时,输出所述目标标签键值信息对应的第一目标公钥;
91.或者,
92.当接收到第二密钥读取指令且所述第二密钥读取指令未携带有目标标签键值信息时,输出当前已存储的所有公钥。
93.可选的,还包括数字签名模块,用于:
94.当接收到数字签名指令时,获取所述数字签名指令携带的第二目标公钥及需要进行数字签名的目标数据;
95.获取所述第二目标公钥对应的目标私钥,对所述目标私钥进行加密处理生成目标数字签名;
96.基于所述目标数字签名对所述目标数据进行签名,得到所述数字签名指令对应的签名结果,并输出所述签名结果。
97.可选的,所述数字签名模块,还用于:
98.接收签名验证指令,获取所述签名验证指令携带的所述第二目标公钥及需要进行数字签名的所述目标数据;
99.对所述第二目标公钥进行加密处理生成验证数字签名,并确定所述验证数字签名和所述目标数字签名的布尔值;
100.所述数字签名模块,还用于:
101.当所述布尔值为真时,基于所述目标数字签名对所述目标数据进行签名。
102.可选的,所述密钥对生成模块301,还用于:
103.当接收到共享密钥生成指令时,获取所述共享密钥生成指令携带的第一公钥及第二公钥,其中,所述第一公钥及为当前用户的公钥,所述第二公钥为目标通信用户的公钥;
104.获取所述第一公钥对应的第一私钥,并对所述第一私钥及所述第二公钥进行加密处理生成第一目标共享密钥,并输出所述第一目标共享密钥。
105.可选的,所述密钥对生成模块301,还用于:
106.当接收到匿名共享密钥生成指令时,基于所述匿名共享密钥生成指令生成第二随机数,对所述第二随机数进行加密处理,生成所述匿名共享密钥生成指令对应的临时密钥
对;
107.获取所述临时密钥对中的临时私钥,及所述匿名共享密钥生成指令携带的目标接收端的公钥;
108.对所述临时私钥及所述目标接收端的公钥进行加密处理,生成所述第二目标共享密钥,并输出所述第二目标共享密钥。
109.本实施例所述的密钥对管理装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。
110.参照图4,所述电子设备,包括:处理器(processor)401、存储器(memory)402和总线403;
111.其中,
112.所述处理器401和存储器402通过所述总线403完成相互间的通信;
113.所述处理器401用于调用所述存储器402中的程序指令,以执行上述各方法实施例所提供的方法。
114.本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。
115.本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法。
116.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
117.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
118.应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

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

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

相关文献