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

一种量子密钥的快速同步的方法及系统与流程

2022-03-26 12:51:55 来源:中国专利 TAG:


1.本发明涉及一种保密通信方法,尤其是一种量子密钥的快速同步的方法及系统。


背景技术:

2.目前现代密码体制中,加密密钥主要分为两大类:1、公、私钥加解密;2、对称密钥加解密。
3.使用公私钥加解密,加密和解密是采用不同的密钥,也就是非对称密钥密码系统,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。
4.公钥私钥加解密的原则:
5.(1)一个公钥对应一个私钥;
6.(2)密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥;
7.(3)如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密;
8.(4)如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。
9.就对称加密来说,通信双方必须使用相同的密钥并且该密钥要对其他人保密,为了减少攻击者攻陷密钥所危害的数据量,要频繁更换密钥。因此,任何密码系统的强度取决于密钥分发技术。对a和b来说,密钥分发的方式有:
10.(1)a选择一个密钥后以物理的方式传递给b
11.(2)第三方选择密钥后物理地传递给a和b
12.(3)如果a和b先前或者最近使用过一个密钥,则一方可以将新密钥用旧密钥加密后发送给另一方
13.(4)如果a和b到第三方c有加密连接,则c可以在加密连接上传送密钥给a和b。
14.采用上述两大类密钥同步方式实现的保密通信目前主要存在如下瓶颈:
15.(1)非对称密钥加密算法复杂,加密和解密的速度比较慢,通信效率低下;
16.(2)对称密钥加解密的密钥是保密通信的关键,通信双方必须统一密钥,如何做到同步,是关键技术难点;
17.(3)对称密钥应用在多人通信场景时,密钥数量大大增加,面临密钥分发复杂的难题。


技术实现要素:

18.为解决上述问题,本发明提供一种使对称密钥的分发和同步问题得以有效解决,且在合理成本范围内的一种量子密钥的快速同步的方法,具体技术方案为:
19.一种量子密钥的快速同步的方法,包括以下步骤:
20.交换机同步获取密钥;
21.交换机同步写入fpga。
22.优选的,所述交换机同步获取密钥时,包括以下步骤:
23.设置密钥阈值;
24.触发阀值,交换机从密钥源充注密钥,所述密钥源包括量子密钥服务终端qks、量子云控系统qccs或密钥充注u盘中的一种或多种;
25.交换机a获取密钥同步码,与交换机b进行协商;
26.交换机b从密钥源充注密钥,对照密钥同步码,获得协商密钥;
27.交换机b通知交换机a,交换机a确定一致的协商密钥。
28.进一步的,所述交换机同步写入fpga时,包括以下步骤:
29.a、b两台交换机同时发起通道0、分组0的密钥写入请求,同时响应并写入,a、b两台交换机密钥写入的时间小于50ms;
30.a、b两台交换机定期做密钥同步,其中,a、b两台交换机分为主动端和被动端,当设置的间隔时间到后,主动端发送给被动端密钥同步请求,被动端收到后开始更新写入密钥,写入完成后读密钥序号,无问题后发送给主动端,主动端收到响应后开始密钥写入更新,写完完成后读密钥序列号,无问题,本次同步完成。
31.其中,当达到密钥同步的时间周期后,a、b两台交换机先做密钥同步,完成后再按照每秒更新多少次密钥去写密钥到fpga。
32.优选的,所述密钥源为量子密钥服务终端qks时,所述量子密钥服务终端qks通过调用api接口创建连接和会话协商,函数包括:
33.qkr_create_handle,用于建立连接;
34.qkr_rkey,用于通过tcp连接qks;
35.qkr_set_symmkeyindex,用于设置获取密码卡设备密钥或加密密钥对应的标识;
36.qkr_destroy_handle,用于关闭连接;
37.qkr_tcp_timeout,用于设置通信超时时间;
38.函数调用步骤:
39.第1步:加密机a或b初始化操作,调用函数qkr_set_log、qkr_tcp_timeout和qkr_set_symmkeyindex;
40.第2步:加密机a端,调用qkr_create_handle,返回成功进行下一步,其中参数包括服务地址ip、端口port、qkd的id、对端qkd的id、密钥链路mid、qks的id中的一种或多种;
41.第3步:加密机a端通知b端调用qkr_create_handle;
42.第4步:加密机a端或b端,调用qkr_rkey,获取指定长度且内容相同的量子密钥数据;
43.第5步:加密机a端或b端结束,调用qkr_destroy_handle。
44.优选的,所述密钥源为量子云控系统qccs时,所述量子云控系统qccs通过调用函数,包括以下步骤:
45.1、加密芯片初始化,先对交换机进行参数配置,然后应用程序初始化,包括以下步骤:
46.第1步:读取配置文件并调用qsdk_reply_session_init函数初始化会话;
47.第2步:根据配置参数,调用qsdk_reply_login函数登录云控系统;
48.第3步:调用qsdk_reply_enum_device函数枚举交换机;
49.第4步:调用qsdk_reply_get_device_id函数获取交换机序列号;
50.第5步:调用qsdk_reply_load_template函数向云控系统获取证书模板;
51.第6步:根据配置参数,调用qsdk_reply_device_init_system函数初始化系统;
52.2、密钥在线充注,完成初始化后,应用程序可以通过交换机向云控系统下载量子密钥,应用程序调用函数充注密钥的步骤:
53.第1步:调用qcard_enumstorehandle函数枚举交换机句柄;
54.第2步:调用qcard_login函数登录交换机;
55.第3步:调用qcard_initresource函数加载资源;
56.第4步:调用qcard_proxyonlinechargingkey函数完成密钥在线充注。
57.进一步的,所述交换机将在线充注获取到的量子密钥存储于交换机内存中,允许密钥协商、密钥获取、密钥量查询相关接口并发调用。
58.一种量子密钥系统,包括交换机和密码源,所述交换机包括通信模块和加密模块,所述通信模块包括交换机芯片和cpu芯片,所述加密模块包括ccm3310芯片,所述密钥源包括量子密钥服务终端qks、量子云控系统qccs或密钥充注u盘中的一种或多种。
59.与现有技术相比本发明具有以下有益效果:
60.本发明提供的一种量子密钥的快速同步的方法使对称密钥的分发和同步问题得以有效解决,且在合理成本范围内;此方法应用国密芯片与三级密钥体系结合,使得量子密钥的分发的管理效率大大提升,密钥同步的准确性也大大增强。
附图说明
61.图1是密钥源为量子云控系统的流程图;
62.图2是密钥源为量子密钥服务终端的流程图;
63.图3是两台交换机密钥写入fpga的流程图;
64.图4是交换机的管理系统的界面图;
65.图5是量子密钥服务终端调用函数的流程图;
66.图6是量子云控系统初始化的流程图;
67.图7是量子云控系统应用程序调用函数充注密钥的流程图;
68.图8是密钥文件管理的结构框图;
69.图9是交换机芯片与fpga的互联关系图;
70.图10是交换机的结构框图;
71.图11是交换机的硬件框架图;
72.图12是密钥源为量子密钥服务终端的流程框图;
73.图13是密钥源为量子云控系统的流程框图;
74.图14是量子密钥接口配置图。
具体实施方式
75.现结合附图对本发明作进一步说明。
76.如图1至图14所示,基于信息通过交换机(qsw)进行数据传输及交换机从密钥源获取密钥进行加解密的设计实例。此发明创造是对量子密钥进行分发管理和对量子密钥进行“两个同步”的创新方法。
77.密钥源包括量子密钥服务终端qks、量子云控系统qccs和密钥充注专用u盘。
78.第一个“同步”,即获取密钥到交换机ram同步:
79.交换机密钥同步是在交换机配置密钥阀值达到后,交换机启动密钥获取流程之后的步骤,在密钥源为qks、qccs和密钥充注专用u盘的情况下,交换机的密钥同步的方式是基本相同:
80.1、通过交换机配置界面设置密钥阀值;
81.2、触发阀值,交换机从密钥源充注密钥;
82.3、交换机a(或b)获取密钥同步码,与交换机b(或a)进行协商;
83.4、交换机b(或a)从密钥源充注密钥,对照密钥同步码,获得协商密钥;
84.5、交换机b(或a)通知交换机a(或b),交换机a(或b)确定一致的协商密钥。
85.密钥源是qccs的具体流程如图1所示。
86.qccs获取密钥的同步是通过调用软件开发工具sdk来实现的。a和b交换机密钥完整性检查首选md5算法,次选crc校验。
87.密钥源是qks的具体流程如图2所示。密钥源是qks时,与qccs作为密钥源不同,同步码信息从qks接口获取。a和b交换机密钥完整性检查与qccs一致。
88.密码源是密钥充注专用u盘时,与qccs、qks作为密钥源不同,同步码信息从usb接口获取,流程相同。
89.第二个“同步”,即:两台交换机的密钥写入fpga同步:
90.两台交换机在写入fpga密钥时需进行同步,同步采用交换机自定义协议,由交换机软件实现,两台交换机写入fpga密钥时,fpga可以接受的最大延时为50毫秒,延时是为了满足两台交换机在不同网络拓扑中,数据包从一台交换机到另外一台交换机的传输延时,即a交换机写入密钥时间和b交换机写入密钥时间的偏差绝对值不超过50ms。
91.如图3所示,两台交换机密钥写入fpga流程分为两个阶段,具体流程如下:
92.第一阶段,a、b两台交换机最初投入使用时,a、b两台交换机同时发起通道0、分组0的密钥写入请求,同时响应并写入,a、b两台交换机密钥写入的时间小于50ms。
93.第二阶段,a、b两台交换机在正常工作过程中,定期做密钥同步,时间间隔为2~5分钟之间。同步流程为:a、b两台交换机分为主动端和被动端,当设置的间隔时间到后,主动端发送给被动端密钥同步请求,被动端收到后开始更新写入密钥,写入完成后读密钥序号,无问题后发送给主动端,主动端收到响应后开始密钥写入更新,写完完成后读密钥序列号,无问题,本次同步完成。
94.主动端具备超时机制,120秒,只要收到被动端响应就进入下一个120秒等待周期,主动端连续三次超时后,点灯告警,写告警日志。
95.优先级:交换机的密钥更新有两个原则,每秒更新多少次密钥(可配置)及密钥同步,密钥同步的优先级最高,当达到密钥同步的时间周期后,a、b两台交换机先做密钥同步,完成后再按照每秒更新多少次密钥去写密钥到fpga寄存器。
96.根据量子密钥源不同分为不同情况:
97.1.密钥源为量子密钥服务终端qks
98.如图12所示,包括以下步骤:
99.(1)交换机密钥阈值配置关联;
100.(2)获取密钥同步;
101.(3)获取密钥;
102.(4)密钥存储到交换机ram;
103.(5)密钥写入fpga。
104.当交换机低于密钥阀值后,触发交换机密钥获取,先进行密钥同步,在密钥同步及获取完成后交换机应用软件将密钥存储在交换机的ram中,单次获取密钥的大小为4m。交换机将存储在ram中的密钥写入fpga,之后动态检测密钥阀值配置重复之前流程。
105.如图4所示,在终端管理系统中,可填写相关信息,用于添加可配置的量子密钥服务终端,管理功能包括:查看其连接状态,添加、删除及批量删除量子密钥服务终端。
106.量子密钥服务终端qks通过调用api接口创建连接和会话协商,函数说明见下:
[0107][0108]
如图5所示,函数调用的方法流程是:
[0109]
第1步:加密机a或b初始化操作,调用函数qkr_set_log、qkr_tcp_timeout和qkr_set_symmkeyindex;
[0110]
第2步:加密机a端,调用qkr_create_handle,返回成功进行下一步(其中参数有服务地址ip、端口port、qkd的id、对端qkd的id、密钥链路mid、qks的id);
[0111]
第3步:加密机a端通知b端调用qkr_create_handle;
[0112]
第4步:加密机a端或b端,调用qkr_rkey,获取指定长度且内容相同的量子密钥数据;
[0113]
第5步:加密机a端或b端结束,调用qkr_destroy_handle。
[0114]
2.密钥源为量子云控系统qccs
[0115]
如图13所示,包括以下步骤:
[0116]
(1)配置初始化到ccm3310;
[0117]
(2)交换机获取密钥阈值配置关联;
[0118]
(3)获取密钥同步;
[0119]
(4)获取密钥;
[0120]
(5)密钥存储到交换机ram中;
[0121]
(6)密钥写入fpga。
[0122]
首先将交换机配置界面配置云控系统的信息写入到加密芯片ccm3310中,在交换机配置界面,配置密钥阀值百分比,低于阀值后触发交换机密钥获取,先进行密钥同步。在密钥同步及获取完成后交换机应用软件将密钥存储在交换机的ram中,单次获取密钥的大小为4m。交换机将存储在ram中的密钥写入fpga,之后跟进密钥阀值配置重复之前流程。
[0123]
如图4所示,在量子云控管理系统中,可填写相关信息,用于添加可配置的量子云控系统,管理功能包括:初始化系统数据到安全芯片,查看其连接状态,添加、删除及批量删除。
[0124]
量子云控系统qccs通过调用函数,实现:加密芯片ccm3310初始化、在线密钥充注、密钥文件管理(密钥储存),具体如下:
[0125]
1、加密芯片ccm3310初始化
[0126]
交换机在使用前,运维人员需要调用应用程序对cm3310s设备进行注册,配置用户名、密码、部门、单位等相关参数,如图6所示,应用程序初始化的步骤:
[0127]
第1步:读取配置文件并调用qsdk_reply_session_init函数初始化会话;
[0128]
第2步:根据配置参数,调用qsdk_reply_login函数登录云控系统;
[0129]
第3步:调用qsdk_reply_enum_device函数枚举设备;
[0130]
第4步:调用qsdk_reply_get_device_id函数获取ccm3310s设备(交换机)序列号;
[0131]
第5步:调用qsdk_reply_load_template函数向云控系统获取证书模板;
[0132]
第6步:根据配置参数,调用qsdk_reply_device_init_system函数初始化系统;
[0133]
应用程序结束会话。
[0134]
完成会话后,ccm3310s设备加密芯片中创建了一个与systemid对应的应用。应用中包含有一个容器,容器中存储了加密公私钥和对应的数字证书、一个签名公私钥和对应的数字证书。ccm3310s设备默认应用的文件存储区存储了systemid系统相关信息配置文件和加密密钥;
[0135]
2、密钥在线充注
[0136]
交换机完成初始化后,应用程序可以通过cm3310s设备向云控系统下载量子密钥。
[0137]
如图7所示,应用程序调用函数充注密钥的流程:
[0138]
第1步:调用qcard_enumstorehandle函数枚举设备句柄;
[0139]
第2步:调用qcard_login函数登录设备;
[0140]
第3步:调用qcard_initresource函数加载资源;
[0141]
第4步:调用qcard_proxyonlinechargingkey函数完成密钥在线充注;
[0142]
ccm3310s在线密钥充注时,量子密钥使用加密密钥进行加密,以密文形式下发到ccm3310设备中。ccm3310设备将加密密钥密文导入对应的qsw应用容器中获取密钥句柄,通过密钥句柄使量子密钥密文在ccm3310加密芯片中进行解密,将获取到量子密钥存储到密钥文件系统上。
[0143]
密钥源为量子云控系统qccs用于获取设备解绑关系列表、清理解绑关系密钥、获取设备绑定关系列表、创建密钥充注任务、申请密钥和提交任务。
[0144]
3、密钥文件管理(储存)
[0145]
为满足c2c模式的点到点之间每秒300组密钥需求,ccm3310s设备库将在线充注获取到的量子密钥(数据密钥)存储于交换机内存中,使得密钥文件管理模块不依赖于skf模块,从而允许密钥协商、密钥获取、密钥量查询相关接口并发调用。密钥文件管理结构如图8所示,包括密钥文件管理模块和密钥在线充注模块,密钥文件管理模块中设有密钥文件a、密钥文件b和密钥文件c。密钥在线充注模块将密钥文件d写入到密钥文件管理模块。qcard_querykey接口用于查询密钥量,qcard_readauthsynflag/qcard_authsynflag接口用于协商密钥,qcard_authsynflagkeyinit/qcard_exportkey接口用于获取密钥。
[0146]
以上所有内容涵盖了此次方法发明的主体内容:密钥的同步、分发、管理。为帮助理解,下面解释加密芯片与交换芯片的关系:
[0147]
如图9至图11所示,一种量子密钥系统,包括交换机和密码源,所述交换机包括通信模块和加密模块,所述通信模块包括交换机芯片和cpu芯片,所述加密模块包括ccm3310芯片,所述密钥源包括量子密钥服务终端qks、量子云控系统qccs或密钥充注u盘中的一种或多种。
[0148]
如图10所示,交换机由两块主板组成,一块交换主板用于网络间数据交换,一块fpga主板用于网络间数据加密。交换主板上的交换芯片采用realtek8382m,该款芯片内置cpu管理单元。专用加密芯片ccm3310s位于fpga主板。交换主板与fpga主板之间配置、业务通道是使用千兆以太网接口实现。
[0149]
从分发、存储到同步、加密,量子密钥的路径:qks/qccs/密钥充注专用u盘

交换芯片的ram进行存储

读取到fpga的寄存器

fpga的ccm3310国密芯片进行加密处理。
[0150]
1、使用国密芯片ccm3310,加密技术成熟,加密水平提高;
[0151]
2、使用量子密钥,区分一般密钥,量子密钥是一种无法破解绝对安全的保密通信手段;
[0152]
3、使用qks、qccs管理系统协助密钥的协商及会话程序,用户通过软件自定义各项参数,大大提升加解密及密钥会话的效率;
[0153]
4、此方法下,交换机可按照标准osi模型进行组网,应各项目需求不同进行组网配置,适用于泛在连接的各种组网场景应用,解决复杂的密钥分发难题,灵活性显著提升;
[0154]
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明权利要求的保护范围之内。
再多了解一些

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

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

相关文献