APP下载

PQVPN: 抗量子计算攻击的软件VPN 设计

2022-10-10杨亚涛赵若岩

信息安全学报 2022年5期
关键词:公钥密文密钥

杨亚涛 ,赵若岩 ,常 鑫 ,郭 超 ,肖 嵩

1 北京电子科技学院电子与通信工程系,北京 中国 100070

2 西安电子科技大学通信工程学院,西安 中国 710071

1 前言

抗量子密码又称后量子密码(Post Quantum Cryptography)。2015 年8 月,美国国家安全局公开提出美国国家安全系统目前使用的NSA Suite B 将逐步向后量子密码算法升级。2016 年,美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)向全球范围内征集后量子公钥密码算法标准,共有25 个国家和地区的密码学家参加了此次征集活动。截至2018 年,共收到82 份方案。2019年初,NIST 宣布26 个方案进入第二轮评估。2020 年7 月,NIST 公布了第三轮的7 种候选算法和8 种备选算法。如表1 和表2 所示。

表1 第三轮候选算法Table 1 Candidate algorithms for the third round

Open Quantum Safe 项目是美国一个研究后量子密码学的开源项目。该项目的主要工作路线为liboqs算法库的开发并将后量子算法集成到协议和应用程序之中,其中包括广泛使用的OpenSSL 库。

2019年,微软研究员Douglas Stebila等人研究了把后量子密码算法融合到TLS(Transport Layer Security)协议和SSL(Secure Sockets Layer)协议中的几种实现方案[1]。同年微软研究员Christian Paquin 开发了包含后量子密码的TLS 框架,并测试了几种后量子密码算法对TLS 连接建立的性能影响[2]。

2020 年,Sebastian Paul 等人针对工业网络物理系统(Cyber-Physical Systems,CPS)的后量子安全问题提出了将后量子密码集成到工业协议开放平台统一架构中,并进行了方案实现和性能评估[3]。Loïs Huguenin-Dumittan 等人则对进入NIST 第二轮竞赛中的几种算法提出了明文检查攻击(PCA,Plaintext Check Attack)和针对基于秩的RQC 的KR-PCA 攻击[4]。同年,在研究硬件平台方面,Lukas Malina 等人评估了NIST后量子密码候选算法在特殊硬件平台上实施的适用性,主要关注了在受限平台和快速硬件加速平台上的性能[5]。Brian Koziel 等人则研究了NIST 第三轮中密码算法的关键运算如何在硬件中实施有效加速[6]。

2021 年,潘彦斌等人提出两种纯密文攻击思路,并证明在推荐参数下,NIST 竞赛中的候选算法Compact-LWE 是不安全的[7]。Manohar Raavi 等人则针对入围的公钥签名算法比较了其安全性和相应性能,提供了后量子密码设计的安全比较规则、性能分析以及综合分析参考标准[8]。Ward Beullens 针对UOV 和Rainbow 签名方案提出了适用于UOV 和Rainbow 的相交攻击以及仅适用于 Rainbow 的矩形MinRank 攻击,证明了这两种签名方案存在安全缺陷[9]。Thomas Prest 等人则对后量子密码学的知识状态系统化,将经典和后量子密码方案转化为若干个范式[10]。杨亚涛等人在文献[11]和[12]中分别提出了一种基于RLWE 困难问题的后量子攻击密钥协商协议和双向认证密钥协商方案INAKA。李子臣等人基于格理论环上误差学习(Ring Learning with Errors,RLWE)问题使用Peikert 式误差协调机制构造了一个C/S 模式下的口令认证密钥交换协议(PAKE),并使用Java 在Eclipse 平台上进行了此协议的模拟实现[13]。

虚拟专用网(Virtual Private Network,VPN)于1990 年代中期首次创建和部署,旨在远程节点之间建立一个加密的网络隧道,允许应用程序流量通过该隧道跨越不安全的中介网络传输[14]。

量子计算将在未来成为现实。文献[15]中指出,目前主流SSL VPN 的安全性依赖于SSL 协议中身份认证算法、密钥协商算法、信息加密算法的复杂度。随着量子计算的出现,现在所使用的传统密码算法正面临被破解的风险。此外,Sultan Almuhammadi 等人揭示了现有VPN 系统正面临Web 指纹攻击的威胁[16]。

2015 年,Aymen Ghilen 等人建议在隧道两端的OpenVPN 部署用于密钥交换和身份验证的量子协议,以实现VPN 隧道通信安全性能的提升[17]。

2018 年,国盾量子与国网电力信息通信提出了一种通信方案[18],该方案针对IPSec VPN,在实际电力通信网络中进行了测试,测试结果表明,该方法能够满足密文通信的需求,也为公共网络环境下的抗量子VPN 的研究提供了参考方向。

2020 年,Quentin M.Kniep 等人提出了对VPN 软件WireGuard 握手协议的三个改进方式以增强其后量子安全性能,并验证这些改进对系统性能的影响不大[19]。

2021 年,Joo Yeon Cho 和Andrew Sergeev 对VXLAN 上的MAC Sec 协议进行改进,使用了后量子的临时密钥交换协议和端到端身份验证方案,并验证了对延迟和吞吐量的影响是最小的[20]。改进后进行的实验证实,量子安全虚拟化链接已经可以远距离建立,而无需更改其基础设施。

本文贡献如下:

(1) 实现了一种抗量子计算攻击的VPN 设计框架。基于现有SSL VPN 框架,对OpenSSL 库及内部通信协议进行改造,在VPN 通信连接过程中的身份认证和密钥协商环节使用了后量子签名算法Picnic和密钥协商算法CRYSTALS-KYBER,实现了抗量子计算安全特性。实现了公网环境下的安全隧道通信及内网访问,能满足现阶段和量子时代的通信安全需求,也为今后实现后量子安全通信提出了架构案例。

(2) 测试了PQVPN 系统证书生成及验证、VPN建立连接及连接后的隧道安全通信功能,系统完整建立连接消耗时间为4.93s,VPN 连接后最高上传速度可达206Kb/s,下载速度可达2495Kb/s,相同带宽下与公网正常传输速度几乎相近,与传统VPN 性能相差较小,与其他后量子VPN 系统相比性能占优,实现了较高性能的PQVPN 系统。

2 关键算法

2.1 Picnic 算法

Picnic 算法使用Fiat-shamir 变换与Unruh 变换创建了非交互式零知识证明的签名系统。为了实现签名,签名者创建一个非交互的知识证明,并将该证明与待签名消息绑定[21-22]。

签名过程:

输入: 签名者的密钥对(sk,pk),待签名的消息字节组为

输出:M的签名以字节组形式输出。

(1)初始化以下值。C[0…T-1] [0…N-1]、Ch[0…T-1]和Cv[0…T-1],其中每个值的长度为lH字节。maked_key[0…T-1]的输入队列T,每个长度为n位。随机队列tapes[0 …T-1] [0…N-1],每次并行迭代,每个长度为6rs+n位。辅助信息比特串队列aux[0…T-1],每个长度为3rs比特。拓展消息队列msgs[0…T-1] [0…N-1],长度为n+3rs的比特串。

(2) 生成长度为S位的根seed和长度为256 位的salt。用KDF 方法推导:

sk‖M‖p k‖S其中,S编码方式为16 位小端整数,要求字节长度为2(S/8)(一个salt和一个seed,每个长度为S位)。

(3) 使用种子将根seed和salt扩展成T个初始seed,表示为iSeed[0…T-1]。

(4) 从0 到T-1的t重复以下操作:

(a) 使用iSeed[t]、salt和整数t,用种子树方法,导出N个种子。这些种子表示为seeds[0…T-1]。

(b) 使用KDF 导出N个tapes[t][N-1]:

每个位数至少为6rs。输入的t和i被编码为16位小端整数。

(c)运行 Compute_aux 算法,返回字符串mpcInputs,将在下面使用。

(d) 计算N个C[t][0…N-1]如下:

其中,i从0 到N-2 且

(e) 创建并存储私钥。

(f) 输 入maskedKey[t]、tapes[t]和pk,运行mpc_simulate 算法,输出为msgs[t][0…N-1]。

(g) 计算Ch[t] 如下:

(h) 计算Cv[t] 如下:

(5) 创建T列表的Merkle 树,Cv[0…T-1]作为叶,让Cv_root作为根节点。

(6) 使用函数HCP 进行计算,输出为一个摘要h和两个长度为u的16 位整数列表LC和LP。

LC中的整数是唯一的且在[0,T-1]范围内,LP中的值在[0,N-1]范围内。

(7) 计算Merkle 树Cv公开信息,公开信息表示为cvInfo。

(8) 计算初始种子所需的信息t∉LC,此信息表示为iSeedInfo。

(9) 收集签名 。签名是(h,salt,iSeedInfo,cvInfo,Z),其中Z是5 元u组的列表。定义(ti,Pi)=(LC[i],LP[i])其中i从0 到u-1。

(10) 序列化(h,salt,iSeedInfo,cvInfo,Z),并将其作为签名输出。

2.2 CRYSTALS-KYBER 算法

Kyber 是由Roberto Avanzi 等人设计的一种满足IND-CCA2 安全的密钥封装机制,其安全性依赖于解决格上的模误差学习(Module Learning with Errors,MLWE)问题的难度。参数n,k,q,η1,η2,du和dv中n为256,q是3329。表3、表4 和表5 为Kyber.CPAPKE公钥加密方案中密钥生成、加密和解密的定义。

表3 CRYSTALS-KYBER 算法的密钥生成过程Table 3 Key generation in CRYSTALS-KYBER algorithm

表4 CRYSTALS-KYBER 算法的加密过程Table 4 Encryption in CRYSTALS-KYBER algorithm

表5 CRYSTALS-KYBER 算法解密过程Table 5 Decryption in CRYSTALS-KYBER algorithm

图1 描述了单向认证密钥交换协议Kyber.UAKE,单向认证密钥交换协议增加了静态密钥部分,其中设定Alice 知道Bob 的静态密钥。

图1 Kyber 的单向认证密钥交换协议Figure 1 Kyber′s unidirectional authenticated key exchange protocol

其协商过程为:

设H: { 0,1}*→ { 0,1}256为哈希函数。

第一步: Alice通过Kyber 的密钥生成算法生成临时公私钥(pk,sk),使用Bob 的静态公钥pk2对预设密钥K2用Kyber 加密算法加密后得到密文c2,之后将临时公钥pk和密文c2发给Bob。

第二步: Bob 获得Alice 的临时公钥pk和密文c2后,先用临时公钥pk对预设密钥K加密后得到密文c,然后将密文c发给Alice;同时使用自己的静态私钥sk2对密文2c解密以获得预设密钥K2'。

第三步: Alice 收到Bob 发来的密文c后,用临时私钥sk解密密文c以获得预设密钥K'。

第四步: Alice、Bob 分别对K'和K2、K和K2'进行Hash 运算,并将得到的Hash 值作为会话密钥。

图2描述了双向认证密钥交换协议Kyber.AKE,其中设定双方都知道对方的静态密钥,其协商过程为:

图2 Kyber 的双向认证密钥交换协议Figure 2 Kyber′s bi-directional authenticated key exchange protocol

设H: {0,1}*→ { 0,1}256为哈希函数。

第一步: Alice 通过Kyber 的密钥生成算法生成临时公私钥(pk,sk),使用Bob 的静态公钥pk2对预设密钥K2用Kyber 加密算法加密生成密文c2,之后将公钥pk和密文c2发给Bob。

第二步: Bob 收到Alice 发来的临时公钥pk和密文c2后,先用公钥pk对预设密钥K加密生成密文c,再用Alice 的静态公钥p1k和Kyber 加密算法对预设密钥1K加密生成密文1c,然后将密文c和1c发给Alice,同时使用自己的静态私钥sk2对密文c2解密以获得预设密钥。

第三步: Alice 收到来自Bob 的密文c和1c后,用临时私钥sk和静态私钥s1k分别解密密文c和1c,可得到预设密钥K'和

上述协议最后导出的共享密钥不仅依赖临时密钥和密文(pk,c),而且还依赖静态密钥pki(i=2)和相关的临时密文ci(i=1,2)。

3 系统设计

3.1 算法选择

NIST 公布了经筛选后进入第三轮评测的数字签名和密钥协商算法,这些算法均经过了多方面的安全测试,能够抵抗多种攻击,且满足可证明安全性,未来的抗量子密码算法标准大概率也将在其中产生,因此考虑对这几种方案进行分析比较。在NIST 看来,这些密钥协商和数字签名算法是很有前途的具备抗量子攻击属性的潜在标准方案。

针对数字签名算法,入选的有 CRYSTALSDILITHIUM[23]、FALCON[24]、Rainbow[25],其中CRYSTALS-DILITHIUM、FALCON 均是基于格的后量子签名方案,Rainbow 是基于多变量的多项式Oil-Vinegar 公钥签名方案的推广。这三种算法的公钥长度都比较长,CRYSTALS-DILITHIUM 的公钥长度在 864-3232Kb 之间,FALCON 的公钥长度在157.8-1885.4Kb 之间,Rainbow 的公钥长度在897-1793Kb 之间,在实际应用中均高于TLS 协议所能承载的长度,因此,我们考虑采用同样基于格理论困难问题且满足TLS 协议包长度限制需求的Picnic 算法,Picnic 算法也是进入NIST 第三轮的候选算法之一。

针对密钥协商算法,入选的有 Classic McEliece[26]、CRYSTALS-KYBER[27]、NTRU[28]、SABER[29]四种。Classic McEliece 是一种基于Goppa 纠错码的非对称密码算法;CRYSTALS-KYBER、NTRU 和SABER 均为基于格困难问题的公钥密码体制中相较完善的密码体制,区别在于CRYSTALS-KYBER 是基于环上LWE(Learning With Errors)问题,NTRU 基于大维数格中寻找最短向量的数学难题,SABER 是基于MLWR(Module Learning With Rounding)问题而构造。在表6 中我们对这些算法的性能进行了对比分析。

表6 四种密钥协商算法的性能对比(所有时间都以CPU 周期表示)Table 6 Comparison of working performance of four key exchange algorithms(The computing time is presented in CPU cycles)

综上对比,我们选择安全性较高、综合性能表现较好的CRYSTALS-KYBER 算法作为PQVPN 系统中的密钥协商算法。

3.2 PQCrypto-VPN 分析

PQCrypto-VPN 基于开源的OpenSSL 库和传统OpenVPN 的分支搭建而成。其设计基本思想为在现有OpenVPN 的框架下,修改其所使用的OpenSSL 模块,使其在SSL 握手阶段中的证书签名和密钥协商部分调用抗量子OpenSSL 分支中所支持的后量子签名算法和密钥协商算法,而后量子算法的实现位于liboqs 库中,该库由所使用的OpenSSL 分支调用。在当前版本中,仅当流量通过客户端和服务器之间的VPN 隧道时,流量才受到量子计算机的保护。

OpenSSL 是一套由三个功能模块构成的SSL 协议的开源实现: 密码算法库(Crypto Library)、SSL 协议框架以及相关工具。其中密码算法库和SSL 协议框架是核心模块,用于配合实现基于SSL 协议的加密数据传输,图3 为OpenSSL 整体结构。

图3 OpenSSL 整体结构Figure 3 Overall structure of OpenSSL

密码算法库集成了SSL 协议所必须的各种密码算法,其主要包含以下三类算法:

(1) 公钥密码算法

OpenSSL 主要支持4 种主流的传统公钥密码算法: Diffie-Hellman、RSA、DSA 以及ECC,这几种公钥密码算法主要用于实现SSL 握手协议的密钥协商部分。

(2) 分组密码算法

OpenSSL 主要支持7 种分组加密算法: AES、DES、Blowfish、CAST、IDEA、RC2、RC5,同时也支持这几种算法的四种常用加密模式: ECB、CBC、CFB、OFB 模式。

(3) 杂凑密码算法

OpenSSL 的信息摘要计算中支持以下5 种算法:MD2、MD5、MDC2、SHA(SHA1)和RIPEMD。此外,OpenSSL 还实现了DSS 标准中规定的两种信息摘要算法DSS 和DSS1。

OpenSSL 的信息传输功能实现主要依赖于SSL协议框架和密码算法库的支持。在运行中,OpenSSL会调用密码算法库来完成待传输信息的加解密,SSL协议框架会按照协议规定对信息执行封装或解包,进而实现数据的安全传递。

本系统设计参考 2017 年 Microsoft 提出的OpenSSL 的Open Quantum Safe 项目分支。主要使用OpenSSL 的Crypto Library 密码算法库中基于liboqs quantum-resistant 的算法和密码套件。

OpenVPN 工作于数据链路层和网络层,允许点对点通信模式下的终端使用静态私钥、第三方证书或者用户名/口令来完成身份验证,并允许虚拟接口用户执行访问控制策略或制定防火墙策略。为了保证用户数据传输的安全性和可靠性,OpenVPN 所有的数据加密与身份验证操作都通过OpenSSL 库来处理。

3.3 抗量子攻击软件VPN 系统设计方案

本系统的设计思路是在调用 Microsoft PQCrypto-VPN 项目框架的基础上,借助其依赖的OpenSSL的Open Quantum Safe项目分支对系统原有的OpenSSL 库进行扩充,进而搭建PKI(Public Key Infrastructure)系统,并使用后量子签名算法Picnic 为服务器和每个客户端颁发证书,同时修改VPN 启动配置文件实现VPN 连接,握手过程中密钥协商部分采用CRYSTALS-KYBER 后量子密码算法,在尽量不影响性能的基础上,以实现该PQVPN 系统的抗量子计算攻击安全性。

图4 为抗量子计算的软件VPN 实现框图,为简化实现复杂度,在测试中将PKI 系统中的CA(Certificate Authority)与服务器集成为一体。服务器和客户端分别生成证书请求文件,然后向CA 提出证书申请。CA 处理请求后分别向服务器和客户端颁发证书。每个客户端都可以和服务器端直接连接,在完成隧道搭建前执行完身份认证、加密套件选择和密钥协商环节。与此同时,客户端会接收到从服务端的地址池中分配来的虚拟网络地址信息,所有地址都位于同一虚拟网段,可实现虚拟局域网间的隧道通信。

图4 抗量子计算的软件VPN 实现框架Figure 4 VPN implementation framework of post quantum computing software

4 运行结果与测试

本系统进行了局域网下不同网段之间的连接测试和公网下的连接测试,局域网下的测试使用两台虚拟机来实现,分别搭载Ubuntu 18.04 系统,公网下的测试使用阿里云远程服务器和PC 机实现,服务器采用Ubuntu 18.04 Server 系统,PC 机为Ubuntu 18.04系统,内存需要8G 以上。

4.1 功能测试

(1) 证书验证测试

为了形成用于验证的证书链,系统需要使用后量子签名算法Picnic来生成CA端的私钥和自签名证书,也分别生成服务器端与客户端的私钥及证书。

如图5 所示,服务器端证书的签名算法为Picnic,签署方为 PQ-OpenVPN-Demo-CA,证书署名为PQ-OpenVPN-Demo-Server,证书内包含公钥信息,同时通过CA 证书来证明服务器端证书的有效性。

图5 Server 端证书验证Figure 5 Server’s certificate verification

如图6 所示,证书指纹的输入为证书内容,使用SHA-512 和MD5 算法来确保证书的完整性;密钥指纹的输入为公钥,使用SHA-512 算法确保内部公钥的完整性。

图6 Client 端证书验证Figure 6 Client’s certificate verification

另外,我们自主设计了客户端的图形界面,集成了客户端私钥与证书申请文件的生成及连接功能。

(2) 服务器与客户端连接测试

服务器正常启动后,可以在连接提示的信息流中获知系统生成的虚拟地址池及连接历史中客户端曾被分配的地址。当有客户端申请连接时,双方会进入SSL 握手协议过程,在信息反馈中可以看到通过SSL 握手协议双方进行密钥协商的过程,如下所示:

第一部分: 建立安全能力。客户端发出Clienthello 信息,其中包括客户端可以支持的SSL 协议最高版本号,所使用的后量子密钥协商算法,客户端可以支持的密码套件列表,客户端可以支持的压缩方法列表等。之后,服务端发回Server-hello 信息,来确定SSL 版本、密码套件和压缩方法。

第二部分: 服务端验证和客户端验证。服务端向客户端提供自身数字证书及完整证书链,同时请求客户端的证书信息;客户端验证服务端的身份信息后,向服务端提供自身数字证书,服务器端验证客户端身份,进而完成彼此身份认证。

第三部分: 建立连接与客户端接受分配地址。当握手协商结束后,客户端与服务端建立连接,同时服务端在自身地址虚拟池内分配虚拟地址给客户端来完成通信建立。另外,通过Wireshark 对虚拟机进行抓包分析,可以看到握手过程中TLS 协议数据包、TCP 数据传输、OpenVPN 协议数据报。

(3) 客户端图形界面运行情况

用户填写申请证书所需的信息,如用户、国家等,即可自主选择生成目录、生成用户私钥.key 与证书请求文件.csr。之后,用户可将文件上传至CA 服务器,待CA 完成证书签署后颁发给用户。

(4) 客户端虚拟地址

当服务器端和客户端建立连接后,通过查看客户端的IP 信息,可发现客户端的tun0 端口开启,端口的对应地址是由服务器从虚拟地址池内分配给客户端的10.8.0.6,从而说明通信连接及虚拟地址分配成功。

(5) ICMP 协议通信

客户端与服务器端进行ICMP(Internet Control Message Protocol)通信,命令中所用地址为10.8.0.1,是虚拟地址池内的首位地址,其分配给服务器端,公网上不可访问。通信时可以捕获到发送至服务器上的数据包,来往的ICMP 通信数据全由OpenVPN协议进行封装。

(6) FTP 文件传输

客户端和服务器端建立连接后即可进行通信,可以利用FTP(File Transfer Protocol)文件传输来测试其可行性。10.8.0.1 为服务器端虚拟地址池内的首位地址,公网上不可访问;客户端通过FTP 访问此地址时,可直接访问服务器上的FTP 文件列表并支持文件的上传与下载。通过对数据流抓包分析,发现通向服务器的数据流皆以TCP 传输并且内容不可见,说明该PQVPN 可以实现数据的安全通信。

经测试,证书生成及验证、VPN 连接建立及连接后的隧道安全通信等功能模块都能正常工作,可以完成VPN 系统下的数据安全通信。

4.2 性能测试

(1) 服务器与客户端连接

测试时间为客户端请求连接开始到握手过程结束后建立连接为止,以Wireshark 捕获数据包的时间差为准,测试得到的连接时间为4.93s。

(2) FTP 文件传输时间

在相同的网络环境下,来传输不同类型、不同大小的文件,测试时间从FTP 连接开始到文件传输结束的整个过程。

性能对比结果如图7 所示:

图7 公网传输和VPN 传输对比Figure 7 Transmission comparison between public network and VPN

经测试,排除网络流量波动的影响,与正常的公网传输相比,PQVPN 系统牺牲了部分带宽,但换来了直接点对点通信的优势,同时增强了数据传输安全性。

表7 公网正常传输Table 7 Normal transmission in public network

表8 VPN 隧道传输Table 8 VPN tunnel transmission

4.3 对比测试

在表9 中,本文选取目前已提出的三种抗量子VPN 系统和两种常规VPN 系统进行对比分析。文献[18]将量子安全密钥管理服务与传统IPSec VPN结合来实现抗量子安全隧道通信,系统需要额外的硬件支持。文献[19]将WG VPN 内部协议中的KEM环节进行后量子改造后来实现抗量子安全通信,我们的PQVPN 系统相比文献[19]在通信延迟方面减少了79.3%。文献[20]对MACsec 协议进行改进,使用后量子临时密钥交换协议和端到端身份验证方案,本文的PQVPN 系统相比文献[20]在通信延迟方面减少了71.4%。文献[30]为传统IPSec VPN,不具有抗量子计算攻击安全性。本文的PQVPN 系统除了握手时长不具备优势外,其最大吞吐量与传统OpenVPN性能相当,最大并发连接数与其他VPN 性能一致。通过综合对比分析可以看到,本PQVPN 系统具有较好的综合性能。

表9 后量子VPN 隧道通信性能对比Table 9 Performance comparison of tunnel communication in post quantum VPN system

5 小结

本文介绍了抗量子计算攻击的软件VPN 的设计与实现过程。系统使用Microsoft PQCrypto-VPN 项目框架,依赖OpenSSL 的Open Quantum Safe 项目分支,完成了基于后量子签名算法Picnic 和密钥协商算法CRYSTALS-KYBER 的抗量子计算攻击的软件VPN 系统设计,实现了VPN 隧道通信中对数据安全的后量子安全保护。使用QT 下的C++实现了客户端的用户操作图形界面。

基于现有互联网协议和普通计算机终端,本系统实现了公网环境下的抗量子计算攻击的安全隧道通信。本系统基于开源的Open Quantum Safe 项目,具有良好的二次拓展和可开发性。通过测试,在25M带宽下,PQVPN 系统连接后最高上传速度可达206Kb/s,下载速度可达2495Kb/s,与公网正常传输和传统OpenVPN 的传输速度几乎相近,在通信延迟方面相比目前已提出的三种后量子VPN 系统均有明显降低,在牺牲少量带宽情况下实现了更安全的数据通信。

猜你喜欢

公钥密文密钥
探索企业创新密钥
一种针对格基后量子密码的能量侧信道分析框架
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
密码系统中密钥的状态与保护*
一种基于混沌的公钥加密方案
一种对称密钥的密钥管理方法及系统
基于ECC的智能家居密钥管理机制的实现
HES:一种更小公钥的同态加密算法
SM2椭圆曲线公钥密码算法综述