摘要:证券行业网上交易已成为业务开展的核心支撑,其稳定性和安全性直接关系到投资者的切身利益及整个金融市场的稳定。当前网上交易部署的服务器网络安全协议在即将到来的量子时代面临威胁。如果攻击者通过网络抓包并存储当天的网络安全协议消息,等到大规模通用量子计算机研制出来,数
证券行业网上交易已成为业务开展的核心支撑,其稳定性和安全性直接关系到投资者的切身利益及整个金融市场的稳定。当前网上交易部署的服务器网络安全协议在即将到来的量子时代面临威胁。如果攻击者通过网络抓包并存储当天的网络安全协议消息,等到大规模通用量子计算机研制出来,数据的机密性将受到严重威胁(即“先存储后解密”攻击)。为了保证数据的前向安全性,目前使用的加密算法或者密钥协商算法必须具有抗量子计算攻击的能力。
中信建投证券股份有限公司总监 陶剑峰
在金融行业后量子迁移过程中,其中传输层安全性(TLS)被广泛应用于多个场景,以确保数据传输的安全性和机密性,如在线银行、交易网关等。为了满足金融行业的合规要求(如PCI DSS、GDPR等),使用TLS加密传输也是确保客户数据安全的重要措施。
在TLS中,密钥协商是确保通信双方安全交换密钥的重要步骤。然而,量子计算的发展对传统的密钥协商协议构成了威胁,尤其是对基于公钥密码学的协议,如RSA和DH(Diffie-Hellman)密钥交换。
在当前的TLS协议中,加入本方案的密钥协商协议,将协议中的用户B作为Client,用户A作为Server,可以保证在2-rtt(Client和Server两次交互)内完成交互。具体流程如图1所示,该方案的Client和Server仅需进行3次数据传输即完成了交互,减少了TLS握手过程中的交互次数,可提升TLS握手过程的性能,同时也有效提高了金融系统的交易能力。
图1 混合SM2+Kyber方案在TLS中的应用流程图
证券行业网上交易的后量子迁移方案是应对量子计算威胁、保障金融数据安全的重要举措。现有网上交易中,密码模块和SSL接入网关只使用商密SSL,后量子迁移解决方案基于后量子密钥封装算法的“PQC+SSL VPN”密钥协商机制来替代原有的商密SSL算法,如图2所示。
图2 网上交易后量子密码结构图
1. 后量子密钥协商协议
在量子计算时代到来之前,设计一个抗量子计算的具有前向安全的认证密钥协商协议主要有两种方法。
一是直接替换成后量子算法,基于经典困难问题的认证密钥协商协议,将各个密码组件替换成具有抗量子计算的密码算法。利用抗量子的密钥协商算法或密钥封装算法替换经典的Diffie-Hellman密钥协商协议,但是对其他密码组件的替换将变得更加复杂。
二是混合经典算法和后量子算法,将抗量子密钥封装或密钥协商协议代替经典的Diffie-Hellman密钥协商协议,即使大规模通用量子计算机研制出来,仍能保持数据的前向安全性。2016年,Google也做了类似的实验,在Chrome和Google服务器上,利用NewHope代替TLS协议中的ECDH密钥协商协议,使用经典密码算法(RSA或ECC)做身份认证。
第一种方法需要重新构建目前运行的公钥基础设施,实施难度大而且成本很高,推进过程不可控。第二种方法可以基于现有的公钥基础设施,在量子计算机成熟之前能够保证会话的前向安全性,即使后续量子计算机研制成功,也无法威胁已经完成会话的机密性,是一种经济可行的过渡路线的方案。
本研究提出一种混合式抗量子计算机攻击的密钥协商机制,即经典的算法采用SM2算法,后量子算法利用Kyber算法,(国内尚未发布后量子算法标准)作为后量子密码应用迁移实验,为将来我国标准出台后进行迁移的前期探索,积累经验。通信双方在使用SM2算法建立经典共享密钥的同时,使用后量子密钥封装机制(Kyber算法)建立后量子共享密钥,然后将经典共享密钥及后量子共享密钥作为密钥派生函数的输入,并将密钥派生函数的输出作为通信双方的混合共享密钥。该方案既能保留传统算法的安全性,又具备后量子安全的潜力,具有前向安全性,同时不需要对现有的公钥基础设施进行大规模的改造,适合过渡期后量子密码迁移。
2. 后量子密钥封装算法
SM2算法是由我国在2010年自主研发且公布的椭圆曲线加密算法(Elliptic Curve Cryptography,ECC),其中包括SM2-1椭圆曲线数字签名算法、SM2-2椭圆曲线密钥交换协议和SM2-3椭圆曲线公钥加密算法,并且这三种算法分别用来实现数字签名、密钥协商和数据加密的功能。在我国商用密码行业中,SM2椭圆曲线算法被用来替换国际RSA公钥加密算法,这是因为SM2算法在密钥生成速度、加解密速度和存储空间等方面的性能均优于RSA。
后量子密钥封装算法旨在提供安全的密钥交换机制,网上交易后量子密钥封装算法模块由密钥生成算法、密钥封装算法和解封装算法三个算法(KeyGen、EnCap、DeCap)组成,K-PKE.KeyGen、K-PKE.Encrypt、K-PKE.Decrypt为密钥封装算法对应的密钥生成和加解密算法。
(1)密钥生成算法。后量子密钥封装算法是为应对量子计算对传统密码学的威胁而设计的一种密码学机制。密钥生成算法是整个机制的核心组成部分,首先生成一对密钥,包括一个私钥和一个公钥,私钥需要严格保密,而公钥则可以公开分享,生成算法为后续的安全通信提供了基础。本方案密钥生成算法采用KeyGen(1λ)。输入安全参数λ和一个随机数rg∈RSG,这里RSG表示一个随机空间。KeyGen(1λ)输出封装密钥和解封装密钥:(PK,SK)←KeyGen(1λ)算法流程如图3所示。
图3 密钥生成算法
(2)密钥封装算法。密钥封装算法是实现安全通信的关键步骤之一,该算法利用公钥生成一个会话密钥及其对应的密文,这一过程称为封装。接收方随后使用私钥对密文进行解封装,以恢复相同的会话密钥。这种机制不仅保证了通信双方能够安全地共享密钥,还可以优化密钥大小和计算效率。本方案密钥封装算法采用(K,C)←EnCapPK(re)。输入封装密钥PK和一个随机数re∈RSE,输出会话密钥K∈KS和一个密文空间C∈CS,这里RSE是一个随机数空间,KS表示一个会话密钥空间,CS表示一个密文空间。密钥封装EnCap(PK,re)算法流程如图4所示。
图4 密钥封装算法
(3)密钥解封装算法。密钥解封装算法利用私钥对密文进行解密,从而恢复出与封装算法生成的相同的会话密钥。本方案密钥解封装算法采用K/⊥←DeCapSK(C)。解封装算法输入解封装密钥SK和密文C∈CS,输出会话密钥K∈KS或者一个拒绝符合⊥。密钥解封装DeCap(SK,c)算法流程如图5所示。
图5 密钥解封装算法
3. 混合式后量子密钥协商协议
后量子密钥封装机制混合应用的基本工作原理如下:通信双方在使用经典算法(SM2、RSA)的密钥共享机制建立经典共享密钥的同时,使用后量子密钥封装机制建立后量子共享密钥,然后将经典共享密钥及后量子共享密钥作为密钥派生函数的输入,并将密钥派生函数的输出作为通信双方的混合共享密钥。这种组合方式不仅利用了经典算法的成熟性和广泛部署,同时还引入了后量子算法的抗量子特性,以应对未来量子计算可能带来的安全威胁。
如果密钥封装算法KEM=(KeyGen,EnCap,DeCap)为OW-CPA安全的,抗量子密钥封装算法PQKEM=(PQKeyGen,PQEnCap,PQDeCap)为OW-CCA安全的,假设H1和H2为随机预言机,混合密钥协商协议在CK+安全模型下是安全的。
当测试会话存在匹配会话时,分别分析四种密钥泄露情景及影响。第一种会话发起者的长期私钥和会话响应者的临时私钥泄露;第二种会话发起者和响应者的临时私钥泄露;第三种会话发起者和会话响应者的长期私钥泄露;第四种会话发起者的临时私钥和会话响应者的长期私钥泄露。
在第一种情况下,KA1的安全性由密文CA1的安全性来保证的。因为会话响应者的长期私钥SKB1和会话发起者的临时私钥rA1没有泄露,对攻击者而言哈希值H1(rA1,SKA1)是未知的。
在第二种情况下,KA1和KB1的安全性由密文CA1和CB1的安全性来保证的。因为会话响应者的长期私钥SKB1和发起者的长期私钥SKA1没有泄露,对攻击者而言哈希值H1(rA1,SKA1)和H1(rB1,SKB1)是未知的。
在第三种情况下KB2的安全性由密文CB2的安全性来保证的。因为会话发起者的临时私钥eskA2和会话响应者的临时私钥rB2没有泄露。假设KyberKEM是抗量子计算安全的,即使在量子计算时代,用户基于大整数分解或离散对数问题的KEM算法的长期私钥破译了,由于会话密钥SK=H2(KA1,KB1,KB2,sid)受到会话密钥KB2的防护,假设H2为随机预言机,所以会话密钥SK还是安全的。这也是本项目设计融合密钥协商协议的意义所在。这里需要假设哈希函数H2是量子安全的,若假设协议的量子安全性为k比特,H2的输出长度至少为3k比特;同时,为了抵抗Grover量子搜索的攻击,封装密钥KB2的长度至少为2k比特。
在第四种情况下,KB1的安全性由密文CB1的安全性来保证的。因为会话发起者的长期私钥SKA1没有泄露和会话响应者的临时私钥rB1没有泄露,对攻击者而言哈希值H1(rB1,SKB1)和KB1是未知的。
假设攻击者在CK+安全网上交易中获胜的概率是不可忽略的,则模拟器在OW-CCA/CPA网上交易中获胜的概率也是不可忽略的。会话状态查询SesssionStateReveal(sid)的模拟可以通过OW-CCA安全网上交易来模拟。对于会话发起者和会话响应者的长期私钥泄露的情景,不需要对解密查询进行模拟,因为敌手已经获取了长期私钥。
SM2加密算法可视为密钥封装算法且SM2算法为IND-CPA安全,而Kyber密钥封装算法可以满足IND-CCA的安全。方案可以将假设从IND-CCA/CPA弱化为OW-CCA/CPA,故由以上定理可知,本协议在CK+安全模型下为安全。
后量子密钥协商使用SM2算法建立经典共享密钥的同时,并组合使用后量子密钥封装机制Kyber建立后量子共享密钥,然后将经典共享密钥及后量子共享密钥作为密钥派生函数的输入,并将密钥派生函数的输出作为通信双方的混合共享密钥。方案在linux系统上进行开发、测试。
测试参数设置如下:密钥长度、密钥封装算法密文长度与Kyber512、Kyber768、Kyber1024和SM2算法要求一致。用户ID与生成随机数长度均为32字节,实现性能如表所示。
表 混合SM2+Kyber后量子密钥协商协议实现性能(tps:次每秒)
因此,后量子密钥协商提出的协议计算性能高,通信带宽小。将后量子算法应用在TLS握手的密钥协商中,较IETF提交的草案交互次数少,仅需3次握手即可完成一次密钥协商,较草案的交互次数少1次。在高频繁的证券交易网络链路上,计算速度是决定因素,该方案具有较少传输数据的后量子算法,将展现出带宽优势。
随着量子计算机威胁逐步来临,金融机构必须积极寻求后量子密码技术的应用,证券行业网上交易系统进行后量子迁移迫在眉睫,该研究提出的混合SM2算法与Kyber算法的密钥协商协议,在不需要对当前公钥基础设施进行改造的前提下,其部署、改造非常便捷。在后量子密码迁移过程中,采用混合密钥交换机制的方式,既能保留传统算法的安全性和监管约束力,又具备后量子安全的潜力。后量子密钥协商的使用,有效提升了系统的安全性,为证券行业网上交易打造更加安全、高效、稳定的环境,推动证券行业迈向新的发展阶段。
来源:金融电子化