隨著我國商用密碼技術的應用推廣,,國產(chǎn)密碼算法軟件引擎(或者稱為密碼算法軟件模塊、密碼算法軟件實現(xiàn),、軟件密碼產(chǎn)品等)已經(jīng)成為必不可少的密碼產(chǎn)品形態(tài),。相比于硬件形式的密碼產(chǎn)品,,密碼算法軟件引擎具有更好的適用性和靈活性、更低的成本,;然而,,密碼算法軟件引擎也面臨著更大的技術挑戰(zhàn)。
本文分析了國產(chǎn)密碼算法軟件引擎面臨的主要安全挑戰(zhàn):隨機數(shù)發(fā)生器和密鑰安全,。相比美國 NIST 的隨機數(shù)發(fā)生器標準體系,,我國的相關標準尚未完善,仍然需要不少工作,。密碼軟件引擎運行在不完全可信的通用計算機軟硬件環(huán)境上,,密鑰數(shù)據(jù)面臨著各種攻擊(包括系統(tǒng)軟件攻擊和物理攻擊等)。
在各種計算機系統(tǒng)上,,各種漏洞和攻擊層出不窮,,設計密鑰安全方案、保護密鑰數(shù)據(jù),也是困難重重,。由于隨機數(shù)發(fā)生器的標準體系尚未建立,、密鑰數(shù)據(jù)的安全技術挑戰(zhàn)并未完全解決,有效開展國產(chǎn)密碼算法軟件引擎的安全檢測,,也存在著明顯的困難,。在密碼算法軟件引擎的檢測過程中,需要對軟硬件運行環(huán)境設定合理的假設,,進而檢測密碼算法軟件引擎是否在該假設前提下,,產(chǎn)生不可預測的隨機數(shù)和有效地保護密鑰數(shù)據(jù)。
?。?國產(chǎn)商用密碼技術的應用推廣
密碼技術是網(wǎng)絡空間安全的重要基礎,,在計算機和網(wǎng)絡系統(tǒng)中發(fā)揮了不可替代的安全作用。推廣國產(chǎn)密碼技術,、應用商用密碼算法,, 是建設我國網(wǎng)絡空間安全基礎設施的必要措施之一。全面推廣國產(chǎn)密碼技術,、深入應用商用密碼算法,,有如下三方面工作需要完成:
(1)密碼算法標準化,。目前我國已經(jīng)制定并公開發(fā)布了完整的密碼算法體系:分組密碼算法 SM4,、流密碼算法 ZUC、雜湊算法 SM3,、公鑰密碼算法 SM2(包括加解密,、數(shù)字簽名和密鑰協(xié)商)和標識密碼算法 SM9。而且,,其中部分密碼算法已經(jīng)成為國際標準,。
(2)制定配套的密碼應用標準,。在數(shù)字證書,、通信協(xié)議、應用接口等方面,,形成配套標準,, 實現(xiàn)商用密碼應用標準體系。
?。?)形成多元化的密碼產(chǎn)品生態(tài),。各種不同形式的硬件、固件和軟件密碼產(chǎn)品,,滿足應用系統(tǒng)的不同需求,;尤其是軟件密碼產(chǎn)品,,更具有技術靈活性、實施部署更容易,,在成本上也更具優(yōu)勢,。
在商用密碼算法和密碼應用標準方面,我國已經(jīng)發(fā)展多年,。然而,,在密碼產(chǎn)品多元化方面, 一方面由于歷史原因,,我國商用密碼長久以來只支持合規(guī)的硬件產(chǎn)品,,近年來合格軟件密碼產(chǎn)品已經(jīng)開放、但是軟件密碼產(chǎn)品發(fā)展仍然較弱,;另一方面也由于軟件密碼產(chǎn)品面臨著更大的技術挑戰(zhàn),,尤其是密鑰安全,所以在軟件密碼產(chǎn)品(或者稱為軟件密碼引擎,、密碼算法軟件模塊)方面,,還有更多的技術難題需要克服。
?。?國產(chǎn)密碼算法軟件引擎的安全挑戰(zhàn)
從密碼學基本原理出發(fā),密碼算法公開,, 密碼產(chǎn)品最重要的,、最需要保護的數(shù)據(jù)就是密鑰以及各種敏感參數(shù)。按照 GM/T 0028《密碼模塊安全技術要求》和 GM/T 0039《密碼模塊安全檢測要求》,,密碼模塊尤其需要確保關鍵安全參數(shù)和敏感參數(shù)的安全,,其中最重要的參數(shù)就是密鑰。密碼算法的密鑰以及各種敏感參數(shù)(例如,,IV 和 Nonce 等),,通常都是由隨機數(shù)產(chǎn)生獲取,;另一方面,,確定性隨機數(shù)發(fā)生器也通常是帶有密鑰的密碼功能模塊;二者相互聯(lián)系,、密不可分,。
相比于硬件形式的常見密碼算法實現(xiàn)(例如,密碼機,、密碼卡,、USB 令牌等),密碼軟件引擎面臨著更大的安全挑戰(zhàn),。首先,,密碼算法軟件引擎通常運行在常規(guī)的計算機系統(tǒng)或移動智能終端上,這一類設備不帶有專用的隨機數(shù)發(fā)生器芯片,密碼算法軟件引擎必須自己實現(xiàn)隨機數(shù)發(fā)生器,。其次,,因為密碼軟件引擎與其他功能的軟件共享操作系統(tǒng)等軟硬件運行環(huán)境,由于各種應用功能的要求千變?nèi)f化,,必然會導致操作系統(tǒng)功能復雜,、運行環(huán)境接口繁多, 就可能會引入更多的計算機軟件漏洞和攻擊威脅,。所以,,密碼軟件引擎在實現(xiàn)靈活、成本低廉,、易于實施的同時,,又成為安全挑戰(zhàn)最大的密碼實現(xiàn)。
2.1 隨機數(shù)發(fā)生器的挑戰(zhàn)
隨機數(shù)發(fā)生器是各種密碼計算參數(shù)的來源,, 包括密鑰,、初始化向量、隨機填充值等,,應該具備足夠隨機性(即信息熵),、從而確保攻擊者不可預測。在計算機系統(tǒng)中,,如何利用外界環(huán)境的不確定因素(即熵源),,構造不可預測的、高速的隨機數(shù)發(fā)生器,,已有大量的相關研究,, 美國 NIST 也在這一方面形成了較為完善的技術標準體系。下文逐一展開介紹,。
Linux 內(nèi)核也帶有了隨機數(shù)發(fā)生器軟件實現(xiàn),,并且在很多密碼軟件引擎中使用。然而必須要看到,,即使是美國 NIST 制定多年的隨機數(shù)發(fā)生器系列標準,,也仍然不時有安全問題披露;同時,, 即使是被大量使用的,、公開源代碼的隨機數(shù)發(fā)生器軟件實現(xiàn),也時有安全漏洞出現(xiàn) ,。
2.1.1 美國 NIST 的隨機數(shù)發(fā)生器標準體系
隨機數(shù)發(fā)生器,,大致可以分為 NRBG (Non- deterministic Random Bit Generator 非確定性隨機數(shù)發(fā)生器,或者稱為 True Random Bit Generator 真隨機數(shù)發(fā)生器) 和 DRBG (Deterministic Random Bit Generator 確定性隨機數(shù)發(fā)生器,, 或者稱為Pseudorandom Bit Generator 偽隨機數(shù)發(fā)生器 ),。目前,,美國 NIST 制定的隨機數(shù)發(fā)生器相關的 FIPS 標準主要包括如下:
(1)SP 800-22 A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications,,隨機數(shù)發(fā)生器的統(tǒng)計檢測,。
(2)SP 800-90A Recommendation for Random Number Generation Using Deterministic Random Bit Generators,,根據(jù)外部輸入的熵源,, 使用對稱密碼或 Hash 等算法計算得到確定性隨機數(shù)。
?。?)SP 800-90B Recommendation for the Entropy Sources Used for Random Bit Generation,, 隨機數(shù)發(fā)生器的熵源分析。
?。?)SP 800- 90C Recommendation for Random Bit Generator (RBG) Constructions,, 隨 機數(shù)發(fā)生器的系統(tǒng)構造,NRBG,、DRBG 和熵源以及在線檢測部件的組成,。
(5)0SP 800-108 Recommendation for Key Derivation Using Pseudorandom Functions,,利用偽隨機數(shù)函數(shù)實現(xiàn)密鑰派生,。
以上各標準之間關系如圖 1 所示。
圖 1 美國 NIST 的密碼隨機數(shù)發(fā)生器標準體系
首先,,SP 800-90A 描述了多種確定性隨機數(shù)發(fā)生器的算法,,其基本原理是:發(fā)生器維護密鑰和內(nèi)部狀態(tài),間斷地從外部獲得熵源輸入,,計算輸出隨機數(shù),。SP 800-90B 是 DRBG 隨機數(shù)發(fā)生器的熵分析,,用于評估和分析外部輸入的熵源,。SP 800-90C 是隨機數(shù)發(fā)生器的系統(tǒng)構造,給出 NRBG,、DRBG 和熵源以及在線檢測部件的多種組成方式,,形成實際使用的隨機數(shù)發(fā)生器。其次,,隨機數(shù)發(fā)生器(主要是 NRBG)輸出的隨機數(shù)序列,,可使用 SP 800-22 標準給出的多項統(tǒng)計檢測方法來進行檢測,判斷其隨機性優(yōu)劣,。最后,,SP 800-108 給出了使用偽隨機數(shù)函數(shù)來實現(xiàn)密鑰派生的多種方法。
2.1.2 隨機數(shù)發(fā)生器標準及其使用的問題
下文結合現(xiàn)實的軟件隨機數(shù)發(fā)生器安全漏洞,、分析討論隨機數(shù)發(fā)生器標準及其使用的問題,。根據(jù) Snowden 報告以及大量相關研究,,在SP 800-90A 標準 2006 版所包括的 Dual EC 算法中,美國 NSA 植入后門,、可以預測使用該算法的隨機數(shù)發(fā)生器輸出 [5-8],;SP 800-90A 標準 2014版去掉了 Dual EC 算法。SP 800-22 標準的隨機數(shù)統(tǒng)計檢測方法,、SP 800-90C 標準的熵分析方法,,根據(jù)中科院 DCS 中心的研究成果,也存在著缺陷,,影響到統(tǒng)計檢測的準確性,、熵分析結果的準確性 。
隨機數(shù)發(fā)生器標準也不能完全解決現(xiàn)實密碼算法軟件引擎中的隨機數(shù)問題,。例如,,2012 年的國際研究結果表明,Internet 大量網(wǎng)絡設備的 RSA 密鑰對相同,,或者使用了相同的素因子,、導致 RSA 密鑰可分解 。上述問題一方面是因為大量網(wǎng)絡設備使用了廠商預置的,、相同的默認密鑰,,也有部分是因為隨機數(shù)發(fā)生器問題:雖然這些設備使用了高強度的隨機數(shù)發(fā)生器,但是由于網(wǎng)絡設備的特殊性,,使得不同設備的隨機數(shù)發(fā)生器很容易在初態(tài)一致的情況下輸出隨機數(shù)并用于生成密鑰,,所以就會有相同的 RSA 素因子。類似問題,,也在智能IC 上也有發(fā)現(xiàn),。
2.1.3 我國商用密碼隨機數(shù)發(fā)生器標準
相比美國 NIST 制定的隨機數(shù)發(fā)生器標準體系,我國商用密碼的隨機數(shù)發(fā)生器相關標準仍有不足,。國家密碼管理局已經(jīng)發(fā)布GM/T 0062《密碼產(chǎn)品隨機數(shù)檢測要求》標準,。該標準的作用大致相當于 NIST SP 800-22 標準。但是,,我國尚未發(fā)布隨機數(shù)發(fā)生器相關的其他標準,。
總體而言,相比 NIST SP-800 在隨機數(shù)發(fā)生器方面的系列標準,,我國尚未形成體系化的,、類似定位的隨機數(shù)發(fā)生器系列標準??紤]到密碼技術的特殊性,,我國沒有必要照章抄襲或者模仿 NIST SP-800 的隨機數(shù)發(fā)生器系列標準,但是制定類似定位,、發(fā)揮相同作用的商用密碼系列標準是有必要的,。尤其是,,隨著密碼算法軟件引擎的需求日益增長,我國亟需隨機數(shù)發(fā)生器標準,,從而能夠更好地引導密碼算法軟件引擎的隨機數(shù)發(fā)生器設計,。
2.2 密鑰安全的挑戰(zhàn)
密碼算法軟件引擎運行在通用計算機平臺上,相比硬件形式實現(xiàn),,不但有側信道攻擊威脅,, 計算機系統(tǒng)的各種攻擊也會直接威脅到密鑰數(shù)據(jù)的安全。
2.2.1 密鑰面臨的各種攻擊和安全威脅
在密碼算法執(zhí)行過程中,,攻擊者可以通過各種方法竊取其中的密鑰數(shù)據(jù),。首先,側信道攻擊是密碼學研究中長久以來的重要方向,。在密碼計算過程中,,當密鑰比特有不同取值時, 密碼計算的執(zhí)行會有細微差異,、進而影響到可被攻擊者觀測到的外部狀態(tài)(例如,,功率、電磁輻射,、計算時間,、聲音、高速緩存狀態(tài)等等),。不論是軟件形式或者硬件形式的密碼算法實現(xiàn),, 都有側信道攻擊的威脅 。
其次,,由于在計算機系統(tǒng)中,,密鑰也同樣表現(xiàn)為內(nèi)存空間中的數(shù)據(jù)變量,所以現(xiàn)有計算機系統(tǒng)中各種敏感數(shù)據(jù)所面臨的攻擊和安全問題,,也同樣會威脅到密鑰,。這一類型的安全威脅大致可以分為:物理攻擊、軟件攻擊和 CPU 硬件漏洞攻擊,。物理攻擊是指攻擊者與被攻擊系統(tǒng)有物理接觸,,然后利用物理接觸條件,、非授權地讀取敏感數(shù)據(jù),。最典型的物理攻擊是冷啟動攻擊和 DMA 攻擊。冷啟動攻擊 利用內(nèi)存芯片數(shù)據(jù)的延遲消失,,在斷電之后,、內(nèi)存芯片的數(shù)據(jù)仍然維持一段時間,在低溫情況下能夠維持更長時間,、甚至數(shù)小時,。攻擊者可以直接取出計算機系統(tǒng)的內(nèi)存芯片,,放在攻擊者控制的惡意計算機上,讀取其中的敏感數(shù)據(jù),;或者在受害者計算機上插入惡意的引導介質(zhì),,啟動之后立即讀取原有的內(nèi)存數(shù)據(jù)。DMA 攻擊是指攻擊者插入惡意外設,,發(fā)起 DMA 請求,、繞過操作系統(tǒng)的訪問控制,直接訪問內(nèi)存 ,。
其次,,各種計算機系統(tǒng)的軟件內(nèi)存漏洞, 也會導致攻擊者非授權地讀取密鑰,。例如,, 操作系統(tǒng)軟件漏洞,會導致惡意進程繞過操作系統(tǒng)的內(nèi)存隔離機制,、讀取其他進程甚至內(nèi)核空間的內(nèi)存數(shù)據(jù),。軟件系統(tǒng)的正常功能也有可能導致內(nèi)存數(shù)據(jù)泄露,例如 Core dump 或者Crash report 就有可能使得內(nèi)存中的敏感數(shù)據(jù)擴散,。而且,,近年來有多個 CPU 硬件漏洞被披露( 包括 Meltdown、Spectre,、Foreshadow/L1TF 和ZombieLoad 等),,這些漏洞都有可能使得攻擊者讀取到內(nèi)存中的密鑰等敏感數(shù)據(jù)。
最后,,密碼算法軟件引擎在實現(xiàn)中也會引入安全漏洞,、導致密鑰泄露。例如,,著名的OpenSSL 心臟出血,,就是因為軟件引擎在處理TLS 心跳請求消息時存在缺陷,收到畸形請求消息,,會將內(nèi)存空間中隨機地址的 64K 字節(jié)發(fā)送給攻擊者,。
2.2.2 現(xiàn)有密鑰安全技術進展
在通用的計算機平臺上,如何保護密鑰,、提供安全有效的密碼計算,,一直都是學術界和工業(yè)界共同關注的重要技術問題。首先,,Windows操作系統(tǒng)的 CSP (Cryptographic Service Provider) 和 CNG (Cryptographic Next Generation) 都支持在內(nèi)核空間中執(zhí)行密碼運算,,密鑰數(shù)據(jù)出現(xiàn)在內(nèi)核內(nèi)存空間;類似的,,Linux 操作系統(tǒng)在 v2.5.45 之后,,也有內(nèi)核空間的密碼計算服務,,稱為 Crypto API。由于密鑰數(shù)據(jù)出現(xiàn)在內(nèi)核空間,,普通的用戶態(tài)攻擊者必須提升權限,、獲得內(nèi)核空間的讀權限,才能夠讀取密鑰數(shù)據(jù),。
基于寄存器的密鑰安全技術,,可以有效防范冷啟動攻擊。2010 年,,TRESOR 利用 Intel 完CPU 的 AES-NI 指令,,完成了寄存器實現(xiàn)的 AES 算法,有效抵抗冷啟動攻擊,。后續(xù)研究工作將其推廣到 RSA 算法,,在 Intel CPU 計算機上完成寄存器實現(xiàn)的 RSA 算法,同樣能夠抵抗冷啟動攻擊,。
2014 年,,中科院 DCS 中心研究團隊第一次完成了基于 CPU 高速緩存的密碼算法軟件實現(xiàn) [24-25],在 Intel CPU 上,、利用高速緩存的工作模式配置,,將 RSA 私鑰計算限定在 CPU 高速緩存內(nèi)。相比基于寄存器的密碼算法軟件實現(xiàn),,高速緩存的存儲空間足夠大,、能夠支持更多類型的密碼算法,而且支持使用高級語言實現(xiàn),、不需要使用匯編實現(xiàn),。
2015 年,中科院DCS 中心研究團隊繼續(xù)提出了基于硬件事務內(nèi)存的密鑰安全方案,,使用 Intel TSX (Transactional Synchronization Extension) 硬件事務內(nèi)存特性,,完成了密鑰安全方案:私鑰只有在需要密碼計算的時候,才解密到硬件事務中,、開始密碼計算,;在此期間,任何來自其他惡意線程或進程的讀取訪問,,都會導致事務回滾,、密鑰數(shù)據(jù)被清零。而且,,Intel TSX 特性利用高速緩存來存儲事務中間過程的,、未提交的數(shù)據(jù),,所以該方案也能夠保證 RSA 私鑰不會出現(xiàn)在內(nèi)存芯片,,有效抵抗冷啟動攻擊,。
近年來,Intel 公司推出 SGX (Software Guard eXtension) 特性,,用于在不可信的操作系統(tǒng)和虛擬機監(jiān)控器上創(chuàng)建執(zhí)行環(huán)境,,該環(huán)境只依賴于 CPU 的安全特性、提供代碼的完整性和數(shù)據(jù)的機密性,,并且能動態(tài)地執(zhí)行遠程證明,。利用Intel SGX 特性,也能夠?qū)崿F(xiàn)密碼算法軟件引擎,, 提高密鑰數(shù)據(jù)的安全程度,。基于 Intel SGX 特性的軟件系統(tǒng),,其安全性完全依賴于 Intel CPU,, 甚至操作系統(tǒng)、虛擬機監(jiān)控器也不能得到用戶軟件系統(tǒng)代碼或數(shù)據(jù)的任何信息,。從另一角度而言,,閉源的 CPU 硬件設計和實現(xiàn),也會同樣面臨多年前對于非開源操作系統(tǒng)的質(zhì)疑和擔憂,。而且,,針對 SGX 執(zhí)行環(huán)境的有效攻擊方法也不斷被提出。
2.2.3 密鑰安全技術的應用實施
對于各種不同類型的側信道攻擊,,可以通過安全增強的密碼算法實現(xiàn)來防御,。學術界已經(jīng)對側信道攻擊防御有很長時間的研究,研究成果也開始逐步應用到一些開源密碼軟件,,但是仍然值得繼續(xù)擴大應用范圍,。尤其對于密碼算法軟件實現(xiàn),近年來出現(xiàn)了多種基于共享高速緩存的側信道攻擊,,這一類攻擊在原有傳統(tǒng)密碼硬件實現(xiàn)中并不存在,,所以相同的防御技術值得繼續(xù)深入研究。
各種密碼算法軟件引擎的密鑰安全方案應用實施,,都必須面對運行環(huán)境不可信的問題,。
首先,作為軟件程序,,必須在一定程度上依賴和信任操作系統(tǒng)和 CPU 等硬件,。
其次,對操作系統(tǒng)和 CPU 等硬件的信任,,必須深入分析,,不能簡單地用“絕對信任”和“不信任”來總結;具體而言,代碼完整性,、操作原子性,、寄存器特權級別、寄存器接口訪問唯一性等,,不同密鑰安全方案對于運行環(huán)境有各不一樣的要求和假設,,運行環(huán)境只需要滿足相應條件即可以、并不是完全的絕對信任和依賴,。
最后,,應該更辯證地考慮操作系統(tǒng)和CPU 等硬件之間的關系, 基礎軟硬件構成了密碼算法軟件引擎的運行環(huán)境,;與此同時,,操作系統(tǒng)和各種基礎硬件之間, 也在運行過程中相互監(jiān)控,、相互制約,,更有利于形成合理的生態(tài)。如果運行環(huán)境的安全條件信任建立在僅有的某一特定硬件或者某一特定軟件模塊基礎上,,而該信任基礎并不能被徹底地分析或證明,,則采取分布式信任的技術思想更為妥當、應該將安全基礎建立在多個可相互監(jiān)控和制約的部件之上,。
?。?國產(chǎn)密碼算法軟件引擎的檢測現(xiàn)狀與難題
目前,國產(chǎn)密碼算法軟件的合規(guī)檢測按照GM/T 0028《密碼模塊安全技術要求》和 GM/T 0039《密碼模塊安全檢測要求》來執(zhí)行,。作為指導性的行業(yè)標準,,GM/T 0028 和 GM/T 0039 沒有對密碼產(chǎn)品的隨機數(shù)發(fā)生器和密鑰安全設計做出詳細的具體設計指導。與此同時,,我國在隨機數(shù)發(fā)生器和密鑰安全的技術方案,,也尚未形成行業(yè)標準或者國家標準;所以,,在檢測過程中,, 就只能從密碼學的技術原理出發(fā)、結合密碼軟件產(chǎn)品的實際情況,,提出具體技術要求,。
在總體技術思想上,GM/T 0028《密碼模塊安全技術要求》和 GM/T 0039《密碼模塊安全檢測要求》參考了美國 NIST FIPS 140 標準和 ISO/ IEC 19790 標準,。但是,,我國仍然有必要在隨機數(shù)發(fā)生器方案和密鑰安全方案上,提出和實施有特色的安全要求,。作為密碼算法軟件實現(xiàn)的最重要的數(shù)據(jù)安全部分,,隨機數(shù)發(fā)生器和密鑰安全應該在運行環(huán)境所提供適度安全保證的前提下,,加強自身的安全設計、而不是完全依賴于運行環(huán)境,。
目前我國商用密碼算法軟件模塊的隨機數(shù)發(fā)生器和密鑰安全,,仍然有較高的要求,需要外部的密碼硬件模塊提供一定程度的支持和協(xié)作,;例如,,外部輸入的真隨機數(shù)作為熵源之一,、利用門限密碼算法與外部密碼硬件模塊協(xié)作保護密鑰,。相比而言,美國 FIPS 140 密碼模塊測評要求對軟件密碼模塊允許完全由軟件實現(xiàn)的隨機數(shù)發(fā)生器和密鑰安全方案,,其安全性對運行環(huán)境有更大的依賴性,。
國產(chǎn)商用密碼軟件引擎的檢測要求,與運行環(huán)境的安全假設息息相關,。如果假定通用計算機軟硬件環(huán)境能夠全面地提供各種安全特性(例如,,內(nèi)存安全、用戶身份鑒別等),,則運行在之上的密碼軟件就可以降低安全要求,;如果運行環(huán)境不能完全提供必要的安全特性,則密碼算法軟件模塊就必須要加強自身安全性,。
在密碼算法軟件模塊的檢測中,,需要綜合考慮密碼安全技術和隨機數(shù)發(fā)生器技術的發(fā)展, 需要分析各種不同計算機軟硬件運行環(huán)境的安全狀況,,確定相應的安全要求細節(jié)和具體的檢測方法步驟,。
4 結 語
總而言之,,筆者認為,,發(fā)展國產(chǎn)密碼算法軟件引擎,還需要在如下 3 方面開展工作:
?。?)制定隨機數(shù)系列標準,,形成標準體系。通過技術標準,,規(guī)范密碼算法軟件引擎的隨機數(shù)發(fā)生器技術方案和安全實現(xiàn),。同時,在標準的實施中,,尤其需要關注熵源的動態(tài)熵值和隨機數(shù)發(fā)生器的有效變化,。
(2)大力發(fā)展密鑰安全技術,。密碼安全技術與計算機系統(tǒng)運行環(huán)境密切相關,,難以形成標準化的技術方案,;應該針對各種不同的運行環(huán)境和相應安全威脅,研究密鑰安全技術方案,。
?。?)實施有特色的國產(chǎn)密碼算法軟件引擎檢測要求。在軟件密碼引擎的運行環(huán)境安全得到有效保證之前,,適當提高檢測要求,、適當降低對運行環(huán)境的安全假設,更有助于密碼技術發(fā)揮安全效果,。站在密碼軟件引擎的角度,,運行環(huán)境應該是介于“完全可信”和“完全不可信” 之間的中間狀態(tài):如果假設運行環(huán)境的軟硬件完全不可信,則幾乎不可能實現(xiàn)滿足要求的密碼軟件引擎,;如果不考慮現(xiàn)實情況,、假設運行環(huán)境完全可信,密碼軟件引擎自身缺乏必要的安全保護,,也會導致密碼軟件引擎被攻擊(例如,, 密鑰泄露等)。
另外,,《中華人民共和國密碼法》的立法工作已經(jīng)在穩(wěn)步推進,,我國的密碼科技工作也必定將會進入新的歷史階段。為了更便捷,、更有效地在信息系統(tǒng)中發(fā)揮密碼技術的安全作用,, 國產(chǎn)密碼算法軟件引擎的研發(fā)勢在必行。我國應該直面國產(chǎn)密碼算法軟件引擎的安全挑戰(zhàn),, 團結更多力量,,探索中國特色的商用密碼技術路線。