量子密钥分发方法、装置、可读存储介质及电子设备与流程

文档序号:29496915发布日期:2022-04-06 15:43阅读:184来源:国知局
量子密钥分发方法、装置、可读存储介质及电子设备与流程

1.本技术涉及网络安全技术领域,尤其是涉及一种量子密钥分发方法、装置、可读存储介质及电子设备。


背景技术:

2.量子密钥是指由量子随机数生成设备基于物理原理产生的真随机数,可以用于身份验证、数据加密等领域,为了保证量子密钥分发过程的安全性,可以通过专用的量子通信链路,依托于相关密钥分发协议进行端到端之间的密钥传输。但是,随着使用量子密钥的终端数量逐渐增多,在考虑成本、网络环境、应用环境等因素的情况下,几乎不可能实现为所有终端都建立的专用的量子通信链路。
3.在相关技术中,可以通过传统网络从量子密钥池中获取量子密钥,虽然量子密钥的生成过程是安全的,但是无法保证量子密钥在传统网络的分发过程中的安全性。


技术实现要素:

4.本技术的目的是提供一种量子密钥分发方法、装置、可读存储介质及电子设备,能够解决量子密钥在分发过程中存在安全隐患的问题。
5.为达到上述目的,本技术的采用如下技术方案:
6.第一方面,本技术提供了一种量子密钥分发方法,应用于量子密钥请求设备,该方法包括:量子密钥请求设备向区块链平台设备发送第一密钥获取请求,第一密钥获取请求用于请求获取目标量子密钥,区块链平台设备存储有量子密钥请求设备进行上链注册的第一注册信息;量子密钥请求设备接收区块链平台设备发送的量子密钥段集合,量子密钥段集合是由至少两个请求加密段随机排列得到的,每个请求加密段是根据第二子注册信息对至少两个量子密钥段中的一个量子密钥段加密得到的,至少两个量子密钥段是根据第一子注册信息对目标量子密钥分段得到的,第一子注册信息为第一注册信息中的部分信息,第二子注册信息为第一注册信息中除了第一子注册信息之外的信息;量子密钥请求设备从区块信息中获取量子密钥段集合中请求加密段的密钥段顺序信息,密钥段顺序信息是被区块链平台设备同步至区块信息中的;量子密钥请求设备根据密钥段顺序信息和第二子注册信息,解析量子密钥段集合生成目标量子密钥。
7.可选的,量子密钥请求设备根据密钥段顺序信息和第二子注册信息,解析量子密钥段集合生成目标量子密钥,包括:量子密钥请求设备根据预置数据传输协议,将量子密钥段集合拆分为至少两个请求加密段;量子密钥请求设备将至少两个请求加密段与第二子注册信息进行解密运算,得到至少两个量子密钥段;量子密钥请求设备按照密钥段顺序信息,将至少两个量子密钥段中的每个量子密钥段依次合并,生成目标量子密钥。
8.可选的,量子密钥请求设备将至少两个请求加密段与第二子注册信息进行解密运算,得到至少两个量子密钥段,包括:量子密钥请求设备以至少两个请求加密段中的每个请求加密段为被除数,以第二子注册信息为除数,进行除法解密运算,得到至少两个量子密钥
段。
9.可选的,至少两个请求加密段包括干扰加密段,量子密钥请求设备按照密钥段顺序信息,将至少两个量子密钥段中的每个量子密钥段依次合并,生成目标量子密钥,包括:量子密钥请求设备根据密钥段顺序信息中的干扰标识,查找至少两个量子密钥段中与干扰加密段对应的量子密钥段;量子密钥请求设备按照密钥段顺序信息,将至少两个量子密钥段中除了干扰加密段对应的量子密钥段依次合并,生成目标量子密钥。
10.可选的,量子密钥请求设备向区块链平台设备发送第一密钥获取请求之前,还包括:量子密钥请求设备根据预置第一哈希算法以及第一状态标识数据,得到第一注册信息,第一状态标识数据用于标识量子密钥请求设备的当前运行状态的运行参数;量子密钥请求设备向区块链平台设备发送第一注册信息与第一设备信息,以便于区块链平台设备对量子密钥请求设备进行上链注册,第一设备信息用于标记量子密钥请求设备。
11.可选的,第一密钥获取请求包括第一子注册信息,量子密钥请求设备向区块链平台设备发送第一密钥获取请求之前,还包括:量子密钥请求设备根据预置随机算法,生成第一随机数,第一随机数大于1,且小于第一注册信息的数据位数;量子密钥请求设备从第一注册信息中提取第一子注册信息,第一子注册信息包括第一注册信息的起始数据位至第一随机数对应的数据位之间的信息;量子密钥请求设备根据密钥段顺序信息和第二子注册信息,解析量子密钥段集合生成目标量子密钥之前,方法还包括:量子密钥请求设备根据第一子注册信息,从第一注册信息中截取第二子注册信息。
12.可选的,量子密钥请求设备根据密钥段顺序信息和第二子注册信息,解析量子密钥段集合生成目标量子密钥之前,方法还包括:量子密钥请求设备从区块信息中获取第一子注册信息;量子密钥请求设备根据第一子注册信息,从第一注册信息中截取第二子注册信息。
13.可选的,量子密钥请求设备根据密钥段顺序信息和第二子注册信息,解析量子密钥段集合生成目标量子密钥之后,还包括:量子密钥请求设备获取第一数量值,第一数量值为目标量子密钥中预置数值的数量值;量子密钥请求设备向区块链平台设备发送密钥校验请求,密钥校验请求包括:第一数量值;量子密钥请求设备接收区块链平台设备发送的密钥校验请求对应的校验响应信息;在校验响应信息的校验结果为通过的情况下,量子密钥请求设备根据目标量子密钥为目标数据进行加密;在校验响应信息的校验结果为不通过的情况下,量子密钥请求设备重新向区块链平台设备发送第一密钥获取请求。
14.可选的,量子密钥请求设备包括可信执行环境,可信执行环境包括第一请求可信容器和至少一个第二请求可信容器;第一请求可信容器用于存储以下至少一项:用于标识量子密钥请求设备的当前运行状态的第一状态标识数据、根据预置第一哈希算法得到的第一状态标识数据的第一注册信息、第一注册信息中的第一子注册信息、第一注册信息中的第二子注册信息和量子密钥请求设备的第一设备信息;至少一个第二请求可信容器中的每个第二请求可信容器用于存储至少两个请求加密段的任一请求加密段。
15.第二方面,本技术提供了一种量子密钥分发方法,应用于区块链平台设备,该方法包括:区块链平台设备接收量子密钥请求设备发送的第一密钥获取请求,第一密钥获取请求用于请求获取目标量子密钥;区块链平台设备获取目标量子密钥,并根据第一子注册信息对目标量子密钥进行分段得到的至少两个量子密钥段,并根据第二子注册信息对至少两
个量子密钥段进行加密得到至少两个请求加密段,目标量子密钥是从量子密钥生成设备获取的,第一子注册信息为第一注册信息中的部分信息,第二子注册信息为第一注册信息中除了第一子注册信息之外的信息,第一注册信息为量子密钥请求设备进行上链注册的信息;区块链平台设备将至少两个请求加密段进行随机排列,生成量子密钥段集合,并向量子密钥请求设备发送量子密钥段集合;区块链平台设备将量子密钥段集合中的至少两个请求加密段的密钥段顺序信息同步至区块信息,以使得量子密钥请求设备能够通过区块信息获取密钥段顺序信息。
16.可选的,区块链平台设备接收量子密钥请求设备发送的第一密钥获取请求之后,区块链平台设备获取目标量子密钥之前,还包括:区块链平台设备向量子密钥生成设备发送与第一密钥请求对应的第二密钥获取请求,第二密钥请求用于请求获取目标量子密钥;区块链平台设备接收第二密钥获取请求对应的密钥响应信息,密钥响应信息包括目标加密密钥;区块链平台设备根据第三子注册信息对目标加密密钥进行解密,生成目标量子密钥,第三子注册信息是量子密钥生成设备对应的第二注册信息中的部分信息。
17.可选的,区块链平台设备根据第三子注册信息对目标加密密钥进行解密,生成目标量子密钥,包括:区块链平台设备接收量子密钥生成设备发送的第三子注册信息;区块链平台设备以目标加密密钥为被除数,以第三子注册信息对应的二进制信息为除数,进行除法解密运算,得到目标量子密钥。
18.可选的,区块链平台设备根据第一子注册信息对目标量子密钥进行分段得到的至少两个量子密钥段,根据第二子注册信息对至少两个量子密钥段进行加密得到至少两个请求加密段,包括:区块链平台设备根据第一随机数和第二随机数,生成第三随机数,第三随机数为大于1且小于目标量子密钥的数据位数的数值,且在第一随机数与第二随机数相同的情况下,第三随机数与第一随机数或第二随机数不同,第一随机数为第一子注册信息的数据位数,第二随机数为第三子注册信息的数据位数;区块链平台设备根据第一随机数、第二随机数和第三随机数,对目标量子密钥进行分段,生成至少两个量子密钥段;区块链平台设备将第二子注册信息分别与至少两个量子密钥段中的每个量子密钥段进行乘法加密运行,生成至少两个请求加密段。
19.可选的,区块链平台设备根据第一随机数、第二随机数和第三随机数,对目标量子密钥进行分段,生成至少两个量子密钥段,包括:区块链平台设备确定第一分段位置和第二分段位置,第一分段位置为第一随机数、第二随机数和第三随机数中的任一值,第二分段位置为第一随机数、第二随机数和第三随机数中除了第一分段位置之外的任一值,第一分段位置与第二分段位置不相同;区块链平台设备根据第一分段位置和第二分段位置,将目标量子密钥进行分段,生成至少两个量子密钥段,至少两个量子密钥段包括第一量子密钥段、第二量子密钥段和第三量子密钥段。
20.可选的,区块链平台设备根据第一分段位置和第二分段位置,将目标量子密钥进行分段,生成至少两个量子密钥段之后,包括:区块链平台设备根据干扰随机数的数据位数随机生成二进制的干扰密钥段,干扰随机数为第一随机数、第二随机数和第三随机数中除了第一分段位置和第二分段位置之外的随机数;区块链平台设备将干扰密钥段确定为至少两个量子密钥段中的量子密钥段,并根据干扰标识标记干扰密钥段。
21.可选的,区块链平台设备将至少两个请求加密段的密钥段顺序信息同步至区块信
息之后,方法还包括:区块链平台设备接收量子密钥请求设备发送的密钥校验请求,密钥校验请求包括第一数量值,第一数量值为目标量子密钥中预置数值的数量值;在第二随机数与第一数量值相同的情况下,区块链平台设备确定密钥校验信息对应的校验响应信息的校验结果为通过;在第二随机数与第一数量值不相同的情况下,区块链平台设备确定密钥校验信息对应的校验响应信息的校验结果为不通过。
22.可选的,区块链平台设备获取目标量子密钥,并根据第一子注册信息对目标量子密钥进行分段得到的至少两个量子密钥段,并根据第二子注册信息对至少两个量子密钥段进行加密得到至少两个请求加密段之前,包括:区块链平台设备从第一密钥获取请求中提取第一子注册信息;或,区块链平台设备从第一注册信息中截取随机长度的第一子注册信息。
23.第三方面,本技术提供了一种量子密钥分发方法,应用于量子密钥生成设备,该方法包括:量子密钥生成设备接收区块链平台设备发送的第二密钥获取请求,第二密钥请求用于请求获取目标量子密钥;量子密钥生成设备响应于第二密钥获取请求,生成目标量子密钥;量子密钥生成设备将第三子注册信息与目标量子密钥进行乘法加密运算,生成目标量子密钥的目标加密密钥,第三子注册信息是量子密钥生成设备进行上链注册的第二注册信息中的部分信息;量子密钥生成设备向区块链平台设备发送密钥响应信息,密钥响应信息包括目标加密密钥。
24.可选的,量子密钥生成设备接收区块链平台设备发送的第二密钥获取请求之前,还包括:量子密钥生成设备根据预置第二哈希算法以及第二状态标识数据,得到第二注册信息,第二状态标识数据用于标识量子密钥生成设备的当前运行状态的运行参数;量子密钥生成设备向区块链平台设备发送第二注册信息与第二设备信息,以便于区块链平台设备对量子密钥生成设备进行上链注册,第二设备信息用于标记量子密钥生成设备。
25.可选的,量子密钥生成设备生成目标量子密钥之后,包括:量子密钥生成设备统计目标量子密钥中的第二随机数,第二随机数为目标量子密钥中的预置数值的数量值,第二随机数大于1,且小于目标量子密钥的数据位数;量子密钥生成设备从第二注册信息中提取第三子注册信息,第三子注册信息包括第二注册信息中的起始数据位至第二随机数对应的数据位之间的信息;量子密钥生成设备向区块链平台设备发送第三子注册信息。
26.可选的,量子密钥生成设备响应于第二密钥获取请求,生成目标量子密钥,包括:量子密钥生成设备根据预置密钥参数,生成多个量子密钥,预置密钥参数包括密钥位数、量子密钥的最小数量值、量子密钥的最大数量值;量子密钥生成设备从多个量子密钥中选取目标量子密钥。
27.可选的,量子密钥生成设备包括可信执行环境,可信执行环境包括第一生成可信容器和至少一个第二生成可信容器;第一生成可信容器用于存储以下至少一项:量子密钥生成设备进行上链注册的第二注册信息和第二注册信息中的第三子注册信息;至少一个第二生成可信容器中的每个第二生成可信容器用于存储量子密钥生成设备的多个量子密钥中的一个或多个量子密钥。
28.第四方面,本技术提供了一种量子密钥分发的装置,应用于量子密钥请求设备,该装置包括:第一发送单元、第一接收单元、第一获取单元和第一生成单元;第一发送单元,用于向区块链平台设备发送第一密钥获取请求,第一密钥获取请求用于请求获取目标量子密
钥,区块链平台设备存储有量子密钥请求设备进行上链注册的第一注册信息;第一接收单元,用于接收区块链平台设备响应于第一发送单元发送的量子密钥段集合,量子密钥段集合是由至少两个请求加密段随机排列得到的,每个请求加密段是根据第二子注册信息对至少两个量子密钥段中的一个量子密钥段加密得到的,至少两个量子密钥段是根据第一子注册信息对目标量子密钥分段得到的,第一子注册信息为第一注册信息中的部分信息,第二子注册信息为第一注册信息中除了第一子注册信息之外的信息;第一获取单元,用于从区块信息中获取量子密钥段集合中请求加密段的密钥段顺序信息,密钥段顺序信息是被区块链平台设备同步至区块信息中的;第一生成单元,用于量子密钥请求设备根据第一获取单元获取的密钥段顺序信息和第二子注册信息,解析第一接收单元接收的量子密钥段集合生成目标量子密钥。
29.第五方面,本技术提供了一种量子密钥分发的装置,应用于区块链平台设备,该装置包括:第二接收单元、第一处理单元、第二处理单元和数据同步单元;第二接收单元,用于接收量子密钥请求设备发送的第一密钥获取请求,第一密钥获取请求用于请求获取目标量子密钥;第一处理单元,用于获取根据第二接收单元接收到的第一密钥获取请求获取的目标量子密钥,并根据第一子注册信息对目标量子密钥进行分段得到的至少两个量子密钥段,并根据第二子注册信息对至少两个量子密钥段进行加密得到至少两个请求加密段,目标量子密钥是从量子密钥生成设备获取的,第一子注册信息为第一注册信息中的部分信息,第二子注册信息为第一注册信息中除了第一子注册信息之外的信息,第一注册信息为量子密钥请求设备进行上链注册的信息;第二处理单元,用于将第一处理单元得到的至少两个请求加密段进行随机排列,生成量子密钥段集合,并向量子密钥请求设备发送量子密钥段集合;数据同步单元,用于将第二处理单元得到的量子密钥段集合中的至少两个请求加密段的密钥段顺序信息同步至区块信息,以使得量子密钥请求设备能够通过区块信息获取密钥段顺序信息。
30.第六方面,本技术提供了一种量子密钥分发的装置,应用于量子密钥生成设备,该装置包括:第三接收单元、第三生成单元、第三处理单元和第三发送单元;第三接收单元,用于接收区块链平台设备发送的第二密钥获取请求,第二密钥请求用于请求获取目标量子密钥;第三生成单元,用于响应于第三接收单元接收的第二密钥获取请求,生成目标量子密钥;第三处理单元,用于将第三子注册信息与第三生成单元生成的目标量子密钥进行乘法加密运算,生成目标量子密钥的目标加密密钥,第三子注册信息是量子密钥生成设备进行上链注册的第二注册信息中的部分信息;第三发送单元,用于向区块链平台设备发送密钥响应信息,密钥响应信息包括第三处理单元得到的目标加密密钥。
31.第七方面,本技术提供了一种可读存储介质,上述可读存储介质上存储程序或指令,上述程序或指令被处理器执行时实现如第一方面、第二方面和第三方面所述的方法的步骤。
32.第八方面,本技术提供了一种电子设备,该电子设备包括处理器、存储器及存储在上述存储器上并可在上述处理器上运行的程序或指令,上述程序或指令被上述处理器执行时实现如第一方面、第二方面和第三方面所述的方法的步骤。
33.在本技术中,首先量子密钥请求设备发送第一密钥获取请求,经过区块链平台设备将第一密钥获取请求的请求信息传递至量子密钥生成设备,然后量子密钥生成设备将目
标量子密钥通过区块链平台设备发送至量子密钥请求设备,以此保证目标量子密钥“一次一密”的特性,并提升目标量子密钥的不可预测性和安全性。由于传输过程中的目标量子密钥是进行乘法加密的数据,根据大数因数分解原理,对于非法设备而言无法获取加密数据中的各个加密因子,然而因子分解获取目标量子密钥的过程极为复杂,且存在多种分解结果,因此乘法加密方式能够降低非法设备获取量子密钥的可能性,能够提高量子密钥在分发过程中的安全性。并且,在至少两个请求加密段传输过程中进行乱序处理,并将密钥段顺序信息通过同步区块信息的方式进行传输,即使非法设备窃听区块链路,也无法获取同步至区块信息中的密钥段顺序信息,也就无法获取实际传递的目标量子密钥,能够提高量子密钥在分发过程中的安全性。
附图说明
34.图1为本技术实施例提供的一种量子密钥分发系统的结构示意图;
35.图2为本技术实施例提供的一种量子密钥分发方法的流程示意图之一;
36.图3为本技术实施例提供的一种量子密钥分发方法的流程示意图之二;
37.图4为本技术实施例提供的一种量子密钥分发方法的流程示意图之三;
38.图5为本技术实施例提供的一种量子密钥分发方法的流程示意图之四;
39.图6为本技术实施例提供的一种量子密钥分发方法的流程示意图之五;
40.图7为本技术实施例提供的一种量子密钥分发方法的流程示意图之六;
41.图8为本技术实施例提供的一种量子密钥分发装置的结构示意图之一;
42.图9为本技术实施例提供的一种量子密钥分发装置的结构示意图之二;
43.图10为本技术实施例提供的一种量子密钥分发装置的结构示意图之三;
44.图11为本技术实施例提供的一种电子设备的硬件示意图。
具体实施方式
45.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
46.需要说明的是,本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
47.为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
48.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
49.量子密钥分发是利用量子力学特性来保证通信安全性,使得通信双方能够产生并
分享一个随机且安全的密钥,用于加密和解密消息。具体的,利用量子原理高效且稳定地生成量子密钥,通过专用的量子通信链路发送量子密钥,窃听者亦无法通过对量子通信链路的窃听获得量子密钥,能够保证在物理层面上量子密钥是安全可信的,因此,基于量子通信链路进行端到端的量子密钥传输,能够实现真正意义上的“一次一密”。
50.在传输过程中,从物理原理层面保障了量子密钥分发过程的不可篡改、不可被三方监听的安全性。然而对于实际场景而言,若要为海量的物联网设备或者网络设备分发量子密钥,使用上述专用的量子通信链路进行端到端的分发方式显然是不可能的。因此,对于实际场景而言,可以利用量子的不确定性原理生成基于物理原理的量子密钥,并将量子密钥存储于量子密钥池中,物联网设备或者网络设备需要获取目标量子密钥时,即可通过传统网络方式从量子密钥池中获取目标量子密钥,以降低成本并提高效率。
51.虽然上述量子密钥生成设备可以产生基于物理原理的无法被预测或复刻的真随机数(可以应用于身份验证、数据加密领域),但无法保障量子密钥分发过程的安全性。即,虽然生成的量子密钥是安全的,但是通过传统网络方式访问量子密钥池,并获取量子密钥的分发过程不是绝对安全的。
52.为解决上述量子密钥在分发过程中存在安全隐患的问题,本技术实施例提供的一种量子密钥分发方法,可以适用于量子密钥分发系统。如图1所示,为本技术实施例所适用的一种量子密钥分发系统的结构示意图。如图1所示,量子密钥分发系统包括量子密钥请求设备11、区块链平台设备12以及量子密钥生成设备13。区块链平台设备12分别与量子密钥请求设备11和量子密钥生成设备13连接。
53.量子密钥请求设备11需要获取并使用量子密钥,以实现特定的业务功能,可以是手机、平板电脑等个人智能设备,或者,也可以是笔记本电脑、手持计算机、台式计算机、超级移动个人计算机(ultra-mobile personal computer,umpc)、服务器等网络电子设备,又或者,还可以是电子密码锁、监控设备、送餐机器人等物联网设备,在此对量子密钥请求设备11的设备形态不做限制。
54.量子密钥请求设备11,用于向区块链平台设备发送第一密钥获取请求,第一密钥获取请求用于请求获取目标量子密钥,区块链平台设备存储有量子密钥请求设备进行上链注册的第一注册信息;接收区块链平台设备发送的量子密钥段集合,量子密钥段集合是由至少两个请求加密段随机排列得到的,每个请求加密段是根据第二子注册信息对至少两个量子密钥段中的一个量子密钥段加密得到的,至少两个量子密钥段是根据第一子注册信息对目标量子密钥分段得到的,第一子注册信息为第一注册信息中的部分信息,第二子注册信息为第一注册信息中除了第一子注册信息之外的信息;从区块信息中获取量子密钥段集合中请求加密段的密钥段顺序信息,密钥段顺序信息是被区块链平台设备同步至区块信息中的;根据密钥段顺序信息和第二子注册信息,解析量子密钥段集合生成目标量子密钥。
55.区块链平台设备12利用区块链技术,在量子密钥分发过程中实现设备注册、设备身份验证、量子密钥处理或区块信息同步等,并用于与量子密钥请求设备11和量子密钥生成设备13进行通信。
56.区块链平台设备12,用于区块链平台设备接收量子密钥请求设备发送的第一密钥获取请求,第一密钥获取请求用于请求获取目标量子密钥;区块链平台设备获取目标量子密钥,并根据第一子注册信息对目标量子密钥进行分段得到的至少两个量子密钥段,并根
据第二子注册信息对至少两个量子密钥段进行加密得到至少两个请求加密段,目标量子密钥是从量子密钥生成设备获取的,第一子注册信息为第一注册信息中的部分信息,第二子注册信息为第一注册信息中除了第一子注册信息之外的信息,第一注册信息为量子密钥请求设备进行上链注册的信息;将至少两个请求加密段进行随机排列,生成量子密钥段集合,并向量子密钥请求设备发送量子密钥段集合;将量子密钥段集合中的至少两个请求加密段的密钥段顺序信息同步至区块信息,以使得量子密钥请求设备能够通过区块信息获取密钥段顺序信息。
57.需要说明的是,区块链技术是一种结合数据存储、点对点传输、共识机制、加密算法的分布式账本技术。区别于传统的中心化数据结构,在区块链上任一方通过共识算法共享的上链数据,能够被该区块链上的多方查看,且只能对上链数据进行写入和查询操作,使得上链数据具有去中心化、开放性、独立性、安全性和匿名性等特性,这些特性保证了区块链上的上链数据的安全性、稳定性、不可篡改性、数据操作的透明性以及可溯源性。区块链的共识算法以及不可篡改性使得链上相关的多方之间无需建立信任机制。通过引入智能合约,区块链还可以实现自动化的操作,使得人为干预的可能性降到了最低。
58.量子密钥生成设备13是基于量子物理机制的随机数生成硬件设备,可以生成基于量子原理无法被预测的真随机数(量子密钥),而非与其他随机数生成机制类似的依赖于复杂数学算法计算得到的伪随机数,因此可以用于双向身份验证与数据加密。
59.量子密钥生成设备13,用于接收区块链平台设备发送的第二密钥获取请求,第二密钥请求用于请求获取目标量子密钥;响应于第二密钥获取请求,生成目标量子密钥;将第三子注册信息与目标量子密钥进行乘法加密运算,生成目标量子密钥的目标加密密钥,第三子注册信息是量子密钥生成设备进行上链注册的第二注册信息中的部分信息;向区块链平台设备发送密钥响应信息,密钥响应信息包括目标加密密钥。
60.在本技术实施例提供的量子密钥分发系统中,首先量子密钥请求设备发送第一密钥获取请求,经过区块链平台设备将第一密钥获取请求的请求信息传递至量子密钥生成设备,然后量子密钥生成设备将目标量子密钥通过区块链平台设备发送至量子密钥请求设备,以此保证目标量子密钥“一次一密”的特性,并提升目标量子密钥的不可预测性和安全性。由于传输过程中的目标量子密钥是进行乘法加密的数据,根据大数因数分解原理,对于非法设备而言无法获取加密数据中的各个加密因子,然而因子分解获取目标量子密钥的过程极为复杂,且存在多种分解结果,因此乘法加密方式能够降低非法设备获取量子密钥的可能性,能够提高量子密钥在分发过程中的安全性。并且,在至少两个请求加密段传输过程中进行乱序处理,并将密钥段顺序信息同步到区块信息中。由于区块链上的同步区块信息具有安全性、稳定性、不可篡改性等特征,只有合法用户可以从区块链上的区块信息中获取信息,而非法设备窃听区块链上的区块信息,进而无法获取同步至区块信息中的密钥段顺序信息,也就无法获取/解析得到目标量子密钥,能够提高量子密钥在分发过程中的安全性。
61.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的量子密钥分发方法进行详细地说明。如图2所示,本技术实施例提供了一种量子密钥分发方法,应用于量子密钥请求设备,该方法可以包括下述的步骤201至步骤204。下面以执行主体为量子密钥请求设备为例对该方法进行示例性说明。
62.步骤201、量子密钥请求设备向区块链平台设备发送第一密钥获取请求。
63.在本技术实施例中,第一密钥获取请求用于请求获取目标量子密钥,区块链平台设备存储有量子密钥请求设备进行上链注册的第一注册信息。可以理解的是,第一密钥获取请求还可以携带量子密钥请求设备的设备信息,以便于将第一密钥获取请求对应的响应信息返回至量子密钥请求设备。
64.需要说明的是,在量子密钥请求设备在区块链平台设备进行上链注册后,区块链平台设备才能接收量子密钥请求设备发送的第一密钥获取请求。
65.在本技术实施例中,量子密钥请求设备可以是手机、平板电脑等个人智能设备,或者,也可以是笔记本电脑、手持计算机、台式计算机、超级移动个人计算机(ultra-mobile personal computer,umpc)、服务器等网络电子设备,又或者,还可以是电子密码锁、监控设备、送餐机器人等物联网设备。
66.在本技术实施例中,量子密钥请求设备可以在需要对目标文件进行加密之前发送第一密钥获取请求,响应于第一密钥获取请求获取的目标量密钥,用于对目标文件进行加密。
67.步骤202、量子密钥请求设备接收区块链平台设备发送的量子密钥段集合。
68.在本技术实施例中,量子密钥段集合是由至少两个请求加密段随机排列得到的,每个请求加密段是根据第二子注册信息对至少两个量子密钥段中的一个量子密钥段加密得到的,至少两个量子密钥段是根据第一子注册信息对目标量子密钥分段得到的,第一子注册信息为第一注册信息中的部分信息,第二子注册信息为第一注册信息中除了第一子注册信息之外的信息。
69.需要说明的是,至少两个量子密钥段包括将目标量子密钥段进行拆分得到的量子密钥段,可以包括目标量子密钥段增加的冗余信息。
70.可以理解的是,至少两个请求加密段中的任一请求加密段,可以是一串数据位数不固定的二进制数据串,如,10011011000101。
71.在本技术实施例中,在发送量子密钥段集合时,还可以携带校验码、发送路径或量子密钥请求设备的设备信息,以便于将量子密钥段集合发送至发送第一密钥请求的量子密钥请求设备。
72.步骤203、量子密钥请求设备从区块信息中获取量子密钥段集合中请求加密段的密钥段顺序信息。
73.在本技术实施例中,密钥段顺序信息是被区块链平台设备同步至区块信息中的。密钥段顺序信息可以用于指示至少两个请求加密段在量子密钥段集合中的排序。
74.可以理解的是,在区块信息中可以根据量子密钥请求设备的设备信息、第一密钥获取请求的请求信息或量子密钥段集合的密钥信息,标识密钥段顺序信息,以便于获取到的密钥段顺序信息与量密钥段集合相对应。
75.可以理解的是,量子密钥请求设备可以在每次获取密钥段顺序信息之后,删除该密钥段顺序信息,以使得区块信息中每个量子密钥请求设备最多存储一个密钥段顺序信息,那么无需对密钥段顺序信息进行标识。
76.步骤204、量子密钥请求设备根据密钥段顺序信息和第二子注册信息,解析量子密钥段集合生成目标量子密钥。
77.在本技术实施例中,量子密钥请求设备根据量子密钥段集合的加密过程,对量子密钥段集合进行解密。
78.可选的,在本技术实施例中,如图3所示,步骤204具体可以通过下述步骤301至步骤303实现。
79.步骤301、量子密钥请求设备根据预置数据传输协议,将量子密钥段集合拆分为至少两个请求加密段。
80.在本技术实施例中,预置数据传输协议包括在发送量子密钥段集合的过程中,采用的数据传输链路的建立规则,以及数据发送规则。量子密钥段集合的发送方和接收方都根据预置数据传输协议传输数据,以使得量子密钥请求设备能够接收量子密钥段集合,并解析其中包括的至少两个请求加密段中的每个请求加密段。
81.步骤302、量子密钥请求设备将至少两个请求加密段与第二子注册信息进行解密运算,得到至少两个量子密钥段。
82.在本技术实施例中,对于至少两个请求加密段中的每个请求加密段分别进行解密运算,每个请求加密段对应解密得到一个量子密钥段。
83.可选的,在本技术实施例中,步骤302具体实现方式可以为:量子密钥请求设备以至少两个请求加密段中的每个请求加密段为被除数,以第二子注册信息为除数,进行除法解密运算,得到至少两个量子密钥段。
84.可以理解的是,除法解密运算过程,是根据量子密钥段进行乘法加密运算过程的逆运算,如果在加密运行过程中,量子密钥段和第二子注册信息,采用的数据形式为二进制数据,那么在除法解密运算过程中,需要先将请求加密段和第二子注册信息的数据形式转换为二进制形式,再进行除法运算。
85.步骤303、量子密钥请求设备按照密钥段顺序信息,将至少两个量子密钥段中的每个量子密钥段依次合并,生成目标量子密钥。
86.在本技术实施例中,密钥段顺序信息中记录每个量子密钥段对应的位置,据此为至少两个量子密钥段中的所有量子密钥段进行排序,然后将排序后的量子密钥段合并,生成目标量子密钥。
87.进一步可选的,在本技术实施例中,在至少两个请求加密段包括干扰加密段的情况下,步骤303,具体实现方式可以为:量子密钥请求设备根据密钥段顺序信息中的干扰标识,查找至少两个量子密钥段中与干扰加密段对应的量子密钥段;量子密钥请求设备按照密钥段顺序信息,将至少两个量子密钥段中除了干扰加密段对应的量子密钥段依次合并,生成目标量子密钥。
88.在本技术实施例中,干扰标识可以密钥段顺序信息中的最后一个顺序值,还可以为特殊标识符,还可以在密钥顺序信息中设置用于存储干扰标识的数据位。
89.进一步可选的,在本技术实施例中,在至少两个请求加密段包括干扰加密段的情况下,对于步骤302和步骤303,具体实现方式还可以为:量子密钥请求设备根据密钥段顺序信息中的干扰标识,查找至少两个请求加密段中与干扰加密段对应的请求加密段;量子密钥请求设备按照密钥段顺序信息,将至少两个请求加密段中除了干扰加密段对应的至少两个请求加密段进行排序;量子密钥请求设备按照上述排序结果中的请求加密段依次与第二子注册信息进行解密运算,得到依次排列的量子密钥段,将上述依次排列的量子密钥段合
并,生成目标量子密钥。
90.在本技术实施例中,对于至少两个量子密钥段,可以存储在量子密钥请求设备的可行执行环境的可行容器中。具体的,至少一个第二请求可信容器中的每个第二请求可信容器用于存储至少两个请求加密段的任一请求加密段。
91.可以理解的是,可信执行环境是一种基于硬件的保护软件安全状态的技术,可以为应用程序或敏感数据提供独立且安全的存储、运行环境,并通过可信容器保护可信软件的资源和数据的保密性、完整性和访问权限。对于每一个可信容器,可信执行环境可以确保其不受恶意软件的攻击,且允许可信软件开发者保护敏感数据不被未授权访问或被更高权限级别软件的修改。一个安全执行环境中可以存在若干可信容器,且这些可信容器相互隔离,因此,单一可信容器的数据泄露不会导致可信执行环境中所有隐私数据的泄露。
92.在本技术实施例中,区块信息是区块链平台根据共识算法同步至当前链上的,量子密钥请求设备可以通过区块信息获取密钥段顺序信息。在获取密钥段顺序信息时,可以根据量子密钥请求设备的设备名称、或者身份识别信息查找密钥段顺序信息。
93.对于实际的网络设备或者物联网设备的应用场景而言,在同一时刻可能存在大量设备同时获取量子密钥,由于量子密钥请求设备的第二子注册信息作为信息承载凭证进行除法解密运算时,对于不同设备而言,其信息承载凭证不同,因此,若量子密钥段集合在传递过程中被窃取,由于窃取方无法得知量子密钥请求设备对应的第二子注册信息,则无法对量子密钥段集合进行解密,提高了量子密钥在传输过程中的安全性。进一步的,由于传输过程中的请求加密段,是采用两个大因数相乘的乘法加密方式得到的,而大因数的因子分解是数学上的多项式复杂程度的非确定性问题,从算力与成本考虑,不存在被暴力运算分解的可能性,又进一步提高了量子密钥在传输过程中的安全性。同时,由于在量子密钥段中加入了干扰密钥段,若在传输途中窃取了区块链向终端设备发送的量子密钥段集合,由于链外设备无法获取并解析区块信息,也无法恢复量子密钥请求设备请求的目标量子密钥,又进一步提高量子密钥在传输过程中的安全性。
94.在本技术提供的量子密钥分发方法中,首先量子密钥请求设备发送第一密钥获取请求,经过区块链平台设备将第一密钥获取请求的请求信息传递至量子密钥生成设备,然后量子密钥生成设备将目标量子密钥通过区块链平台设备发送至量子密钥请求设备,以此保证目标量子密钥“一次一密”的特性,并提升目标量子密钥的不可预测性和安全性。由于传输过程中的目标量子密钥是进行乘法加密的数据,根据大数因数分解原理,对于非法设备而言无法获取加密数据中的各个加密因子,然而因子分解获取目标量子密钥的过程极为复杂,且存在多种分解结果,因此乘法加密方式能够降低非法设备获取量子密钥的可能性,能够提高量子密钥在分发过程中的安全性。并且,在至少两个请求加密段传输过程中进行乱序处理,并将密钥段顺序信息同步到区块信息中。由于区块链上的同步区块信息具有安全性、稳定性、不可篡改性等特征,只有合法用户可以从区块链上的区块信息中获取信息,而非法设备窃听区块链上的区块信息,进而无法获取同步至区块信息中的密钥段顺序信息,也就无法获取/解析得到目标量子密钥,能够提高量子密钥在分发过程中的安全性。
95.可选的,在本技术实施例中,在步骤201中之前,本技术实施例提供的量子密钥分发方法还可以包括:量子密钥请求设备根据预置第一哈希算法以及第一状态标识数据,得到第一注册信息;量子密钥请求设备向区块链平台设备发送第一注册信息与第一设备信
息,以便于区块链平台设备对量子密钥请求设备进行上链注册。
96.在本技术实施例中,第一状态标识数据用于标识量子密钥请求设备的当前运行状态的运行参数,第一设备信息用于标记量子密钥请求设备。
97.在本技术实施例中,在量子密钥请求设备向区块链平台设备发送第一密钥获取请求之前,还需要在区块链平台设备进行注册。区块链平台设备可以不响应未注册的量子密钥请求设备发送的第一密钥获取请求。
98.在本技术实施例中,第一注册信息是根据预置第一哈希算法计算得到的,其中,第一哈希算法是一种加密算法,在区块链平台设备可以根据预置第一哈希算法对第一注册信息解密,以对量子密钥请求设备进行注册。
99.示例性的,量子密钥请求设备首先收集第一状态标识数据具体包括:硬件参数及其当前的状态参数,并将其打包至数据包tee.info中,存储于可信执行环境的第一请求可信容器tc0内。硬件参数包括以下至少一项:随机存储器ram参数、只读存储器rom参数、内嵌操作系统版本、整体架构版本、芯片制造商和身份标识id。可信执行环境当前的状态参数包括但不限于tee环境所处可信终端类型、可信终端的基本硬件信息、可信终端的身份识别id信息(如,设备识别码imei、序列号s/n)等参数。生成用于身份标识的tee.info数据包后,使用任意哈希算法(md5、sha-256、sha-512等)计算tee.info的第一注册信息,并将该第一注册信息作为设备的隐私信息存储于可信容器tc0中。将该第一注册信息与量子密钥请求设备的名称、设备的制造商等第一设备信息打包,并将该数据包作为量子密钥请求设备的注册信息,发送至区块链平台设备进行设备注册操作。
100.如此,使得区块链平台设备与量子密钥请求设备能够通过通常的网络环境进行数据传输,还可以通过区块信息进行数据共享,以多种数据传输方式提高数据传输的可靠性。并且,对已注册的量子密钥请求设备进行分发量子密钥,可以根据第一注册信息对量子密钥请求设备进行识别,增加了网络入侵的难度,进而提高了分发量子密钥的安全性。
101.可选的,第一子注册信息由量子密钥请求设备发送的情况下,在步骤201中之前,如果第一密钥获取请求包括第一子注册信息,本技术实施例提供的量子密钥分发方法还可以包括:量子密钥请求设备根据预置随机算法,生成第一随机数;量子密钥请求设备从第一注册信息中提取第一子注册信息,第一子注册信息包括第一注册信息中的起始数据位至第一随机数对应的数据位之间的信息;在图2所示的步骤204之前,本技术实施例提供的量子密钥分发方法还可以包括:量子密钥请求设备根据第一子注册信息,从第一注册信息中截取第二子注册信息。
102.在本技术实施例中,第一随机数大于1,且小于第一注册信息的数据位数。可以理解的是,当量子密钥请求设备每次需要请求目标量子密钥时,会请求生成一次性第一随机数ra,且满足:ra∈[1,第一注册信息的数据位数]。使用ra对第一注册信息进行分割。即选择第一注册信息的第ra位作为分界点,将第一注册信息分为[1,ra],[ra+1,第一注册信息的数据位数]两部分,并分别标记为第一子注册信息、第二子注册信息,并分别存储于第一请求可信容器tc0中。
[0103]
在本技术实施例中,第一子注册信息还可以用于区块链平台设备对发送第一密钥获取请求的量子密钥请求设备进行身份验证。
[0104]
如此,在量子密钥请求设备根据第一子注册信息进行身份验证,并作为获取第二
子注册信息的基础,无论在区块链平台设备对目标量子密钥进行加密过程,还是在量子密钥请求设备对量子密钥段集合进行解密过程,都无需在网络中传输第二子注册信息,能够避免第二子注册信息被泄露,以此提高目标量子密钥在传输过程中的安全性。
[0105]
可选的,第一子注册信息由量子密钥请求设备生成的情况下,在步骤201中之前,本技术实施例提供的量子密钥分发方法还可以包括量子密钥请求设备从区块信息中获取第一子注册信息;量子密钥请求设备根据第一子注册信息,从第一注册信息中截取第二子注册信息。
[0106]
在本技术实施例中,第一子注册信息采用与量子密钥段集合不同的信息传输方式传递至量子密钥请求设备,以增加第一注册信息与量子密钥段集合被同时获得概率,能够提高传输数据的安全性,进而提高目标量子密钥在传输过程中的安全性。
[0107]
在本技术实施例中,虽然量子密钥段集合中的请求加密段是通过第二子注册信息进行加密的,但是第二子注册信息并未直接传输至量子密钥请求设备,而是在量子密钥请求设备根据第一子注册信息在第一注册信息中进行截取得到第二子注册信息,增加获取第二子注册信息的难度,以提高目标量子密钥在传输过程中的安全性。
[0108]
可选的,如图4所示,在步骤204之后,本技术实施例提供的量子密钥分发方法还可以包括步骤401至步骤405。
[0109]
步骤401、量子密钥请求设备获取第一数量值。
[0110]
步骤402、量子密钥请求设备向区块链平台设备发送密钥校验请求。
[0111]
步骤403、量子密钥请求设备接收区块链平台设备发送的密钥校验请求对应的校验响应信息。
[0112]
步骤404、在校验响应信息的校验结果为通过的情况下,量子密钥请求设备根据目标量子密钥为目标数据进行加密。
[0113]
步骤405、在校验响应信息的校验结果为不通过的情况下,量子密钥请求设备重新向区块链平台设备发送第一密钥获取请求。
[0114]
在本技术实施例中,第一数量值为目标量子密钥中预置数值的数量值。密钥校验请求包括:第一数量值。可以理解的是,目标量子密钥为二进制的字符串的情况下,预置数值可以为0或1,第一数量值为目标量子密钥中0或1的个数。
[0115]
在本技术实施例中,以第一数据值为校验码,向区块链平台设备发送密钥校验请求,以请求区块链平台设备对量子密钥请求设备解析出的目标量子密钥进行校验,区块链平台设备将校验结果通过校验响应信息反馈至量子密钥请求设备。
[0116]
如此,量子密钥请求设备对接收到的目标量子密钥进行校验,以确定目标量子密钥是由区块链平台设备分发的,并且在分发过程中没有被篡改或误发,能够保证量子密钥请求设备接收到的目标量子密钥是“真随机数”,进而保证用于为目标数据加密的目标量子密钥具有唯一性。
[0117]
可选的,量子密钥请求设备包括可信执行环境,可信执行环境包括第一请求可信容器和至少一个第二请求可信容器;第一请求可信容器用于存储以下至少一项:用于标识量子密钥请求设备的当前运行状态的第一状态标识数据、根据预置第一哈希算法得到的第一状态标识数据的第一注册信息、第一注册信息中的第一子注册信息、第一注册信息中的第二子注册信息和量子密钥请求设备的第一设备信息;至少一个第二请求可信容器中的每
个第二请求可信容器用于存储至少两个请求加密段的任一请求加密段。
[0118]
如此,在不同可信容器中存储不同信息,以不同可信容器之间相互隔离的特点,在单一容器的数据泄露不会导致可信执行环境中所有隐私数据的泄露,以提高量子密钥请求设备中存储的数据的安全性,提高传输的量子密钥段集合的安全性。
[0119]
在本技术实施例中,为了理解可信执行环境、量子密钥段集合、密钥段顺序信息、至少两个量子密钥段、至少两个请求加密段、干扰加密段、第二子注册信息,对于生成目标量子密钥的过程进行示例性说明:
[0120]
量子密钥请求设备接收到量子密钥段集合q
key
.set后,解析出q
key
.set中的4个元素(请求加密段),即,q
key
.set[0]、q
key
.set[1]、q
key
.set[2]、q
key
.set[3],并将4请求加密段分别存储至第二请求可信容tc1、第二请求可信容tc2、第二请求可信容tc3、第二请求可信容tc4中。tc1中存储q
key
.set[0]的量子密钥段,即{1101011101111011111000};tc2中存储q
key
.set[1]的量子密钥段,即{100110001011100110};tc3中存储q
key
.set[2]的量子密钥段,即{0101010111101110100011011011};tc4中存储q
key
.set[3]的量子密钥段,即{10011011000101}。
[0121]
量子密钥请求设备从区块信息中,获取量子密钥段集合对应的密钥段顺序信息q
key
.order,将该密钥段顺序信息q
key
.order存储至第一请求可信容器tc0中,以确定上述第二可信容器中存储的量子密钥段对应的顺序及其是否为干扰密钥段。
[0122]
量子密钥请求设备由于量子密钥段集合对应的密钥段顺序信息q
key
.order,决定了量子密钥段集合q
key
.set中元素的顺序,q
key
.set中的内容按顺序存储于对应的可信容器中,因此,第二请求可信容中存储的请求加密段可通过密钥段顺序信息q
key
.order进行筛选、拼接与解密,以恢复量子密钥q
key

[0123]
具体的,恢复量子密钥的过程,包括:量子密钥请求设备选取密钥段顺序信息q
key
.order中标记的{q
key1
}

{q
key3
}的元素位置(其中{q
key4
}为干扰密钥段),选取tc
1-tc4中存储有对应请求加密段的三个可信容器(即{q
key1
}、{q
key2
}、{q
key3
}所对应的第二请求可信容器),提取可信容器中存储的请求加密段。根据q
key
.order中的顺序,将提取出的量子密钥段按照{q
key1
}、{q
key2
}、{q
key3
}的顺序重新拼接与解密,并恢复所传输的量子密钥。其中,q
key
.order={{q
key2
},{q
key4
},{q
key3
},{{q
key1
}},tc1中存储的量子密钥段为{q
key2
},即量子随机数的第rp
1-rp2位;tc2中存储的量子密钥段为{q
key4
},即干扰密钥段;tc3中存储的量子密钥段为{q
key3
},即量子随机数的第rp
2-l位;tc4中存储的量子密钥段为{q
key1
},即量子随机数的第1-rp1位。根据q
key
.order,此次获取的量子随机数的构成应为q
key
.order[3]、q
key
.order[0]、q
key
.order[2]的顺序,对应q
key
.set[3]、q
key
.set[0]、q
key
.set[2],即对应可信容器tc4、tc1、tc2中存储的量子密钥段。因此,生成的目标量子密钥为:
[0124]qkey
={1001101100010111010111011110111110000101010111101110100011011011}。
[0125]
与上述应用于量子密钥请求设备相适应,如图5所示,本技术实施例提供了一种量子密钥分发方法,应用于区块链平台设备,该方法可以包括下述的步骤501至步骤504。下面以执行主体为区块链平台设备为例对该方法进行示例性说明。
[0126]
步骤501、区块链平台设备接收量子密钥请求设备发送的第一密钥获取请求。
[0127]
在本技术实施例中,第一密钥获取请求用于请求获取目标量子密钥。需要说明的
是,第一密钥获取请求可以携带量子密钥请求设备的设备信息,还可以携带量子密钥请求设备的第一子注册信息,以便于区块链平台对发送第一密钥获取请求的量子密钥请求设备进行身份验证。
[0128]
可以理解的是,如果身份验证没有通过,那么区块链平台设备不响应第一密钥获取请求,或者向量子密钥请求设备发送身份验证未通过的消息。
[0129]
在本技术实施例中,假设第一密钥获取请求可以携带量子密钥请求设备的设备信息,那么区块链平台设备对量子密钥请求设备进行设备验证,具体包括:区块链平台设备获取第一密钥获取请求携带的量子密钥请求设备的设备信息,设备信息可以包括量子密钥请求设备在区块链上注册的注册名称和身份标识号id,区块链平台设备在已注册的设备信息中查找是否包括量子密钥请求设备的设备信息,如果查找结果为包括,那么区块链平台设备确定量子密钥请求设备通过身份验证。
[0130]
在本技术实施例中,假设第一密钥获取请求可以携带量子密钥请求设备的设备信息和第一子注册信息,那么区块链平台设备对量子密钥请求设备进行设备验证,具体包括:区块链平台设备获取第一密钥获取请求携带的量子密钥请求设备的设备信息和第一子注册信息,设备信息可以包括量子密钥请求设备在区块链上注册的注册名称和身份标识号id,如果第一子注册信息与量子密钥请求设备的设备信息对应的链上注册的第一注册信息中的部分信息相同,则验证通过。
[0131]
示例性的,第一密钥获取请求携带的设备信息和第一子注册信息对应的数据包的数据格式为:q
key
.request={“dev”=“iot-device#1”//量子密钥请求设备在区块链上注册的注册名;“id”=“2314”//在区块链上注册时生成的量子密钥请求设备的身份标识号id;“iden”=“{hash
a1
}”//量子密钥请求设备的第一子注册信息},区块链平台设备解析数据包中的“dev”信息与“id”信息,并在区块链中搜索已上链的设备中是否存在与所解析“dev”与“id”信息相对应的已注册设备。如果在区块链中搜索已上链的设备中存在与所解析“dev”与“id”信息相对应的已注册设备,则解析请求数据包中的“iden”信息,获得可信终端发送的第一子注册信息。计算第一子注册信息的长度,该长度即为随机数ra。在区块链中,调取该量子密钥请求设备在链上存储的第一注册信息,使用ra对第一注册信息进行分割。即选择第一注册信息中的的第ra位,将第一注册信息分为[1,ra],[ra+1,第一注册信息的数据位数]两部分,并分别标记为hash
a1
、hash
a2
,如果hash
a1
与第一子注册信息相同,则确定量子密钥请求设备的身份验证通过。
[0132]
步骤502、区块链平台设备获取目标量子密钥,并根据第一子注册信息对目标量子密钥进行分段得到的至少两个量子密钥段,并根据第二子注册信息对至少两个量子密钥段进行加密得到至少两个请求加密段。
[0133]
在本技术实施例中,目标量子密钥是从量子密钥生成设备获取的,第一子注册信息为第一注册信息中的部分信息,第二子注册信息为第一注册信息中除了第一子注册信息之外的信息,第一注册信息为量子密钥请求设备进行上链注册的信息。
[0134]
在本技术实施例中,在量子密钥请求设备通过身份验证之后,区块链平台将第一量子密钥获取请求进行转换,生成第二量子密钥获取请求,并将第二量子密钥获取请求发送给量子密钥生成设备,其中第二量子密钥获取请求用于请求获取目标量子密钥。
[0135]
在本技术实施例中,区块链平台设备获取的目标量子密钥可以是密钥本身,也可
以是加密后的密钥,如果接收到的是加密后的密钥则需要解密获取密钥本身。
[0136]
在本技术实施例中,区块链平台设备在将目标量子密钥发送至量子密钥请求设备之前,还需要对目标量子密钥进行加密,其加密的依据是第一子注册信息和第二子注册信息。
[0137]
示例性的,根据第一子注册信息的数据位数为拆分位置,将目标量子密钥分为两个量子密钥段;根据第一子注册信息中数值“1”的个数为拆分位置,将目标量子密钥分为两个量子密钥段;根据第一子注册信息中数值“1”的个数与数据位数为两个拆分位置,将目标量子密钥分为三个量子密钥段。
[0138]
示例性的,根据第二子注册信息对每个量子密钥段分别进行乘法加密运算等到至少两个请求加密段。
[0139]
步骤503、区块链平台设备将至少两个请求加密段进行随机排列,生成量子密钥段集合,并向量子密钥请求设备发送量子密钥段集合。
[0140]
在本技术实施例中,区块链平台设备将至少两个请求加密段进行打包生成量子密钥段集合,量子密钥段集合中的每个元素代表一个请求加密段,在各个元素之间通过“;”、“#”或者“*”等特定标识符进行分隔。
[0141]
在本技术实施例中,区块链平台设备还需要记录至少两个请求加密段的随机排列顺序,即密钥段顺序信息。
[0142]
在本技术实施例中,区块链平台设备通过常规网格,将量子密钥段集合发送至量子密钥请求设备,即,将加密后的目标量子密钥发送至量子密钥请求设备。由于在发送目标量子密钥过程中未携带加密信息,即使该密钥请求设备被截获,也很难解析出目标量子密钥。
[0143]
步骤504、区块链平台设备将量子密钥段集合中的至少两个请求加密段的密钥段顺序信息同步至区块信息,以使得量子密钥请求设备能够通过区块信息获取密钥段顺序信息。
[0144]
在本技术实施例中,区块信息是指在同一区块链上的各个链上设备能够共享的信息库,一旦将信息同步至区块信息,那么在该区块链上的各个链上设备均能够获取该信息,也就是说,区块链平台设备将密钥段顺序信息同步至区块信息后,量子密钥请求设备能够通过区块信息获取密钥段顺序信息。
[0145]
在本技术提供的量子密钥分发方法中,首先量子密钥请求设备发送第一密钥获取请求,经过区块链平台设备将第一密钥获取请求的请求信息传递至量子密钥生成设备,然后量子密钥生成设备将目标量子密钥通过区块链平台设备发送至量子密钥请求设备,以此保证目标量子密钥“一次一密”的特性,并提升目标量子密钥的不可预测性和安全性。由于传输过程中的目标量子密钥是进行乘法加密的数据,根据大数因数分解原理,对于非法设备而言无法获取加密数据中的各个加密因子,然而因子分解获取目标量子密钥的过程极为复杂,且存在多种分解结果,因此乘法加密方式能够降低非法设备获取量子密钥的可能性,能够提高量子密钥在分发过程中的安全性。并且,在至少两个请求加密段传输过程中进行乱序处理,并将密钥段顺序信息同步到区块信息中。由于区块链上的同步区块信息具有安全性、稳定性、不可篡改性等特征,只有合法用户可以从区块链上的区块信息中获取信息,而非法设备窃听区块链上的区块信息,进而无法获取同步至区块信息中的密钥段顺序信
息,也就无法获取/解析得到目标量子密钥,能够提高量子密钥在分发过程中的安全性。
[0146]
可选的,在本技术实施例中,在图5的基础上,如图6所示,步骤501之后,步骤502之前,本技术实施例提供的量子密钥分发方法还可以包括步骤601至步骤603。
[0147]
步骤601、区块链平台设备向量子密钥生成设备发送与第一密钥请求对应的第二密钥获取请求。
[0148]
步骤602、区块链平台设备接收第二密钥获取请求对应的密钥响应信息。
[0149]
步骤603、区块链平台设备根据第三子注册信息对目标加密密钥进行解密,生成目标量子密钥。
[0150]
在本技术实施例中,密钥响应信息包括目标加密密钥,第二密钥请求用于请求获取目标量子密钥,第三子注册信息是量子密钥生成设备对应的第二注册信息中的部分信息。
[0151]
在本技术实施例中,目标量子密钥是由量子密钥生成设备生成的,因此,需要用于请求获取目标量子密钥的第二密钥获取请求发送至量子密钥生成设备。
[0152]
在本技术实施例中,在密钥响应信息中包括的目标加密密钥,是经过加密后的目标量子密钥。根据第三子注册信息对目标加密密钥进行解密后,生成目标量子密钥。
[0153]
进一步可选的,在步骤603之前,区块链平台设备还可以对量子密钥生成设备进行身份验证。需要说明的是,第三子注册信息可以包含于密钥响应信息,或者与密钥响应信息一起发送至区块链平台设备。根据第三子注册信息的截取规则,判断第三子注册信息,与区块链上量子密钥生成设备的注册信息根据上述截取规则截取的部分信息,是否相同,如果相同则量子密钥生成设备通过了身份验证。
[0154]
进一步可选的,步骤603具体包括:区块链平台设备接收量子密钥生成设备发送的第三子注册信息;区块链平台设备以目标加密密钥为被除数,以第三子注册信息对应的二进制信息为除数,进行除法解密运算,得到目标量子密钥。
[0155]
在本技术实施例中,根据量子密钥生成设备对目标量子密钥的加密过程,区块链平台设备对目标加密密钥进行解密。其中,第三子注册信息与目标加密密钥的数据形式都为二进制数据,将两个二进制数据进行除法解密运行,得到目标量子密钥。
[0156]
如此,由于目标加密密钥是进行乘法加密的数据,根据大数因数分解原理,对于非法设备而言无法获取加密数据中的各个加密因子,然而通过因子分解获取目标量子密钥的过程极为复杂,且存在多种分解结果,因此乘法加密方式能够降低非法设备获取量子密钥的可能性,能够提高量子密钥在分发过程中的安全性。
[0157]
如此,将量子密钥请求设备与量子密钥生成设备通过区块链平台设备进行隔离,即使量子密钥生成设备向区块链平台设备发送密钥响应信息被截取,也无法获取其中包括的目标加密密钥是哪个量子密钥请求设备所需的,进一步增加根据目标量子密钥进行加密的数据的安全性。
[0158]
可选的,在本技术实施例中,上述步骤502之前,包括:区块链平台设备从第一密钥获取请求中提取第一子注册信息;或,区块链平台设备从第一注册信息中截取随机长度的第一子注册信息。
[0159]
如此,对于每个第一密钥获取请求,都需从第一子注册信息中随机截取一个第一注册信息,通过该第一子注册信息进行分段更具有随机性,进而增加目标量子密钥的安全
性。
[0160]
可选的,在本技术实施例中,上述步骤502,具体包括:区块链平台设备根据第一随机数和第二随机数,生成第三随机数,第三随机数为大于1且小于目标量子密钥的数据位数的数值,且在第一随机数与第二随机数相同的情况下,第三随机数与第一随机数或第二随机数不同,第一随机数为第一子注册信息的数据位数,第二随机数为第三子注册信息的数据位数;区块链平台设备根据第一随机数、第二随机数和第三随机数,对目标量子密钥进行分段,生成至少两个量子密钥段;区块链平台设备将第二子注册信息分别与至少两个量子密钥段中的每个量子密钥段进行乘法加密运行,生成至少两个请求加密段。
[0161]
进一步可选的,在本技术实施例中,区块链平台设备根据第一随机数、第二随机数和第三随机数,对目标量子密钥进行分段,生成至少两个量子密钥段,包括:区块链平台设备确定第一分段位置和第二分段位置,第一分段位置为第一随机数、第二随机数和第三随机数中的任一值,第二分段位置为第一随机数、第二随机数和第三随机数中除了第一分段位置之外的任一值,第一分段位置与第二分段位置不相同;区块链平台设备根据第一分段位置和第二分段位置,将目标量子密钥进行分段,生成至少两个量子密钥段,至少两个量子密钥段包括第一量子密钥段、第二量子密钥段和第三量子密钥段。
[0162]
可以理解的是,由于第一随机数、第二随机数和第三随机数的来源分别为量子密钥请求设备、量子密钥生成设备和区块链平台设备,由于上述三个随机数的本身随机性,以及选取随机数的来源的随机性,增加生成的至少两个量子密钥段的随机性,使得至少两个量子密钥段更不容易被破解。
[0163]
如此,根据第一随机数、第二随机数和第三随机数,确定的第一分段位置和第二分段位置,将目标量子密钥分为三个量子密钥段,由于第一随机数、第二随机数和第三随机数的随机性,再叠加确定第一分段位置和第二分段位置的随机性,能够增加划分量子密钥段的随机性,进一步提高量子密钥段的划分难度,进而提高目标量子密钥段的安全性。
[0164]
具体的,在本技术实施例中,上述区块链平台设备根据第一分段位置和第二分段位置,将目标量子密钥进行分段,生成至少两个量子密钥段之后,包括:区块链平台设备根据干扰随机数的数据位数随机生成二进制的干扰密钥段,干扰随机数为第一随机数、第二随机数和第三随机数中除了第一分段位置和第二分段位置之外的随机数;区块链平台设备将干扰密钥段确定为至少两个量子密钥段中的量子密钥段,并根据干扰标识标记干扰密钥段。
[0165]
如此,拆分后的量子密钥段中,加入干扰密钥段,并且干扰密钥段能够加入量子密钥段中的任一位置,以增加用于干扰的量子密钥段,进而增加量子密钥段集合的解密难度,提高目标量子密钥的安全性。
[0166]
可选的,在本技术实施例中,在步骤504之后,本技术实施例提供的量子密钥分发方法还包括:区块链平台设备接收量子密钥请求设备发送的密钥校验请求,密钥校验请求包括第一数量值,第一数量值为目标量子密钥中预置数值的数量值;在第二随机数与第一数量值相同的情况下,区块链平台设备确定密钥校验信息对应的校验响应信息的校验结果为通过;在第二随机数与第一数量值不相同的情况下,区块链平台设备确定密钥校验信息对应的校验响应信息的校验结果为不通过。
[0167]
在本技术实施例中,通过量子密钥请求设备发送的密钥校验请求中的第一数量
值,与量子密钥生成设备发送的第二随机数,进行比较,在比较结果相同的情况下,确定通过加油,在比较信息不同的情况下,确定未通过校验,无论比较结果是否相同,均向量子密钥请求设备发送校验响应信息,以便于量子密钥请求设备根据校验响应信息确定是否使用该目标量子密钥或者重新发送第一密钥获取请求。
[0168]
如此,由于在发送过程中的信号中断、量子密钥请求设备或者量子密钥生成设备被侵占等原因导致目标量子密钥传输链路上存在的任何问题,都可能导致通过两次建立通信连接分别发送的第一数量值和第二随机数不一致,进而导致校验失败,而最终放弃对该目标量子密钥的使用,能够提高量子密钥请求失败使用的目标量子密钥的安全性。
[0169]
在本技术实施例中,为了理解量子密钥段集合、密钥段顺序信息、至少两个量子密钥段、至少两个请求加密段、干扰加密段、第一子注册信息和第二子注册信息,对于生成量子密钥段和密钥段顺序信息的过程进行示例性说明:
[0170]
区块链平台设备用于在进行量子密钥分发流程中对量子密钥进行处理与中转,并负责与量子密钥请求设备、量子密钥生成设备进行通信。在区块链平台设备中,对目标量子密钥的处理步骤如下:
[0171]
第一、接收到量子密钥生成设备发送的密钥响应信息后,在区块链平台设备(即量子密钥生成设备所在的区块链节点)进行密钥响应信息的解密,获取目标量子密钥q
key
。与此同时,区块链节点生成一次性的第三随机数rc,并满足:rc∈[1,目标量子密钥的数据位数],且rc不同时与第一随机数ra与第二随机数rb相同。其中,第一随机数ra为第一子注册信息的数据位数,第二随机数rb为第三子注册信息的数据位数。
[0172]
第二、在第一随机数ra、第二随机数rb和第三随机数rc选取选取两个标记为第一分段位置rp1与第二分段位置rp2。其中,满足要求1≤rp1《rp2≤l,且rp1≠rp2。将未被选中的随机数标记为rg。
[0173]
第三、完成随机数选取后,将目标量子密钥q
key
进行分段。将q
key
的第1-rp1位存储为第一量子密钥段,标记为q
key1
;第rp
1-rp2位存储为第二量子密钥段,标记为q
key2
;第rp
2-l位存储为第三量子密钥段,标记为q
key3
。示例性的,目标量子目标段q
key
={1001101100010111010111011110111110000101010111101110100011011011},即有:q
key1
={10011011000101},q
key2
={1101011101111011111000},q
key3
={0101010111101110100011011011}。
[0174]
第四、将标记为rg的随机数标记为rg,转换为位数为rg的随机二进制数,并将该二进制数标记为q
key4
。在用于后续量子随机数分发所用的量子密钥段包括:q
key1-q
key4
,其中q
key1-q
key3
为需要进行传输的量子随机数,q
key4
作为传输过程中的干扰密钥段,用于增强整体流程的安全性。示例性的,当rg=19时,干扰密钥段q
key4
的一种可能为:q
key4
={100110001011100110}。
[0175]
第五、生成干扰密钥段之后,按照{{q
key1
},{q
key2
},{q
key3
},{q
key4
}}的顺序排列并生成默认密钥段集合,标记为q
key
.set。默认密钥段集合为:q
key
.set={{10011011000101};//{q
key1
}{1101011101111011111000};//{q
key2
}{0101010111101110100011011011};//{q
key3
}{100110001011100110}//{q
key4
}},其对应的排列顺序{{q
key1
},{q
key2
},{q
key3
},{q
key4
}}即为顺序集合,标记为q
key
.order。将q
key
.set中的元素与q
key
.order进行一一映射。
[0176]
第六、将q
key
.set中的四个元素的顺序进行随机排列,生成乱序排列后的量子密钥段集合。示例性的,量子密钥段集合为:q
key
.set={1101011101111011111000},{100110001011100110},{0101010111101110100011011011},{10011011000101}},对应的密钥段顺序信息为:q
key
.order={{q
key2
},{q
key4
},{q
key3
},{{q
key1
}}。
[0177]
与上述量子密钥请求设备以及区块链平台设备相适应,如图7所示,本技术提供了一种量子密钥分发方法,应用于量子密钥生成设备,该方法包括下述的步骤701至步骤704,下面以执行主体为量子密钥生成设备为例对该方法进行示例性说明。
[0178]
步骤701、量子密钥生成设备接收区块链平台设备发送的第二密钥获取请求。
[0179]
步骤702、量子密钥生成设备响应于第二密钥获取请求,生成目标量子密钥。
[0180]
步骤703、量子密钥生成设备将第三子注册信息与目标量子密钥进行乘法加密运算,生成目标量子密钥的目标加密密钥。
[0181]
步骤704、量子密钥生成设备向区块链平台设备发送密钥响应信息。
[0182]
在本技术实施例中,第二密钥请求用于请求获取目标量子密钥,密钥响应信息包括目标加密密钥,第三子注册信息是量子密钥生成设备进行上链注册的第二注册信息中的部分信息。需要说明的是,在量子密钥生成设备在区块链平台设备进行上链注册后量子密钥生成设备才能接收区块链平台设备发送的第二密钥获取请求。
[0183]
在本技术实施例中,目标量子密钥是量子密钥生成设备响应于第二密钥获取请求,从可信容器中随机选择的某一量子密钥作为目标量子密钥,可以标记为q
key
。具体的目标量子密钥加密生成目标加密密钥的过程包括:获取第三子注册信息,将第三子注册信息作为信息承载凭证hash
b2
,并将第三子注册信息(通常采用十六进制保存)转化为二进制数据值hash
b2b
,计算hash
b2b
与目标量子密钥q
key
的乘积(即进行二进制乘法),并将结果标记为q
key

。即有:
[0184]qkey

=q
key
·
hash
b2b
[0185]
需要说明的是,目标量子密钥是由0,1组成的二进制字符串。因此,目标量子密钥的每一位均可为“0”或“1”。但对于二进制乘法而言,量子随机数第一位(或前几位)为“0”或“1”不会影响二进制乘法的结果(即0001
×
11=1
×
11=11),亦不会影响q
key

的数值。故,按照下述方法处理:当目标量子密钥第一位(或前几位)为“0”时,在量子随机数第一位补“1”,并标记q
key

的运算结果为负值;当目标量子密钥第一位为“1”时,标记q
key

的运算结果为正值。
[0186]
示例性的,若目标量子密钥q
key
为:00010110101110100101101010011010,第二注册信息的哈希值为:0800fc577294c34e0b28ad2839435945,假设第三子注册信息hash
b2
为:0b28ad2839435945,进制转换后hash
b2b
为:100010110101110100101101010011010,由于目标量子密钥q
key
前几位均为0,因此计算q
key

时,将其第一位补“1”,并标记为负值,即计算时,取:q
key
=-100010110101110100101101010011010,使用q
key
与hash
b2b
的值进行二进制乘法运算,即可获得q
key


[0187]
可以理解的是,对于密钥响应信息中的目标加密密钥的解密方法,参见上述步骤603,这里不再赘述。
[0188]
在本技术提供的量子密钥分发方法中,首先量子密钥请求设备发送第一密钥获取请求,经过区块链平台设备将第一密钥获取请求的请求信息传递至量子密钥生成设备,然
后量子密钥生成设备将目标量子密钥通过区块链平台设备发送至量子密钥请求设备,以此保证目标量子密钥“一次一密”的特性,并提升目标量子密钥的不可预测性和安全性。由于传输过程中的目标量子密钥是进行乘法加密的数据,根据大数因数分解原理,对于非法设备而言无法获取加密数据中的各个加密因子,然而因子分解获取目标量子密钥的过程极为复杂,且存在多种分解结果,因此乘法加密方式能够降低非法设备获取量子密钥的可能性,能够提高量子密钥在分发过程中的安全性。并且,在至少两个请求加密段传输过程中进行乱序处理,并将密钥段顺序信息同步到区块信息中。由于区块链上的同步区块信息具有安全性、稳定性、不可篡改性等特征,只有合法用户可以从区块链上的区块信息中获取信息,而非法设备窃听区块链上的区块信息,进而无法获取同步至区块信息中的密钥段顺序信息,也就无法获取/解析得到目标量子密钥,能够提高量子密钥在分发过程中的安全性。
[0189]
可选的,在本技术实施例中,在步骤701之前,本技术提供的量子密钥的分发方法还包括:量子密钥生成设备根据预置第二哈希算法以及第二状态标识数据,得到第二注册信息,第二状态标识数据用于标识量子密钥生成设备的当前运行状态的运行参数;量子密钥生成设备向区块链平台设备发送第二注册信息与第二设备信息,以便于区块链平台设备对量子密钥生成设备进行上链注册,第二设备信息用于标记量子密钥生成设备。
[0190]
在本技术实施例中,在量子密钥生成设备接收区块链平台设备发送第二密钥获取请求之前,还需要在区块链平台设备进行注册。
[0191]
在本技术实施例中,第二注册信息是根据预置第二哈希算法计算得到的,其中,第二哈希算法是一种加密算法,在区块链平台设备可以根据预置第二哈希算法对第二注册信息解密,以对量子密钥生成设备进行注册。
[0192]
示例性的,量子密钥生成设备首先收集第二状态标识数据具体包括:硬件参数及其当前的状态参数,并将其打包至数据包tee.info中,存储于可信执行环境的第一生成可信容器内。硬件参数包括以下至少一项:随机存储器ram参数、只读存储器rom参数、内嵌操作系统版本、整体架构版本、芯片制造商和身份标识id。可信执行环境当前的状态参数包括但不限于tee环境所处可信终端类型、可信终端的基本硬件信息、可信终端的身份识别id信息(如,设备识别码imei、序列号s/n)等参数。生成用于身份标识的tee.info数据包后,使用任意hash算法(md5、sha-256、sha-512等)计算tee.info的第二注册信息,并将该第二注册信息作为设备的隐私信息存储于第一生成可信容器中。将该第二注册信息与量子密钥生成设备的名称、设备的制造商等第二设备信息打包,并将该数据包作为量子密钥生成设备的注册信息,发送至区块链平台设备进行设备注册操作。
[0193]
如此,使得区块链平台设备与量子密钥生成设备能够通过通常的网络环境进行数据传输,还可以通过区块信息进行数据共享,以多种数据传输方式提高数据传输的可靠性。并且,已注册的量子密钥生成设备,可以根据第二注册信息对量子密钥生成设备进行识别,增加网络入侵的难度,进而提高分发量子密钥的安全性。
[0194]
可选的,在本技术实施例中,步骤702量子密钥生成设备响应于第二密钥获取请求,生成目标量子密钥,具体包括:量子密钥生成设备根据预置密钥参数,生成多个量子密钥,预置密钥参数包括密钥位数、量子密钥的最小数量值、量子密钥的最大数量值;量子密钥生成设备从多个量子密钥中选取目标量子密钥。
[0195]
可以理解的是,生成的多个量子密钥的数量在最小数量值和最大数量值之间,以
保证能够为足够多的量子密钥请求设备提供量子密钥,并且,保证各个量子密钥请求设备提供的量子密钥还具有随机选择性,并且,保证量子密钥不会无限制占用量子密钥生成设备中的存储空间。
[0196]
如此,在生成目标量子密钥之前,生成足够多的量子密钥可用筛选,以提高目标量子密钥选取的随机性,以提高目标量子密钥的安全性。
[0197]
可选的,在本技术实施例中,在步骤702之后,本技术提供的量子密钥的分发方法还包括:量子密钥生成设备统计目标量子密钥中的第二随机数,第二随机数为目标量子密钥中的预置数值的数量值,第二随机数大于1,且小于目标量子密钥的数据位数;量子密钥生成设备从第二注册信息中提取第三子注册信息,第三子注册信息包括第二注册信息中的起始数据位至第二随机数对应的数据位之间的信息;量子密钥生成设备向区块链平台设备发送第三子注册信息。
[0198]
如此,根据“真随机数”目标量子密钥中的预置数据的数量值确定第二随机数,该随机数也就真随机数,提高了第三子注册信息的随机性,能够提高加密后的目标量子密钥的安全性。
[0199]
可选的,量子密钥生成设备中的可信执行环境包括第一生成可信容器和至少一个第二生成可信容器;第一生成可信容器用于存储以下至少一项:量子密钥生成设备进行上链注册的第二注册信息和第二注册信息中的第三子注册信息;至少一个第二生成可信容器中的每个第二生成可信容器用于存储量子密钥生成设备的多个量子密钥中的一个或多个量子密钥。
[0200]
如此,在不同可信容器中存储不同信息,以不同可信容器之间相互隔离的特点,在单一容器的数据泄露不会导致可信执行环境中所有隐私数据的泄露,以提高量子密钥生成设备中存储的数据的安全性,提高传输的量子密钥段集合的安全性。
[0201]
上述主要从方法的角度对本技术实施例的方案进行了介绍。可以理解的是,量子密钥分发装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和软件模块中的至少一个。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0202]
本技术实施例可以根据上述方法示例对量子密钥分发装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0203]
如图8所示,本技术实施例提供一种量子密钥分发装置。该量子密钥分发装置,应用于量子密钥请求设备,该装置包括:第一发送单元81、第一接收单元82、第一获取单元83和第一生成单元84;第一发送单元81,用于向区块链平台设备发送第一密钥获取请求,第一密钥获取请求用于请求获取目标量子密钥,区块链平台设备存储有量子密钥请求设备进行上链注册的第一注册信息;第一接收单元82,用于接收区块链平台设备响应于第一发送单
元81发送的量子密钥段集合,量子密钥段集合是由至少两个请求加密段随机排列得到的,每个请求加密段是根据第二子注册信息对至少两个量子密钥段中的一个量子密钥段加密得到的,至少两个量子密钥段是根据第一子注册信息对目标量子密钥分段得到的,第一子注册信息为第一注册信息中的部分信息,第二子注册信息为第一注册信息中除了第一子注册信息之外的信息;第一获取单元83,用于从区块信息中获取量子密钥段集合中请求加密段的密钥段顺序信息,密钥段顺序信息是被区块链平台设备同步至区块信息中的;第一生成单元84,用于量子密钥请求设备根据第一获取单元83获取的密钥段顺序信息和第二子注册信息,解析第一接收单元82接收的量子密钥段集合生成目标量子密钥。
[0204]
可选的,第一生成单元84,用于:根据预置数据传输协议,将量子密钥段集合拆分为至少两个请求加密段;将至少两个请求加密段与第二子注册信息进行解密运算,得到至少两个量子密钥段;按照密钥段顺序信息,将至少两个量子密钥段中的每个量子密钥段依次合并,生成目标量子密钥。
[0205]
可选的,第一生成单元84,具体用于:以至少两个请求加密段中的每个请求加密段为被除数,以第二子注册信息为除数,进行除法解密运算,得到至少两个量子密钥段。
[0206]
可选的,至少两个请求加密段包括干扰加密段,第一生成单元84,具体还用于:量子密钥请求设备根据密钥段顺序信息中的干扰标识,查找至少两个量子密钥段中与干扰加密段对应的量子密钥段;量子密钥请求设备按照密钥段顺序信息,将至少两个量子密钥段中除了干扰加密段对应的量子密钥段依次合并,生成目标量子密钥。
[0207]
可选的,该装置还包括:第一计算单元85;第一计算单元85,用于第一发送单元81向区块链平台设备发送第一密钥获取请求之前,根据预置第一哈希算法以及第一状态标识数据,得到第一注册信息,第一状态标识数据用于标识量子密钥请求设备的当前运行状态的运行参数;第一发送单元81,还用于向区块链平台设备发送第一计算单元85计算的第一注册信息与第一设备信息,以便于区块链平台设备对量子密钥请求设备进行上链注册,第一设备信息用于标记量子密钥请求设备。
[0208]
可选的,第一密钥获取请求包括第一子注册信息,该装置还包括:第一提取单元86和第一截取单元87;第一生成单元84,还用于第一发送单元81向区块链平台设备发送第一密钥获取请求之前,根据预置随机算法,生成第一随机数,第一随机数大于1,且小于第一注册信息的数据位数;第一提取单元86,用于从第一注册信息中提取第一子注册信息,第一子注册信息包括第一注册信息中的起始数据位至第一生成单元84生成的第一随机数对应的数据位之间的信息;第一截取单元87,用于第一生成单元84根据密钥段顺序信息和第二子注册信息,解析量子密钥段集合生成目标量子密钥之前,根据第一提取单元86提取的第一子注册信息,从第一注册信息中截取第二子注册信息。
[0209]
可选的,该装置还包括:第一获取单元83,还用于第一生成单元84根据密钥段顺序信息和第二子注册信息,解析量子密钥段集合生成目标量子密钥之前,从区块信息中获取第一子注册信息;第一截取单元87,还用于根据第一获取单元83获取的第一子注册信息,从第一注册信息中截取第二子注册信息。
[0210]
可选的,该装置还包括:数据加密单元88;第一获取单元83,还用于第一生成单元84根据密钥段顺序信息和第二子注册信息,解析量子密钥段集合生成目标量子密钥之后,获取第一数量值,第一数量值为目标量子密钥中预置数值的数量值;第一发送单元81,还用
于向区块链平台设备发送密钥校验请求,密钥校验请求包括:第一获取单元83获取的第一数量值;第一接收单元82,还用于接收区块链平台设备发送的第一发送单元81发送的密钥校验请求对应的校验响应信息;数据加密单元88,用于在第一接收单元82接收的校验响应信息的校验结果为通过的情况下,根据目标量子密钥为目标数据进行加密;第一发送单元81,还用于在第一接收单元82接收的校验响应信息的校验结果为不通过的情况下,量子密钥请求设备重新向区块链平台设备发送第一密钥获取请求。
[0211]
可选的,量子密钥请求设备包括可信执行环境,可信执行环境包括第一请求可信容器和至少一个第二请求可信容器;第一请求可信容器用于存储以下至少一项:用于标识量子密钥请求设备的当前运行状态的第一状态标识数据、根据预置第一哈希算法得到的第一状态标识数据的第一注册信息、第一注册信息中的第一子注册信息、第一注册信息中的第二子注册信息和量子密钥请求设备的第一设备信息;
[0212]
至少一个第二请求可信容器中的每个第二请求可信容器用于存储至少两个请求加密段的任一请求加密段。
[0213]
如图9所示,本技术实施例提供一种量子密钥分发装置。该量子密钥分发装置,应用于区块链平台设备,该装置包括:第二接收单元91、第一处理单元92、第二处理单元93和数据同步单元94;第二接收单元91,用于接收量子密钥请求设备发送的第一密钥获取请求,第一密钥获取请求用于请求获取目标量子密钥;第一处理单元92,用于获取根据第二接收单元91接收到的第一密钥获取请求获取的目标量子密钥,并根据第一子注册信息对目标量子密钥进行分段得到的至少两个量子密钥段,并根据第二子注册信息对至少两个量子密钥段进行加密得到至少两个请求加密段,目标量子密钥是从量子密钥生成设备获取的,第一子注册信息为第一注册信息中的部分信息,第二子注册信息为第一注册信息中除了第一子注册信息之外的信息,第一注册信息为量子密钥请求设备进行上链注册的信息;第二处理单元93,用于将第一处理单元92得到的至少两个请求加密段进行随机排列,生成量子密钥段集合,并向量子密钥请求设备发送量子密钥段集合;数据同步单元94,用于将第二处理单元93得到的量子密钥段集合中的至少两个请求加密段的密钥段顺序信息同步至区块信息,以使得量子密钥请求设备能够通过区块信息获取密钥段顺序信息。
[0214]
可选的,该装置还包括:第二发送单元95和第二生成单元96;第二发送单元95,用于第二接收单元91接收量子密钥请求设备发送的第一密钥获取请求之后,第一处理单元92区块链平台设备获取目标量子密钥之前,向量子密钥生成设备发送与第一密钥请求对应的第二密钥获取请求,第二密钥请求用于请求获取目标量子密钥;第二接收单元91,还用于接收第二发送单元95发送的第二密钥获取请求对应的密钥响应信息,密钥响应信息包括目标加密密钥;第二生成单元96,用于根据第三子注册信息对第二接收单元91接收的目标加密密钥进行解密,生成目标量子密钥,第三子注册信息是量子密钥生成设备对应的第二注册信息中的部分信息。
[0215]
可选的,第二生成单元96,具体用于:接收量子密钥生成设备发送的第三子注册信息;以目标加密密钥为被除数,以第三子注册信息对应的二进制信息为除数,进行除法解密运算,得到目标量子密钥。
[0216]
可选的,第一处理单元92,用于:根据第一随机数和第二随机数,生成第三随机数,第三随机数为大于1且小于目标量子密钥的数据位数的数值,且在第一随机数与第二随机
数相同的情况下,第三随机数与第一随机数或第二随机数不同,第一随机数为第一子注册信息的数据位数,第二随机数为第三子注册信息的数据位数;根据第一随机数、第二随机数和第三随机数,对目标量子密钥进行分段,生成至少两个量子密钥段;将第二子注册信息分别与至少两个量子密钥段中的每个量子密钥段进行乘法加密运行,生成至少两个请求加密段。
[0217]
可选的,第一处理单元92,具体用于:确定第一分段位置和第二分段位置,第一分段位置为第一随机数、第二随机数和第三随机数中的任一值,第二分段位置为第一随机数、第二随机数和第三随机数中除了第一分段位置之外的任一值,第一分段位置与第二分段位置不相同;根据第一分段位置和第二分段位置,将目标量子密钥进行分段,生成至少两个量子密钥段,至少两个量子密钥段包括第一量子密钥段、第二量子密钥段和第三量子密钥段。
[0218]
可选的,第一处理单元92,具体还用于:根据第一分段位置和第二分段位置,将目标量子密钥进行分段,生成至少两个量子密钥段之后,根据干扰随机数的数据位数随机生成二进制的干扰密钥段,干扰随机数为第一随机数、第二随机数和第三随机数中除了第一分段位置和第二分段位置之外的随机数;将干扰密钥段确定为至少两个量子密钥段中的量子密钥段,并根据干扰标识标记干扰密钥段。
[0219]
可选的,该装置还包括:校验确定单元97;第二接收单元91,还用于数据同步单元94将至少两个请求加密段的密钥段顺序信息同步至区块信息之后,接收量子密钥请求设备发送的密钥校验请求,密钥校验请求包括第一数量值,第一数量值为目标量子密钥中预置数值的数量值;校验确定单元97,用于在第二随机数与第二接收单元91接收的第一数量值相同的情况下,确定密钥校验信息对应的校验响应信息的校验结果为通过;校验确定单元97,还用于在第二随机数与第二接收单元91接收的第一数量值不相同的情况下,确定密钥校验信息对应的校验响应信息的校验结果为不通过。
[0220]
可选的,该装置还包括:第二获取单元98;第二获取单元98,用于第一处理单元92获取目标量子密钥,并根据第一子注册信息对目标量子密钥进行分段得到的至少两个量子密钥段,并根据第二子注册信息对至少两个量子密钥段进行加密得到至少两个请求加密段之前,从第一密钥获取请求中提取第一子注册信息;或,第二获取单元98,用于第一处理单元92获取目标量子密钥,并根据第一子注册信息对目标量子密钥进行分段得到的至少两个量子密钥段,并根据第二子注册信息对至少两个量子密钥段进行加密得到至少两个请求加密段之前,从第一注册信息中截取随机长度的第一子注册信息。
[0221]
如图10所示,本技术实施例提供一种量子密钥分发装置。该量子密钥分发装置,应用于量子密钥生成设备,该装置包括:第三接收单元1001、第三生成单元1002、第三处理单元1003和第三发送单元1004;第三接收单元1001,用于接收区块链平台设备发送的第二密钥获取请求,第二密钥请求用于请求获取目标量子密钥;第三生成单元1002,用于响应于第三接收单元1001接收的第二密钥获取请求,生成目标量子密钥;第三处理单元1003,用于将第三子注册信息与第三生成单元1002生成的目标量子密钥进行乘法加密运算,生成目标量子密钥的目标加密密钥,第三子注册信息是量子密钥生成设备进行上链注册的第二注册信息中的部分信息;第三发送单元1004,用于向区块链平台设备发送密钥响应信息,密钥响应信息包括第三处理单元1003得到的目标加密密钥。
[0222]
可选的,该装置还包括:第三计算单元1005;第三计算单元1005,用于第三接收单
architecture,eisa)总线等。总线1104可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0235]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0236]
由于本技术的实施例中的电子设备、可读存储介质、计算机程序产品可以应用于上述量子密钥分发方法,因此,其所能获得的技术效果也可参考上述方法实施例,本技术的实施例在此不再赘述。
[0237]
需要说明的是,上述各单元可以为单独设立的处理器,也可以集成在控制器的某一个处理器中实现,此外,也可以以程序代码的形式存储于控制器的存储器中,由控制器的某一个处理器调用并执行以上各单元的功能。这里所述的处理器可以是一个中央处理器(central processing unit,cpu),或者是特定集成电路(application specific integrated circuit,asic),或者是被配置成实施本技术实施例的一个或多个集成电路。
[0238]
应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0239]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0240]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0241]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合、直接耦合或通信连接可以是通过接口实现的,其接口连接可以是电性,机械或其它的形式。
[0242]
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0243]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0244]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵
盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1