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

一种多组量子密钥协同方法及系统与流程

2022-03-01 20:30:02 来源:中国专利 TAG:


1.本发明涉及量子密钥使用领域,尤其涉及一种多组密钥协同使用的方法及系统。


背景技术:

2.传统的密码加密技术分为对称算法和非对称算法。随着量子技术的快速发展,传统的非对称算法攻破难度大幅的降低,根据nist官方文件非对称算法rsa以及椭圆算法已经被列为不安全算法。
3.针对后量子时代,依托于量子密钥分发(qkd)技术结合现有的对称加密算法,可是提高系统的破解难度,提升数据传输的安全性。但如果对称密钥长期使用,其破解的风险也相对较高
4.目前,量子密钥分发(qkd)的量子密钥分发速度相对较慢以及量子密钥分发系统(qkd)在弱网或断网下密钥分发不及时,无法满足海量业务系统、快速数据传输系统的实时密钥需求。针对这一问题,可采用生成一批量子密钥,预置到应用中,方便使用。这样的方案也存在通讯双方如何确定业务使用的密钥等问题。
5.本发明针对量子密钥分发多组密钥使用过程中的问题,通过将批量的量子密钥预存到安全芯片以及密钥管理系统实现对端密钥的安全保护,以及在安全芯片和密钥管系统之间构建秘钥协同协议,确保密钥协同过程安全、可靠。通过该方案提升基于qkd机制密钥使用的方便性、安全性。


技术实现要素:

6.基于上述,有必要提供一种多组密钥协同使用的方法及系统。
7.本发明提出一种多组量子密钥协同方法,所述方法包括:
8.密码模块和密钥管理系统从量子密钥分发系统(qkd)获得相同的量子密钥组,基于预设信息生成密钥组序列号;
9.密码服务客户端获得密码模块密钥组序列号s以及密钥协同参数sf,基于密钥组序列号s以及密钥协同参数sf生成信息m1发送密钥管理系统;
10.密钥管理系统解析消息m1,获得密钥位置p、密钥kp,产生随机数rs,基于密钥位置p、密钥kp以及随机数rs生成信息m2发送给密码服务客户端;
11.密码模块从密码服务客户端接收信息m2并解析,获得密钥位置p、密钥kp2以及随机数rs1,密码模块产生随机数rc并与随机数rs1一起生成信息m3,并由密码服务客户端发送给密码管理系统;
12.密钥管理系统解析并验证信息m3,获得随机数rc1、随机数rs2,基于密钥协同参数sf、随机数rc1、随机数rs2计算传输密钥,并建立基于(s,p)的密码索引;
13.业务程序客户端由密码服务客户端调用密码模块的密码加解密服务,业务程序服务端通过调用密钥组序列号,调用密码管理系统加密解密服务。
14.基于上述,密码模块和密钥管理系统从量子密钥分发系统(qkd)获得相同的量子
密钥组,具体包括:
15.密码模块和密钥管理系统同时从量子密钥分发系统获得相同数量、相同顺序的量子密钥。
16.基于上述,所述基于预设信息生成密钥组序列号,具体包括:
17.通过所述预设信息对量子密钥组内所有密钥信息的组合进行摘要计算,其中预设信息为摘要算法,所述摘要算法为sha1、sm3、sha256、md5其中的任一种。
18.基于上述,所述密钥协同参数sf至少包含生成传输密钥的单向函数h、线路加解密函数lf;所述传输密钥的单向函数h为摘要算法、对称加密算法;所述线路加解密函数lf为对称加密算法,用于密钥协同过程中信息的加密,优选为aes。
19.基于上述,基于密钥组序列号s以及密钥协同参数sf生成信息m1,具体包括:
20.将密钥组序列号s与密钥协同参数sf拼接生成信息m1,其拼接方式为s||sf。
21.基于上述,密钥管理系统解析消息m1,获得密钥位置p、密钥kp,具体包括:
22.基于m1信息获取密钥组序列号s,通过密钥组序列号s获得量子密钥组;
23.基于随机方式生成密钥位置p,基于密钥位置p从所述密钥组序列号s的量子密钥组找出该位置的密钥kp;所述随机方式优选为,密钥管理系统产生随机数r与密钥组序列号为s的密钥组的长度len做取模运算加1获得,即密钥位置p=(r mod len) 1。
24.基于上述,基于密钥位置p、密钥kp以及随机数rs生成信息m2,具体包括:
25.将密钥位置p、密钥kp以及随机数rs通过计算式lf(kp,rs)||p生成信息m2,即以kp密钥为加密密钥通过所述线路加解密函数lf实现对随机数rs加密获得lf(kp,rs),并拼接密钥位置p。
26.基于上述,密码模块从密码服务客户端接收信息m2并解析,具体包括:
27.密码模块从m2中获得密码位置p,基于密码位置p从量子密钥组获得该位置的密钥kp2,以密钥kp2为解密密钥并通过所述线路加解密函数lf解密lf(kp,rs)获得rs1。
28.基于上述,密码模块产生随机数rc并与随机数rs1一起生成信息m3,具体包括:
29.将随机数rc、随机数rs1拼接获得rc||rs1,以密钥kp2为加密密钥通过所述线路加解密函数lf加密生成lf(kp2,rc||rs1),即为信息m3。
30.基于上述,密钥管理系统解析并验证m3信息,具体包括:
31.密钥管理系统以所述密钥kp为解密密钥通过所述线路加解密函数lf对m3解密获得rc1、rs2两个随机数的拼接信息rc1||rs1,密钥管理系统对比随机数rs2与所述随机数rs,如果相等则通过验证。
32.基于上述,所述基于密钥协同参数sf、随机数rc1、随机数rs2计算传输密钥的具体实现为:h(rc1||rs2),即单向函数对rc1、rs2的拼接信息进行计算。
33.基于上述,建立基于(s,p)的密码索引,具体包括:
34.建立所述密钥组序列号s、所述密钥位置p、所述传输密钥的三元数组,及{密钥组序列号s、密钥位置p、传输密钥},使后续密钥管理系统基于业务程序服务端提供密钥组序列号s,通过密钥索引(s,p)获得传输密钥,为业务程序服务端提供加解密服务。
35.基于上述,业务程序客户端由密码服务客户端调用密码模块的密码加解密服务,业务程序服务端通过调用密钥组序列号,调用密码管理系统加密解密服务,具体包括:
36.业务程序客户端向密码服客户端发送业务数据data的加密请求,密码服务客户端
向密码模块发送业务数据data的加密请求;
37.密码模块基于密钥协同参数sf、随机数rc、随机数rs1计算传输密钥kt,并用传输密钥、约定加密算法加密业务数据data生成业务密文m4,回传密码服务客户端;
38.密码服务客户端将密钥组序列号s、业务密文数据m4连接数生成业务消息s||m;
39.业务程序客户端将业务消息s||m发送给业务程序服务端;
40.业务程序服务端向密钥管理系统发送业务消息s||m的解密请求;
41.密钥管理系统解析业务消息s||m获得密钥组序列号s、业务密文m,通过密钥索引(s,p)获得传输密钥kt1,用传输密钥kt1、约定解密算法解密密文m获得业务数据data,并将业务数据data传输给业务程序服务端;约定的加解密算法可为aes、3des之一。
42.本发明还出了一种多组量子密钥的系统使用系统,用于实现上述一种多组量子密钥的系统使用方法,所述系统包括:密码模块、密码服务客户端、密钥管理系统四部分。
43.本发明通过在密码模块、密钥管理系统预先从量子密钥分发系统(qkd)获得相同的密钥组,并保存到密码模块或密钥管理系统中,解决量子密钥分发系统(qkd)量子密钥分发相对速度较慢以及量子密钥分发系统qkd在弱网或者断网下,应用系统无法及时、有效的获得量子密钥的问题。本发明通过密码模块、密钥管理系统通过基于预设信息生成密钥组序列号,建立密码模块、密钥管理系统之间基于密钥组序列号的密钥组对应关系及双方基于相同的密钥组序列号实现密钥对应,解决在线、离线等场景下的密钥管理系统、密码模块以及密钥组之间的对应关系问题,实现密钥管理系统对多个密钥组的管理。本发明通过基于密钥组序列号实现密码模块、密钥管理系统之间的密钥系统,在密码管理系统内部、密码模块内部实现基于密钥协同参数sf生成传输密钥,对其他参密钥系统方(例如密码服务客户端、业务应用客户端、业务应用服务端)以及网络设备隐藏了传输密钥的实现过程,增加了破解传输密码的难度,提升了传输密码的安全性;本发明通过随机选取密钥位置p、密码模块产生的随机数rc、密钥管理系统产生的随机数rs作为密钥材料,协同量子密钥共同生成传输密钥,增加了传输密钥的随机性,增加了传输密钥的熵值,提升了传输密钥的安全性。
44.本发明通过密码模块生成随机数rc、密钥管理系统生成随机数rs参与密钥协同过程,协同过程中的随机性,提升了信息的破解难度。本发明通过综合利用以上技术,解决量子密钥分发系统(qkd)可能存在的问题以及多组密钥协同使用过程中的安全问题,提升了量子密钥的应用普适性,提高了传输密钥的安全性。
附图说明
45.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
46.图1是本发明多组量子密钥协同方法流程图。
47.图2是本发明涉及多组量子密钥协同的实施流程。
具体实施方式
48.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
49.如图1所示,本发明第一方面提出一种多组量子密钥协同方法,所述方法包括以下步骤:
50.1.密码模块和密钥管理系统从量子密钥分发系统(qkd)获得相同的量子密钥组,基于预设信息生成密钥组序列号。
51.2.密码服务客户端获得密码模块密钥组序列号s以及密钥协同参数sf,基于密钥组序列号s以及密钥协同参数sf生成信息m1发送密钥管理系统;
52.3.密钥管理系统解析消息m1,获得密钥位置p、密钥kp,产生随机数rs,基于密钥位置p、密钥kp以及随机数rs生成信息m2发送给密码服务客户端;
53.4.密码模块从密码服务客户端接收信息m2并解析,获得密钥位置p、密钥kp2以及随机数rs1,密码模块产生随机数rc并与随机数rs1一起生成信息m3,并由密码服务客户端发送给密码管理系统;
54.5.密钥管理系统解析并验证信息m3,获得随机数rc1、随机数rs2,基于密钥协同参数sf、随机数rc1、随机数rs2计算传输密钥,并建立基于(s,p)的密码索引;
55.6.业务程序客户端由密码服务客户端调用密码模块的密码加解密服务,业务程序服务端通过调用密钥组序列号,调用密码管理系统加密解密服务。
56.本发明通过预置相同的量子密钥组,解决量子密钥分发系统(qkd)速度慢以及弱网下的问题;基于预设信息生成密钥组序列号,实现了密码模块、密钥管理系统在不连接下,协同生成密钥组序列号,以及基于密钥组序列号建立双方的密钥对应关系。本发明通过基于密钥组序列号实现密码模块、密钥管理系统之间的密钥系统,在密码管理系统内部、密码模块内部实现基于密钥协同参数sf生成传输密钥,对其他参密钥系统方(例如密码服务客户端、业务应用客户端、业务应用服务端)以及网络设备隐藏了传输密钥的实现过程,增加了破解传输密码的难度,提升了传输密码的安全性;本发明通过密码模块产生的随机数rc、密钥管理系统产生的随机数rs作为密钥材料,协同量子密钥共同生成传输密钥,增加了传输密钥的随机性,增加了传输密钥的熵值,提升了传输密钥的安全性。
57.基于上述,密码模块和密钥管理系统从量子密钥分发系统(qkd)获得相同的量子密钥组,具体包括:
58.密码模块和密钥管理系统同时从量子密钥分发系统获得相同数量、相同顺序的量子密钥。
59.基于上述,所述基于预设信息生成密钥组序列号,具体包括:
60.通过所述预设信息对量子密钥组内所有密钥信息的组合进行摘要计算,其中预设信息为摘要算法,所述摘要算法为sha1、sm3、sha256、md5其中的任一种。
61.本发明通过摘要算法对量子密钥组内密钥进行摘要计算,计算结果为密钥组序列号,由于密钥管理系统与密码模块有相同数量和相同顺序的量子密钥,所以双方计算的密钥序列号相同。通过该方法,在密码模块与密钥管理系统不进行协商下,形成了一致的密钥
组序列号,且实现了量子密钥组与密钥组序列号的唯一对应,实现密码模块、密钥管理系统无信息交互下实现密钥组信息的同步,提升了系统的方便性、易用性、可靠性。
62.基于上述,所述密钥协同参数sf至少包含生成传输密钥的单向函数h、线路加解密函数lf;所述传输密钥的单向函数h为摘要算法、对称加密算法;所述线路加解密函数lf为对称加密算法,用于密钥协同过程中信息的加密,优选为aes。
63.本发明通过了密钥协同参数sf实现了密码模块、密钥管理系统在进行密钥协同过程中的算法、以及传输密钥生成算法,对密码模块、密钥管理系统以外部分隐藏了实现过程,且采用经核准的算法,提升了系统的安全性。
64.基于上述,基于密钥组序列号s以及密钥协同参数sf生成信息m1,具体包括:
65.将密钥组序列号s与密钥协同参数sf拼接生成信息m1,其拼接方式为s||sf。
66.基于上述,密钥管理系统解析消息m1,获得密钥位置p、密钥kp,具体包括:
67.基于m1信息获取密钥组序列号s,通过密钥组序列号s获得量子密钥组;
68.基于随机方式生成密钥位置p,基于密钥位置p从所述密钥组序列号s的量子密钥组找出该位置的密钥kp;所述随机方式优选为,密钥管理系统产生随机数r与密钥组序列号为s的密钥组的长度len做取模运算加1获得,即密钥位置p=(r mod len) 1。
69.本发明通过密钥组序列号s实现密钥管理系统对密钥组定位,通过随机方式生成密钥位置p,实现了量子密钥选取的随机,提升了传输密钥的安全性。
70.基于上述,基于密钥位置p、密钥kp以及随机数rs生成信息m2,具体包括:
71.将密钥位置p、密钥kp以及随机数rs通过计算式lf(kp,rs)||p生成信息m2,即以kp密钥为加密密钥通过所述线路加解密函数lf实现对随机数rs加密获得lf(kp,rs),并拼接密钥位置p。
72.基于上述,密码模块从密码服务客户端接收信息m2并解析,具体包括:
73.密码模块从m2中获得密码位置p,基于密码位置p从量子密钥组获得该位置的密钥kp2,以密钥kp2为解密密钥并通过所述线路加解密函数lf解密lf(kp,rs)获得rs1。
74.基于上述,密码模块产生随机数rc并与随机数rs1一起生成信息m3,具体包括:
75.将随机数rc、随机数rs1拼接获得rc||rs1,以密钥kp2为加密密钥通过所述线路加解密函数lf加密生成lf(kp2,rc||rs1),即为信息m3。
76.本发明在密码模块、密钥管理系统协同过程中,通过增加随机数rc、rs,提升了通讯过程中的抗攻击能力,同时在通信过程中,针对随机数采用预置在密码模块、密钥管理系统的量子密钥进行加密,增加了传输数据的破解难度,提升了协同过程的传输安全性。
77.基于上述,密钥管理系统解析并验证m3信息,具体包括:
78.密钥管理系统以所述密钥kp为解密密钥通过所述线路加解密函数lf对m3解密获得rc1、rs2两个随机数的拼接信息rc1||rs1,密钥管理系统对比随机数rs2与所述随机数rs,如果相等则通过验证。
79.基于上述,所述基于密钥协同参数sf、随机数rc1、随机数rs2计算传输密钥的具体实现为:h(rc1||rs2),即单向函数对rc1、rs2的拼接信息进行计算。
80.基于上述,建立基于(s,p)的密码索引,具体包括:
81.建立所述密钥组序列号s、所述密钥位置p、所述传输密钥的三元数组,及{密钥组序列号s、密钥位置p、传输密钥},使后续密钥管理系统基于业务程序服务端提供密钥组序
列号s,通过密钥索引(s,p)获得传输密钥,为业务程序服务端提供加解密服务。
82.本发明通过单向函数对rc1、rs2的拼接信息进行计算获得传输密钥,增加了传输密钥的熵值,提升了传输密钥的安全性,实现建立(s,p)的密钥索引,方便密钥管理系统查询和使用传输密钥,提升了系统的易用性和方便性。
83.基于上述,业务程序客户端由密码服务客户端调用密码模块的密码加解密服务,业务程序服务端通过调用密钥组序列号,调用密码管理系统加密解密服务,具体包括:
84.业务程序客户端向密码服客户端发送业务数据data的加密请求,密码服务客户端向密码模块发送业务数据data的加密请求;
85.密码模块基于密钥协同参数sf、随机数rc、随机数rs1计算传输密钥kt,并用传输密钥、约定加密算法加密业务数据data生成业务密文m4,回传密码服务客户端;
86.密码服务客户端将密钥组序列号s、业务密文数据m4连接数生成业务消息s||m4;
87.业务程序客户端将业务消息s||m4发送给业务程序服务端;
88.业务程序服务端向密钥管理系统发送业务消息s||m4的解密请求;
89.密钥管理系统解析业务消息s||m4获得密钥组序列号s、业务密文m4,通过密钥索引(s,p)获得传输密钥kt1,用传输密钥kt1、约定解密算法解密密文m获得业务数据data,并将业务数据data传输给业务程序服务端;约定的加解密算法可为aes、3des之一。
90.本发明实现了业务程序客户端、业务程序服务端之间的透明加密传输服务。业务程序通过密码服务客户端实现对业务数据的加解密处理,并封装含有密钥组序列号的业务消息s||m;业务程序服务端调用密钥管理系统实现数据的加密。针对业务程序无需管理传输密钥,方便易用。针对传输密钥及数据加密均在密码模块、密钥管理系统等高安全环境下进行,提高了破解的难度,提升了业务数据传输的安全性。
91.为了进一步解释本发明的技术方案,图2示出了本发明另一种实施例的多组量子密钥的协同使用方法,具体步骤为:
92.1.密码服务客户端调用密码模块生成密钥协同请求消息m1。在此之前,密码模块和密钥管理系统已经完成了密钥组的生成,密码模块和密钥管理系统从量子密钥分发系统(qkd)获得相同的量子密钥组,生成相同的密钥序列号;
93.2.密码模块生成密钥协同消息m1。密码模块获得自身的密钥组序列号s,生成密钥协同参数sf,其中密钥协同参数中传输密钥的单向函数h、线路加解密函数lf均设定为对称加密算法aes。密码模块返回消息m1;
94.3.密码服务客户端,保存s,组成消息m1,并发送m1消息给密钥管理系统。密码服务客户端和密钥管系统在进行密钥协同通讯的时候采用行业通用技术,实现了基于ssl的安全传输通道,实现了密钥协同的会话机制;
95.4.密钥管理系统解析m1消息,获得密钥组序列号s,依据密钥组序列号查找密钥组。密钥管理系统生成随机数,并用随机数与密钥组长度进行取模之后,加1得到密钥位置p,基于密钥位置信息获得密钥kp。同时密钥管理系统采用密钥kp对密钥管理系统产生的随机数rc进行aes加密计算,计算后的结果与密钥位置p生成密钥信息m2。通过采用随机数rc,防止了消息在传输过程中被拦截和替换,通过加密机制保证了小时传输过程不被破解;
96.5.密码服务客户端接收到密钥管理系统的消息m2,并将消息传递给密码模块;
97.6.密码模块解析消息m2,获得密钥位置p,通过查找本地密钥组获得密钥kp2,并采
用kp2为解密密钥对m2中加密数据解密获得随机数rs1。由于密码模块、密钥管理系统具有相同量子密钥组,密钥数量和密钥顺序相同,所有kp2与kp是相同的,同样rs1与rs也是相同。密码模块生成随机数rc,rc与rs1进行拼接,以kp2为密钥,实现aes算法的加密,形成信息m3=aes(kp2,rc||rs1);
98.7.密码模块发送m3消息给密码服务客户端,密码服务客户端发送消息m3给密钥管理系统;
99.8.密钥管理系统收到m3消息,采用密钥kp,通过aes算法解密获得随机数rc1、rs2,验证rs2是否等于rs,如果相等则生成传输密钥,建立密钥索引。通过步骤6可以知道,密码模块的密钥kp2与密钥管理系统的密钥kp其实是相同的,所有解密后的信息随机数rc1其实与rc是相同,rs2其实与rs是相同的数值。密钥管理系统采用以rc1为密钥,对rs2加密作为传输密钥。并建立了{密钥组索引s、密钥位置p、传输密钥}的三元数组的密钥索引,用于以后业务程序服务端调用加解密服务适用;
100.9.业务程序客户端发送数据data给密码管理客户端请求加密,密码管理客户端端,发送业务数据data给密码模块。本实施用例中业务程序客户在仅仅执行加密业务。当业务系统需要做加解密服务时候,业务程序客户端、密码服务客户端基于现有技术,建立传输会话,并约定加密、解密等命令格式。业务程序客户端在发送业务数据data时,同时可发送加密指令;
101.10.密码管理客户端发送业务数据data加密请求。本实施用例中,业务系统客户端仅仅有加密业务。如果业务程序客户端有解解密或者更多的密码服务时候,密码服务客户端、密码模块可基于现有技术,在密钥服务客户端和密码模块传输业务数据和加解密操作;
102.11.密码模块,以随机数rc为密钥对rs1采用aes加密获得传输密钥kt,以传输密钥kt对业务数据data采用基于aes加密.并将加密后密文m4=aes(kt,data)发送给密码模块;
103.12.密码服务客户端接收到密码模块的解密信息aes(kt,data),生成业务消息s||m4,并发送给业务程序客户端,完成加密;
104.13.业务程序客户端将业务消息s||m4,发送给业务程序服务端;业务程序服务端发送解密请求给密钥管理系统。
105.14.密钥管理系统查询获得传输密钥,并解密数据m4,获得业务数据data1。事实上,因为传输密钥kt与传输密钥kt1相同,data1与data相同。
106.15.密钥管理系统将解密后的业务数据data1发送给业务程序服务端。
107.本发明通过密码模块、密码服务客户端、密钥管理系统实现了多组量子密钥的协同使用。量子密钥组保存在密码模块和密钥管理系统,密码模块和密钥管理系统对应用程序提供加解密服务,降低密码暴漏在外部引起的密码泄露风险,同时通过双方协商实现加密数据,在协商过程中通过挑战随机数防止了数据泄露和重放攻击,提升了密钥协商的安全性,同时对于应用程序而言提供密钥组序列号(一组密钥的唯一识别信息),其通讯过程不涉及密钥在量子密钥组的位置p,降低了通过应用程序来攻击获取密码的风险,提升了系统的安全性。
108.本发明第二方面还提出了一种多组量子密钥的系统使用系统,用于实现上述一种多组量子密钥的系统使用方法,所述系统包括:密码模块、密码服务客户端、密钥管理系统四部分。
109.所述密码模块,实现密钥存储和密码服务;所述密钥存储实现对所述量子密钥组及密钥组序列号的保存,所述密码模块可以加密卡、加密key。
110.所述密码服务客户端模块,实现所述密码模块与所述密钥管理系统之间的数据传输;实现业务程序客户端对密码模块的密码服务调用。
111.所述密钥管理系统,实现密钥生成、密钥协同、密钥维护。
112.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
再多了解一些

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

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

相关文献