CN117375812A - 一种基于量子密钥的网络安全加密系统及方法 - Google Patents
一种基于量子密钥的网络安全加密系统及方法 Download PDFInfo
- Publication number
- CN117375812A CN117375812A CN202311312109.4A CN202311312109A CN117375812A CN 117375812 A CN117375812 A CN 117375812A CN 202311312109 A CN202311312109 A CN 202311312109A CN 117375812 A CN117375812 A CN 117375812A
- Authority
- CN
- China
- Prior art keywords
- key
- quantum key
- encryption
- quantum
- queue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000005540 biological transmission Effects 0.000 claims abstract description 22
- 238000004891 communication Methods 0.000 claims abstract description 20
- 230000006870 function Effects 0.000 claims abstract description 10
- 238000012795 verification Methods 0.000 claims description 29
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 230000001172 regenerating effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 4
- 101100513046 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) eth-1 gene Proteins 0.000 claims description 3
- 239000013307 optical fiber Substances 0.000 claims description 2
- 238000011282 treatment Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000005610 quantum mechanics Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 102220065847 rs794726907 Human genes 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于网络安全加密技术领域,具体涉及一种基于量子密钥的网络安全加密系统及方法,包括量子安全加密机、量子密钥管理机、量子密钥分发与管理设备和量子密钥管理服务中心软件,所述量子密钥分发与管理设备用于提供量子密钥,所述量子密钥管理机用于管理量子密钥分发与管理设备提供的密钥,所述量子安全加密机从量子密钥管理机获取密钥,并使用所述密钥完成加解密功能,所述量子密钥管理服务中心软件对量子密钥分发与管理设备、量子安全加密机、量子密钥管理机进行管理。本发明结合现有通信网络,能够实现高保密、大容量、抗干扰能力强的数据传输。本发明可兼容现有的以太网,支持所有基于IP协议的网络数据传输。
Description
技术领域
本发明属于网络安全加密技术领域,具体涉及一种基于量子密钥的网络安全加密系统及方法。
背景技术
量子保密通信是量子力学的基本原理和信息通信理论相互结合产生的交叉学科,有着量子力学和信息通信学科各自的优点。量子通信是基于其量子态的难以测量以及其不可克隆等原理更大程度的保证了通信的安全性。
近年来,量子加密技术逐渐趋向于实用化,我国在政府、金融、企业网络以及大数据安全保护等方面已有良好的应用价值。随着量子保密通信技术产业化发展,未来,该技术将逐渐成为保障通信网络信息安全的关键技术,该技术必将走向网络化、实用化和产业化,为当代信息通信环境提供最有力、最可靠的网络安全保障。但是现有的量子保密通信网络系统在传输数据抗干扰能力较弱,传输成本较高。
发明内容
针对上述现有的量子保密通信网络系统在传输数据抗干扰能力较弱,传输成本较高的技术问题,本发明提供了一种高保密、低成本、抗干扰能力强的基于量子密钥的网络安全加密系统及方法。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于量子密钥的网络安全加密系统,包括量子安全加密机、量子密钥管理机、量子密钥分发与管理设备和量子密钥管理服务中心软件,所述量子密钥分发与管理设备用于提供量子密钥,所述量子密钥管理机用于管理量子密钥分发与管理设备提供的密钥,所述量子安全加密机从量子密钥管理机获取密钥,并使用所述密钥完成加解密功能,所述量子密钥管理服务中心软件对量子密钥分发与管理设备、量子安全加密机、量子密钥管理机进行管理。
一种基于量子密钥的网络安全加密方法,包括下列步骤:
S1、对IP数据包进行加密;
S2、量子加密机的IP包转发,所述量子加密机基于Linux开发;
S3、量子密钥在加密机中进行保存和使用;
S4、使用netfilter_queue将数据包从内核层发送到用户层后,在用户层中对数据包进行加解密;
S5、对密钥流进行获取;
S6、采用基于SM4进行加密扩充密钥,以QKD生成的量子密钥为主密钥,通过SM4的CTR模式来生成大量密钥,利用生成的密钥加密;
S7、密钥管理机在获取密钥序列时,如果是从当前节点获取,则该密钥序列在传输过程中不需要加密;如果是从其他节点获取,则必须经过加密传输。
所述S1中对IP数据包进行加密的方法为:
S1.1、IP头只改变协议类型,设为一个自定义的值,其他不变;
S1.2、在IP头后增加一个加密头,用以保存加密相关信息;
S1.3、对IP包进行加密,然后重新计算校验码;
S1.4、加密方式采用一字一密或SM4的CTR模式。
所述S1中加密后IP数据包格式为:IP头、加密头、加密后的IP数据包、校验信息;所述加密头的格式为:IP包协议,量子密钥同步信息,量子密钥校验信息,SM4计数器同步信息,量子密钥偏移信息,加密模式及节点地址,QKD组ID信息;
所述IP包协议:记录IP包原协议;
所述量子密钥同步信息:记录与密钥的同步信息,与QKD中产生的密钥流对应,指向每个长度为1MBytes的密钥流;
所述量子密钥检验信息:记录密钥的校验信息,该信息从QKD的密钥流中获取,加密与解密端在同步信息相同时,检验信息也应相同;如果不同,证明双方密钥流不一致,需做丢弃等处理;
所述量子密钥偏移信息:记录与密钥的偏移信息,指向每个密钥流中的偏移;
所述SM4计数器同步信息:记录SM4加密计数器值
所述加密模式及节点地址:
bit0,用于表示加密模式,0表示1字1密,1表示SM4;
bit1保留不用;
bit2-bit7共6位,表示地址,0表示中心节点,1-63表示其他节点地址;此节点为加密时所在的节点;
所述QKD组ID信息:记录QKD组的id;比如图1中量子密钥分发与管理设备1A与量子密钥分发与管理设备1B是一组QKD,产生的密钥为量子密钥序列1,对应此处的QKD组的id为1。
所述S2中量子加密机的IP包转发方法为:
基于netfilter实现;Netfilter在Linux内核中表现为一系列的hook点,并允许Linux内核模块在这些hook点上注册回调函数,Linux内核模块通过回调函数对网络数据包进行相关操作;Netfilter共提供Prerouting,Input,Forward,Output,Postrouting五个hook点;
通过网络桥接Bridge方式实现透明传输;
加密机共设置4个以上网口,分别是:
eth0:密钥管理口;连接量子密钥管理机;用于获取密钥信息,同时由量子密钥管理机通过该口进行管理,如获取状态信息;
eth1:保留管理口;可不用;连接后,可通过ssh方式管理;需分配1个IP;
eth2:加密口;连接加密链路光纤,不分配IP;
eth3-ethn:业务口;连接PC机,可同时连接多台PC设备,也可通过交换机连接多台PC设备,不分配IP;如果还需配置多个网口,均可配置为业务口;所述n为自然数;
其中,将eth0、eth2和eth3-ethn设置为bridge,实现桥接;bridge设置1个IP;解密工作在入口处完成,加密工作在出口处完成;
在Netfilter中,分别接管Prerouting和Postrouting两个hook点;在Prerouting中,对所有来自eth2的数据包进行解密;在Postrouting中,对所有向eth2发送的包进行加密。
所述S3中量子密钥在加密机中进行保存和使用的方法为:
加密机中,从密钥管理机取得的量子密钥存放在量子密钥队列中;网络系统中的每个量子密钥序列在加密机中对应一个量子密钥队列;所述量子密钥队列中的每个元素包括五部分内容:是否有效标志、量子密钥同步信息、量子密钥校验信息、量子密钥生成时间、量子密钥块;其中:是否有效标志表示当前元素是否有效;队列中的量子密钥同步信息是连续的整数,即某个元素的量子密钥同步信息加1一定是下一个元素的量子密钥同步信息;量子密钥块是一个固定长度的内存块,保存了由量子密钥同步信息唯一标识的的量子密钥;在加解密时,通过量子密钥同步信息和量子密钥偏移信息就可以得到所需量子密钥的起始位置;其中,量子密钥偏移信息是加解密所需的量子密钥在量子密钥块中的位置;
量子密钥队列是一个固定长度的循环队列;该队列设有三个指针:PH、PT和PE;PH指向循环队列的头,即第1个元素;PT指向循环队列的尾,即下一次增加的元素所在的位置;PE指向加密时获取量子密钥的位置;加密机中的三个功能模块修改量子密钥队列;
所述加密机中的三个功能模块包括量子密钥通信模块、加密模块和解密模块;
所述量子密钥通信模块用于从密钥管理机获取量子密钥,并放到量子队列中;该模块每次获取的量子密钥正好构成量子密钥队列中的一个元素;该模块修改量子密钥队列的规则是:如果量子密钥队列未满,则一直按顺序向量子密量队列中增加元素;如果队列已满,则等待,直到最前面的元素被删除,是否有效标置为置为False,队列变为未满状态,再增加元素;每次增加元素的方法是:将元素放入PT指向的位置,然后将PT加1;判断队列已满的条件是:PT等于PH,并且PH指向的元素有效;
所述加密模块从PE指向的元素中取得量子密钥;所有的量子密钥只使用一次;加密模块下一次取量子密钥时,从上一次量子密钥的后面开始获取;如果第PE指向元素中量子密钥块的密钥全部用完,则自动将PE+1,然后继续使用PE指向元素中的量子密钥;如果PE与PH的位置相差超过一定数量,则自动将队列中的第一个元素的是否有效标置置为False,并将PH加1;
所述解密模块的输入中包含了量子密钥的位置信息,即量子密钥同步信息和量子密钥偏移信息;解密模块通过这些信息,从量子密钥队列中取得所需的量子密钥;如果量子密钥同步信息在量子密钥队列中对应的位置超过了PE,则应将PE指向该位置。
所述S4中用户层实现加密的方法为:
S4.1.1、收到IP包;
S4.1.2、根据某种规则选择一个量子密钥队列;该规则可支持以下两种式:随机选取;根据剩余量子密钥量的多少,选取剩余密钥量较大的量子密钥队列;
S4.1.3、根据IP包中的数据长度,以及预先设置好的加密策略,从量子密钥队列中取得相同长度的密钥流,同时取得量子密钥同步信息,量子密钥校验信息,SM4计数器同步信息、量子密钥偏移信息等解密时所需的信息;
S4.1.4、用取得的密钥流与IP包的中数据按位异或,形成密文数据包,并根据预先设置好的加密策略、加密机地址、QKD组ID,以及上一步取得的量子密钥同步信息,量子密钥校验信息,SM4计数器同步信息、量子密钥偏移信息的相关参数,生成加密头;
S4.1.5、使用密文数据包、加密头,重新生成IP包;
S4.1.6、将IP包送入内核层,由内核层完成包转发工作;
所述S4中用户层实现解密的方法为:
S4.2.1、收到数据包;
S4.2.3、解析数据包,从加密头中取得量子密钥同步信息,量子密钥校验信息,SM4计数器同步信息、量子密钥偏移信、加密策略、加密机地址、QKD组ID等信;并根据QKD组ID,确定密钥所在的量子密钥队列;
S4.2.4、在选定的量子密钥队列中,取得与数据包相同长度的密钥流;
S4.2.5、用取得的密钥流与IP包的中数据按位异或,形成明文数据包;
S4.2.6、使用明文数据包,重新生成IP包;此时的IP包与加密前的IP包完全相同;
S4.2.7、将IP包送入内核层,由内核层完成包转发工作。
所述S5中对密钥流进行获取的方法为:
S5.1、密钥流的获取指从量子密钥队中取得量子密钥,并在需要时对量子密钥进行转换,形成加解密所需的密钥流;不同的加密策略中,获取的方式不同;
S5.2、加密策略为一字一密时,密钥流直接从量子密钥队列中获取即可,加密头中的量子密钥同步信息和量子密钥偏移信息记录了密钥流在量子密钥队列中的位置;
S5.3、加密策略为SM4模式时,只从量子密钥队列中取24个字节,由此24个字节生成加解密所需的密钥流;加密头中的量子密钥同步信息和量子密钥偏移信息记录了上述24个字节在量子密钥队列中的位置;加密头中的SM4计数器同步信息记录了SM4加密所需的计数器的值;
S5.4、加密策略为智能模式时,将根据量子密钥队列中剩余量子密钥的量,自动选择采用一字一密模式或SM4模式,并采用上述方法获取密钥流。
所述S6中加密的方法为:
S6.1、定义一个值MAXCNT,该值为1组量子密钥用于加密的次数;
S6.2、约定每1组量子密钥由24个字节组成,前16个字节作为SM4的主密钥,后8个字节作为加密向量IV;
S6.3、对同一组量子密钥,设置一个长度8字节的计数器CNT;CNT的初始值为0,每次加密以后该值加1;计数器值达到MAXCNT后,需要更换量子密钥;
S6.4、每次加密将生成长度为16字节密文,由这些密文构成密钥流;
S6.5、对长度超过16字节的数据包,可进行多次加密,但加密头中的SM4计数器同步信息只保存对本数据包第一次加密用所的CNT值;
S6.6、从量子密钥队列中获取量子密钥,得到主密钥、向量IV和计数器CNT;
S6.7、假设数据包长度为L,则需要进行Ne=(int)(L/16+1)次加密,每次加密输出一个16字节的密文,每次加密后需要将CNT加1;加密的方法为:将向量IV(8字节)与计数器CNT(8字节)合并为一个16字节的数组,作为输入,通过SM4加密算法,利用主密钥对其进行加密,输出为一个16字节的密文;
S6.8、将Ne次加密得到的密文按顺序组合在一起,取前面的L个节,得到密钥流。
所述S7中加密传输的方法为:
甲节点的密钥管理机从乙节点的密钥管理机获取密钥序列2时,需要对其进行加密;设密钥序列1为K1,密钥序列2为K2,^为异或操作,K1与K2的异或结果为K12;则K12=K1^K2,K2=K1^K2^K1=K12^K1;甲节点从乙节点的密钥管理机获取密钥时,乙节点的密钥管理机先将K1与K2异或得到K12,然后将K12发送给甲节点的密钥管理机;甲节点的密钥管理机在得到K12后,再与K1异或,就可得到K2;
在异或过程中,会遇到密钥序列1与密钥序列2长度不相同的情况;设密钥序列1与密钥序列2的长度分别为L1和L2,且L1>L2;此时程序采用的加密方法是:对K1的前L2部分,直接与K2异或;对K1中超过L2的部分,则重新从K2的开始部分开始异或;如果L1>n*L2(n>1),即L1大于多倍的L2,则一直循环此操作,直到全部异或完成。
本发明与现有技术相比,具有的有益效果是:
本发明通过量子安全加密机、量子密钥管理机、量子密钥分发与管理设备和量子密钥管理服务中心软件的相关量子设备及软件,结合现有通信网络,能够实现高保密、大容量、抗干扰能力强的数据传输。本发明可兼容现有的以太网,支持所有基于IP协议的网络数据传输。本发明可支持多种加密模式,既可采用一次一密的密码体制,实现信息论意义上无条件安全的量子保密通信,也可采用量子密钥+国密算法密码体制,基于较低的量子密钥成码率,实现高速、高安全网络传输。并且本发明采用的量子密钥中继技术,可将网络中的任意节点作为中继,相对于点对点量子密钥分发,可大量节约建设成本。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引申获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
图1本发明的量子保密通信网络架构示意图;
图2为本发明NetFilter的工作原理图;
图3为本发明密钥序列异或加密示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,这些描述只是为进一步说明本发明的特征和优点,而不是对本发明权利要求的限制;基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合附图和实施例,对本发明的具体实施方式做进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
在本实施例中,如图1所示,量子密钥分发与管理设备用于提供量子密钥,量子密钥管理机用于管理量子密钥分发与管理设备提供的密钥,量子安全加密机从量子密钥管理机获取密钥,并使用密钥完成加解密功能,量子密钥管理服务中心软件对量子密钥分发与管理设备、量子安全加密机、量子密钥管理机进行管理。
一、数据包加密技术方案
1)IP头只改变协议类型,设为一个自定义的值,如141,其他不变;
2)在IP头后增加一个加密头,用以保存加密相关信息;
3)对IP包进行加密,然后重新计算校验码;
4)加密方式采用一字一密或SM4的CTR模式。
加密后IP数据包格式为:
IP头,加密头,加密后的IP数据包,校验信息。
其中,加密头的格式如下:
IP包协议(1Byte),量子密钥同步信息(4Bytes),量子密钥校验信息(4Bytes),SM4计数器同步信息(4Bytes),量子密钥偏移信息(4Bytes),加密模式及节点地址(1Byte),QKD组ID信息(1Byte)。
IP包协议(1Byte):记录IP包原协议
量子密钥同步信息(4Bytes):记录与密钥的同步信息,与QKD中产生的密钥流对应,指向每个长度为1MBytes的密钥流。
量子密钥检验信息(4Bytes):记录密钥的校验信息,该信息从QKD的密钥流中获取,加密与解密端在同步信息相同时,检验信息也应相同。如果不同,证明双方密钥流不一致,需做丢弃等处理。
量子密钥偏移信息(4Bytes):记录与密钥的偏移信息,指向每个密钥流中的偏移。
SM4计数器同步信息(4Bytes):记录SM4加密计数器值
加密模式及节点地址(1Byte):
bit0,用于表示加密模式,0表示1字1密,1表示SM4;
bit1保留不用;
bit2-bit7共6位,表示地址,0表示中心节点(乙节点),1-63表示其他节点地址。此节点为加密时所在的节点。
QKD组ID信息(1Byte):记录QKD组的id。比如图1中量子密钥分发与管理设备1A与量子密钥分发与管理设备1B是一组QKD,产生的密钥为量子密钥序列1,对应此处的QKD组的id为1。
二、量子加密机的IP包转发技术路线
量子加密机基于Linux开发。
基于netfilter实现。Netfilter在Linux内核中表现为一系列的hook点,并允许Linux内核模块在这些hook点上注册回调函数,Linux内核模块通过回调函数对网络数据包进行相关操作。Netfilter共提供Prerouting,Input,Forward,Output,Postrouting五个hook点,如图2所示。
可通过网络桥接(Bridge)方式实现透明传输。
加密机共设置4个以上网口,以6个网口为例,分别是:
eth0:密钥管理口。连接量子密钥管理机。用于获取密钥信息,同时由量子密钥管理机通过该口进行管理,如获取状态信息。
eth1:保留管理口。可不用。连接后,可通过ssh方式管理。需分配1个IP。
eth2:加密口。连接加密链路光纤,不分配IP。
eth3-eth5:业务口。连接PC机,可同时连接多台PC设备,也可通过交换机连接多台PC设备,不分配IP。如果还需配置多个网口,均可配置为业务口。
其中,将eth0、eth2和eth3-eth5(包括可能的更多的业务口)设置为bridge,实现桥接。bridge设置1个IP。解密工作在入口处完成,加密工作在出口处完成。
在Netfilter中,分别接管Prerouting和Postrouting两个hook点。在Prerouting中,对所有来自eth2的数据包进行解密;在Postrouting中,对所有向eth2发送的包进行加密。
三、量子密钥在加密机中的保存和使用方式
加密机中,从密钥管理机取得的量子密钥存放在量子密钥队列中。网络系统中的每个量子密钥序列在加密机中对应一个量子密钥队列。比如图1的结构中,共有两个量子密钥序列,则甲乙丙三个节点的加密机中,都设置有2个量子密钥队列。队列中的每个元素都至少包括5部分内容:是否有效标志、量子密钥同步信息、量子密钥校验信息、量子密钥生成时间、量子密钥块。其中:1)是否有效标志指示了当前元素是否有效;2)队列中的量子密钥同步信息是连续的整数,即某个元素的量子密钥同步信息加1一定是下一个元素的量子密钥同步信息;3)量子密钥块是一个固定长度(如1048576字节)的内存块,保存了由量子密钥同步信息唯一标识的的量子密钥。在加解密时,通过量子密钥同步信息和量子密钥偏移信息就可以得到所需量子密钥的起始位置。其中,量子密钥偏移信息是加解密所需的量子密钥在量子密钥块中的位置。
量子密钥队列是一个固定长度的循环队列。该队列设有3个指针,PH,PT,PE。PH指向循环队列的头,即第1个元素;PT指向循环队列的尾,即下一次增加的元素所在的位置;PE指向加密时获取量子密钥的位置。加密机中有3个功能模块会修改量子密钥队列。
1、量子密钥通信模块。量子密钥通信模块用于从密钥管理机获取量子密钥,并放到量子队列中。该模块每次获取的量子密钥正好构成量子密钥队列中的一个元素。该模块修改量子密钥队列的规则是:如果量子密钥队列未满,则一直按顺序向量子密量队列中增加元素;如果队列已满,则等待,直到最前面的元素被删除(“是否有效标置”为置为False),队列变为未满状态,再增加元素。每次增加元素的方法是:将元素放入PT指向的位置,然后将PT加1。判断队列已满的条件是:PT等于PH,并且PH指向的元素有效。
2、加密模块。加密模块从PE指向的元素中取得量子密钥。所有的量子密钥只使用一次。加密模块下一次取量子密钥时,从上一次量子密钥的后面开始获取。如果第PE指向元素中量子密钥块的密钥全部用完,则自动将PE+1,然后继续使用PE指向元素中的量子密钥。如果PE与PH的位置相差超过一定数量(该值可以在配置文件中设定),则自动将队列中的第一个元素的“是否有效标置”置为False,并将PH加1。
3、解密模块。解密模块的输入中包含了量子密钥的位置信息,即量子密钥同步信息和量子密钥偏移信息。解密模块通过这些信息,从量子密钥队列中取得所需的量子密钥。如果量子密钥同步信息在量子密钥队列中对应的位置超过了PE,则应将PE指向该位置。
四、数据包加密方案
加解密软件基于linux实现。使用netfilter_queue将数据包从内核层发送到用户层后,在用户层中对数据包进行加解密。
1、用户层实现加密的流程如下:
1)收到IP包。
2)根据某种规则选择一个量子密钥队列。该规则可支持以下两种式:a)随机选取;b)根据剩余量子密钥量的多少,选取剩余密钥量较大的量子密钥队列。
3)根据IP包中的数据长度,以及预先设置好的加密策略,从量子密钥队列中取得相同长度的密钥流,同时取得量子密钥同步信息,量子密钥校验信息,SM4计数器同步信息、量子密钥偏移信息等解密时所需的信息。
4)用取得的密钥流与IP包的中数据按位异或,形成密文数据包,并根据预先设置好的加密策略、加密机地址、QKD组ID,以及上一步取得的量子密钥同步信息,量子密钥校验信息,SM4计数器同步信息、量子密钥偏移信息等相关参数,生成加密头。
5)使用密文数据包、加密头,重新生成IP包。
6)将IP包送入内核层,由内核层完成包转发工作。
2、用户层实现解密的流程如下:
1)收到数据包。
3)解析数据包,从加密头中取得量子密钥同步信息,量子密钥校验信息,SM4计数器同步信息、量子密钥偏移信、加密策略、加密机地址、QKD组ID等信。并根据QKD组ID,确定密钥所在的量子密钥队列。
3)在选定的量子密钥队列中,取得与数据包相同长度的密钥流。
4)用取得的密钥流与IP包的中数据按位异或,形成明文数据包.
5)使用明文数据包,重新生成IP包。此时的IP包与加密前的IP包完全相同。
6)将IP包送入内核层,由内核层完成包转发工作。
五、密钥流的获取方式
密钥流的获取指从量子密钥队中取得量子密钥,并在需要时对量子密钥进行转换,形成加解密所需的密钥流。不同的加密策略中,获取的方式不同。
加密策略为一字一密时,密钥流直接从量子密钥队列中获取即可,加密头中的量子密钥同步信息和量子密钥偏移信息记录了密钥流在量子密钥队列中的位置。
加密策略为SM4模式时,只从量子密钥队列中取24个字节,由此24个字节生成加解密所需的密钥流。加密头中的量子密钥同步信息和量子密钥偏移信息记录了上述24个字节在量子密钥队列中的位置;加密头中的SM4计数器同步信息记录了SM4加密所需的计数器的值。
加密策略为智能模式时,将根据量子密钥队列中剩余量子密钥的量,自动选择采用1字1密模式或SM4模式,并采用上述方法获取密钥流。
六、SM4加密方案
本系统中可支持量子密钥成码率在100Kbps以内的QKD设备,但网络传输速率需要适应100Mbps以上的带宽,二者相差巨大。为基于较低的量子密钥成码率,既保证适应高带宽的网络传输,又能保证网络传输过程中的高安全性,本系统采用了基于SM4加密扩充密钥的方式。其原理是以QKD生成的量子密钥为主密钥,通过SM4的CTR模式(计数器模式)来生成大量密钥,利用生成的密钥加密。该方法如下。
1、约定:
1)定义一个值MAXCNT,该值为1组量子密钥用于加密的次数。
2)约定每1组量子密钥由24个字节组成,前16个字节作为SM4的主密钥,后8个字节作为加密向量IV。
3)对同一组量子密钥,设置一个长度8字节的计数器CNT。CNT的初始值为0,每次加密以后该值加1。计数器值达到MAXCNT后,需要更换量子密钥。
4)每次加密将生成长度为16字节密文,由这些密文构成密钥流。
5)对长度超过16字节的数据包,可进行多次加密,但加密头中的SM4计数器同步信息只保存对本数据包第一次加密用所的CNT值。
2、生成密钥流的步骤:
1)从量子密钥队列中获取量子密钥,得到主密钥、向量IV和计数器CNT。
2)假设数据包长度为L,则需要进行Ne=(int)(L/16+1)次加密,每次加密输出一个16字节的密文,每次加密后需要将CNT加1。加密的方法为:将向量IV(8字节)与计数器CNT(8字节)合并为一个16字节的数组,作为输入,通过SM4加密算法,利用主密钥对其进行加密,输出为一个16字节的密文。
3)将Ne次加密得到的密文按顺序组合在一起,取前面的L个节,得到密钥流。
七、密钥中继加密传输方案
密钥管理机在获取密钥序列时,如果是从当前节点获取,则该密钥序列在传输过程中不需要加密;如果是从其他节点获取,则必须经过加密。加密的方式如下。
以图1中甲节点为例。甲节点的密钥管理机从乙节点的密钥管理机获取密钥序列2时,需要对其进行加密。设密钥序列1为K1,密钥序列2为K2,^为异或操作,K1与K2的异或结果为K12。则K12=K1^K2,K2=K1^K2^K1=K12^K1。根据此方法,甲节点从乙节点的密钥管理机获取密钥时,乙节点的密钥管理机先将K1与K2异或得到K12,然后将K12发送给甲节点的密钥管理机。甲节点的密钥管理机在得到K12后,再与K1异或,就可得到K2。
在异或过程中,会遇到密钥序列1(K1)与密钥序列2(K2)长度不相同的情况。如图3所示,设密钥序列1与密钥序列2的长度分别为L1和L2,且L1>L2。此时程序采用的加密方法是:对K1的前L2部分,直接与K2异或;对K1中超过L2的部分,则重新从K2的开始部分开始异或。如果L1>n*L2(n>1),即L1大于多倍的L2,则一直循环此操作,直到全部异或完成。
上面仅对本发明的较佳实施例作了详细说明,但是本发明并不限于上述实施例,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化,各种变化均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于量子密钥的网络安全加密系统,其特征在于:包括量子安全加密机、量子密钥管理机、量子密钥分发与管理设备和量子密钥管理服务中心软件,所述量子密钥分发与管理设备用于提供量子密钥,所述量子密钥管理机用于管理量子密钥分发与管理设备提供的密钥,所述量子安全加密机从量子密钥管理机获取密钥,并使用所述密钥完成加解密功能,所述量子密钥管理服务中心软件对量子密钥分发与管理设备、量子安全加密机、量子密钥管理机进行管理。
2.一种基于量子密钥的网络安全加密方法,其特征在于:包括下列步骤:
S1、对IP数据包进行加密;
S2、量子加密机的IP包转发,所述量子加密机基于Linux开发;
S3、量子密钥在加密机中进行保存和使用;
S4、使用netfilter_queue将数据包从内核层发送到用户层后,在用户层中对数据包进行加解密;
S5、对密钥流进行获取;
S6、采用基于SM4进行加密扩充密钥,以QKD生成的量子密钥为主密钥,通过SM4的CTR模式来生成大量密钥,利用生成的密钥加密;
S7、密钥管理机在获取密钥序列时,如果是从当前节点获取,则该密钥序列在传输过程中不需要加密;如果是从其他节点获取,则必须经过加密传输。
3.根据权利要求2所述的一种基于量子密钥的网络安全加密方法,其特征在于:所述S1中对IP数据包进行加密的方法为:
S1.1、IP头只改变协议类型,设为一个自定义的值,其他不变;
S1.2、在IP头后增加一个加密头,用以保存加密相关信息;
S1.3、对IP包进行加密,然后重新计算校验码;
S1.4、加密方式采用一字一密或SM4的CTR模式。
4.根据权利要求2所述的一种基于量子密钥的网络安全加密方法,其特征在于:所述S1中加密后IP数据包格式为:IP头、加密头、加密后的IP数据包、校验信息;所述加密头的格式为:IP包协议,量子密钥同步信息,量子密钥校验信息,SM4计数器同步信息,量子密钥偏移信息,加密模式及节点地址,QKD组ID信息;
所述IP包协议:记录IP包原协议;
所述量子密钥同步信息:记录与密钥的同步信息,与QKD中产生的密钥流对应,指向每个长度为1MBytes的密钥流;
所述量子密钥检验信息:记录密钥的校验信息,该信息从QKD的密钥流中获取,加密与解密端在同步信息相同时,检验信息也应相同;如果不同,证明双方密钥流不一致,需做丢弃等处理;
所述量子密钥偏移信息:记录与密钥的偏移信息,指向每个密钥流中的偏移;
所述SM4计数器同步信息:记录SM4加密计数器值
所述加密模式及节点地址:
bit0,用于表示加密模式,0表示1字1密,1表示SM4;
bit1保留不用;
bit2-bit7共6位,表示地址,0表示中心节点,1-63表示其他节点地址;此节点为加密时所在的节点;
所述QKD组ID信息:记录QKD组的id;比如图1中量子密钥分发与管理设备1A与量子密钥分发与管理设备1B是一组QKD,产生的密钥为量子密钥序列1,对应此处的QKD组的id为1。
5.根据权利要求2所述的一种基于量子密钥的网络安全加密方法,其特征在于:所述S2中量子加密机的IP包转发方法为:
基于netfilter实现;Netfilter在Linux内核中表现为一系列的hook点,并允许Linux内核模块在这些hook点上注册回调函数,Linux内核模块通过回调函数对网络数据包进行相关操作;Netfilter共提供Prerouting,Input,Forward,Output,Postrouting五个hook点;
通过网络桥接Bridge方式实现透明传输;
加密机共设置4个以上网口,分别是:
eth0:密钥管理口;连接量子密钥管理机;用于获取密钥信息,同时由量子密钥管理机通过该口进行管理,如获取状态信息;
eth1:保留管理口;可不用;连接后,可通过ssh方式管理;需分配1个IP;
eth2:加密口;连接加密链路光纤,不分配IP;
eth3-ethn:业务口;连接PC机,可同时连接多台PC设备,也可通过交换机连接多台PC设备,不分配IP;如果还需配置多个网口,均可配置为业务口;所述n为自然数;
其中,将eth0、eth2和eth3-ethn设置为bridge,实现桥接;bridge设置1个IP;解密工作在入口处完成,加密工作在出口处完成;
在Netfilter中,分别接管Prerouting和Postrouting两个hook点;在Prerouting中,对所有来自eth2的数据包进行解密;在Postrouting中,对所有向eth2发送的包进行加密。
6.根据权利要求2所述的一种基于量子密钥的网络安全加密方法,其特征在于:所述S3中量子密钥在加密机中进行保存和使用的方法为:
加密机中,从密钥管理机取得的量子密钥存放在量子密钥队列中;网络系统中的每个量子密钥序列在加密机中对应一个量子密钥队列;所述量子密钥队列中的每个元素包括五部分内容:是否有效标志、量子密钥同步信息、量子密钥校验信息、量子密钥生成时间、量子密钥块;其中:是否有效标志表示当前元素是否有效;队列中的量子密钥同步信息是连续的整数,即某个元素的量子密钥同步信息加1一定是下一个元素的量子密钥同步信息;量子密钥块是一个固定长度的内存块,保存了由量子密钥同步信息唯一标识的的量子密钥;在加解密时,通过量子密钥同步信息和量子密钥偏移信息就可以得到所需量子密钥的起始位置;其中,量子密钥偏移信息是加解密所需的量子密钥在量子密钥块中的位置;
量子密钥队列是一个固定长度的循环队列;该队列设有三个指针:PH、PT和PE;PH指向循环队列的头,即第1个元素;PT指向循环队列的尾,即下一次增加的元素所在的位置;PE指向加密时获取量子密钥的位置;加密机中的三个功能模块修改量子密钥队列;
所述加密机中的三个功能模块包括量子密钥通信模块、加密模块和解密模块;
所述量子密钥通信模块用于从密钥管理机获取量子密钥,并放到量子队列中;该模块每次获取的量子密钥正好构成量子密钥队列中的一个元素;该模块修改量子密钥队列的规则是:如果量子密钥队列未满,则一直按顺序向量子密量队列中增加元素;如果队列已满,则等待,直到最前面的元素被删除,是否有效标置为置为False,队列变为未满状态,再增加元素;每次增加元素的方法是:将元素放入PT指向的位置,然后将PT加1;判断队列已满的条件是:PT等于PH,并且PH指向的元素有效;
所述加密模块从PE指向的元素中取得量子密钥;所有的量子密钥只使用一次;加密模块下一次取量子密钥时,从上一次量子密钥的后面开始获取;如果PE指向元素中量子密钥块的密钥全部用完,则自动将PE+1,然后继续使用PE指向元素中的量子密钥;如果PE与PH的位置相差超过一定数量,则自动将队列中的第一个元素的是否有效标置置为False,并将PH加1;
所述解密模块的输入中包含了量子密钥的位置信息,即量子密钥同步信息和量子密钥偏移信息;解密模块通过这些信息,从量子密钥队列中取得所需的量子密钥;如果量子密钥同步信息在量子密钥队列中对应的位置超过了PE,则应将PE指向该位置。
7.根据权利要求2所述的一种基于量子密钥的网络安全加密方法,其特征在于:所述S4中用户层实现加密的方法为:
S4.1.1、收到IP包;
S4.1.2、根据某种规则选择一个量子密钥队列;该规则可支持以下两种式:随机选取;根据剩余量子密钥量的多少,选取剩余密钥量较大的量子密钥队列;
S4.1.3、根据IP包中的数据长度,以及预先设置好的加密策略,从量子密钥队列中取得相同长度的密钥流,同时取得量子密钥同步信息,量子密钥校验信息,SM4计数器同步信息、量子密钥偏移信息等解密时所需的信息;
S4.1.4、用取得的密钥流与IP包的中数据按位异或,形成密文数据包,并根据预先设置好的加密策略、加密机地址、QKD组ID,以及上一步取得的量子密钥同步信息,量子密钥校验信息,SM4计数器同步信息、量子密钥偏移信息的相关参数,生成加密头;
S4.1.5、使用密文数据包、加密头,重新生成IP包;
S4.1.6、将IP包送入内核层,由内核层完成包转发工作;
所述S4中用户层实现解密的方法为:
S4.2.1、收到数据包;
S4.2.3、解析数据包,从加密头中取得量子密钥同步信息,量子密钥校验信息,SM4计数器同步信息、量子密钥偏移信、加密策略、加密机地址、QKD组ID等信;并根据QKD组ID,确定密钥所在的量子密钥队列;
S4.2.4、在选定的量子密钥队列中,取得与数据包相同长度的密钥流;
S4.2.5、用取得的密钥流与IP包的中数据按位异或,形成明文数据包;
S4.2.6、使用明文数据包,重新生成IP包;此时的IP包与加密前的IP包完全相同;
S4.2.7、将IP包送入内核层,由内核层完成包转发工作。
8.根据权利要求2所述的一种基于量子密钥的网络安全加密方法,其特征在于:所述S5中对密钥流进行获取的方法为:
S5.1、密钥流的获取指从量子密钥队中取得量子密钥,并在需要时对量子密钥进行转换,形成加解密所需的密钥流;不同的加密策略中,获取的方式不同;
S5.2、加密策略为一字一密时,密钥流直接从量子密钥队列中获取即可,加密头中的量子密钥同步信息和量子密钥偏移信息记录了密钥流在量子密钥队列中的位置;
S5.3、加密策略为SM4模式时,只从量子密钥队列中取24个字节,由此24个字节生成加解密所需的密钥流;加密头中的量子密钥同步信息和量子密钥偏移信息记录了上述24个字节在量子密钥队列中的位置;加密头中的SM4计数器同步信息记录了SM4加密所需的计数器的值;
S5.4、加密策略为智能模式时,将根据量子密钥队列中剩余量子密钥的量,自动选择采用一字一密模式或SM4模式,并采用上述方法获取密钥流。
9.根据权利要求2所述的一种基于量子密钥的网络安全加密方法,其特征在于:所述S6中加密的方法为:
S6.1、定义一个值MAXCNT,该值为1组量子密钥用于加密的次数;
S6.2、约定每1组量子密钥由24个字节组成,前16个字节作为SM4的主密钥,后8个字节作为加密向量IV;
S6.3、对同一组量子密钥,设置一个长度8字节的计数器CNT;CNT的初始值为0,每次加密以后该值加1;计数器值达到MAXCNT后,需要更换量子密钥;
S6.4、每次加密将生成长度为16字节密文,由这些密文构成密钥流;
S6.5、对长度超过16字节的数据包,可进行多次加密,但加密头中的SM4计数器同步信息只保存对本数据包第一次加密用所的CNT值;
S6.6、从量子密钥队列中获取量子密钥,得到主密钥、向量IV和计数器CNT;
S6.7、假设数据包长度为L,则需要进行Ne=(int)(L/16+1)次加密,每次加密输出一个16字节的密文,每次加密后需要将CNT加1;加密的方法为:将向量IV(8字节)与计数器CNT(8字节)合并为一个16字节的数组,作为输入,通过SM4加密算法,利用主密钥对其进行加密,输出为一个16字节的密文;
S6.8、将Ne次加密得到的密文按顺序组合在一起,取前面的L个节,得到密钥流。
10.根据权利要求2所述的一种基于量子密钥的网络安全加密方法,其特征在于:所述S7中加密传输的方法为:
甲节点的密钥管理机从乙节点的密钥管理机获取密钥序列2时,需要对其进行加密;设密钥序列1为K1,密钥序列2为K2,^为异或操作,K1与K2的异或结果为K12;则K12=K1^K2,K2=K1^K2^K1=K12^K1;甲节点从乙节点的密钥管理机获取密钥时,乙节点的密钥管理机先将K1与K2异或得到K12,然后将K12发送给甲节点的密钥管理机;甲节点的密钥管理机在得到K12后,再与K1异或,就可得到K2;
在异或过程中,会遇到密钥序列1与密钥序列2长度不相同的情况;设密钥序列1与密钥序列2的长度分别为L1和L2,且L1>L2;此时程序采用的加密方法是:对K1的前L2部分,直接与K2异或;对K1中超过L2的部分,则重新从K2的开始部分开始异或;如果L1>n*L2(n>1),即L1大于多倍的L2,则一直循环此操作,直到全部异或完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311312109.4A CN117375812A (zh) | 2023-10-11 | 2023-10-11 | 一种基于量子密钥的网络安全加密系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311312109.4A CN117375812A (zh) | 2023-10-11 | 2023-10-11 | 一种基于量子密钥的网络安全加密系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117375812A true CN117375812A (zh) | 2024-01-09 |
Family
ID=89403463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311312109.4A Pending CN117375812A (zh) | 2023-10-11 | 2023-10-11 | 一种基于量子密钥的网络安全加密系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117375812A (zh) |
-
2023
- 2023-10-11 CN CN202311312109.4A patent/CN117375812A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3502200B2 (ja) | 暗号通信システム | |
KR100594153B1 (ko) | 점대다 토폴로지의 네트워크에서 논리링크의 형성과 그보안 통신 방법 | |
JP7353375B2 (ja) | エポック鍵交換を用いたエンドツーエンドの二重ラチェット暗号化 | |
WO2021098366A1 (zh) | 一种基于树形qkd网络的量子密钥分发方法及系统 | |
US20070201698A1 (en) | Key management device and method for providing security service in Ethernet-based passive optical network | |
EP1107504A2 (en) | Method of updating encryption keys in a data communication system | |
US20080095368A1 (en) | Symmetric key generation apparatus and symmetric key generation method | |
WO2021133204A1 (ru) | Комплекс для защищенной передачи данных в цифровой сети | |
US7627747B2 (en) | Hardware/software partitioning for encrypted WLAN communications | |
CN106230585A (zh) | 一种量子密钥快速同步更新的方法 | |
CN115567207B (zh) | 采用量子密钥分发实现组播数据加解密方法及系统 | |
CN106850191A (zh) | 分布式存储系统通信协议的加密、解密方法及装置 | |
CN110011939A (zh) | 一种支持量子密钥进行数据加密以太网交换机 | |
CN112910891B (zh) | 一种基于fpga高速加解密的网络安全互联系统 | |
ES2954462T3 (es) | Método y aparato de procesamiento de datos | |
CN117176345A (zh) | 量子密码网络密钥中继动态路由方法、装置及系统 | |
CN117375812A (zh) | 一种基于量子密钥的网络安全加密系统及方法 | |
KR100594023B1 (ko) | 기가비트 이더넷 수동형 광 가입자망에서의 암호화 방법 | |
US20040136372A1 (en) | Protecting data transmissions in a point-to-multipoint network | |
CN114826748B (zh) | 基于rtp、udp及ip协议的音视频流数据加密方法和装置 | |
WO2023078639A1 (en) | Quantum-secured communication | |
CN114513780A (zh) | 基于随机密钥的无线通信网络加密系统 | |
KR20060091018A (ko) | 무선 랜에서의 ccmp를 이용한 암호화, 복호화 장치 | |
Mitchell | A storage complexity based analogue of Maurer key establishment using public channels | |
CN111475444B (zh) | 实现pcie光纤通讯转接卡的方法及光纤通讯转接卡 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |