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

一种私钥存储方法、读取方法、管理装置、设备及介质与流程

2022-03-23 02:29:53 来源:中国专利 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.图1示出了本发明的私钥存储方法的较佳实施例的流程图。
35.图2示出了本发明的私钥存储方法的较佳实施例的步骤s11的子步骤流程图。。
36.图3示出了本发明的私钥存储方法的较佳实施例的步骤s12的子步骤流程图。
37.图4示出了本发明的私钥读取方法的较佳实施例的流程图。
38.图5示出了本发明的私钥管理装置的较佳的实施例的功能模块图。
39.图6示出了本发明的私钥管理方法的较佳实施例的电子设备的结构示意图。
具体实施方式
40.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
41.请参阅图1-6。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
42.用户私钥是用户用于对数据进行加密和解密的私钥加密算法,为用户所特有。用户需要对一些数据进行加密保护时可使用用户私钥进行加密,当用户需要使用该数据时,再使用用户私钥进行解密即可获取该数据。
43.私钥管理服务器是一个对各种私钥比如,密码,数字证书,等等密钥信息进行管理,授权,注销等管理的一个数据库系统,用户的私钥一般都是存储在服务器上,但是为了安全,私钥都会以密文的形式存在,但是一般都是采用固定的密钥对用户的私钥进行加密,然后再将密文存储到数据库中。为了解决现有技术中采用固定的密钥对用户的私钥进行加密,然后再将密文存储到数据库中,如果密文和加密的密钥同时泄露,别人是可以通过密钥解密密文的,导致用户的私钥泄露的问题。本技术设计了一种私钥管理方法,通过设计一套用于存储用于私钥的私钥管理服务器,私钥服务器和客户端之间采用https协议进行通信,保证通信过程的数据不会被人监听。
44.在本发明中,用户的私钥采用密文的形式存储在数据库中,对用户的私钥进行加密的密钥由两部分组成,一部分为用户注册时随机生成,另外一部分(登录密码)由用户自己保管,这样就可以保证即使数据库被人攻陷,由于密文的密钥有一部分是保存在用户手上,所以无法破解密文,不会导致用户的私钥泄露的问题。
45.所述私钥管理方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列(field-programmable gate array,fpga)、数字处理器(digital signal processor,dsp)、嵌入式设备等。
46.所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(personal digital assistant,pda)、游戏机、交互式网络电视(internet protocol television,iptv)、智能式穿戴式设备等。
47.所述电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloud computing)的由大量主机或网络服务器构成的云。
48.所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtual private network,vpn)等。
49.在本发明中,所述私钥管理方法包括私钥的存储方法和私钥的读取方法,下面将分别进行说明。
50.图1示出了本发明的私钥存储方法的较佳实施例的流程图。所述私钥存储方法包括如下步骤:
51.步骤s11、响应于私钥存储请求,获取用户输入的登录密码,并对所述登录密码进行加密处理以生成第一密钥;
52.步骤s12、根据所述第一密钥和所述数据库中预先存储的第二密钥生成完整密钥,所述第二密钥是用户注册时按照预设规则随机生成,并存储于所述数据库中;
53.步骤s13、利用所述完整密钥对用户的私钥进行加密,以生成私钥密文;
54.步骤s14、将所述私钥密文存储于所述私钥管理服务器的数据库中。
55.下面将结合图1-3来详细阐述本发明的私钥存储方法。
56.首先,执行步骤s11,响应于私钥存储请求,获取用户输入的登录密码,并对所述登录密码进行加密处理以生成第一密钥。图2示出了步骤s11的子流程图。如图2所示,响应于私钥存储请求,获取用户输入的登录密码,并对所述登录密码进行加密处理以生成第一密钥的步骤进一步可包括:
57.步骤s111、响应于私钥存储请求,接收用户输入的登录密码;
58.步骤s112、对所述登录密码进行对称加密以生成登录密码密文;
59.步骤s113、对所述登录密码密文进行哈希计算,以生成所述第一密钥。
60.具体地,当用户需要向私钥管理服务器存储用户的私钥时,用户需要通过用户端向私钥管理服务器发送私钥存储指令,私钥管理服务器会响应所述私钥存储指令提示用户输入登录密码,私钥管理服务器获取用户输入的登录密码,接着对接收到的所述登录密码进行aes(advanced encryption standard,高级加密标准)对称加密算法进行加密,以生成登录密码密文;最后通过sha256算法对所述登录密码密文进行哈希计算,以生成第一密钥。当然,也可以根据实际的信息安全性采用sha-224算法、sha-384算法、sha-512算法、md5算法或sm3算法作为散列函数对所述登录密码密文进行处理,生成哈希值,将该哈希值作为第一密钥。
61.需要说明的是,所述私钥管理服务器接收到的用户密码既可以是明文的用户密码,也可以是在用户端进行加密处理后的用户密码。
62.通过对用户的登录密码进行aes对称加密和sha256计算,可以做到最终生成的第一密钥数据和用户的登录密码不是同一个,且不可逆,这样能够防止传输或者使用过程中的泄漏,提高数据安全性。
63.私钥管理服务器和用户端之间采用https协议进行通信。https(全称:hyper text transfer protocol over securesocket layer),是以安全为目标的http通道,在http的基础上通过传输加密和身份认证保证了传输过程的安全性,能够保证通信过程的数据不会被人监听。
64.接着,执行步骤s12、据所述第一密钥和数据库中预先存储的第二密钥生成第一完整密钥,其中,所述第二密钥是用户注册时按照预设规则随机生成,并存储于数据库中。
65.图3示出了步骤s12中用户注册时按照预设规则随机生成第二密钥的子步骤流程图。如图3所示,用户注册时按照预设规则随机生成第二密钥可进一步包括:
66.步骤s121、用户注册时,生成一随机数;
67.步骤s122、对所述随机数进行对称加密,以生成随机数密文;
68.步骤s123、对所述随机数密文进行哈希计算,以生成所述第二密钥。
69.具体地,用户注册时,所述私钥管理服务器例如可以根据预设的规则首先生成32位(可根据需要进行配置)的随机数,接着可使用aes(advanced encryption standard,高级加密标准)对称加密算法对随机数进行加密,以生成随机数密文,最后,通过sha256算法对所述随机数密文进行哈希计算,以生成所述第二密钥,所述第二密钥生成后保存在所述私钥管理服务器的数据库中供后续私钥加密和解密时调用。当然,也可以根据实际的信息安全性采用sha-224算法、sha-384算法、sha-512算法、md5算法或sm3算法等哈希算法作为散列函数对所述随机数密文进行处理,生成哈希值,将该哈希值作为第二密钥。
70.所述私钥管理服务器可通过操作系统生成随机数或者采用量子密钥作为随机数。在一优选方案中,所述私钥管理服务器采用量子密钥作为随机数,和操作系统生成随机数不同,量子秘钥生成的随机数会更随机,可以保证随机数的真随机,提高数据安全性。
71.通过对随机数进行aes对称加密和sha256计算,可以做到最终生成的第二密钥数据和用户的登录密码不是同一个,且不可逆,这样能够防止传输或者使用过程中的泄漏,提高数据安全性。
72.根据所述第一密钥和所述私钥管理服务器的数据库中预先存储的第二密钥生成完整密钥的步骤包括,将所述第一密钥和所述第二密钥的字节序列相加,并进行哈希计算来生成所述完整密钥。
73.具体地,在本发明中,是首先将所述第一密钥和所述第二密钥所对应的字节序列相加,然后,通过sha512算法对相加后的字节序列进行哈希计算,以生成哈希值,将所述哈希值作为用于对用户的私钥进行加密的完整密钥。当然,也可以根据实际的信息安全性采用sha-224算法、sha-256算法、sha-384算法、md5算法或sm3算法作为散列函数对相加后的字节序列进行处理,生成哈希值,将该哈希值作为所述完整密钥,所述完整密钥保存于内存中,用于对用户的私钥进行加密处理。
74.通过对所述第一密钥和所述第二密钥所对应的字节序列相加后的字节序列进行哈希计算,可以做到最终生成的完整密钥数据和所述第一密钥和所述第二密钥所对应的字节序列相加后的数据不是同一个,且不可逆,提高数据安全性。
75.接着,执行步骤s13、利用所述完整密钥对用户的私钥进行加密,以生成私钥密文。具体地,可使用所述完整密钥对用户的私钥进行对称加密,以生成私钥密文。
76.最后,执行步骤s14、将所述私钥密文存储于所述数据库中,以保证私钥的安全。在将私钥密文存储于所述私钥管理服务器中时,同时生成索引信息,以便于后续用户读取私钥时索引查询私钥密文。
77.图4示出了本发明的私钥读取方法的较佳实施例的流程图。所述私钥的读取方法是私钥存储方法的逆向过程,所述私钥读取方法包括如下步骤:
78.步骤s21、响应于用户的私钥读取指令,获取用户登录时发送的登录密码,并对所述登录密码进行加密处理以重新生成第一密钥;
79.步骤s22、根据所述第一密钥和数据库中预先存储的第二密钥重新生成完整密钥,其中,所述第二密钥是用户注册时按照预设规则随机生成,并存储于数据库中;
80.步骤s23、根据所述私钥读取指令中的索引号从所述数据库中读取已加密的所述私钥密文,通过生成的所述完整密钥对所述私钥密文进行解密,以获取用户私钥;
81.步骤s24、获取用户的私钥后,将用户私钥返回给用户端。
82.下面将结合图4来详细阐述本发明的私钥读取方法。
83.首先,执行步骤s21、响应于用户的私钥读取指令,获取用户登录时发送的登录密码,并对所述登录密码进行加密处理以重新生成第一密钥。
84.具体地,当用户需要向私钥管理服务器读取用户的私钥时,用户需要通过用户端向私钥管理服务器发送私钥读取指令,私钥管理服务器响应所述私钥读取指令会提示用户输入登录密码,私钥管理服务器接收用户输入的登录密码,并对接收到的所述登录密码进行aes(advanced encryption standard,高级加密标准)对称加密算法进行加密,以生成登录密码密文;然后通过sha256算法对所述登录密码密文进行哈希计算,以重新生成第一密钥。当然,也可以根据实际的信息安全性采用sha-224算法、sha-384算法、sha-512算法、md5算法或sm3算法作为散列函数对所述登录密码密文进行处理,生成哈希值,将该哈希值作为第一密钥。
85.需要说明的是,所述私钥管理服务器接收到的用户密码既可以是明文的用户密码,也可以是在用户端进行加密处理后的用户密码。
86.通过对用户的登录密码进行aes对称加密和sha256计算,可以做到最终生成的第一密钥数据和用户的登录密码不是同一个,且不可逆,这样能够防止传输或者使用过程中的泄漏,提高数据安全性。
87.接着,执行步骤s22、根据所述第一密钥和所述数据库中预先存储的第二密钥重新生成完整密钥,其中,所述第二密钥是用户注册时按照预设规则随机生成,并存储于所述数据库中。
88.根据所述第一密钥和所述数据库中预先存储的第二密钥生成第一完整密钥的步骤包括,将所述第一密钥和所述第二密钥的字节序列相加,并进行哈希计算来生成所述完整密钥。
89.具体地,在本发明中,是首先将所述第一密钥和所述第二密钥所对应的字节序列相加,然后,通过sha512算法对相加后的字节序列进行哈希计算,以生成哈希值,将所述哈希值作为用于对用户的私钥密文进行解密的完整密钥,解密时的完整密钥与私钥存储时的完整密钥相同。当然,也可以根据实际的信息安全性采用sha-224算法、sha-256算法、sha-384算法、md5算法或sm3算法作为散列函数对相加后的字节序列进行处理,生成哈希值,将该哈希值作为所述完整密钥,所述完整密钥保存于内存中,用于对存在于私钥管理服务器的数据库中私钥密文进行解密处理,获取用户的私钥。
90.通过对所述第一密钥和所述第二密钥所对应的字节序列相加后的字节序列进行哈希计算,可以做到最终生成的完整密钥数据和所述第一密钥和所述第二密钥所对应的字节序列相加后的数据不是同一个,且不可逆,提高数据安全性。
91.接着,执行步骤s23、根据所述私钥读取指令中的索引号从所述数据库中读取已加密的所述私钥密文,通过生成的所述完整密钥对所述私钥密文进行解密,以获取用户私钥。
92.具体地,私钥读取指令中会包含用于需要读取的具体私钥的索引号,可以根据所述私钥读取指令中的索引号从所述私钥管理服务器的数据库中读取出存储的所述私钥密文,接着,利用相应的解密算法和所述完整密钥对所述私钥密文进行解密,以获取用户的私钥。
93.最后步骤s24、获取用户的私钥后,将用户私钥返回给用户端。
94.需要说明的是,用户在注册完成后可能存在忘记登录密码、变更登录密码的情况,这时,私钥管理服务器会在接收到用户的新的登录密码后,利用新的登录密码重新按照步骤s11-s14中的步骤对数据库存储的私钥进行重新加密存储。
95.需要说明的是,上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
96.需要说明的是,上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
97.如图5所示,是本发明的私钥管理装置的较佳的实施例的功能模块图。所述私钥管理装置包括:第一密钥模块111,第二密钥模块112,完整密钥模块113,私钥加密解密模块114,私钥存储模块115及私钥发送模块116。本发明所称的模块是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。所述私钥管理装置可以是私钥管理服务器,也可以是私钥管理服务器的一部分。
98.所述第一密钥模块111用于响应于用户的私钥存储读取指令或私钥用户的私钥读取指令,接收用户输入的登录密码,并对所述登录密码进行加密处理以生成第一密钥。
99.在本技术中,在私钥存储流程中,当用户需要向私钥管理服务器存储用户的私钥时,用户需要通过用户端向私钥管理服务器发送私钥存储指令,私钥管理服务器的所述第一密钥模块111会响应所述私钥存储指令提示用户输入登录密码,私钥管理服务器获取用户输入的登录密码,接着对接收到的所述登录密码进行aes(advanced encryption standard,高级加密标准)对称加密算法进行加密,以生成登录密码密文;最后通过sha256算法对所述登录密码密文进行哈希计算,以生成第一密钥。当然,也可以根据实际的信息安全性采用sha-224算法、sha-384算法、sha-512算法、md5算法或sm3算法作为散列函数对所述登录密码密文进行处理,生成哈希值,将该哈希值作为第一密钥。
100.在本技术中,在私钥读取流程中,当用户需要向私钥管理服务器读取用户的私钥时,用户需要通过用户端向私钥管理服务器发送私钥读取指令,私钥管理服务器的所述第一密钥模块111响应所述私钥读取指令会提示用户输入登录密码,私钥管理服务器接收用户输入的登录密码,并对接收到的所述登录密码进行aes(advanced encryption standard,高级加密标准)对称加密算法进行加密,以生成登录密码密文;然后通过sha256算法对所述登录密码密文进行哈希计算,以重新生成第一密钥。当然,也可以根据实际的信息安全性采用sha-224算法、sha-384算法、sha-512算法、md5算法或sm3算法作为散列函数对所述登录密码密文进行处理,生成哈希值,将该哈希值作为第一密钥。
101.需要说明的是,所述私钥管理服务器的所述第一密钥模块111接收到的用户密码既可以是明文的用户密码,也可以是在用户端进行加密处理后的用户密码。
102.通过对用户的登录密码进行aes对称加密和sha256计算,可以做到最终生成的第一密钥数据和用户的登录密码不是同一个,且不可逆,这样能够防止传输或者使用过程中
的泄漏,提高数据安全性。
103.私钥管理服务器和用户端之间采用https协议进行通信。https(全称:hyper text transfer protocol over securesocket layer),是以安全为目标的http通道,在http的基础上通过传输加密和身份认证保证了传输过程的安全性,能够保证通信过程的数据不会被人监听。
104.所述第二密钥模块112用于在用户注册时按照预设规则随机生成第二密钥,并将所述第二密钥存储于数据库中。所述第二密钥模块112在用户注册时按照预设规则随机生成第二密钥的流程如下:首先,用户注册时,所述第二密钥模块112生成一随机数;接着,对所述随机数进行对称加密,以生成随机数密文;最后,对所述随机数密文进行哈希计算,以生成所述第二密钥。
105.具体地,用户注册时,所述第二密钥模块112例如可以根据预设的规则首先生成32位(可根据需要进行配置)的随机数,接着可使用aes(advanced encryption standard,高级加密标准)对称加密算法对随机数进行加密,以生成随机数密文,最后,通过sha256算法对所述随机数密文进行哈希计算,以生成所述第二密钥,所述第二密钥生成后保存在所述数据库中供后续私钥加密和解密时调用。当然,也可以根据实际的信息安全性采用sha-224算法、sha-384算法、sha-512算法、md5算法或sm3算法等哈希算法作为散列函数对所述随机数密文进行处理,生成哈希值,将该哈希值作为第二密钥。
106.所述第二密钥模块112可通过操作系统生成随机数或者采用量子密钥作为随机数。在一优选方案中,所述第二密钥模块112采用量子密钥作为随机数,和操作系统生成随机数不同,量子秘钥生成的随机数会更随机,可以保证随机数的真随机,提高数据安全性。
107.通过对随机数进行aes对称加密和sha256计算,可以做到最终生成的第二密钥数据和用户的登录密码不是同一个,且不可逆,这样能够防止传输或者使用过程中的泄漏,提高数据安全性。
108.完整密钥模块113用于根据所述第一密钥和所述数据库中预先存储的第二密钥生成完整密钥,例如可将所述第一密钥和所述第二密钥的字节序列相加,并进行哈希计算来生成所述完整密钥。
109.具体地,在本发明中,第二密钥模块112是首先将所述第一密钥和所述第二密钥所对应的字节序列相加,然后,通过sha512算法对相加后的字节序列进行哈希计算,以生成哈希值,将所述哈希值作为用于对用户的私钥进行加密的完整密钥。当然,也可以根据实际的信息安全性采用sha-224算法、sha-256算法、sha-384算法、md5算法或sm3算法作为散列函数对相加后的字节序列进行处理,生成哈希值,将该哈希值作为所述完整密钥,所述完整密钥保存于内存中,用于对用户的私钥进行加密处理。
110.通过对所述第一密钥和所述第二密钥所对应的字节序列相加后的字节序列进行哈希计算,可以做到最终生成的完整密钥数据和所述第一密钥和所述第二密钥所对应的字节序列相加后的数据不是同一个,且不可逆,提高数据安全性。
111.所述私钥加密解密模块114在私钥存储时,用于利用所述完整密钥对用户的私钥进行加密以生成私钥密文,并通过私钥存储模块115将所述私钥密文存储于所述数据库中。具体地,所述私钥加密解密模块114在私钥存储时,可使用所述完整密钥对用户的私钥进行对称加密,以生成私钥密文。
112.所述私钥加密解密模块114在私钥读取时,用于根据所述私钥读取指令中的索引号从所述数据库中读取对应的私钥密文,通过生成的所述完整密钥对所述私钥密文进行解密,以获取用户私钥,并通过所述私钥发送模块116将解密后获取的用户私钥返回给用户端。
113.具体地,私钥读取指令中会包含用于需要读取的具体私钥的索引号,所述私钥加密解密模块114可以根据所述私钥读取指令中的索引号从所述数据库中读取出存储的所述私钥密文,接着,利用相应的解密算法和所述完整密钥对所述私钥密文进行解密,以获取用户的私钥。
114.需要说明的是,用户在注册完成后可能存在忘记登录密码、变更登录密码的情况,这时,私钥管理服务器会在接收到用户的新的登录密码后,利用新的登录密码重新调用第一密钥模块111,第二密钥模块112,完整密钥模块113,私钥加密解密模块114,私钥存储模块115对数据库存储的私钥进行重新加密存储。
115.需要说明的是,上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
116.需要说明的是,本实施例的私钥管理装置是与上述私钥管理方法相对应的装置,私钥管理装置中的功能模块或者分别对应私钥管理方法中的相应步骤。本实施例的私钥管理装置可与私钥管理方法相互相配合实施。相应地,本实施例的私钥管理装置中提到的相关技术细节也可应用在上述私钥管理方法中。
117.需要说明的是,上述的各功能模块实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的部分或全部步骤,或以上的各功能模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
118.如图6所示,是本发明实现私钥管理方法的较佳实施例的电子设备的结构示意图。
119.所述电子设备1可以包括存储器12、处理器13和总线,还可以包括存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如私钥管理程序。
120.其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。存储器12在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,存储器12还可以既包括电子设备1的内部存储单元也包括外部存储设备。存储器12不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如基于私钥管理程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
121.处理器13在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路
所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器13是所述电子设备1的控制核心(control unit),利用各种接口和线路连接整个电子设备1的各个部件,通过运行或执行存储在所述存储器12内的程序或者模块(例如执行体检报告校验程序等),以及调用存储在所述存储器12内的数据,以执行电子设备1的各种功能和处理数据。
122.所述处理器13执行所述电子设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个私钥存储方法及私钥读取方法实施例中的步骤,例如图1及图4所示的步骤。
123.示例性的,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备1中的执行过程。例如,所述计算机程序可以被分割成第一密钥模块111,第二密钥模块112,完整密钥模块113,私钥加密解密模块114,私钥存储模块115及私钥发送模块116。
124.上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、计算机设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述私钥管理方法的部分功能。
125.总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,在图6中仅用一根箭头表示,但并不表示仅有一根总线或一种类型的总线。所述总线被设置为实现所述存储器12以及至少一个处理器13等之间的连接通信。
126.本发明的私钥存储方法、读取方法、管理装置、设备及介质,用户的私钥加密存储在私钥管理服务器的数据库中,且加密的密钥由两部分组成,一部分由私钥管理服务器随机生成,另外一部分由用户自己保管,这样就可以保证即使数据库被人攻陷,由于私钥密文的密钥有一部分是保存在用户手上,所以无法破解密文,不会导致用户的私钥泄露的问题,能够提高私钥存储的安全性。
127.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
128.以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
再多了解一些

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

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

相关文献