• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      抗量子可信計算安全支撐平臺技術①

      2022-06-27 03:55:18為,兵,宇,
      計算機系統(tǒng)應用 2022年5期
      關鍵詞:密鑰密碼量子

      李 為, 齊 兵, 秦 宇, 馮 偉

      1(中國科學院大學, 北京 100049)

      2(中國科學院 軟件研究所 可信計算與信息保障實驗室, 北京 100190)

      1 背景和現(xiàn)狀

      隨著量子計算理論的發(fā)展, 一些經(jīng)典模型下的困難問題被發(fā)現(xiàn)在量子計算模型下可以被有效求解.1999 年, Shor 發(fā)現(xiàn)了多項式時間內用于解決大整數(shù)分解問題和離散對數(shù)問題的量子算法[1]. 在大規(guī)模量子計算機上使用這類算法可以破壞被廣泛應用的RSA、ECC 等密碼算法以及DH 密鑰交換等協(xié)議, 而這些都是現(xiàn)今通信協(xié)議所依賴的核心功能: 公鑰加密, 數(shù)字簽名和密鑰交換. 當量子計算機的規(guī)模擴大到一定程度,現(xiàn)有的公鑰密碼體制將被完全破壞.

      2019 年谷歌在具有53 個量子比特的處理器上用200 s 完成了在經(jīng)典超級計算機上需要執(zhí)行一萬年才能完成的運算, 并聲稱這是量子計算機對傳統(tǒng)計算機的根本性優(yōu)勢[2]. 對于對稱密碼系統(tǒng), 與傳統(tǒng)計算機上的搜索算法相比, Grover 算法[3]僅為量子搜索算法提供了2 倍性能的加速. 對此將對稱密鑰長度加倍就足以保持原有的安全性. 此外, 已有研究表明, 不可能以指數(shù)級的速度加快搜索算法的速度[4], 這表明對稱算法和哈希函數(shù)應該在量子時代可用.

      隨著量子計算和量子計算機的深入研究, 作為可信計算安全基礎的密碼算法和可信硬件信任根將受到嚴重的安全挑戰(zhàn).

      1.1 量子計算機對可信計算的影響

      2001 年, 國際可信計算產(chǎn)業(yè)聯(lián)盟(TCG 前身)推出了TPM (trusted platform module, 可信平臺模塊)技術標準. 我國于2007 年12 月發(fā)布了《可信計算密碼支撐平臺功能與接口規(guī)范》[5], 推出了通用的計算機信任根TCM (trusted cryptography module, 可信密碼模塊).TPM/TCM 作為通用信任根在計算機產(chǎn)業(yè)界得到了廣泛的應用, 全球主流的個人電腦、服務器上幾乎都配置部署了此類安全芯片.

      TCM 是我國在可信計算領域自主研制的安全芯片. TCM 借鑒了國際可信計算技術框架與技術理念,以國產(chǎn)密碼算法為基礎, 安全性與計算效率都比TPM有較大提高.

      TPM2.0 新規(guī)范在2014 年由TCG 提出[6], 支持更多包括國產(chǎn)SM2、SM3 在內的密碼算法的同時, 也增加了新的如權限域、密鑰層次結構等定義, 使得TPM的使用場景更加靈活廣泛.

      由于TPM/TCM 廣泛采用了傳統(tǒng)密碼學算法(RSA、ECC、SM2)作為加解密和簽名原語, 量子計算機對密碼算法的沖擊將直接影響到TPM/TCM 自身的安全性.

      在量子計算模型下, 由于RSA/ECC 等公鑰密碼算法的加解密、簽名安全性被破壞, TPM/TCM 對外的遠程證明能夠被破解和偽造, 使得證明結果不再可信. 另外, 由于雜湊算法安全性降低, 也可能導致度量過程被破解, 無法保證下一級實體的可信, 從而導致信任鏈被打破. 同時存儲在TPM/TCM 芯片外部的數(shù)據(jù)也可能遭到破解.

      抗量子密碼算法的提出為TPM/TCM 提供了在量子計算模型下保證安全性的前提條件. 然而如果直接在TPM/TCM 中引入抗量子密碼算法, 其不同于傳統(tǒng)密碼算法的接口和開銷將會導致抗量子可信密碼模塊和現(xiàn)有可信計算軟硬件體系的兼容性問題, 主要包括:

      (1) 集成問題. 現(xiàn)有主板BIOS、Bootloader 的信任鏈因算法和協(xié)議的不同無法與抗量子TPM/TCM 芯片集成.

      (2) 性能影響. 采用抗量子密碼算法后, 芯片上的密碼學運算、度量證明的效率也是一大問題: 受限于TPM/TCM 安全芯片的運算速度、緩沖區(qū)大小等硬件條件, 大多數(shù)抗量子密碼算法的運行速度將顯著低于現(xiàn)有規(guī)模化商用的RSA、ECC 等密碼算法.

      (3) 存儲問題. 受密碼算法改變影響, 同時增長的還有度量日志的長度、密鑰長度, 可能會導致更多的緩存和存儲問題.

      (4) 其他問題. 基于TPM2.0 規(guī)范的一些安全機制(如依賴加密算法的增強授權等功能)還需要進一步考慮兼容性問題.

      1.2 相關工作

      目前被認為具有抗量子能力的密碼主要有如下類型: 基于雜湊的密碼算法、基于編碼的密碼算法、基于格的密碼算法、基于多變量的密碼算法以及基于橢圓曲線同源問題的密碼算法[7]. 盡管大規(guī)模量子計算機能否真正實現(xiàn)仍然存疑, 各國研究機構已對量子計算模型下的安全密碼算法發(fā)起研究. 2017 年NIST 開始征集后量子密碼算法, 目前有15 種算法進入決賽輪(2020 年7 月).

      FutureTPM[8]旨在設計和開發(fā)抗量子的可信平臺模塊(TPM), 主要目標是實現(xiàn)從現(xiàn)有TPM 環(huán)境到通過QR 加密功能提供增強安全性的系統(tǒng)的平穩(wěn)過渡.FutureTPM 從軟件、硬件和虛擬化等不同解決方案出發(fā), 探尋了QR TPM 的多種實現(xiàn). 主要基于IBM TPM2.0的開源軟件實現(xiàn), 并在其中添加了多種后量子算法密碼學原語.

      (1) 軟件實現(xiàn). 基于IBM TPM2.0 的開源軟件實現(xiàn),并在其中添加了對Kyber[9]、Dilithium[10]、NTTRU[11]、L-DAA[12]、SHA3/SHAKE 等后量子算法協(xié)議的支持,包括其密鑰生成器、Hash 生成器以及L-DAA 協(xié)議狀態(tài)存儲等.

      (2) 虛擬化實現(xiàn). 基于QEMU 以及l(fā)ibtpms 的開源實現(xiàn), 并在其中添加對后量子算法的支持. 目前QR-libtpms已支持Kyber、Dilithium、L-DAA, 還將向其中添加對SPHINCS+[13]、Rainbow[14]、BIKE[15]的支持.

      (3) 硬件實現(xiàn). 基于FPGA 實現(xiàn)了一個具有QR-TPM軟件實現(xiàn)和調度算法的最小化操作系統(tǒng)環(huán)境, 并通過TCP/IP 協(xié)議棧向外提供QR-TPM 功能.

      2 抗量子可信計算體系

      抗量子可信計算技術體系在架構上與傳統(tǒng)可信體系類似, 以密碼算法和協(xié)議為基礎, 實現(xiàn)可信密碼模塊所需的基本功能, 可信密碼模塊對外提供可信根, 可信軟件服務提供通用接口. 不同之處在于抗量子可信計算技術體系需要以抗量子密碼算法實現(xiàn)相應的平臺功能. 此外, 還需要考慮到傳統(tǒng)可信體系的兼容性以及更高需求的計算性能.

      我們將抗量子密碼算法及安全協(xié)議集成到可信密碼模塊中, 為上層設備提供抗量子計算的信任根, 形成抗量子計算的身份認證、遠程證明、數(shù)據(jù)保護等可信計算機制; 同時建立可信軟件服務體系, 從內核層、應用層和網(wǎng)絡層為用戶應用系統(tǒng)提供可信軟件服務. 總之, 抗量子可信計算技術體系架構主要內容包括:

      (1) 面向可信計算應用的抗量子可信計算協(xié)議和安全模型.

      (2) 基于抗量子密碼算法的可信密碼模塊設計. 包括密碼學系統(tǒng)設計、基于抗量子密碼的可信計算功能擴展、模塊兼容性評估等方面.

      (3) 構建支持通用抗量子密碼接口的可信軟件服務體系.

      上述體系架構沿用了傳統(tǒng)的可信計算安全支撐平臺(TCM/TPM)體系架構, 相關的抗量子密碼算法僅作為一種新的算法被加入, 以此最小化架構上的改變對其原有安全性的影響. 該架構所具備的抗量子能力, 等同于所引入的抗量子密碼算法和協(xié)議的抗量子能力.

      2.1 抗量子可信密碼模塊擴展

      抗量子可信密碼模塊(QR-TCM)是在原有硬件密碼模塊的基礎上進行算法擴展、功能改造, 其主要結構如圖1 可信密碼模塊改造部分所示. 隨機數(shù)發(fā)生器用于生成協(xié)議中的隨機數(shù)和對稱加密算法使用的密鑰的運算模塊; 密鑰生成器包括非對稱密碼算法密鑰生成器和LDAA 密鑰生成器, 其中非對稱密碼算法密鑰生成器用于生成非對稱密碼算法密鑰, LDAA 密鑰生成器用于生成LDAA 密鑰; 雜湊算法引擎使用SHA-256或SHAKE 雜湊算法計算消息摘要; 加解密/簽名消息引擎分為非對稱和對稱引擎, 其中非對稱密鑰加解密/簽名引擎為非對稱密碼算法提供加解密、簽名、驗證運算功能, 對稱密鑰加解密引擎為對稱密碼算法提供加解密功能; 非易失存儲用于存儲TCM 的長期密鑰(背書密鑰和存儲根密鑰)、完整性信息、所有者授權信息及少量重要應用數(shù)據(jù); 易失性存儲用于存儲計算中產(chǎn)生的臨時數(shù)據(jù), 包括PCR 寄存器、身份密鑰信息以及LDAA 簽名協(xié)議狀態(tài)等.

      圖1 抗量子可信計算技術體系

      2.2 可信軟件服務體系

      可信軟件棧是應用軟件與安全芯片交互的橋梁.安全芯片負責提供可信關鍵功能的硬件實現(xiàn), 比如密鑰生成、存儲以及簽名驗證等, 而可信軟件棧則是基于安全芯片硬件提供統(tǒng)一的可信計算應用程序接口,比如密鑰使用、完整性度量以及為用戶應用程序建立與安全芯片的通信等.

      通常在用戶系統(tǒng)中存在兩種不同的平臺權限模式定義: 內核模式和用戶模式. 可信軟件棧運行于用戶系統(tǒng)中, 因此需要與用戶所處的系統(tǒng)運行模式相匹配. 其主要分為3 個層次, 即內核驅動層、系統(tǒng)服務層和用戶程序層, 具體包括:

      (1) 可信計算內核模塊. 內核層的核心模塊是安全芯片設備驅動TDD (trusted device driver), 運行于用戶平臺的內核模式, 負責操作系統(tǒng)內核與硬件芯片之間的字節(jié)流傳輸, 另外還具有在電源異常等情況下保存芯片狀態(tài)等功能;

      (2) 可信計算核心服務. 在上述架構中TCMlib 提供可信計算核心服務, 位于用戶層, 負責與內核中芯片驅動接口函數(shù)通信時的組包、拆包、日志、審計、密鑰證書的管理, 以及協(xié)調多個應用程序對安全芯片的同步訪問等;

      (3) 可信計算服務模塊. 用戶程序層的核心模塊是可信服務模塊TSM, 與TCMlib 同時運行于用戶模式.它位于可信軟件棧的最高層, 直接為應用程序提供訪問安全芯片的服務.

      3 抗量子可信計算安全支撐平臺技術方案

      3.1 平臺總體架構設計

      我們以抗量子可信計算體系為基礎, 設計了抗量子可信計算安全支撐平臺(QR-security supporting platform for trusted computing, QR-SSPTC)總體架構,如圖1 右部分所示.

      QR-TCM 以抗量子算法密碼學原語為密碼基礎,并在其上擴展與通用可信計算體系相同的安全屬性和功能, 包括身份標識(AiK)、平臺數(shù)據(jù)保護(SRK)、完整性存儲與報告、資源保護以及其它輔助功能. 與TPM 的信任鏈構建方法相同, 計算機通過可信啟動, 將信任鏈從抗量子可信密碼模塊擴展到上層的操作系統(tǒng)和可信軟件棧, 形成抗量子可信軟件服務體系.

      在平臺運行過程中, 操作系統(tǒng)通過運行于內核層的可信計算內核模塊與QR-TCM 硬件通信, 并在用戶層建立可信計算核心服務層, 提供對QR-TCM 基礎功能的封裝. TCMlib 則對這些基礎功能進一步封裝, 以符合QR-TCM 完整調用過程的形式提供給應用程序,并在此基礎商對密鑰和會話的生命周期進行管理.

      應用程序通常在被度量后啟動, 以將信任鏈擴展到該層級. 應用程序以符合自身需求和預定義的安全策略的形式調用TCMlib 以及下層的可信計算核心服務, 進行度量和證明. 這些需求可能是對外直接或者匿名地證明計算機平臺的可信性, 或建立可信執(zhí)行環(huán)境等.

      3.2 QR-TCM 信任根設計

      TPM2.0 標準相比于TPM1.2 增強了靈活性, 采用主種子(primary seed)來在使用而非生產(chǎn)時生成對稱密鑰、非對稱密鑰、其它種子等關鍵值. 其中, 背書密鑰主種子(endorsement primary seed, EPS)用于生成背書密鑰, 是可信報告根的基礎; 平臺密鑰主種子(platform primary seed, PPS)用于生成由平臺固件控制的層次結構; 存儲根密鑰主種子(storage primary seed, SPS)用于生成由平臺所有者控制的層次結構. 此3 個主種子間相互獨立, 但其下屬的密鑰層次結構允許存在交叉認證. EPS、PPS、SPS 分別對應隱私管理員、平臺固件、平臺所有者3 個不同的權限域, 每個權限域有各自的分級層次結構進行權限管理. 各管理域的主對象從相應的主種子中派生, 具有公開部分和私密部分,其私密部分由相應主種子派生的對稱密鑰對其敏感區(qū)域進行加密保護. 管理域控制一個樹形的層次結構, 其上的非葉子節(jié)點(存儲密鑰)都是非對稱密鑰, 該節(jié)點的子節(jié)點由其派生的對稱密鑰來進行加密保護.

      現(xiàn)有的TPM2.0 密碼芯片具有的一個安全缺陷是沒有對EPS、PPS、SPS 進行加密保護, 并且上述三者在應用時分開管理其子密鑰, 不便于密鑰的統(tǒng)一管理.在集中式管理的安全組織內部, 存在統(tǒng)一的TPM2.0 信任根管理和控制的安全需求, 因而我們設計了安全芯片本原根密鑰(primitive root key)的方案, 加強對3 個保護域根密鑰種子的安全管理和保護.

      本原根密鑰延伸了TPM2.0 系統(tǒng)平臺根密鑰、系統(tǒng)背書根密鑰、系統(tǒng)存儲根密鑰對其多個子密鑰的樹形分級結構保護方法, 在3 個主種子上追加一個本原根密鑰, 對上述3 類根密鑰進行保護, 從而加強密碼芯片的安全性, 方便密鑰管理.

      如圖2 所示, 芯片廠商除了給芯片導入種子值外,還需導入使用SM2 非對稱密鑰算法生成的本原根密鑰標識密鑰, 該密鑰存儲于片內, 并在芯片全生命周期中有效. 本原根密鑰來自于芯片外部, 由芯片廠商在制造時導入芯片的內部非易失存儲, 為國密SM2 算法生成的非對稱密鑰, 其密鑰對不會以任何形式存儲于片外, 并受到芯片物理保護.

      圖2 本原根密鑰

      芯片針對平臺固件、平臺所有者、隱私管理員分為3 個不同的權限域, 對應平臺主種子(PPS)、存儲主種子(SPS)、背書主種子(EPS) 3 類種子值派生的密鑰層次結構, 其中PPS 生成平臺根密鑰、SPS 生成存儲根密鑰、EPS 生成背書密鑰. PPS、SPS、EPS 在片內存儲時, 受本原根密鑰標識密鑰通過SM3 KDF 派生密鑰算法導出的SM4 完整性保護密鑰、機密性保護密鑰的加密保護.

      在使用相應主種子值生成派生根密鑰(非對稱)時, 需要對應權限域的授權值或者授權策略, 包括PPS的平臺授權, SPS 的所有者授權和EPS 的背書授權三者之一, 以及本原根密鑰標識密鑰的授權. 在平臺對主種子進行更換操作時, 包括平臺對PPS、EPS、SPS 的更改, 平臺所有者更改導致的SPS 更改等, 平臺需要取得本原根密鑰標識密鑰的授權, 并在更換種子值后由本原根密鑰標識密鑰導出的保護密鑰重新對種子值進行加密保護.

      3.3 TCMlib 功能模塊

      與TCM 直接交互的是位于操作系統(tǒng)內核層的TCM 設備驅動. 操作系統(tǒng)內核通過總線與TCM 間的函數(shù)調用需要滿足標準中繁瑣的步驟和要求. 而TCMlib位于操作系統(tǒng)內核上層, 將這些函數(shù)調用進一步封裝,為上層應用提供調用QR-TCM 的接口; 并通過對上層暴露更少的接口, 減少TCM 可能存在的攻擊面, 使得更上層的TCM 服務模塊TSM 對TCM 芯片的調用更加簡單和安全. 此外, TCMlib 還具有TCM 管理、密鑰管理、完整性度量與證明的關鍵功能.

      (1) TCM 管理

      TCM 管理指對TCM 本身狀態(tài)、數(shù)據(jù)結構、基礎功能支撐等的管理. 具體包括TCM 錯誤狀態(tài)、TCM的啟動狀態(tài)、PCR 寄存器狀態(tài); TCM 密鑰、會話、緩存等的定義; TCM 緩存構建、哈希操作、傳輸命令、獲取錯誤信息等. TCMlib 將TCM 管理功能進行封裝,為上層提供包括TCM 啟動、物理使能、激活、獲取所有權、讀取背書密鑰、進行會話、創(chuàng)建密鑰、加載密鑰、獲取密鑰、簽名、PCR 讀取和拓展等功能的操作.

      (2) 密鑰管理

      由于TCM 芯片內部NV 是有限的, 用戶和上層應用創(chuàng)建的密鑰只有部分會存儲于芯片內部, 而其它密鑰會以密文的形式存儲于芯片外部. 這部分加密后的密鑰需要由TCMlib 進行管理, 對每個密鑰進行標識.用戶從保存于芯片內部的可信存儲根中導出對稱密鑰,保護下一級存儲于芯片外部的子密鑰. 子密鑰可以逐級生成, 形成樹形保護結構.

      (3) 完整性度量和證明

      4、轉移性收入,包括在農(nóng)業(yè)補貼、養(yǎng)老低保、臨時救助等,占比分別為11.059%、11.48%、20.31%。

      TCMlib 提供完整的對稱加解密算法以及非對稱加解密、簽名算法. 一方面, TCMlib 基于這些算法完成對應用程序的度量和證明; 另一方面, 操作系統(tǒng)在啟動時會將信任鏈傳遞到TCMlib, 而TCMlib 則負責度量上層應用, 將信任鏈傳遞到更上層.

      上述TCM 的核心安全功能是由TCMlib 通過調用下層的TCM 芯片內核驅動接口實現(xiàn)的. 而TCMlib向上提供的主要接口命令包括TCM 管理命令、會話命令、密鑰相關命令、PCR 操作命令、支撐命令. TCM管理命令為對TCM 自身狀態(tài)的設置, 包括啟動、所有者權限獲取和清除等操作; 會話命令控制授權協(xié)議發(fā)起的類型, 并確定何時終止會話釋放資源; 密鑰相關命令包括獲取平臺公鑰、導入導出密鑰和使用指定密鑰簽名等; PCR 操作命令包括讀取PCR 寄存器中的值以及向PCR 中增加度量值的功能; 支撐命令包括對具體數(shù)據(jù)結構的操作以及對文件或字符串的雜湊、控制日志或調試信息的輸出等功能.

      3.4 可信密碼模塊功能改造

      (1) XMSS 遠程證明

      擴展的Merkle 簽名方案(XMSS)是一種基于哈希的數(shù)字簽名系統(tǒng), IETF 在RFC 8391 中將其標準化[16].XMSS 提供加密的數(shù)字簽名, 但不直接依賴數(shù)學困難問題. 它的安全性僅依賴于哈希函數(shù)的屬性. 我們將XMSS 應用到QR-TCM 以實現(xiàn)遠程證明的抗量子擴展.

      遠程證明過程中的角色分為可信計算平臺和遠程驗證方, 其中可信計算平臺包含 TPM/TCM 安全芯片和主機平臺, 它們共同完成平臺完整性證明. 主機平臺主要是對平臺的完整性進行度量和報告, 而安全芯片TPM/TCM 主要是完成遠程證明的簽名過程.

      遠程驗證方是遠程證明的挑戰(zhàn)方, 它請求可信計算平臺證明當前系統(tǒng)的完整性狀態(tài), 并根據(jù)相應的驗證策略驗證可信計算平臺的完整性日志和安全芯片簽名. 遠程證明之前, 遠程驗證方還必須知道可信計算平臺的 AIK 公鑰和可信第三方的公鑰, 此處遠程證明的公私鑰即為XMSS 的公私鑰.

      在遠程證明的核心步驟是遠程驗證方對可信計算平臺發(fā)起挑戰(zhàn), 平臺證明當前運行狀態(tài)的完整性作為證明應答. 具體步驟如圖3 所示.

      圖3 XMSS 遠程證明過程

      1) 遠程驗證方預先持有可信計算平臺的簽名公鑰. 遠程驗證方向可信計算平臺發(fā)送隨機數(shù)N, 自身身份標識id_v, 對方身份標識id_p, 以及需要驗證的屬性標識attr.

      2) 可信計算平臺驗證隨機數(shù)N的新鮮性, 并驗證遠程驗證方發(fā)送的id_v、id_p 及attr 是否合法. 驗證通過后使用Merkle 樹中某個未使用過的葉子節(jié)點的簽名密鑰, 即XMSS 簽名私鑰對N、id_v、id_p 以及相應屬性證明結果FW_attr 進行簽名并發(fā)送. 此后, 可信計算平臺需要預先選擇新的葉子節(jié)點簽名密鑰, 并預備其證明路徑.

      3) 遠程驗證方收到可信計算平臺發(fā)回的相應后,使用XMSS 簽名公鑰對簽名結果進行驗簽, 并驗證id_p、id_v 和attr 的正確性. 驗證通過則FW_attr 為可信計算平臺對遠程驗證方真實的遠程證明結果.

      (2) LDAA

      直接匿名證明(DAA)[17]是一種遠程證明協(xié)議, 使TPM 和主機IoT 設備不僅可以向其它設備提供身份驗證信息, 證明其處于可信狀態(tài), 并且還能保證驗證方不能獲取受驗證設備的其它信息. LDAA 是基于格的直接匿名證明方案, El Bansarkhani 等在原有的DAA 基礎上設計了LDAA[18], 而El Kassem 等人[19]進一步為TPM 等資源受限環(huán)境優(yōu)化了LDAA 協(xié)議.

      前述遠程證明過程無法保證可信計算平臺不向遠程驗證方暴露除驗證信息之外的其它隱私信息, 比如id_p. 為此, 直接匿名證明協(xié)議基于零知識證明提供了一個在不暴露可信計算平臺隱私的前提下向遠程驗證方提供證明的方案. 然而已在TPM/TCM 中應用的DAA 協(xié)議都是基于RSA 或ECC 的, 對于量子計算模型下的攻擊無法抵御.

      LDAA 是基于格問題提出的DAA 方案, 能夠在量子計算模型下為DAA 協(xié)議提供一定的防護. 其基本角色分為TCM、主機、憑證頒發(fā)方、遠程驗證方, DAA過程主要分為加入(join)、簽名(sign)、驗證(verify)3 個步驟. 我們的抗量子可信計算安全支撐平臺將集成通用LDAA 協(xié)議方案, 為可信計算平臺對外提供高安全性的平臺匿名身份認證功能, 確保即使攻擊者截獲直接匿名證明消息, 通過離線的攻擊性分析和破解, 也無法破壞可信計算平臺的匿名性和不可鏈接性.

      4 系統(tǒng)實現(xiàn)與分析

      4.1 方案架構

      QR-TCM 硬件測試平臺采用樹莓派4B 作為QRTCM 模擬測試設備, 其方案架構如圖4 所示.

      圖4 QR-TCM 硬件測試平臺方案架構

      QR-TCM 通過USB 接口與主機平臺進行通信, 兩者建立RNDIS (remote network device interface specification, 遠程網(wǎng)絡設備接口規(guī)范)鏈接, 主機平臺或者USB 設備自身通過調用QR-TCM 模塊實現(xiàn)各項安全功能的應用. 在RNDIS 連接上使用TCP/IP 協(xié)議, USB設備運行一個輕量級DHCP 服務器, 它動態(tài)地為主機分配一個IP 地址. 通過這個IP 鏈路, 基于USB 的可信設備可以與網(wǎng)絡上的其他機器進行通信. 系統(tǒng)軟件體系結構如下:

      (1) USB 驅動程序. 驅動程序允許USB 可信計算平臺在用戶終端前顯示為IP 網(wǎng)絡設備. 我們在內核模塊中使用了比較通用的Linux USB Ethernet/RNDIS gadget 驅動程序.

      (2) TCM 模擬器抗量子擴展. 基于TCM 硬件芯片在模擬器平臺上擴展本原根密鑰方案、XMSS 算法以及L-DAA 協(xié)議.

      (3) QR-TCM 內核驅動. 位于主機平臺的操作系統(tǒng)內核中, TCM 驅動程序維護設備文件的I/O 狀態(tài), 提供tcmSend 和tcmReceive 操作來發(fā)送和接收來自QR-TCM模塊的數(shù)據(jù).

      (4) TCMlib 庫和TSM 服務. 位于主機平臺的用戶層, 向應用程序提供封裝的函數(shù)功能接口和操作系統(tǒng)服務, 并與QR-TCM 內核驅動通信.

      (5) 本地應用和遠程應用, 調用QR-TCM 所提供的可信計算服務, 例如隨機數(shù)生成、密鑰管理、遠程證明等.

      4.2 QR-TCM 設備信任根

      本方案的QR-TCM 設備可信基(TCB)由3 部分組成: QR-TCM 芯片, 抗量子密碼庫QR-TCMlib 以及內核設備驅動. QR-TCM 芯片實現(xiàn)關鍵的抗量子安全功能; 抗量子密碼庫QR-TCMlib 以芯片為基礎, 為應用程序提供安全功能的接口和部分輔助功能(如: 與芯片交互的數(shù)據(jù)包的構建、抗量子的hash 函數(shù)的實現(xiàn)).

      我們?yōu)榭沽孔用艽a庫QR-TCMlib 定義了通用的接口規(guī)范, 相關安全功能全部采用標準的可信計算接口, 如: 啟動QR-TCM 芯片QRTCM_Startup, 會話創(chuàng)建APopen, 關閉會話并中止授權協(xié)議APclose. 同時,制定了所有密碼功能的接口規(guī)定, 如: 把一個受保護的密鑰導入TCM 并分配密鑰句柄uint32_t QRTCM_LoadKey_internal (apsess* sess, uint32_t keyhandle,QRTCM_KEY *keyparms, uint32_t *newhandle), 獲取一個已經(jīng)載入到TCM 中的非對稱密鑰的公鑰uint32_t QRTCM_GetPubKey_internal (apsess *sess, uint32_t keyhandle, QRTCM_PUBKEY *tcmdata). 所有應用與芯片交互的數(shù)據(jù)包均采用tcm_buffer 進行封裝, 以規(guī)范數(shù)據(jù)格式.

      4.3 QR-TCM 設備信任根

      抗量子可信計算體系在上述QR-TCM 設備信任根的基礎上, 將信任逐步傳遞給安全功能接口, 為用戶應用提供所需的抗量子安全服務, 并為應用程序與安全芯片之間的數(shù)據(jù)傳輸提供保護. 安全功能所需的密碼模塊主要由芯片和密碼庫實現(xiàn), 向用戶應用開放功能接口, 如: 提供安全執(zhí)行環(huán)境(可信引導、安全存儲、可信執(zhí)行), 遠程證明(完整性度量和證明, 軟件證明).

      我們在遠程證明功能中提供了抗量子數(shù)字簽名算法XMSS. 步驟如下: (1) 開啟TCM. (2) 創(chuàng)建主會話APopen. (3) QRTCM_CreateXMSSKey 創(chuàng)建密鑰.(4)與芯片交互, QRTCM_LoadXMSSKey_internal 將密鑰導入QR-TCM 并分配密鑰句柄. (5)創(chuàng)建簽名會話QRTSS_XMSS_APopen. (6) QRTCM_XMSS_Sign 進行XMSS 抗量子簽名, 該過程首先將構造好的命令包(包括密鑰句柄、需簽名的數(shù)據(jù))發(fā)送給芯片. 由芯片進行驗證, 驗證成功后取出數(shù)據(jù)以及密鑰信息, 進行簽名操作. 然后, 構建簽名應答包返回給用戶程序. (7)用戶程序驗證應答包可信性, 取得XMSS 簽名. (8)關閉簽名會話QRTSS_XMSS_APclose. (9) 關閉主會話APclose. 至此, XMSS 簽名過程完成. 本方案在QRTCMlib 密碼庫中實現(xiàn)了XMSS 的驗證功能, 以便沒有芯片的終端進行簽名驗證操作.

      所有命令包與應答包都嚴格按照TCM 命令字節(jié)碼接口進行規(guī)范封裝, 如表1 和表2.

      表1 輸入數(shù)據(jù)格式

      表2 輸出數(shù)據(jù)格式

      4.4 原型系統(tǒng)實現(xiàn)與評估

      在抗量子可信計算的系統(tǒng)中, 我們在硬件層采用了TCM 芯片, 并實現(xiàn)了抗量子密碼庫QR-TCMlib, 通過內核設備驅動將二者聯(lián)系起來, 共同構成QR-TCM設備信任根. 在此基礎上, 系統(tǒng)為用戶提供各種抗量子可信計算功能, 如: 以XMSS 為基礎的遠程服務、封裝和存儲加密、完整性度量和證明以及L-DAA.

      我們對抗量子可信計算原型系統(tǒng)進行了性能評估,主要是簽名認證、遠程證明的性能測試. 測試系統(tǒng)硬件配置如下: 主機CPU 為2.8 GHz Intel(R) Core(TM)i7-7700HQ、8 GB RAM, 操作系統(tǒng)Ubuntu 16.04.1.QR-TCM 模擬器平臺Raspberry Pi 4b, CPU 為1.5 GHz Broadcom BCM2711、4 GB RAM. 對XMSS 遠程接口(如密鑰生成時間、簽名時間和驗證時間) 進行了50 次反復測試, 在實驗環(huán)境中, 生成高度為10 的Merkle樹簽名密鑰花費1.80 s; 簽名花費1.85 s, 除去生成密鑰的時間實際簽名花費0.05 s; 簽名驗證僅需0.000 89 s;簽名長度為2 532 B. 在計算能力、存儲能力快速增長的應用環(huán)境下, 這樣的開銷是可以接受的.

      4.5 橫向評估

      (1) FutureTPM

      我們在第1.2 節(jié)中已對FutureTPM 進行過介紹.FutureTPM 的公開文檔中給出了抗量子算法的部分性能測試結果. 在其虛擬化實現(xiàn)上FutureTPM 移植并使用Dilithium 算法進行的簽名運算, 單次簽名時長為0.265 s[20], 是QR-TCM 模擬器的5 倍.

      對于該結果, 一種合理的解釋是, FutureTPM 的最終設計目標是硬件TPM 模塊, 并且其虛擬化實現(xiàn)基于QEMU[21], 因此有限的緩存設計以及LLVM[22]的解釋執(zhí)行使計算性能受到限制. 目前為止FutureTPM 沒有對外公開更詳細的性能數(shù)據(jù).

      (2) TPM-Based PQC

      TPM-Based PQC[23]將后量子算法集成至Mbed TLS 密碼算法庫中, 基于現(xiàn)有的TPM 以及后量子密碼算法, 通過對TPM 可信硬件的利用和對TLS 協(xié)議的抗量子改造, 為IoT 設備提供抗量子交叉認證能力.

      TPM-Based PQC 采用的簽名算法是SPHINCS+.該算法以候補候選算法進入NIST 第3 輪后量子算法評估.

      TPM-Based PQC 在Raspberry Pi 3b 上對密碼學原語進行了性能測試. 其SW(SHA2-256)+TPM(TRNG)的簽名/驗簽場景實驗結果對本實驗最具有參考價值.在該場景下, 實驗平臺單次簽名花費0.230 s, 簽名驗證花費0.013 s. 與該結果相比, QR-TCM 模擬器上簽名耗時長一倍, 但簽名驗證時間更小. 導致該結果的原因除算法差異外, 還因為QR-TCM 實驗結果包含了主機平臺對QR-TCM 的調用時延, 而TPM-Based PQC 僅在其實驗平臺本身上進行密碼計算.

      (3) Streaming SPHINCS+

      Streaming SPHINCS+[24]為資源受限設備優(yōu)化了后量子簽名算法SPHINCS+的實現(xiàn), 采用流式傳輸接口降低了內存需求. 該方案基于微軟開源的軟件TPM 實現(xiàn), 并在ARM Cortex-M4 平臺上進行了性能測試. 對于性能開銷最低的場景, 實驗平臺單次簽名花費7.54 s,簽名驗證花費2.61 s.

      該結果顯著高于QR-TCM 的時間開銷, 原因是該方案選擇了低功耗嵌入式實驗平臺來模擬實際密碼芯片, 其主頻僅有168 MHz.

      (4) Software QR-TPM

      Software Emulation QR-TPM[25]參考了Future-TPM 的軟件實現(xiàn), 并在其上評估了移植后量子算法Kyber、NTTRU、Dilithium 以及L-DAA 協(xié)議對于TPM 的影響. 方案在i5-5257U 平臺上實驗了QR-TPM軟件模擬器并進行了密碼學原語性能測試. 實驗平臺上使用Dilithium 算法單次簽名花費0.185 s, 簽名驗證花費0.175 s.

      該方案選擇了Intel 移動平臺CPU, 其計算性能優(yōu)于其它實驗平臺, 因此具有最短的時間開銷, 但對密碼芯片和移動嵌入式領域的參考價值較低. 此外該時間開銷僅表明密碼學原語性能, 不包括模擬硬件TPM 所導致的時間開銷. 表3 總結了關于簽名性能的橫向評估結果.

      表3 簽名性能橫向評估結果

      表3 的時間開銷對比結果證明我們的原型系統(tǒng)能夠在實際使用中提供良好的可用性. 需要說明的是平臺的抗量子能力即由這些后量子算法提供. 傳統(tǒng)算法如RSA 數(shù)字簽名算法無法抵御大型量子計算機的攻擊, 原因在于其基于的數(shù)學困難問題“大數(shù)分解難題”能夠被Shor 算法在多項式時間內破譯[1], 即能夠通過簽名算法公鑰計算出其私鑰, 使得簽名結果不再可信.而后量子算法如XMSS 的困難性僅依賴于其所使用雜湊函數(shù)的安全性, 在量子計算機上不能被快速求解, 因此其簽名結果具有抗量子能力.

      5 結語

      量子計算機的快速推進, 對可信計算技術, 特別是TCM/TPM 的公鑰密碼算法和協(xié)議產(chǎn)生了嚴重安全影響, 基于大數(shù)分解問題或離散對數(shù)問題等困難問題的公鑰密碼算法與協(xié)議如RSA、ECC、DH 密鑰交換等在量子計算模型下能夠被快速求解, 其安全性將被大幅降低. 目前世界各研究機構正在對抗量子密碼算法進行研究和評估.

      我們根據(jù)可信計算技術體系, 結合抗量子密碼算法和協(xié)議, 提出了一個通用的抗量子可信計算體系; 設計并初步實現(xiàn)了一個基于TCM 硬件芯片的抗量子擴展QR-TCM, 具有TCM 的通用功能, 并通過在其上移植抗量子密碼算法和協(xié)議, 使其具有抵抗量子算法攻擊的安全性, 并且具有可以接受的性能開銷. 本研究通過對可信密碼模塊進行軟件擴展, 使其在不顯著降低安全性的情況下增強抵抗量子攻擊能力, 并為未來硬件實現(xiàn)的QR-TCM 芯片提供了技術實現(xiàn)參考.

      猜你喜歡
      密鑰密碼量子
      探索企業(yè)創(chuàng)新密鑰
      2022年諾貝爾物理學獎 從量子糾纏到量子通信
      密碼里的愛
      密碼系統(tǒng)中密鑰的狀態(tài)與保護*
      密碼疲勞
      英語文摘(2020年3期)2020-08-13 07:27:02
      決定未來的量子計算
      新量子通信線路保障網(wǎng)絡安全
      一種對稱密鑰的密鑰管理方法及系統(tǒng)
      基于ECC的智能家居密鑰管理機制的實現(xiàn)
      電信科學(2017年6期)2017-07-01 15:45:06
      一種簡便的超聲分散法制備碳量子點及表征
      西乌珠穆沁旗| 新邵县| 年辖:市辖区| 南华县| 肥西县| 铜山县| 宁强县| 平潭县| 合阳县| 东至县| 红原县| 启东市| 潞西市| 阳原县| 宁德市| 南江县| 印江| 垫江县| 奇台县| 霸州市| 长顺县| 扶沟县| 神池县| 夏津县| 新宾| 鄱阳县| 老河口市| 新和县| 宁乡县| 闽清县| 韶山市| 南澳县| 鸡西市| 武功县| 富平县| 福泉市| 翁牛特旗| 郸城县| 霍州市| 阳东县| 和平区|