近年来,量子技术发展迅速,其中量子计算未来将对现有密码体系带来威胁已成为行业共识.2022年年中,美国通过首部关于防范量子计算攻击的法案,提出了量子计算对密码算法的威胁及应对措施.我国"十四五"规划也将抗量子攻击的相关保密通信技术研究列入国家重大科技项目.近期,中国人民银行下发的"关于开展深化金融科技应用,推进金融数字化转型提升工程的通知"中也明确提出"提升金融领域密码算法抵抗潜在量子计算攻击的能力"的要求.本文将分析量子计算对银行密码算法的威胁,分享工商银行在应对量子计算威胁方面的思考和实践,以期为同业提供参考借鉴.
在银行系统中,密码算法广泛用于身份认证,敏感信息,交易信息的机密性和完整性保护,是银行信息安全的核心.以一次ATM取款为例,在客户从插入银行卡到取出现金的整个过程中,从ATM终端到后端服务器已执行了十多次密码算法,对客户交易过程进行严格保护.当前银行信息系统使用的密码算法有对称密码算法,非对称密码算法和散列算法三类.
对称算法的加密与解密运算使用相同的密钥,主要用于敏感数据的加密传输及存储,防止数据明文泄露,在银行系统中使用较早,应用最广.早期,对称算法在合作方交互场景的应用存在短板,使用对称算法需要双方通过线下协商交换获得相同的密钥,这个过程往往涉及人工操作,管理复杂且密钥泄露的风险较高.非对称算法的引入则很好地解决了这个问题(见图1).
非对称算法的加密与解密运算使用不同的密钥(公钥和私钥),公钥不需要保密,私钥仅需要由所有方管理,从而可以大大降低密钥交换的复杂度和密钥泄露的风险.但因非对称算法的加解密效率远低于对称算法,一般不适合直接用于业务数据的加解密.更多时候,非对称算法会在合作方交互场景中与对称算法配合使用,即首先使用非对称算法实现对称算法密钥的线上交换(因密钥的长度较短,对加解密效率影响不大),再基于对称密钥实现数据的加解密操作,这样既实现了密钥交换的安全性与便捷性,又保障了业务数据加解密的效率.随着银行业务的拓展及安全审计要求的提高,目前非对称算法也被更广泛用于业务数据的签名验签,以实现数据防篡改及抗抵赖功能.
散列算法又称为哈希算法,杂凑函数等,可将任意长度的数据转换为独有的固定长度数据(一般称为"消息摘要"),用于检测原始数据是否被篡改.散列算法主要用于配合非对称密码算法提升签名验签的计算效率,即先对较长的业务数据计算出较短的散列值,然后使用非对称密码算法对散列值进行签名.
密码算法的安全性与算法结构及密钥长度相关.对称密码算法与散列算法一般通过字符替换,移位等复杂的算法结构将明文转换为密文,其安全性依赖算法结构的设计.而非对称密码算法是基于质因数分解,离散对数等数学难题设计的,其安全性依赖相关数学难题是否找到高效的解决方法.对于同一个密码算法而言,一般密钥长度越长,安全性越高,但相应的算法效率也会降低.
密码算法的安全性可以通过"安全强度"来衡量,N位安全强度表示攻破该算法最大需要尝试2N次运算.业界普遍认为,在经典计算机环境下,当前112位及以上强度的算法是安全的,目前银行主要的密码算法安全强度都应在112以上(见表1).
表1 业界常见密码强度及密码算法(数据来源:作者整理)
量子计算主要利用量子叠加和纠缠等原理进行并行计算,预期能为特定复杂计算问题提供指数级加速.而密码算法恰恰是以计算复杂度为安全前提,因此量子计算机的出现将给密码算法安全带来威胁.
量子计算机破解密码算法需要同时具备两个条件:一是设计出利用量子力学原理降低破解密码算法难度的量子算法;二是具备足够算力的大型量子计算机.
对于非对称密码算法,目前条件一已具备,业界已出现可威胁非对称密码算法安全性的量子算法 -  - Shor算法.Shor算法将质因数分解和离散对数等数学问题的破解难度大幅降低,从而威胁到了基于相关数学问题设计的非对称密码算法安全(包括RSA,DH,ECDSA,SM2等).对于条件二,业界主流观点认为,使用Shor量子算法攻破主流非对称密码算法的量子计算机需要具备数百万以上的量子比特数,而具备该能力的量子计算机投入使用预计需要10年以上的时间.
对于对称密码算法和散列算法,当前已有Grover量子算法可提高破解该类算法的计算速度,但破解所需的算力仍然过高,业界尚无出现相应量子计算机的时间预估,因此可暂时不用考虑量子计算对于对称算法和散列算法的威胁.
虽然业界主流观点认为具备破解非对称密码能力的量子计算机需10年以上才能投入使用,但银行业仍有必要尽快启动抗量子攻击能力建设.
一方面,因为密码算法升级工程复杂,涉及大量软硬件适配,所以需要较长周期.以国密算法升级为例,从最初国家规范标准制定,产品生产认证,小范围试点,再到各类系统软硬件逐步完成实施,整个过程用了10年左右的时间.而当前后量子密码算法标准规范还未就绪,同时因后量子密码算法的复杂性及技术路线的多样性,软硬件适配可能面临更大的挑战.因此,预计正常情况下后量子密码算法的迁移也需要10年以上的时间.
另一方面,部分保密周期较长的数据已经面临威胁.对于使用非对称算法直接保护或参与保护的敏感数据,攻击者可以先窃取存储,待量子计算机能力具备后再破解.因此,理论上,保密周期越长的敏感数据,需要更早地实施抗量子攻击保护.比如,如果能破解非对称算法的量子计算机在10年后的2032年出现,数据的保密周期是5年,那2027年就需要完成数据的抗量子攻击保护.因互联网的攻击成本较低,互联网相关应用需要更早考虑抗量子计算攻击保护.
如果以当前时间为"头",以能破解非对称密码的量子计算机出现为"尾",那"掐头去尾"后留给我们的安全窗口已经不多了.因此,应对量子计算威胁需要未雨绸缪,尽早行动.
为了应对量子计算攻击对非对称算法的安全威胁,目前业界结合具体场景主要有两类解决思路:一类是针对使用非对称算法进行(对称)密钥协商,再通过对称算法加密传输的场景,研究使用量子密钥分发(QKD)网络进行对称密钥协商,保护密钥的安全性;另一类是研究后量子密码算法(PQC),直接替换现有的非对称算法.
QKD
QKD利用量子不可分割,不可精确测量等特性,通过量子信道和经典信道协同实现对称密钥的安全协商,再使用该对称密钥加密业务数据,并通过经典信道传输(见图2).
QKD技术目前已比较成熟,能替代通信传输中非对称密码算法协商密钥的场景;并且QKD的安全性只依赖量子通信网络,不受量子计算算力提升的影响.但目前QKD技术的应用也存在一定的局限.一方面,QKD不能替代非对称算法的所有场景,如签名验证,完整性保护,抗抵赖等非对称算法场景就无法使用QKD进行替代;另一方面,QKD的成熟应用依赖于量子通信基础网络的建设,目前国内还处于建设推广初期,接入成本也比较高,距离实现大范围推广还需要较长时间.
PQC
PQC是指基于不受已知量子算法攻击的数学难题而重新设计的非对称密码算法.2022年7月,美国国家标准与技术研究院(NIST)公布第一批4种拟标准化的国际后量子密码算法(Kyber,Dilithium,Falcon,SPHINCS+),并计划2024年正式发布标准,4个算法分属多种技术路线,以降低单一技术路线被破解的风险.国内的密码科学技术国家重点实验室,中国密码协会等科研机构也正在通过各类研讨和算法竞赛,积极推动后量子算法的研究.
PQC理论上可替代所有非对称算法并覆盖所有的应用场景,相对QKD是更为通用的解决方案.但从目前看,PQC的应用也存在一定的局限.一方面,PQC的安全性仍然依赖于相关数学难题的计算复杂度,因此未来同样可能出现更优的破解方法,或算力进一步提升后导致某种PQC算法不再安全,需要再次升级;另一方面,PQC的标准还未正式公布,且未来标准公布后,相关密码产品的生产,认证,试点,迭代成熟需要数年的时间,因此PQC的规模化应用也需要较长周期.
此外,还可以通过增加非对称算法密钥长度来提升破解难度,该方法可作为抵御量子计算攻击的临时过渡方案,为更换算法争取更多的时间.
工商银行始终将保护客户交易资金安全作为首要任务.面对量子计算的威胁,工商银行积极开展抗量子计算攻击的技术研究和实践,按照"技术路线软硬结合,方案探索内外联动,落地实施总分协同"的思路,有序推进业务系统纵深,全面的抗量子攻击能力建设.
目前抗量子计算攻击的QKD和PQC两种技术各有优势与不足,未来两个方案结合使用可以更好地形成互补,降低单一路线的技术风险.
在QKD的应用方面,工商银行与国内QKD技术头部企业保持密切交流与合作,从2015年开始逐步在同城文件传输,异地数据备份,合作方互联等多个场景完成试点,后续将根据QKD网络建设情况及业务场景需求逐步扩大试点范围.在PQC验证方面,工商银行密切关注国内外算法研究进展,分别在2021年及2022年针对NIST发布的最新后量子密码算法开展了技术验证,并完成了在业务场景应用的分析评估及核心加密服务平台应用的建设方案,计划待算法标准正式发布后再安排生产试点.
抗量子计算攻击是一项复杂的系统工程,不仅涉及银行与合作方应用的适配,还涉及各类厂商软硬件产品的升级,挑战巨大.为更好地推进抗量子计算工程实施,既需要与合作机构及厂商加强联动,互相配合,创新解决方案;也需要与同业加强交流,互通有无,降低试错成本.
目前,工商银行正在与网络设备供应商开展安全网关升级替代方案的联合创新,在合作方通信场景实现对应用透明的抗量子计算攻击的安全传输通道.该方案在传统TLS协议的基础上,按照抗量子"软硬结合"的思路升级设备,同时支持量子密钥分发协议和后量子密码协议,在抗量子攻击方面具有更好的灵活性和更强的实用性.目前该设备已完成原型开发,并在验证环境中开展中等距离的测试验证,待验证成熟后可投入生产使用.同时,工商银行也积极参加业界量子技术联盟及专委会,牵头或参与多项量子技术课题研究,深化与金融同业的交流,贡献工行智慧.
工商银行应用体系庞大,分支机构众多,如何实现总分行协同,高效,有序地完成后量子密码算法的升级替换是一个巨大难题.一方面,需要对总分行各个内部应用,内外部互联的各类场景中非对称算法的使用情况进行全面梳理和排查,避免场景遗漏;另一方面,需要针对不同的使用场景分类施策,同类场景制定总分行统一的实施方案和验收标准,确保有效落地.
考虑到量子计算能力具备后,后量子密码算法仍有被攻破的可能,因此在首次实施后量子密码升级时,需同步考虑一种可以支持算法敏捷替换的方案.该方案通过对业务提供与算法无关的通用服务接口,及在密文传输上实现变长报文处理等设计,可以提升后续再次升级的效率.工商银行目前正在研究"加密敏捷性"方案并已完成原型验证,分行应用参考该设计原则进行应用改造适配,形成总分协同,敏捷高效的升级方案.
面对量子计算对密码算法的威胁,我们既要保持谨慎,做好量子计算威胁可能提前到来的准备,也要保持乐观,相信科学的进步和技术的发展将为我们带来更好的解决方案.工商银行将与同业齐心协力,共同探索抵御量子计算攻击的最佳实践,守护金融安全.