?

抗量子攻擊的傳輸層安全協議研究

2020-12-09 06:52鐘焰濤黃萬巧楊炎張瑤郝琦
網絡安全技術與應用 2020年12期
關鍵詞:密碼學數字簽名哈希

◆鐘焰濤 黃萬巧 楊炎 張瑤 郝琦

(1.深圳市網安計算機安全檢測技術有限公司廣東 518071;2.廣東安證計算機司法鑒定所廣東 518071)

隨著互聯網在人們日常社會生活中應用越來越廣泛,網絡攻擊事件也日漸普遍,并逐漸引發網絡安全相關風險。為了保障互聯網絡的安全性,安全協議應運而生。其中傳輸層安全( transport layer security,TLS)協議是應用最廣的安全通信協議[1],該協議基于網絡傳輸層,并為應用層提供服務,其作用是為點對點的通信雙方建立安全通信信道。目前該協議的最新版本是1.3版[2],于2018年8月由IETF(國際互聯網工程任務組)正式發布。新版本通過支持強度更高的密碼算法具有更高的安全性,同時具有降低網絡延遲等優良特性。

自TLS 1.3草案階段起直到協議的正式發布,已經有許多針對該協議的安全性分析成果。Bhargavan和Leurent[21]對TLS1.2 客戶端身份驗證的證書轉發攻擊進行了研究,并進一步將攻擊擴展到針對TLS 1.3服務器身份驗證和通道綁定的證書。研究成果公開后,為避免上述攻擊對協議安全性的影響,IETF修訂了最終發布的協議正式版。Krawczyk[23]提出一個能將單向認證密鑰交換協議轉變為互相認證密鑰交換協議的協議編譯器,并針對TLS 1.3協議引入廣義的密鑰交換模型。Li等[22]提出一個新的安全模型,并證明TLS1.3在該模型中的安全性。Dowling 等[20]在2015年的ACM CCS 會議上對基于Diffie-Hellman 的握手協議進行分析,并提出“多級密鑰交換安全”概念,證明其可以結合任意密鑰協議,記錄層所使用的會話密鑰安全性得以證明。Bhargavan等[24]分析了TLS1.3 記錄協議,并基于參數計算了協議中不同密碼套件的具體安全性指標,完成可證明安全的 TLS1.3記錄協議的工程實現。

基于密碼技術的網絡安全防護措施受到量子計算發展的大力沖擊[3]。前述對 TLS1.3協議的安全性分析都沒有考慮到量子計算攻擊的影響。量子計算機能夠通過運行量子算法快速解決一些經典計算機無法有效解決的數學問題,對當前廣泛應用的密碼體系產生嚴重威脅。量子算法中最著名的是Shor算法[4]和Grover算法[5],其中Shor算法可以在多項式時間內解決大整數分解問題、離散對數問題,嚴重威脅在TLS1.3中所使用的RSA[6]、ECDSA[7]等密碼算法的安全性。

本文針對量子算法發展的現狀,使用 ProVerif工具[8]對 TLS1.3協議進行分析,并依據分析結果,提出在TLS1.3協議中使用基于格密碼方案來實現抗量子計算攻擊,提升協議的安全性和運行效率。

1 背景技術

1.1 TLS 1.3協議

TLS1.3協議由三部分組成:握手協議、警告協議和記錄協議。如圖1所示,該協議在TCP /IP協議簇中的位置介于應用層、TCP層之間,可用于封裝上層多種應用協議。

圖1 TLS1.3協議在TCP/IP協議族中的位置

TLS 1.3的握手協議用于通信雙方生成會話狀態參數,包括密碼算法名、TLS協議版本、雙方標識、密碼算法公開參數等信息。握手協議成功之后,TLS的記錄協議使用由握手協議生成的安全參數進行安全通信。數據發送方將上層數據傳輸單元進行合理分片,對數據分片有選擇性地壓縮,進一步對數據分片計算消息認證碼MAC、加密,得到TLS層的數據傳輸單元,交給下層協議進行傳輸;對應的,數據接收方收到加密數據快后,將數據塊解密后驗證MAC碼,并重組為上層數據傳輸單元后遞交給上層應用協議。

1.2 Shor算法

Shor算法是開創性的整數分解算法[4],該算法在1994年提出以后吸引了眾多研究,同時也掀起了量子計算機研究的熱潮。Shor算法充分展現了量子算法在解決某些經典問題時的計算優勢,算法核心思想是利用因子分解問題的特殊結構,把整數因子分解問題變換為求特定函數周期的問題,并使用量子算法快速地求解函數周期,進而找到整數的分解因子。

因為互聯網中廣泛使用的RSA公鑰密碼體制、Diffie Hellman密鑰交換協議、橢圓曲線公鑰密碼體系所依賴的數學困難問題可以很容易轉化為前述特定函數周期問題,因此Shor算法對密碼學有重大影響,嚴重威脅現有的網絡信息安全格局[17]。

1.3 后量子密碼學

盡管大規模通用的量子計算機能不能實現、什么時候才能實現還存在較大爭議,但各國政府、大型研究機構均已發起了設計抵抗量子計算模型的公鑰密碼算法的研究計劃,希望能夠用抗量子攻擊的密碼算法逐步替代現有密碼算法,以確保量子計算時代的信息安全。該研究方向通常被稱為“后量子密碼學(Post-Quantum Cryptogra- phy)”[9],是目前非?;钴S的新興密碼學研究方向。美國國家安全局(NSA)2015年8月宣布抗量子密碼算法的遷移計劃[10];同年NIST發起舉行了“后量子網絡安全研討會”,并于2017征集后量子公鑰密碼算法[11],力圖推進后量子密碼學的標準化工作,目前已經初見成效。

用于構建后量子密碼系統的底層數學工具包括:糾錯碼[13]、哈希函數[12]、超奇異橢圓曲線同源問題[16]、格[14]、多變量方程[15]等。其中基于格的密碼是最通用的一類,在格密碼中幾乎可以實現所有經典密碼概念。本文使用基于格密碼方案對TLS1.3協議進行改進,實現協議的抗量子計算攻擊安全性。

2 TLS1.3的量子攻擊安全性分析

使用協議分析工具 Proverif軟件[8](版本:2.01)模擬量子計算攻擊場景下的TLS1.3協議。當攻擊者具有量子計算能力時,可以使用量子算法破解RSA問題和離散對數問題,實現對協議中所使用的數字簽名算法和密鑰協商協議進行攻擊,計算出簽名私鑰并從公開參數獲取臨時秘密值,并破壞 Diffie-Hellman密鑰協商協議的安全性。以下代碼模擬攻擊者的密鑰破解能力和秘密值破解能力:

fun Quantum_attack1(pubkey):privkey.

fun Quantum_attack2(elli_curve_para):secrete_value.

服務器進程為證明自己身份,使用私鑰進行簽名并將簽名值發送給客戶進程,如下述代碼所示:

out(io,sign(sk_sign,Transcript-Hash (Handshake Context,Certificate)));

經Proverif模擬仿真,發現上述攻擊者能夠破壞協議的實體認證性,即能夠仿冒服務器與客戶端交互完成協議會話;并且能夠破壞會話密鑰的機密性,即能夠獲取握手協議中協商的密鑰。上述兩種攻擊的攻擊路徑如圖2和圖3所示。

如圖2所示,攻擊者使用量子計算能力直接從TLS握手的消息中獲取會話密鑰。

如圖 3,攻擊者利用量子計算能力從驗證公鑰中恢復簽名密鑰,并利用該密鑰仿冒服務器。

圖2 攻破TLS1.3會話密鑰機密性的攻擊路徑

圖3 攻破TLS1.3握手協議認證性的攻擊路徑

3 TLS1.3協議的抗量子攻擊改進

3.1 協議改進描述

為使用基于格密碼體制實現抗量子攻擊安全性,需要對握手協議和記錄協議分別進行改進,使協議能夠實現基于格的數字簽名和哈希算法。

(1)改進握手協議

-TLS客戶端發送的 ClientHello消息、服務器端發送的ServerHello消息的密碼套件包含 HKDF(HMAC-based Extract-and-Expand Key Derivation Function)函數列表,在該密碼套件中增加SWIFFT函數[18]作為備選HKDF函數之一;

-TLS客戶端發送的 ClientHello消息可擴展字段signature_algorithms_cert、signature_algorithms中增加 NTRU[19]簽名算法作為備選簽名算法之一;

-TLS服務器和客戶(可選)發送的證書認證消息中,使用NTRU算法進行數字簽名運算;

-TLS客戶端和服務器(可選)收到對方發來的證書認證消息后,使用NTRU算法驗證數字簽名正確性和證書的合法性。

(2)改進記錄協議

在通信雙方完成TLS握手之后,記錄協議對數據進行數據時,使用SWIFFT函數計算MAC碼,實現消息認證。

3.2 安全性分析

SWIFFT哈希算法是基于格的可證明安全哈希算法,采用快速傅里葉變換實現迭代過程中高效的多項式乘法運算。NTRU簽名算法是基于格的輕量級簽名算法,工作在環R=Z[x]/(xn-1)上,安全性依賴于格中的最短向量問題,該問題目前無法被經典算法及量子算法解決,即使是具有量子計算的攻擊者也無法偽造NTRU算法生成的數字簽名。在 Proverif協議仿真過程中,將 Quantum_attack1函數和Quantum_attack2函數移除,模擬攻擊者無法通過量子計算能力幫助獲取簽名私鑰以及獲取臨時秘密值。

圖4展示了改進協議的Proverif仿真結果。結果表明,量子計算攻擊者在仿真實驗中無法獲取有效的攻擊路徑,無法對改進協議實施有效的攻擊。

圖4 TLS改進協議的安全性分析

3.3 性能分析

為分析改進方案的運算性能,使用 C++語言分別模擬一對客戶端和服務器結點使用TLS1.3改進協議和原協議進行握手的過程,兩個結點之間單個數據包傳輸、接收和處理時間設定為滿足均值為200ms的指數分布。改進協議使用NTRU簽名方案和SWIFFT哈希算法分別代替原協議中的 RSA簽名方案和 sha256哈希算法,其中NTRU簽名方案和SWIFFT哈希算法使用現有的開源軟件包實現[25,26]。模擬平臺軟硬配置如表1所示。

表1 實驗平臺配置

圖 5對比了在不同會話并發數場景下原方案和改進方案的握手協議完成所需時間,由圖2可以看出,在1~104并發數時,改進后協議的TLS握手所需時間均低于原協議握手所需時間。改進協議計算效率更高的原因在于NTRU算法和SWIFFT算法采用矩陣乘法,RSA算法采用模冪算法,sha256使用Merkle-Damgard迭代結構,矩陣乘法運算和后兩者相比,具有運算速度更快的特點,因此握手過程密碼學運算所需時間較少,整個握手協議所需時間也就更少,效率較高。

圖5 方案性能比較

4 結束語

本文提出了抗量子攻擊的TLS1.3協議改進方案。首先通過仿真分析展示量子計算有效解決離散對數問題和求解大整數分解的能力對TLS1.3協議安全性具有巨大威脅,進一步提出使用基于格的密碼算法對TLS1.3握手協議進行改進,使用NTRU算法實現發送方證書驗證消息的數字簽名和接收方對證書信息的簽名驗證,并使用SWIFFT算法對握手協議上下文的哈希計算。安全性分析表明,改進協議能夠抵抗量子計算攻擊。仿真實驗結果表明,改進協議握手執行過程所需時間比原協議更少,效率更高。

猜你喜歡
密碼學數字簽名哈希
基于特征選擇的局部敏感哈希位選擇算法
哈希值處理 功能全面更易用
交通運輸行業數字簽名系統的設計與實現分析
文件哈希值處理一條龍
淺析計算機安全防護中數字簽名技術的應用
圖靈獎獲得者、美國國家工程院院士馬丁·愛德華·海爾曼:我們正處于密鑰學革命前夕
數字簽名技術在計算機安全防護中的應用
信息安全專業密碼學課程體系的建設
密碼學課程教學中的“破”與“立”
巧用哈希數值傳遞文件
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合