呂仲濤
近年來(lái),量子技術(shù)發(fā)展迅速。其中,量子計(jì)算未來(lái)將對(duì)現(xiàn)有密碼體系帶來(lái)威脅已成為行業(yè)共識(shí)。2022年年中,美國(guó)通過(guò)首部關(guān)于防范量子計(jì)算攻擊的法案,提出了量子計(jì)算對(duì)密碼算法的威脅及應(yīng)對(duì)措施。我國(guó)“十四五”規(guī)劃也將抗量子攻擊的保密通信建設(shè)列入國(guó)家重大科技項(xiàng)目。近期,中國(guó)人民銀行下發(fā)的《關(guān)于開(kāi)展深化金融科技應(yīng)用、推進(jìn)金融數(shù)字化轉(zhuǎn)型提升工程的通知》中也明確提出“提升金融領(lǐng)域密碼算法抵抗?jié)撛诹孔佑?jì)算攻擊的能力”的要求。本文將分析量子計(jì)算對(duì)銀行密碼算法的威脅,分享工商銀行在應(yīng)對(duì)量子計(jì)算威脅方面的思考和實(shí)踐,以期為同業(yè)提供參考借鑒。
在銀行系統(tǒng)中,密碼算法廣泛用于身份認(rèn)證、敏感信息、交易信息的機(jī)密性和完整性保護(hù),是銀行信息安全的核心。以一次ATM取款為例,在客戶(hù)從插入銀行卡到取出現(xiàn)金的整個(gè)過(guò)程中,從ATM終端到后端服務(wù)器已執(zhí)行了十多次密碼算法,對(duì)客戶(hù)交易過(guò)程進(jìn)行嚴(yán)格保護(hù)。當(dāng)前銀行信息系統(tǒng)使用的密碼算法有對(duì)稱(chēng)密碼算法、非對(duì)稱(chēng)密碼算法和散列算法三類(lèi)。
對(duì)稱(chēng)算法的加密與解密運(yùn)算使用相同的密鑰,主要用于敏感數(shù)據(jù)的加密傳輸及存儲(chǔ),防止數(shù)據(jù)明文泄露,在銀行系統(tǒng)中使用較早、應(yīng)用最廣。早期,對(duì)稱(chēng)算法在合作方交互場(chǎng)景的應(yīng)用存在短板,使用對(duì)稱(chēng)算法需要雙方通過(guò)線下協(xié)商交換獲得相同的密鑰,這個(gè)過(guò)程往往涉及人工操作,管理復(fù)雜且密鑰泄露的風(fēng)險(xiǎn)較高。非對(duì)稱(chēng)算法的引入則很好地解決了這個(gè)問(wèn)題(見(jiàn)圖1)。
圖1 非對(duì)稱(chēng)算法協(xié)商對(duì)稱(chēng)密鑰代替線下人工協(xié)商
非對(duì)稱(chēng)算法的加密與解密運(yùn)算使用不同的密鑰(公鑰和私鑰),公鑰不需要保密,私鑰僅需要由所有方管理,從而可以大大降低密鑰交換的復(fù)雜度和密鑰泄露的風(fēng)險(xiǎn)。但因非對(duì)稱(chēng)算法的加解密效率遠(yuǎn)低于對(duì)稱(chēng)算法,一般不適合直接用于業(yè)務(wù)數(shù)據(jù)的加解密。更多時(shí)候,非對(duì)稱(chēng)算法會(huì)在合作方交互場(chǎng)景中與對(duì)稱(chēng)算法配合使用,即首先使用非對(duì)稱(chēng)算法實(shí)現(xiàn)對(duì)稱(chēng)算法密鑰的線上交換(因密鑰的長(zhǎng)度較短,對(duì)加解密效率影響不大),再基于對(duì)稱(chēng)密鑰實(shí)現(xiàn)數(shù)據(jù)的加解密操作,這樣既實(shí)現(xiàn)了密鑰交換的安全性與便捷性,又保障了業(yè)務(wù)數(shù)據(jù)加解密的效率。隨著銀行業(yè)務(wù)的拓展及安全審計(jì)要求的提高,目前非對(duì)稱(chēng)算法也被更廣泛用于業(yè)務(wù)數(shù)據(jù)的簽名驗(yàn)簽,以實(shí)現(xiàn)數(shù)據(jù)防篡改及抗抵賴(lài)功能。
散列算法又稱(chēng)為哈希算法、雜湊函數(shù)等,可將任意長(zhǎng)度的數(shù)據(jù)轉(zhuǎn)換為獨(dú)有的固定長(zhǎng)度數(shù)據(jù)(一般稱(chēng)為“消息摘要”),用于檢測(cè)原始數(shù)據(jù)是否被篡改。散列算法主要用于配合非對(duì)稱(chēng)密碼算法提升簽名驗(yàn)簽的計(jì)算效率,即先對(duì)較長(zhǎng)的業(yè)務(wù)數(shù)據(jù)計(jì)算出較短的散列值,然后使用非對(duì)稱(chēng)密碼算法對(duì)散列值進(jìn)行簽名。
密碼算法的安全性與算法結(jié)構(gòu)及密鑰長(zhǎng)度相關(guān)。對(duì)稱(chēng)密碼算法與散列算法一般通過(guò)字符替換、移位等復(fù)雜的算法結(jié)構(gòu)將明文轉(zhuǎn)換為密文,其安全性依賴(lài)算法結(jié)構(gòu)的設(shè)計(jì)。而非對(duì)稱(chēng)密碼算法是基于質(zhì)因數(shù)分解、離散對(duì)數(shù)等數(shù)學(xué)難題設(shè)計(jì)的,其安全性依賴(lài)相關(guān)數(shù)學(xué)難題是否找到高效的解決方法。對(duì)于同一個(gè)密碼算法而言,一般密鑰長(zhǎng)度越長(zhǎng),安全性越高,但相應(yīng)的算法效率也會(huì)降低。
密碼算法的安全性可以通過(guò)“安全強(qiáng)度”來(lái)衡量,N位安全強(qiáng)度表示攻破該算法最大需要嘗試2N次運(yùn)算。業(yè)界普遍認(rèn)為,在經(jīng)典計(jì)算機(jī)環(huán)境下,當(dāng)前112位及以上強(qiáng)度的算法是安全的,目前銀行主要的密碼算法安全強(qiáng)度都應(yīng)在112以上(見(jiàn)表1)。
表1 業(yè)界常見(jiàn)密碼強(qiáng)度及密碼算法
量子計(jì)算主要利用量子疊加和糾纏等原理進(jìn)行并行計(jì)算,預(yù)期能為特定復(fù)雜計(jì)算問(wèn)題提供指數(shù)級(jí)加速。而密碼算法恰恰是以計(jì)算復(fù)雜度為安全前提,因此量子計(jì)算機(jī)的出現(xiàn)將給密碼算法安全帶來(lái)威脅。
量子計(jì)算機(jī)破解密碼算法需要同時(shí)具備兩個(gè)條件:一是設(shè)計(jì)出利用量子力學(xué)原理降低破解密碼算法難度的量子算法;二是具備足夠算力的大型量子計(jì)算機(jī)。
對(duì)于非對(duì)稱(chēng)密碼算法,目前條件一已具備,業(yè)界已出現(xiàn)可威脅非對(duì)稱(chēng)密碼算法安全性的量子算法————Shor算法。Shor算法將質(zhì)因數(shù)分解和離散對(duì)數(shù)等數(shù)學(xué)問(wèn)題的破解難度大幅降低,從而威脅到了基于相關(guān)數(shù)學(xué)問(wèn)題設(shè)計(jì)的非對(duì)稱(chēng)密碼算法安全(包括RSA、DH、ECDSA、SM2等)。對(duì)于條件二,業(yè)界主流觀點(diǎn)認(rèn)為,使用Shor量子算法攻破主流非對(duì)稱(chēng)密碼算法的量子計(jì)算機(jī)需要具備數(shù)百萬(wàn)以上的量子比特?cái)?shù),而具備該能力的量子計(jì)算機(jī)投入使用預(yù)計(jì)需要10年以上的時(shí)間。
對(duì)于對(duì)稱(chēng)密碼算法和散列算法,當(dāng)前已有Grover量子算法可提高破解該類(lèi)算法的計(jì)算速度,但破解所需的算力仍然過(guò)高,業(yè)界尚無(wú)出現(xiàn)相應(yīng)量子計(jì)算機(jī)的時(shí)間預(yù)估,因此可暫時(shí)不用考慮量子計(jì)算對(duì)于對(duì)稱(chēng)算法和散列算法的威脅。
雖然業(yè)界主流觀點(diǎn)認(rèn)為具備破解非對(duì)稱(chēng)密碼能力的量子計(jì)算機(jī)需10年以上才能投入使用,但銀行業(yè)仍有必要盡快啟動(dòng)抗量子攻擊能力建設(shè)。
QKD利用量子不可分割、不可精確測(cè)量等特性,通過(guò)量子信道和經(jīng)典信道協(xié)同實(shí)現(xiàn)對(duì)稱(chēng)密鑰的安全協(xié)商,再使用該對(duì)稱(chēng)密鑰加密業(yè)務(wù)數(shù)據(jù),并通過(guò)經(jīng)典信道傳輸。
一方面,因?yàn)槊艽a算法升級(jí)工程復(fù)雜,涉及大量軟硬件適配,所以需要較長(zhǎng)周期。以國(guó)密算法升級(jí)為例,從最初國(guó)家規(guī)范標(biāo)準(zhǔn)制定、產(chǎn)品生產(chǎn)認(rèn)證、小范圍試點(diǎn),再到各類(lèi)系統(tǒng)軟硬件逐步完成實(shí)施,整個(gè)過(guò)程用了10年左右的時(shí)間。而當(dāng)前后量子密碼算法標(biāo)準(zhǔn)規(guī)范還未就緒,同時(shí)因后量子密碼算法的復(fù)雜性及技術(shù)路線的多樣性,軟硬件適配可能面臨更大的挑戰(zhàn)。因此,預(yù)計(jì)正常情況下后量子密碼算法的遷移也需要10年以上的時(shí)間。
另一方面,部分保密周期較長(zhǎng)的數(shù)據(jù)已經(jīng)面臨威脅。對(duì)于使用非對(duì)稱(chēng)算法直接保護(hù)或參與保護(hù)的敏感數(shù)據(jù),攻擊者可以先竊取存儲(chǔ),待量子計(jì)算機(jī)能力具備后再破解。因此,理論上,保密周期越長(zhǎng)的敏感數(shù)據(jù),需要更早地實(shí)施抗量子攻擊保護(hù)。比如,如果能破解非對(duì)稱(chēng)算法的量子計(jì)算機(jī)在10年后的2032年出現(xiàn),數(shù)據(jù)的保密周期是5年,那2027年就需要完成數(shù)據(jù)的抗量子攻擊保護(hù)。因互聯(lián)網(wǎng)的攻擊成本較低,互聯(lián)網(wǎng)相關(guān)應(yīng)用需要更早考慮抗量子計(jì)算攻擊保護(hù)。
如果以當(dāng)前時(shí)間為“頭”,以能破解非對(duì)稱(chēng)密碼的量子計(jì)算機(jī)出現(xiàn)為“尾”,那“掐頭去尾”后留給我們的安全窗口已經(jīng)不多了。因此,應(yīng)對(duì)量子計(jì)算威脅需要未雨綢繆,盡早行動(dòng)。
為了應(yīng)對(duì)量子計(jì)算攻擊對(duì)非對(duì)稱(chēng)算法的安全威脅,目前業(yè)界結(jié)合具體場(chǎng)景主要有兩類(lèi)解決思路:一是針對(duì)使用非對(duì)稱(chēng)算法進(jìn)行(對(duì)稱(chēng))密鑰協(xié)商、再通過(guò)對(duì)稱(chēng)算法加密傳輸?shù)膱?chǎng)景,研究使用量子密鑰分發(fā)(QKD)網(wǎng)絡(luò)進(jìn)行對(duì)稱(chēng)密鑰協(xié)商,保護(hù)密鑰的安全性;另一類(lèi)是研究后量子密碼算法(PQC),直接替換現(xiàn)有的非對(duì)稱(chēng)算法。
QKD利用量子不可分割、不可精確測(cè)量等特性,通過(guò)量子信道和經(jīng)典信道協(xié)同實(shí)現(xiàn)對(duì)稱(chēng)密鑰的安全協(xié)商,再使用該對(duì)稱(chēng)密鑰加密業(yè)務(wù)數(shù)據(jù),并通過(guò)經(jīng)典信道傳輸(見(jiàn)圖2)。
圖2 QKD密鑰協(xié)商可抵御量子計(jì)算攻擊
QKD技術(shù)目前已比較成熟,能替代通信傳輸中非對(duì)稱(chēng)密碼算法協(xié)商密鑰的場(chǎng)景;并且QKD的安全性只依賴(lài)量子通信網(wǎng)絡(luò),不受量子計(jì)算算力提升的影響。但目前QKD技術(shù)的應(yīng)用也存在一定的局限。一方面,QKD不能替代非對(duì)稱(chēng)算法的所有場(chǎng)景,如簽名驗(yàn)證、完整性保護(hù)、抗抵賴(lài)等非對(duì)稱(chēng)算法場(chǎng)景就無(wú)法使用QKD進(jìn)行替代;另一方面,QKD的成熟應(yīng)用依賴(lài)于量子通信基礎(chǔ)網(wǎng)絡(luò)的建設(shè),目前國(guó)內(nèi)還處于建設(shè)推廣初期,接入成本也比較高,距離實(shí)現(xiàn)大范圍推廣還需要較長(zhǎng)時(shí)間。
PQC是指基于不受已知量子算法攻擊的數(shù)學(xué)難題而重新設(shè)計(jì)的非對(duì)稱(chēng)密碼算法。2022年7月,美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)公布第一批4種擬標(biāo)準(zhǔn)化的國(guó)際后量子密碼算法(Kyber、Dilithium、Falcon、SPHINCS+),并計(jì)劃2024年正式發(fā)布標(biāo)準(zhǔn),4個(gè)算法分屬多種技術(shù)路線,以降低單一技術(shù)路線被破解的風(fēng)險(xiǎn)。國(guó)內(nèi)的密碼科學(xué)技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室、中國(guó)密碼協(xié)會(huì)等科研機(jī)構(gòu)也正在通過(guò)各類(lèi)研討和算法競(jìng)賽,積極推動(dòng)后量子算法的研究。
PQC理論上可替代所有非對(duì)稱(chēng)算法并覆蓋所有的應(yīng)用場(chǎng)景,相對(duì)QKD是更為通用的解決方案。但從目前看,PQC的應(yīng)用也存在一定的局限。一方面,PQC的安全性仍然依賴(lài)于相關(guān)數(shù)學(xué)難題的計(jì)算復(fù)雜度,因此未來(lái)同樣可能出現(xiàn)更優(yōu)的破解方法,或算力進(jìn)一步提升后導(dǎo)致某種PQC算法不再安全,需要再次升級(jí);另一方面,PQC的標(biāo)準(zhǔn)還未正式公布,且未來(lái)標(biāo)準(zhǔn)公布后,相關(guān)密碼產(chǎn)品的生產(chǎn)、認(rèn)證、試點(diǎn)、迭代成熟需要數(shù)年的時(shí)間,因此PQC的規(guī)?;瘧?yīng)用也需要較長(zhǎng)周期。
此外,還可以通過(guò)增加非對(duì)稱(chēng)算法密鑰長(zhǎng)度來(lái)提升破解難度,該方法可作為抵御量子計(jì)算攻擊的臨時(shí)過(guò)渡方案,為更換算法爭(zhēng)取更多的時(shí)間。
工商銀行始終將保護(hù)客戶(hù)交易資金安全作為首要任務(wù)。面對(duì)量子計(jì)算的威脅,工商銀行積極開(kāi)展抗量子計(jì)算攻擊的技術(shù)研究和實(shí)踐,按照“技術(shù)路線軟硬結(jié)合、方案探索內(nèi)外聯(lián)動(dòng)、落地實(shí)施總分協(xié)同”的思路,有序推進(jìn)業(yè)務(wù)系統(tǒng)縱深、全面的抗量子攻擊能力建設(shè)。
目前抗量子計(jì)算攻擊的QKD和PQC兩種技術(shù)各有優(yōu)勢(shì)與不足,未來(lái)兩個(gè)方案結(jié)合使用可以更好地形成互補(bǔ),降低單一路線的技術(shù)風(fēng)險(xiǎn)。
在QKD的應(yīng)用方面,工商銀行與國(guó)內(nèi)QKD技術(shù)頭部企業(yè)保持密切交流與合作,從2015年開(kāi)始逐步在同城文件傳輸、異地?cái)?shù)據(jù)備份、合作方互聯(lián)等多個(gè)場(chǎng)景完成試點(diǎn),后續(xù)將根據(jù)QKD網(wǎng)絡(luò)建設(shè)情況及業(yè)務(wù)場(chǎng)景需求逐步擴(kuò)大試點(diǎn)范圍。在PQC驗(yàn)證方面,工商銀行密切關(guān)注國(guó)內(nèi)外算法研究進(jìn)展,分別在2021年及2022年針對(duì)NIST發(fā)布的最新后量子密碼算法開(kāi)展了技術(shù)驗(yàn)證,并完成了在業(yè)務(wù)場(chǎng)景應(yīng)用的分析評(píng)估及核心加密服務(wù)平臺(tái)應(yīng)用的建設(shè)方案,計(jì)劃待算法標(biāo)準(zhǔn)正式發(fā)布后再安排生產(chǎn)試點(diǎn)。
抗量子計(jì)算攻擊是一項(xiàng)復(fù)雜的系統(tǒng)工程,不僅涉及銀行與合作方應(yīng)用的適配,還涉及各類(lèi)廠商軟硬件產(chǎn)品的升級(jí),挑戰(zhàn)巨大。為更好地推進(jìn)抗量子計(jì)算工程實(shí)施,既需要與合作機(jī)構(gòu)及廠商加強(qiáng)聯(lián)動(dòng)、互相配合,創(chuàng)新解決方案;也需要與同業(yè)加強(qiáng)交流,互通有無(wú),降低試錯(cuò)成本。
目前,工商銀行正在與網(wǎng)絡(luò)設(shè)備供應(yīng)商開(kāi)展安全網(wǎng)關(guān)升級(jí)替代方案的聯(lián)合創(chuàng)新,在合作方通信場(chǎng)景實(shí)現(xiàn)對(duì)應(yīng)用透明的抗量子計(jì)算攻擊的安全傳輸通道。該方案在傳統(tǒng)TLS協(xié)議的基礎(chǔ)上,按照抗量子“軟硬結(jié)合”的思路升級(jí)設(shè)備,同時(shí)支持量子密鑰分發(fā)協(xié)議和后量子密碼協(xié)議,在抗量子攻擊方面具有更好的靈活性和更強(qiáng)的實(shí)用性。目前該設(shè)備已完成原型開(kāi)發(fā),并在驗(yàn)證環(huán)境中開(kāi)展中等距離的測(cè)試驗(yàn)證,待驗(yàn)證成熟后可投入生產(chǎn)使用。同時(shí),工商銀行也積極參加業(yè)界量子技術(shù)聯(lián)盟及專(zhuān)委會(huì),牽頭或參與多項(xiàng)量子技術(shù)課題研究,深化與金融同業(yè)的交流,貢獻(xiàn)工行智慧。
工商銀行應(yīng)用體系龐大、分支機(jī)構(gòu)眾多,如何實(shí)現(xiàn)總分行協(xié)同、高效、有序地完成后量子密碼算法的升級(jí)替換是一個(gè)巨大難題。一方面,需要對(duì)總分行各個(gè)內(nèi)部應(yīng)用、內(nèi)外部互聯(lián)的各類(lèi)場(chǎng)景中非對(duì)稱(chēng)算法的使用情況進(jìn)行全面梳理和排查,避免場(chǎng)景遺漏;另一方面,需要針對(duì)不同的使用場(chǎng)景分類(lèi)施策,同類(lèi)場(chǎng)景制定總分行統(tǒng)一的實(shí)施方案和驗(yàn)收標(biāo)準(zhǔn),確保有效落地。
考慮到量子計(jì)算能力具備后,后量子密碼算法仍有被攻破的可能,因此在首次實(shí)施后量子密碼升級(jí)時(shí),需同步考慮一種可以支持算法敏捷替換的方案。該方案通過(guò)對(duì)業(yè)務(wù)提供與算法無(wú)關(guān)的通用服務(wù)接口,及在密文傳輸上實(shí)現(xiàn)變長(zhǎng)報(bào)文處理等設(shè)計(jì),可以提升后續(xù)再次升級(jí)的效率。工商銀行目前正在研究“加密敏捷性”方案并已完成原型驗(yàn)證,分行應(yīng)用參考該設(shè)計(jì)原則進(jìn)行應(yīng)用改造適配,形成總分協(xié)同、敏捷高效的升級(jí)方案。
面對(duì)量子計(jì)算對(duì)密碼算法的威脅,我們既要保持謹(jǐn)慎,做好量子計(jì)算威脅可能提前到來(lái)的準(zhǔn)備,也要保持樂(lè)觀,相信科學(xué)的進(jìn)步和技術(shù)的發(fā)展將為我們帶來(lái)更好的解決方案。工商銀行將與同業(yè)齊心協(xié)力,共同探索抵御量子計(jì)算攻擊的最佳實(shí)踐,守護(hù)金融安全。