区块链密钥托管方法、系统、终端设备及存储介质与流程

专利查询3月前  32



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.此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述 计算机可读存储介质上存储有区块链密钥托管的程序,所述区块链密钥托管 的程序被处理器执行时实现如上所述的区块链密钥托管方法的步骤。
41.本发明实施例提出的区块链密钥托管方法、系统、终端设备及存储介质, 接收密钥创建请求;通过所述硬件加密机基于所述密钥创建请求的信息进行 处理,生成用户密钥;通过所述硬件加密机对所述用户密钥进行加密,生成 第一密钥密文。通过上述方式,本
发明通过硬件加密机对生成用户密钥并对 其进行加密,并且加密过程只在硬件加密机里可见,加强用户密钥的安全性, 提高密钥托管与使用的安全性、可靠性。
附图说明
42.图1为本发明区块链密钥托管装置所属终端设备的功能模块示意图;
43.图2为本发明区块链密钥托管方法涉及的系统架构示意图;
44.图3为本发明区块链密钥托管方法第一实施例的流程示意图;
45.图4为本发明区块链密钥托管方法第二实施例的流程示意图;
46.图5为本发明区块链密钥托管方法第三实施例的流程示意图。
47.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步 说明。
具体实施方式
48.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限 定本发明。
49.本发明实施例的主要解决方案是:接收密钥创建请求;通过所述硬件加 密机基于所述密钥创建请求的信息进行处理,生成用户密钥;通过所述硬件 加密机对所述用户密钥进行加密,生成第一密钥密文。
50.本发明实施例涉及的技术术语:
51.api:(application programming interface,应用程序接口)是一些预先定 义的接口(如函数、http接口),或指软件系统不同组成部分衔接的约定。 无需访问源码,或理解内部工作机制的细节,即可提供应用程序与开发人员 基于某软件或硬件得以访问的一组例程。
52.rsa算法:rsa公开密钥密码体制是一种使用不同的加密密钥与解密密 钥,“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。它通 常是先生成一对rsa密钥,其中之一是保密密钥,由用户保存;另一个为公 开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,rsa 密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。为 减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结 合的方式,即信息采用改进的des或idea对话密钥加密,然后使用rsa密 钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对 信息摘要。
53.secp256k1:secp256k1为基于fp有限域上的椭圆曲线,由于其 特殊构造的特殊性,其优化后的实现比其他曲线性能上可以特高30%。
54.国密sm2:sm2算法和rsa算法都是公钥密码算法,sm2算法是一种 更先进安全的算法,在我们国家商用密码体系中被用来替换rsa算法。
55.ak/sk:(access key/secret key)存取键/密钥。
56.密钥:是一种参数,它是在明文转换为密文或将密文转换为明文的算法 中输入的参数。
57.id:(identity document),是身份证标识号、账号、唯一编码、专属号码、 工业设计、国家简称、法律词汇、通用账户、译码器、软件公司等各类专有 词汇的缩写。身份标识号码。也称为序列号或帐号,是某个体系中相对唯一 的编码,相当于是一种“身份证”在某一
具体的事物中,身份标识号一般是 不变的,至于用什么来标识该事物,则由设计者自己制定的规则来确定。
58.mysql:mysql是一种关系型数据库管理系统,关系数据库将数据保存 在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并 提高了灵活性。
59.sql server:是一个全面的数据库平台,使用集成的商业智能(bi)工具提 供了企业级的数据管理。microsoft sql server数据库引擎为关系型数据和结 构化数据提供了更安全可靠的存储功能。
60.oracle:是一款关系数据库管理系统。它是在数据库领域一直处于领先地 位的产品。oracle数据库系统可移植性好、使用方便、功能强,适用于各类 大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数 据库方案。
61.在区块链领域中,密钥包括私钥和公钥。私钥的安全保管和使用是关系 着账户数字资产和隐私数据的核心环节,拥有私钥就代表拥有该账户的一切, 私钥的丢失或被盗将给用户带来不可挽回的损失,因此如何安全、可靠的保 管和使用私钥是每个用户都要面临的问题。目前,从私钥的存储位置划分, 可分为自保管和托管两种存储方式。
62.(1)自保管方式:用户一般采用纸质或冷钱包等离线的方式存储私钥。 此类方式因为不联网而具有更高的防盗安全性,但是用于存储的物理设备存 在容易丢失或损坏,并且保管成本高的缺陷。
63.(2)托管方式:托管方式又可划分为基于软件的托管方式和基于硬件的 托管方式。
64.基于软件的托管方式:目前大多数方案或产品采用软件的方式对私钥进 行分片、加密,然后存储,但是,这类方式仍然存在私钥被人为逆向解密而 发生泄漏的缺陷。在一些不规范、不具备高信任背书的产品中,这种缺陷尤 为突出。
65.基于硬件的托管方式:目前多数产品采用全密钥保管在硬件加密机里, 这种方案存在存储私钥数量有限,且存储成本随着存储数量线性增加的缺陷。
66.本发明提供一种解决方案,解决目前在许多区块链私钥的保管方案或产 品中,其保管方案或产品质量参差不齐,且在防盗和防丢失方面都存在或多 或少的缺陷的问题,满足用户对私钥安全、可靠和高性能保管和使用的需求。
67.具体地,参照图1,图1是本发明区块链密钥托管装置所属终端设备的功 能模块示意图。该区块链密钥托管装置可以为独立于终端设备的、能够进行 图片处理、网络模型训练的装置,其可以通过硬件或软件的形式承载于终端 设备上。该终端设备可以为手机、平板电脑等具有数据处理功能的智能移动 终端,还可以为具有数据处理功能的固定终端设备或服务器等。
68.在本实施例中,该区块链密钥托管装置所属终端设备至少包括输出模块 110、处理器120、存储器130以及通信模块140。
69.存储器130中存储有操作方法以及区块链密钥托管程序,区块链密钥托 管装置可以接收用户的密钥创建请求、密钥运算请求,并对密钥创建请求、 密钥运算请求进行处理,得到密钥的相关信息,并将密钥的相关信息存储于 该存储器130中;输出模块110可为显示屏等。通信模块140可以包括wifi 模块、移动通信模块以及蓝牙模块等,通过通信模块140与外部设备或服务 器进行通信。
70.其中,存储器130中的区块链密钥托管程序被处理器执行时实现以下步 骤:
71.接收密钥创建请求;
72.通过所述硬件加密机基于所述密钥创建请求的信息进行处理,生成用户 密钥;
73.通过所述硬件加密机对所述用户密钥进行加密,生成第一密钥密文。
74.进一步地,存储器130中的区块链密钥托管程序被处理器执行时实现以 下步骤:
75.通过所述硬件加密机的内部主密钥对所述用户密钥进行加密,生成所述 第一密钥密文。
76.进一步地,存储器130中的区块链密钥托管程序被处理器执行时实现以 下步骤:
77.将所述第一密钥密文存储至数据库,并生成对应的密钥账号;
78.向用户返回秘钥创建响应,其中,所述秘钥创建响应中包括所述密钥账 号。
79.进一步地,存储器130中的区块链密钥托管程序被处理器执行时实现以 下步骤:
80.接收密钥运算请求,所述密钥运算请求包括密钥账号;
81.基于所述密钥运算请求的密钥账号,从所述数据库获取相应的密钥密文, 作为第二密钥密文;
82.对所述第二密钥密文进行运算,得到运算结果并输出。
83.进一步地,存储器130中的区块链密钥托管程序被处理器执行时实现以 下步骤:
84.通过所述主密钥对所述第二密钥密文解密,得到密钥明文;
85.对所述密钥明文根据所述运算类型进行密码学运算,得到运算结果并输 出。
86.进一步地,存储器130中的区块链密钥托管程序被处理器执行时实现以 下步骤:
87.接收用户的注册请求;
88.根据所述注册请求生成访问密钥身份凭证并向所述用户返回所述访问密 钥身份凭证。
89.进一步地,存储器130中的区块链密钥托管程序被处理器执行时实现以 下步骤:
90.校验所述密钥创建请求的访问密钥身份凭证;
91.若校验通过,则执行步骤:通过所述硬件加密机基于所述密钥创建请求 的信息生成用户密钥;
92.若校验不通过,则拒绝所述密钥创建请求。
93.进一步地,存储器130中的区块链密钥托管程序被处理器执行时实现以 下步骤:
94.校验所述密钥运算请求的访问密钥身份凭证;
95.若校验通过,则执行步骤:基于所述密钥运算请求的密钥账号,从所述 数据库获取相应的密钥密文,作为第二密钥密文;
96.若校验不通过,则拒绝所述密钥运算请求。
97.本实施例通过上述方案,具体通过接收密钥创建请求;通过所述硬件加 密机基于所述密钥创建请求的信息进行处理,生成用户密钥;通过所述硬件 加密机对所述用户密钥进行加密,生成第一密钥密文。本发明解决了在区块 链密钥的托管方案或产品中,安全性方面存在缺陷的问题,通过硬件加密机 基于密钥创建请求的信息对用户密钥加密,可杜绝密钥被人为解密盗取,提 高密钥保管与使用的安全性、可靠性。
98.参照图2,图2为本发明区块链密钥托管方法涉及的系统的架构示意图。
99.在本实施例中,本实施例的区块链密钥托管方法涉及的系统架构包括服 务端、数
据库、硬件加密机,其中:
100.对于服务端,用于接收密钥创建请求;
101.对于硬件加密机,用于基于所述密钥创建请求的信息进行处理,生成用 户密钥;对所述用户密钥进行加密,生成第一密钥密文。
102.(1)服务端
103.服务端负责整个系统的管理功能,包括用户认证、私钥创建、私钥使用 等功能。
104.其中,用户认证子模块的功能包括:用户的注册、api接口调用的身份认 证。
105.私钥创建子模块的功能包括:为用户提供创建私钥,其中私钥的算法包 括rsa算法、specp256k1算法、国密sm2等算法。
106.私钥运算子模块的功能包括:为用户提供各种密码学运算,密码学运算 包括哈希运算、对称加解密运算、非对称签名验签运算。
107.(2)数据库
108.数据库负责存储用户认证信息和私钥密文数据,并可根据私钥的数据灵 活扩展,进而提供高性能、大容量的存储能力。
109.(3)硬件加密机
110.硬件加密机负责加密和解密用户私钥,并在其内部完成相关密码学运算。
111.硬件加密机外部只能接收到主密钥加密后的用户私钥密文,同时,用户 私钥密钥只能在加密机内部完成解密,并在内部进行相关密码学运算。这样 就能通过硬件保证用户私钥明文全流程对外部都是不可见的。
112.作为一种实施方式,在本实施例中,若用户为新用户,则服务端需先接 收用户注册请求,再接收密钥创建请求。
113.具体地,首先,服务端接收新用户的用户注册请求;然后,根据用户注 册请求的相关信息生成一对访问密钥对ak/sk(access key/secret key),访问 密钥对ak/sk再签发身份凭证;最后,服务端将此ak/sk、ak/sk签发的 身份凭证反馈至用户,用户需自行保存此ak/sk以及ak/sk签发的身份凭 证。
114.若用户已认证,则服务端直接接收用户提交的用户注册的api请求。
115.具体地,服务端接收用户提交私钥创建的api请求,请求信息包括:私 钥的算法类型、ak/sk签发的身份凭证。
116.其中,私钥的算法类型包括rsa算法、specp256k1算法、国密sm2 等算法。
117.进一步地,服务端接收私钥创建请求,首先校验身份凭证,若认证不通 过,则拒绝私钥创建请求。
118.若认证通过,则向硬件加密机提交私钥创建请求。
119.进一步地,硬件加密机接收私钥创建请求。
120.首先,硬件加密机根据私钥创建请求的私钥算法类型生成指定算法类型 的用户私钥;然后,使用硬件加密机内部主密钥对用户私钥进行加密,并将 私钥密文输出。
121.进一步地,服务端接收私钥密文请求,将私钥密文存储至数据库,并接 收私钥密文的id,然后将私钥id反馈给用户。
122.其中,数据库为外接数据库,数据库包括mysql、sql server、oracle等 数据库。
123.由此,采用硬件加密机保管主密钥,用户私钥被主密钥加密后存储在外 接数据库
里的方案,使得私钥存储数量不受硬件加密机的限制,并且可灵活 扩容,提高密钥托管的安全性、可靠性。
124.进一步地,用户接收私钥创建响应,接收到私钥id后由用户自行负责保 管。
125.进一步地,服务端接收用户向服务端提交私钥运算的api请求,请求信 息包括:私钥id、运算类型、待运算数据、ak/sk签发的身份凭证。
126.其中,运算类型包括哈希运算、对称加解密运算和非对称签名验签运算。
127.进一步地,服务端首先校验身份凭证,若认证不通过,则拒绝私钥运算 的api请求。若认证通过,则根据私钥id从数据库接收对应私钥的密文,然 后提交请求至硬件加密机。
128.进一步地,硬件加密机接收到私钥密文后,首先,通过主密钥解密私钥 密文,从而得到私钥明文;然后,对私钥明文完成相关密码学运算,并将运 算结果返回至服务端。
129.其中,根据私钥密文请求的运算类型对私钥明文完成相关密码学运算, 运算类型包括哈希运算、对称加解密运算、非对称签名验签运算等运算。
130.进一步地,服务端接收到私钥运算结果后返回给用户,用户接收私钥运 算响应,接收运算结果。
131.由此,以通用的api接口方式提供服务,用户可简单快速地访问和使用 服务,全链路私钥明文只在硬件加密机内部可见,从根本上防止私钥被人为 恶意地解密盗取;采用多集群备份的灵活架构,保证私钥数据可靠存储不被 丢失,系统的整体交易性能高且可以灵活扩容,提高密钥托管的安全性、可 靠性。
132.本实施例通过上述方案,具体通过接收密钥创建请求;通过所述硬件加 密机基于所述密钥创建请求的信息进行处理,生成用户密钥;通过所述硬件 加密机对所述用户密钥进行加密,生成第一密钥密文。本发明解决了在区块 链密钥的托管方案或产品中,密钥的保管和使用在安全性方面存在缺陷的问 题,采用基于硬件加密机结合数据库的架构,其中,私钥明文全链路只在加 密机里可见,保证私钥不被泄漏,并且用户私钥加密后存储在外接数据库, 私钥的存储数量不受限且可灵活扩容;采用多集群备份的架构,保证私钥数 据可靠存储不被丢失;提高密钥保管与使用的安全性、可靠性。
133.基于上述终端设备架构但不限于上述架构,提出本发明方法实施例。
134.参照图3,图3为本发明区块链密钥托管方法第一实施例的流程示意图。 所述区块链密钥托管方法包括:
135.步骤s101,接收密钥创建请求。
136.本实施例方法的执行主体可以是一种区块链密钥托管装置,也可以是一 种区块链密钥托管终端设备或服务器,本实施例以区块链密钥托管装置进行 举例,该图片修复装置可以集成在具有数据处理功能的智能手机、平板电脑 等终端设备上。
137.本实施例方案主要实现对区块链密钥进行托管,首先,接收密钥创建请 求;并基于所述密钥创建请求得到用户密钥、密钥密文。
138.其中,本实施例的信息分析方法涉及的系统架构包括服务端、数据库、 硬件加密机。
139.(1)服务端
140.服务端负责整个系统的管理功能,包括用户认证、密钥创建、密钥运算。
141.其中,用户认证子模块的功能包括:用户的注册、api接口调用的身份认 证。
142.密钥创建子模块的功能包括:为用户提供创建密钥。
143.密钥运算子模块的功能包括:为用户提供各种密码学运算。
144.(2)数据库
145.数据库负责存储用户认证信息和密钥密文数据,并且可以根据密钥的数 据灵活扩展,进而提供高性能、大容量的存储能力。
146.(3)硬件加密机
147.硬件加密机负责加密和解密用户密钥,并在硬件加密机内部完成相关的 密码学运算。
148.硬件加密机外部只能接收到主密钥加密后的用户密钥密文,同时,用户 密钥密文只能在硬件加密机内部完成解密,并且只能在硬件加密机内部进行 相关密码学运算。这样就能通过硬件保证用户密钥明文全流程对外部都是不 可见的。
149.作为一种实施方式,在本实施例中,若用户为新用户,则服务端需先接 收用户注册请求,再接收密钥创建请求。
150.具体地,首先,服务端接收新用户的用户注册请求;然后,根据用户注 册请求的相关信息生成一对访问密钥对ak/sk(access key/secret key),访问 密钥对ak/sk再签发身份凭证,作为访问密钥身份凭证;最后,服务端将此 ak/sk、访问密钥身份凭证反馈至用户,用户需自行保存此ak/sk以及访问 密钥身份凭证。
151.进一步地,服务端接收密钥创建请求,其中,密钥创建请求包含密钥的 算法类型、访问密钥身份凭证等信息,密钥创建请求通过api接口的方式进 行传输。
152.进一步地,服务端对密钥创建请求的信息进行处理,处理完成后,将密 钥创建请求发送至硬件加密机。
153.其中,处理过程包括校验访问密钥身份凭证。
154.若校验通过,则提交密钥创建请求至硬件加密机;
155.若校验不通过,则拒绝密钥创建请求。
156.作为另一种实施方式,在本实施例中,若用户已注册,则服务端先接收 密钥创建请求,其中,密钥创建请求包含密钥的算法类型、访问密钥身份凭 证等信息,密钥创建请求通过api接口的方式进行传输。
157.然后,服务端对密钥创建请求的信息进行处理,处理完成后,将密钥创 建请求发送至硬件加密机。
158.其中,处理过程包括校验访问密钥身份凭证。
159.若校验通过,则提交密钥创建请求至硬件加密机;
160.若校验不通过,则拒绝密钥创建请求。
161.由此,以通用的api接口方式提供服务,使用户可以更简单快速地访问 和使用服务,提高密钥托管的安全性、可靠性。
162.步骤s102,通过所述硬件加密机基于所述密钥创建请求的信息进行处理, 生成用户密钥;
163.步骤s103,通过所述硬件加密机对所述用户密钥进行加密,生成第一密 钥密文。
164.作为一种实施方式,在本实施例中,硬件加密机接收密钥创建请求,并 根据预设
算法生成用户密钥,其中,预设算法为密钥创建请求信息的算法类 型,包括rsa算法、specp256k1算法和国密sm2等算法。
165.然后,硬件加密机对用户密钥加密,生成密钥密文,作为第一密钥密文, 并将第一密钥密文输送至服务端。
166.由此,通过硬件加密机对用户密钥进行加密,杜绝密钥被人为解密盗取, 保证密钥的创建过程只能在加密机内部可见,提高密钥托管的安全性、可靠 性。
167.本实施例通过上述方案,具体通过接收密钥创建请求;通过所述硬件加 密机基于所述密钥创建请求的信息进行处理,生成用户密钥;通过所述硬件 加密机对所述用户密钥进行加密,生成第一密钥密文。本发明解决了在区块 链密钥的托管方案或产品中,安全性方面存在缺陷的问题,通过硬件加密机 对用户密钥进行加密,并且加密过程只发生在硬件加密机内部,提高密钥保 管与使用的安全性、可靠性。
168.基于上述图3所示的实施例,在本实施例中,步骤s103:通过所述硬件 加密机对所述用户密钥进行加密,生成第一密钥密文中包括:
169.步骤s1031,通过所述硬件加密机的内部主密钥对所述用户密钥进行加密, 生成所述第一密钥密文。
170.作为一种实施方式,在本实施例中,硬件加密机内部初始化内置主密钥, 并保证主密钥不泄漏于加密机外部。硬件加密机使用内部主密钥对用户密钥 加密,生成密钥密文,并将密钥密文输送至服务端。
171.其中,本实施例的信息分析方法涉及的系统架构包括至少一个硬件加密 机,每个硬件加密机内部初始化内置主密钥。
172.由此,通过硬件加密机内置的主密钥对用户密钥进行加密,保证密钥的 创建过程只能在加密机内部可见,杜绝密钥被人为解密盗取,提高密钥托管 的安全性、可靠性。
173.作为另一种实施方式,在本实施例中,硬件加密机从数据库获取主密钥。 硬件加密机使用主密钥对用户密钥加密,生成密钥密文,并将密钥密文输送 至服务端。
174.本实施例通过上述方案,具体通过接收密钥创建请求;通过所述硬件加 密机基于所述密钥创建请求的信息进行处理,生成用户密钥;通过所述硬件 加密机对所述用户密钥进行加密,生成第一密钥密文。本发明解决了在区块 链密钥的托管方案或产品中,安全性方面存在缺陷的问题,在硬件加密机内 部初始化内置主密钥,并保证主密钥不泄漏于加密机外部,杜绝密钥被人为 解密盗取,提高密钥托管的安全性、可靠性。
175.参考图4,图4为本发明区块链密钥托管方法第二实施例的流程示意图。 基于上述图3所示的实施例,在本实施例中,步骤s103:通过所述硬件加密 机对所述用户密钥进行加密,生成第一密钥密文之后包括:
176.步骤s104,将所述第一密钥密文存储至数据库,并生成对应的密钥账号;
177.步骤s105,向用户返回秘钥创建响应,其中,所述秘钥创建响应中包括 所述密钥账号。
178.作为一种实施方式,在本实施例中,服务端接收到第一密钥密文,将第 一密钥密文存储至外接数据库,获取密钥的id,并且将密钥的id携带在密钥 创建响应返回给用户,其中,数据库包括mysql、sql server、oracle等数据 库,密钥的id作为密钥账号。
179.作为另一种实施方式,在本实施例中,服务端接收到密钥密文,将密钥 密文存储
至内接数据库,获取密钥的id,并且将密钥的id输出携带在密钥创 建响应返回给用户,其中,数据库包括mysql、sql server、oracle等数据库, 密钥的id作为密钥账号。
180.由此,通过将密钥密文存储至外接数据库,使得密钥的存储数量不受硬 件加密机的限制,并且可灵活扩容,提高密钥托管的安全性、可靠性。
181.本实施例通过上述方案,具体通过接收密钥创建请求;通过所述硬件加 密机基于所述密钥创建请求的信息进行处理,生成用户密钥;通过所述硬件 加密机对所述用户密钥进行加密,生成第一密钥密文。本发明解决了在区块 链密钥的托管方案或产品中,安全性方面存在缺陷的问题,通过将密钥密文 存储至外接数据库,使得密钥的存储数量不受硬件加密机的限制,并且可灵 活扩容,提高密钥托管的安全性、可靠性。
182.参照图5,图5为本发明区块链密钥托管方法第三实施例的流程示意图。 基于上述图4所示的实施例,在本实施例中,步骤s105:向用户返回秘钥创 建响应,其中,所述秘钥创建响应中包括所述密钥账号之后包括:
183.步骤s106,接收密钥运算请求,所述密钥运算请求包括密钥账号;
184.步骤s107,基于所述密钥运算请求的密钥账号,从所述数据库获取相应 的密钥密文,作为第二密钥密文。
185.作为一种实施方式,在本实施例中,首先,服务端接收密钥运算请求, 其中,密钥运算请求包含访问密钥身份凭证、密钥id、密钥的运算类型、待 运算数据等信息,密钥运算请求通过api接口的方式进行传输,密钥的运算 类型包括哈希运算、对称加解密运算、非对称签名验签运算等运算。
186.然后,服务端对密钥身份凭证进行处理,处理过程包括校验访问密钥身 份凭证。
187.进一步地,若校验通过,则根据密钥运算请求的信息从数据库中获取相 应的密钥密文,作为第二密钥密文,并将密钥密文与密钥运算请求发送至硬 件加密机。
188.其中,根据密钥运算请求的密钥id从存储密钥密文的数据库中接收相应 的密钥密文;数据库包括mysql、sql server、oracle等数据库。
189.若校验不通过,则拒绝密钥运算请求。
190.由此,以通用的api接口方式提供服务,使用户可以更简单快速地访问 和使用服务;采用多集群备份的灵活架构,保证密钥数据可靠存储不被丢失, 系统的整体交易性能高且可以灵活扩容,提高密钥托管的安全性、可靠性。
191.步骤s108,对所述第二密钥密文进行运算,得到运算结果并输出。
192.作为一种实施方式,在本实施例中,首先,硬件加密机先对第二密钥密 文进行解密,得到密钥明文;然后根据密钥运算请求的信息对密钥明文进行 运算,得到运算结果并输出至服务端;最后,服务端将运算结果反馈给用户。
193.具体地,在本实施例中,硬件加密机接收到第二密钥密文后,首先,通 过主密钥解密密钥密文得到密钥明文;然后,基于密钥运算请求的信息对密 钥明文完成相应的密码学运算,并将运算结果反馈至服务端,服务端将运算 结果反馈至客户。
194.其中,密码学运算包含于密钥运算请求,密码学运算包括哈希运算、对 称加解密运算、非对称签名验签运算等运算。
195.由此,通过硬件加密机内置的主密钥对密钥进行解密,保证密钥的运算 过程只能在加密机内部可见,杜绝密钥被人为解密盗取,提高密钥托管的安 全性、可靠性。
196.本实施例通过上述方案,具体通过接收密钥创建请求;通过所述硬件加 密机基于所述密钥创建请求的信息进行处理,生成用户密钥;通过所述硬件 加密机对所述用户密钥进行加密,生成第一密钥密文。本发明解决了区块链 私钥如何安全可靠地保管和使用的问题,通过硬件加密机内置的主密钥对密 钥进行解密,保证密钥的运算过程只能在加密机内部可见,杜绝密钥被人为 解密盗取,提高密钥托管的安全性、可靠性。
197.此外,本发明实施例还提出一种终端设备,所述终端设备包括存储器、 处理器及存储在所述存储器上并可在所述处理器上运行的区块链密钥托管程 序,所述区块链密钥托管程序被所述处理器执行时实现如上所述的区块链密 钥托管方法的步骤。
198.由于本区块链密钥托管程序被处理器执行时,采用了前述所有实施例的 全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有 有益效果,在此不再一一赘述。
199.此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读 存储介质上存储有区块链密钥托管程序,所述区块链密钥托管程序被处理器 执行时实现如上所述的区块链密钥托管方法的步骤。
200.由于本区块链密钥托管程序被处理器执行时,采用了前述所有实施例的 全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有 有益效果,在此不再一一赘述。
201.相比现有技术,本发明提供的一种区块链密钥托管方法、系统、终端设 备及存储介质。该方法包括:接收密钥创建请求;通过所述硬件加密机基于 所述密钥创建请求的信息进行处理,生成用户密钥;通过所述硬件加密机对 所述用户密钥进行加密,生成第一密钥密文。本发明解决了在区块链密钥的 托管方案或产品中,密钥的保管和使用在安全性方面存在缺陷的问题,提高 密钥保管与使用的安全性、可靠性。
202.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在 涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者方 法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括 为这种过程、方法、物品或者方法所固有的要素。在没有更多限制的情况下, 由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物 品或者方法中还存在另外的相同要素。
203.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
204.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述 实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通 过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的 技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在如上的一个存储介质(如rom/ram、磁碟、 光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器, 被控终端,或者网络设备等)执行本发明每个实施例的方法。
205.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是 利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间 接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

技术特征:
1.一种区块链密钥托管方法,其特征在于,所述区块链密钥托管方法应用于区块链密钥托管系统,所述区块链密钥托管系统包括硬件加密机,所述方法包括如下步骤:接收密钥创建请求;通过所述硬件加密机基于所述密钥创建请求的信息进行处理,生成用户密钥;通过所述硬件加密机对所述用户密钥进行加密,生成第一密钥密文。2.根据权利要求1所述的区块链密钥托管方法,其特征在于,所述通过所述硬件加密机对所述用户密钥进行加密,生成第一密钥密文的步骤中包括:通过所述硬件加密机的内部主密钥对所述用户密钥进行加密,生成所述第一密钥密文。3.根据权利要求1所述的区块链密钥托管方法,其特征在于,所述通过所述硬件加密机对所述用户密钥进行加密,生成第一密钥密文的步骤之后包括:将所述第一密钥密文存储至数据库,并生成对应的密钥账号;向用户返回秘钥创建响应,其中,所述秘钥创建响应中包括所述密钥账号。4.根据权利要求3所述的区块链密钥托管方法,其特征在于,所述向用户返回秘钥创建响应,其中,所述秘钥创建响应中包括所述密钥账号的步骤之后包括:接收密钥运算请求,所述密钥运算请求包括密钥账号;基于所述密钥运算请求的密钥账号,从所述数据库获取相应的密钥密文,作为第二密钥密文;对所述第二密钥密文进行运算,得到运算结果并输出。5.根据权利要求2所述的区块链密钥托管方法,其特征在于,所述密钥运算请求包括运算类型,所述对所述第二密钥密文进行运算,得到运算结果并输出的步骤包括:通过所述主密钥对所述第二密钥密文解密,得到密钥明文;对所述密钥明文根据所述运算类型进行密码学运算,得到运算结果并输出。6.根据权利要求4所述的区块链密钥托管方法,其特征在于,所述接收密钥创建请求的步骤之前包括:接收用户的注册请求;根据所述注册请求生成访问密钥身份凭证并向所述用户返回所述访问密钥身份凭证。7.根据权利要求6所述的区块链密钥托管方法,其特征在于,所述密钥创建请求包括:访问密钥身份凭证,所述接收密钥创建请求的步骤之后包括:校验所述密钥创建请求的访问密钥身份凭证;若校验通过,则执行步骤:通过所述硬件加密机基于所述密钥创建请求的信息生成用户密钥;若校验不通过,则拒绝所述密钥创建请求。8.根据权利要求6所述的区块链密钥托管方法,其特征在于,所述密钥运算请求包括:访问密钥身份凭证,所述接收密钥运算请求,所述密钥运算请求包括密钥账号的步骤之后包括:校验所述密钥运算请求的访问密钥身份凭证;若校验通过,则执行步骤:基于所述密钥运算请求的密钥账号,从所述数据库获取相应的密钥密文,作为第二密钥密文;
若校验不通过,则拒绝所述密钥运算请求。9.一种区块链密钥托管系统,其特征在于,包括:接收模块,用于接收密钥创建请求;生成模块,用于通过硬件加密机生成所述算法类型的用户密钥;加密模块,用于通过硬件加密机对所述用户密钥进行加密,生成第一密钥密文。10.一种区块链密钥托管系统,其特征在于,包括:服务端,用于接收密钥创建请求;硬件加密机,用于生成所述算法类型的用户密钥;对所述用户密钥进行加密,生成第一密钥密文。11.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的区块链密钥托管方法,所述区块链密钥托管的程序被所述处理器执行时实现如权利要求1-8中任一项所述的区块链密钥托管方法的步骤。12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有区块链密钥托管的程序,所述区块链密钥托管的程序被处理器执行时实现如权利要求1-8中任一项所述的区块链密钥托管方法的步骤。

技术总结
本发明公开了一种区块链密钥托管方法、系统、终端设备及存储介质。该方法包括:接收密钥创建请求;通过所述硬件加密机基于所述密钥创建请求的信息进行处理,生成用户密钥;通过所述硬件加密机对所述用户密钥进行加密,生成第一密钥密文。本发明解决了在区块链密钥的托管方案或产品中,密钥的保管和使用在安全性方面存在缺陷的问题,提高密钥保管与使用的安全性、可靠性。可靠性。可靠性。


技术研发人员:张育明 梁政锋 陈鹏 赵海龙 张亮 张汉文
受保护的技术使用者:招商银行股份有限公司
技术研发日:2021.11.25
技术公布日:2022/3/8

最新回复(0)