毫無疑問,IT行業(yè)未來十年的一大主題是遷移到后量子加密技術(shù)。從科技巨頭到小企業(yè):我們都必須確保及時(shí)更新硬件和軟件,保護(hù)我們的數(shù)據(jù),不受量子計(jì)算機(jī)的影響。這看似遙遠(yuǎn),但在以后就不是問題:現(xiàn)在捕獲的任何加密數(shù)據(jù)(不受后量子加密技術(shù)保護(hù))在未來都可以被足夠強(qiáng)大的量子計(jì)算機(jī)破解。
幸好我們已經(jīng)做好基本準(zhǔn)備:經(jīng)過加密技術(shù)團(tuán)體在全球范圍內(nèi)作出的巨大努力,我們知道,在未來幾十年,量子密碼學(xué)的黃金標(biāo)準(zhǔn)是什么。發(fā)布日期:2024年的某個(gè)時(shí)候。希望對(duì)大多數(shù)人來說,只要更新軟件就能完成過渡,但并非對(duì)所有人都是如此:并非所有軟件都得到維護(hù),很可能硬件也需要升級(jí)。退一步說,許多公司甚至沒摸清在其網(wǎng)絡(luò)上運(yùn)行的軟件有哪些。
對(duì)于Cloudflare Tunnel客戶來說,遷移更加簡(jiǎn)單:引入后量子Cloudflare Tunnel。在本博文中,我們首先將概述Cloudflare Tunnel的工作原理,解釋它如何幫助您向后量子遷移。然后,我們會(huì)詳細(xì)介紹技術(shù)。
Cloudflare Tunnel
使用Cloudflare Tunnel,您可以運(yùn)行cloudflared服務(wù),將位于內(nèi)部網(wǎng)絡(luò)的服務(wù)器安全地暴露在互聯(lián)網(wǎng)上。例如,在您的內(nèi)部網(wǎng)絡(luò)上安裝cloudflared后,您可以將您的本地Web應(yīng)用程序暴露在互聯(lián)網(wǎng)上,比如example.com,使遠(yuǎn)程辦公者可以在任何地方訪問。
Cloudflare Tunnel請(qǐng)求的生命周期
它是如何運(yùn)行的?cloudflared創(chuàng)建到附近兩個(gè)Cloudflare數(shù)據(jù)中心長期運(yùn)行的連接,例如舊金山(連接3)和另一個(gè)。當(dāng)您的員工訪問您的域名時(shí),他們連接(1)到他們附近的Cloudflare服務(wù)器,例如法蘭克福。該服務(wù)器知道這是一個(gè)Cloudflare隧道,并且您的cloudflared已連接舊金山的服務(wù)器,所以將請(qǐng)求轉(zhuǎn)發(fā)(2)給舊金山的服務(wù)器。反過來,通過反向連接,請(qǐng)求在cloudflared處結(jié)束,這通過您的內(nèi)部網(wǎng)絡(luò)傳遞(4)給Web應(yīng)用程序。
本質(zhì)上,Cloudflare Tunnel是簡(jiǎn)單又便捷的工具,但它的作用卻很神奇:免費(fèi)獲得Cloudflare的DDoS保護(hù);Cloudflare Access的細(xì)粒度訪問控制(即使應(yīng)用程序不支持此功能)以及請(qǐng)求日志,優(yōu)點(diǎn)眾多,在此僅舉幾例。好的,回歸正題:
后量子隧道
我們的目標(biāo)是,讓每個(gè)人都能輕松擁有從用戶到源主機(jī)的完全后量子安全連接。為此,我們推出了后量子Cloudflare Tunnel。此工具功能強(qiáng)大,使您的用戶可以從后量子安全連接中受益,而無需升級(jí)您的應(yīng)用程序(圖中的連接4)。
今天,我們向此目標(biāo)邁出重要兩步:cloudflared 2022.9.1添加了后量子標(biāo)記,使從cloudflared到我們網(wǎng)絡(luò)的連接(連接3)成為后量子安全連接。
同樣在今天,我們宣布支持后量子瀏覽器連接(連接1)。
我們還沒有做到這一步:瀏覽器(和其他HTTP客戶端)不支持我們網(wǎng)絡(luò)提供的后量子安全性,但是我們?nèi)匀槐仨毷刮覀償?shù)據(jù)中心之間的連接(連接2)變成后量子安全連接。
攻擊者只需要訪問一個(gè)脆弱的連接,但攻擊者不可能訪問所有連接:只要使每個(gè)連接都成為后量子安全連接,我們就消除了一個(gè)漏洞。
我們迫切希望將后量子隧道設(shè)置為默認(rèn)設(shè)置,但目前它還只是測(cè)試功能。因?yàn)槭褂玫募用芗夹g(shù)和將其集成到網(wǎng)絡(luò)協(xié)議并不是最終的?,F(xiàn)在就將后量子變成默認(rèn)設(shè)置,會(huì)讓用戶更新cloudflared的頻率超出我們的合理預(yù)期。
立即開始
頻繁更新cloudflared對(duì)您來說,不是問題?那么,請(qǐng)?jiān)囋嚭罅孔覥loudflare Tunnel。確保版本至少為2022.9.1,然后運(yùn)行帶--post-quantum標(biāo)記的cloudflared即可:
如果您運(yùn)行cloudflared即服務(wù),您可以在隧道配置文件中添加post-quantum:true開啟后量子。這樣,cloudflared服務(wù)就會(huì)自動(dòng)更新(如果未使用軟件包管理器安裝)。
如果出于某些原因,創(chuàng)建后量子隧道失敗,就會(huì)看到如下錯(cuò)誤消息
添加后量子標(biāo)記后,cloudflared將不會(huì)回退到非后量子連接。
我們已經(jīng)部署的內(nèi)容
今天,我們啟用了對(duì)X25519Kyber512Draft00和X25519Kyber768Draft00密鑰協(xié)議的支持,使用的分別為TLS標(biāo)識(shí)符0xfe30和0xfe31。這些就是我們今年7月在有限數(shù)量的區(qū)域上啟用的相同密鑰協(xié)議。
這兩個(gè)密鑰協(xié)議是一種混合協(xié)議,將經(jīng)典的X25519分別與新的后量子Kyber512和Kyber768相結(jié)合(按此順序)。這意味著,如果Kyber不安全,連接的安全性仍然與X25519等同。
Kyber目前是NIST選擇進(jìn)行標(biāo)準(zhǔn)化的唯一密鑰協(xié)議。Kyber要求CPU非常輕量:它比以快速著稱的X25519還要快。另一方面,其密鑰共享明顯更大:
X25519和Kyber之間的大小和CPU性能比較。性能在不同硬件平臺(tái)和實(shí)現(xiàn)約束之間的差異非常大,應(yīng)僅視為粗略參考。
在NIST于2024年進(jìn)行最終標(biāo)準(zhǔn)化之前,Kyber預(yù)計(jì)會(huì)有輕微改動(dòng),但這些改動(dòng)向后不兼容。此外,與TLS的集成(包括混合密鑰協(xié)議的選擇與細(xì)節(jié))尚未由TLS工作組最終確定。最終確定之后,我們會(huì)立即加以采用。
有鑒于此,長期來看我們不會(huì)支持今天宣布的初步密鑰協(xié)議;它們是作為測(cè)試版服務(wù)提供的。我們會(huì)在pq.cloudflareresearch.com上發(fā)布關(guān)于我們的部署的更新,并在IETF PQC郵寄列表中宣布。
現(xiàn)在我們已經(jīng)知道TLS協(xié)商在理論上的運(yùn)作方式,以及我們要添加哪些密鑰協(xié)議,那怎么會(huì)失敗呢?
注意事項(xiàng)
設(shè)置階段至關(guān)重要:一旦建立,隧道就和普通隧道一樣。這意味著,隧道一旦建立,性能和可靠性應(yīng)該是一致的。
我們使用的后量子加密速度非???,但在握手過程中需要再交換大約一千字節(jié)的數(shù)據(jù)。實(shí)際上,這種差異很難察覺。
我們最擔(dān)心的是,較大的握手?jǐn)?shù)據(jù)可能會(huì)讓一些網(wǎng)絡(luò)設(shè)備/中間盒感覺困惑。如果后量子Cloudflare Tunnel不起作用,請(qǐng)隨時(shí)向我們反饋。請(qǐng)通過ask-research cloudflare.com聯(lián)系我們,并告知您使用的中間盒或ISP。
底層實(shí)現(xiàn)
添加--post-quantum標(biāo)記時(shí),cloudflared限制其自身的QUIC傳輸隧道連接到我們的網(wǎng)絡(luò),只允許后量子混合密鑰X25519Kyber512Draft00和X25519Kyber768Draft00與TLS標(biāo)識(shí)符0xfe30和0xfe31分別交換。這些是經(jīng)典X25519和后量子安全Kyber之間的混合密鑰交換。因此,即使證明Kyber不安全,X25519的非后量子安全性。這些是我們網(wǎng)絡(luò)支持的相同的密鑰交換。
cloudflared在這兩種密鑰交換中隨機(jī)選擇一種。因?yàn)楹笳咄ǔJ褂肨LS ClientHello的兩個(gè)初始數(shù)據(jù)包,而前者只需要一個(gè)。這樣,我們可以測(cè)試碎片化ClientHello是否會(huì)有問題。
當(dāng)cloudflared無法建立后量子連接時(shí),它會(huì)將嘗試的密鑰交換、cloudflared版本和錯(cuò)誤報(bào)告給pqtunnels.cloudflareresearch.com,以便我們了解網(wǎng)絡(luò)問題。查看該頁了解后量子隧道部署的最新進(jìn)展。
cloudflared和我們網(wǎng)絡(luò)之間的隧道的控制連接和身份驗(yàn)證尚不具備后量子安全性。它沒有隧道上的數(shù)據(jù)先存儲(chǔ)再解密問題那么緊急。
我們?cè)贕o中為這些后量子QUIC密鑰交換提供了開源支持。
前景
未來十年,行業(yè)將推出后量子數(shù)據(jù)保護(hù)。有些情況就像軟件更新一樣簡(jiǎn)單,而有些則要困難得多。后量子隧道將以簡(jiǎn)單、友好的方式保護(hù)Cloudflare網(wǎng)絡(luò)和您的源主機(jī)之間的連接—這是邁向后量子互聯(lián)網(wǎng)的重要一步,讓每個(gè)人都可以繼續(xù)使用私密且安全的互聯(lián)網(wǎng)。