一种QKD密钥管理系统的交互系统及方法与流程

文档序号:29930097发布日期:2022-05-07 12:39阅读:267来源:国知局
一种QKD密钥管理系统的交互系统及方法与流程
一种qkd密钥管理系统的交互系统及方法
技术领域
1.本发明涉及量子密码与量子网络通信技术领域,尤其涉及一种qkd密钥管理系统的交互系统及方法。


背景技术:

2.qkd密钥管理系统在数据加密传输过程中,通常采用密钥传输的方式进行传输与交互。密钥传输的步骤主要还是先在通信系统的发送端先把信息加密,再通过tcp/ip协议栈发送出去,接收端从tcp/ip协议栈接收信息后再进行解密。但是通过tcp/ip协议栈传输的重要信息很容易就会遭受到攻击者的拦截、偷窥和修改,导致系统间交互的安全性较低。
3.因此,有待对现有技术的不足进行改进,提出一种解决了数据加密传输过程中安全性问题的方法,同时也方便了qkd密钥管理系统各相关设备间的信息交互。


技术实现要素:

4.本发明的目的是为了克服已有技术的缺陷,为了解决qkd密钥管理系统的安全性交互问题,提出了一种qkd密钥管理系统的交互方法。
5.一种qkd密钥管理系统的交互系统,包括线程启动模块、监听模块、服务器、匹配模块、客户端和服务端,所述客户端设有检验位生成模块和打包模块,所述服务端设置有格式检验模块和拆解模块,其中:
6.所述线程启动模块用于启动线程,并创建与所述线程对应的服务器的套接字socket;
7.所述监听模块将服务器的地址与所述套接字socket进行绑定监控所述线程;
8.所述匹配模块所述套接字socket将客户端与服务端进行匹配;
9.所述检验位生成模块将待发送的数据经过反码求和得到检验位;
10.所述打包模块用于将所述待发送数据与所述检验位进行拼接后打包成数据帧然后发送给服务端;
11.所述格式检验模块用于对接收的数据帧的格式进行检验;
12.所述拆解模块用于所述数据帧进行拆解,获取数据帧信息并进行相应的操作或回复。
13.本发明方法通过下述技术方案实现的:
14.一种qkd密钥管理系统的交互方法,所述方法应用了服务器、客户端和服务端,所述方法的具体步骤如下:
15.步骤1:启动一个线程,并创建与所述线程对应的服务器的套接字socket;
16.步骤2:将服务器的地址与所述套接字socket进行绑定从而监听所述线程;
17.步骤3:所述客户端与服务端通过所述套接字socket进行匹配连接;
18.步骤4:所述客户端将待发送的数据经过反码求和得到检验位;
19.步骤5:所述客户端将所述待发送数据与所述检验位进行拼接后打包成数据帧发
送给服务端;
20.步骤6:所述服务端接收所述数据帧后对所述数据帧的格式进行检验;
21.步骤7:若检验不成功,则服务端丢弃数据帧,跳转到步骤3;
22.若检验成功,则服务端对所述数据帧进行拆解,获取数据帧信息并进行相应的操作或回复。
23.进一步地,所述步骤5中的数据帧包括数据帧头、消息长度、消息类型、扩展长度、扩展命令类型、扩展命令方向、扩展数据、消息体、检验位和数据帧尾。
24.进一步地,所述消息类型包括主动发送和被动应答。
25.进一步地,所述扩展命令类型包括心跳信号、请求连接设备、断开设备和发送数据。
26.进一步地,所述数据帧头、消息长度和消息类型采用define宏定义命令来进行设置。
27.进一步地,所述数据与检验位进行拼接的步骤具体如下:
28.步骤a:设置一个buffer字符串;
29.步骤b:在buffer字符串中申请一块内存;
30.步骤c:采用指针位移的方法将数据和检验位按照数据帧的格式存入所述内存对应的地址块。
31.进一步地,所述步骤6的数据帧格式检验包括数据帧的格式合法性和检验位的正确性。
32.进一步地,所述数据帧的格式的合法性检验包括对数据帧的长度、数据帧头的位置以及数据帧尾的位置进行检验是否合法。
33.进一步地,所述数据帧的检验位的正确性检验具体为:检验位与检验位经过反码求和计算后的结果进行比对;
34.若比对结果为一致,则判断检验码正确;
35.若比对结果为不一致,则判断检验码不正确。
36.进一步地,所述服务端对所述数据帧进行拆解的步骤为:
37.步骤a:服务端收到所述数据帧后,采用指针位移的方法对数据帧进行拆解后获取字段;
38.步骤b:服务端分析扩展命令类型的字段类型,根据字段作出相应的回复;
39.当消息类型为主动发送时,服务端返回数据帧给客户端;
40.当消息类型为被动应答时,服务端无需返回数据帧给客户端。
41.本发明的有益效果为:
42.本发明量子网络与密钥管理系统的客户端传输的消息时采用指针位移的方式对字段进行拼接并封装为数据帧发送给服务端,服务端收到封装好的数据帧后也采用指针位移的方式进行拆解并分析字段从而进行相应的回复,保证了密钥管理系统间交互的安全性以及提高了系统的交互效率。
附图说明
43.图1为本发明一种qkd密钥管理系统的交互系统的原理框图;
44.图2为本发明一种qkd密钥管理系统的交互方法的步骤流程图;
45.图3为本发明一种qkd密钥管理系统的交互方法的数据帧格式图;
46.图4为本发明一种qkd密钥管理系统的交互方法的服务端拼接数据帧的流程图;
47.图5为本发明一种qkd密钥管理系统的交互方法的服务端拆解数据帧的流程图。
具体实施方式
48.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例对本发明进行进一步详细说明,但本发明要求保护的范围并不局限于下述具体实施例。
49.如图1所示,一种qkd密钥管理系统的交互系统,包括线程启动模块、监听模块、服务器、匹配模块、客户端和服务端,所述客户端设有检验位生成模块和打包模块,所述服务端设置有格式检验模块和拆解模块,其中:
50.所述线程启动模块用于启动线程,并创建与所述线程对应的服务器的套接字socket;
51.所述监听模块将服务器的地址与所述套接字socket进行绑定监控所述线程;
52.所述匹配模块所述套接字socket将客户端与服务端进行匹配;
53.所述检验位生成模块将待发送的数据经过反码求和得到检验位;
54.所述打包模块用于将所述待发送数据与所述检验位进行拼接后打包成数据帧然后发送给服务端;
55.所述格式检验模块用于对接收的数据帧的格式进行检验;
56.所述拆解模块用于所述数据帧进行拆解,获取数据帧信息并进行相应的操作或回复。
57.本系统模块功能实现的方法与以下一种qkd密钥管理系统的交互方法的具呼应部分的方案方法一致,这里不再赘述。
58.如图2-5所示,一种qkd密钥管理系统的交互方法,所述方法应用了上述一种qkd密钥管理系统的交互系统,所述方法的具体步骤如下:
59.步骤1:启动一个线程,根据预定的参数创建服务器的套接字socket,并将socket套接字设置为非阻塞模式;
60.步骤2:将服务器的地址与所述套接字socket进行绑定从而监听所述线程;
61.步骤3:所述客户端与服务端通过所述套接字socket进行匹配连接,即,服务器端和客户端各自保存socket套接字以及对应关系,客户端与服务端根据socket套接字进行数据的发送以及接收;
62.步骤4:所述客户端将待发送的数据经过反码求和得到检验位;
63.步骤5:所述客户端将所述待发送数据与所述检验位进行拼接后打包成数据帧发送给服务端;
64.其中,对数据进行打包时需要确定相应的消息类型、消息长度、数据类型、数据长度、扩展消息类型、扩展命令方向等内容。
65.其中,如图3所示,所述步骤5中的已打包好的数据帧包括数据帧头、消息长度、消息类型、扩展长度、扩展命令类型、扩展命令方向、扩展数据、消息体、检验位和数据帧尾。
66.所述数据帧头、消息长度和消息类型采用define宏定义命令来进行设置,通过宏
定义对各个字段内容进行定义,增强了系统代码的可读性以及通信协议的可维护性,而当需要打包数据时直接将这些通过宏定义的字段添加到数据帧即可。
67.其中,所述消息类型包括主动发送和被动应答;
68.所述扩展命令类型包括心跳信号、请求连接设备、断开设备和发送数据。
69.其中,所述数据与检验位进行拼接的步骤具体如下:
70.步骤a:设置一个buffer字符串;这个buffer字符串是作为临时储存数据帧的,为进行拼接的数据帧提供内存;
71.步骤b:在buffer字符串中申请一块内存;
72.步骤c:采用指针位移的方法将数据和检验位按照数据帧的格式存入所述内存对应的地址块。
73.所述客户端将已打包好的数据帧发送到服务端,跳转到步骤6;
74.步骤6:所述服务端接收所述数据帧后对所述数据帧的格式进行检验;
75.其中,所述步骤6的数据帧格式检验包括数据帧的格式合法性和检验位的正确性。
76.具体地,所述数据帧的格式的合法性检验包括对数据帧的长度、数据帧头的位置以及数据帧尾的位置进行检验是否合法。
77.具体地,所述数据帧的检验位的正确性检验具体为:检验位与检验位经过反码求和计算后的结果进行比对;
78.若比对结果为一致,则判断检验码正确;
79.若比对结果为不一致,则判断检验码不正确。
80.步骤7:若检验不成功,则服务端丢弃数据帧,跳转到步骤3;
81.若检验成功,则服务端对所述数据帧进行拆解,获取数据帧信息并进行相应的操作或回复。
82.其中,如图4所示,服务端拆解流程的步骤6为:
83.步骤a:服务端收到所述数据帧后,采用指针位移的方法对数据帧进行拆解后获取字段;
84.步骤b:服务端分析扩展命令类型的字段类型,根据字段作出相应的回复;
85.具体地,当扩展命令类型字段为心跳信号时,需要进一步确认消息类型字段是为主动发送还是为被动应答,当消息类型为主动发送时,服务端将心跳应答写进数据帧中的消息体字段并打包该数据帧反馈给发送端。当消息类型为被动应答时,服务端无需返回数据帧给客户端。
86.在密钥管理系统的设备间进行交互的过程中,客户端与服务端进行交互时的发送的消息被采用指针位移的方式拼接后封装成数据帧,而服务端想要获取该消息需要采用相同的指针位移方式对数据帧进行拆解从而获取信息,相对于传统的tcp/ip协议栈传输方式来说,使用统一的数据帧格式进行传输以及特定的数据帧合成与解析的方式,极大地提高了双方进行通信的安全性,并且内部协议的字段不容易被破解,也提高了密钥管理系统的可靠性;密钥管理系统各个相关设备之间的信息交互的效率也能显著提升。
87.根据上述说明书的揭示和教导,本发明所属领域的技术人员还可以对上述实施方式进行变更和修改。因此,本发明并不局限于上面揭示和描述的具体实施方式,对发明的一些修改和变更也应当落入本发明的权利要求的保护范围内。此外,尽管本说明书中使用了
一些特定的术语,但这些术语只是为了方便说明,并不对发明构成任何限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1