真隨機數(shù)發(fā)生器在信息安全系統(tǒng)中的應用
摘要:信息安全系統(tǒng)的安全核心是內(nèi)置的隨機數(shù)發(fā)生器。本文分析了常用的兩類隨機數(shù)發(fā)生器,指出了并非硬件隨機數(shù)即為真隨機數(shù),提出了硬件真隨機數(shù)發(fā)生器的實現(xiàn)原理和評測準則。
本文引用地址:http://butianyuan.cn/article/274735.htm隨機數(shù)是以現(xiàn)代密碼學為基礎(chǔ)的信息安全系統(tǒng)的基石。在現(xiàn)代信息安全系統(tǒng)中,密碼體制和算法本身可以被公開,訪問策略可以公布,密碼設備可能丟失,而系統(tǒng)的安全性要求不受影響。整個系統(tǒng)的安全性完全依賴于隨機數(shù)序列的生成效率和質(zhì)量。
圖1示例是一個隨機數(shù)發(fā)生器在安全控制器內(nèi)部的典型應用,隨機數(shù)被用來產(chǎn)生動態(tài)密鑰對數(shù)據(jù)總線和外設寄存器進行動態(tài)加密,使得在CPU和外設間實現(xiàn)數(shù)據(jù)加密傳輸,整個過程沒有明文存在。
因此,高質(zhì)量的隨機數(shù)在信息安全系統(tǒng)中的作用舉足輕重,如果隨機數(shù)的隨機性不夠安全,整個系統(tǒng)極有可能被攻擊者攻破。
信息安全系統(tǒng)中的隨機數(shù)序列要求具有足夠的長度和周期,以及盡可能高的熵值,即具有高度的隨機性和不可預測性。
隨機數(shù)序列的產(chǎn)生方法不外乎兩種:偽隨機數(shù)和真隨機數(shù)。
作為常識,每個程序員在做入門學習時,都會被老師諄諄教導:我們用的編程語言中的隨機函數(shù),只能產(chǎn)生出偽隨機數(shù)。它有其自身的內(nèi)在規(guī)律,只能作為對外部世界的隨機事件的近似模擬。目前最常見的偽隨機數(shù)序列產(chǎn)生方法,是基于某一事先確定的序列生成算法(主流偽隨機數(shù)生成算法大都是乘/加同余法及其變體,就是利用整數(shù)加法和乘法之間關(guān)系的高度不協(xié)調(diào)),依賴一個由選定的隨機數(shù)“種子”來產(chǎn)生隨機序列。這樣生成的偽隨機數(shù),在一般的應用中(主要是模擬計算),已經(jīng)足夠了。
圖2是一個被業(yè)界廣泛使用的典型偽隨機數(shù)發(fā)生器,顯然,整個多項式產(chǎn)生的隨機數(shù)序列依賴于“種子”的輸入,并且,隨機序列的周期性也是直接依賴于多項式的階數(shù)。目前,比較好的偽隨機數(shù)發(fā)生器的序列重復周期已能達到2的160次方,在中低安全型需求的應用場合已經(jīng)完全夠用。
對于偽隨機數(shù)發(fā)生器,如果已知“種子”和算法(例如圖2所示的多項式公式),實際上,也就無“隨機性”可言了。從理論上講,任何算法所產(chǎn)生的偽隨機序列都是可以被預測的,即具有較高概率的數(shù)字序列重現(xiàn)性,這就為信息安全系統(tǒng)帶來了重大隱患。因而,這類偽隨機數(shù)只能用在對安全性要求不高的場合。
真隨機數(shù)的產(chǎn)生,則要借助于工程設計良好的數(shù)字物理亂源,即利用一些物理過程的隨機性質(zhì)。但并不是物理過程(硬件)產(chǎn)生的隨機數(shù)就是真隨機數(shù),其中一些物理過程是否真正隨機也很難說,更有些系統(tǒng)僅僅采用硬件固定邏輯來加速偽隨機數(shù)的產(chǎn)生。
圖3是一個被廣泛采用的硬件隨機數(shù)發(fā)生器原理,這種基于直接放大器結(jié)構(gòu)的隨機數(shù)發(fā)生器,雖然屬于硬件發(fā)生器,也能產(chǎn)生出比基于數(shù)學運算原理的發(fā)生器更高質(zhì)量的隨機數(shù)序列,但由于其本身結(jié)構(gòu)原理,雖易于實現(xiàn),但其極易被外部信號干擾,導致其隨機數(shù)序列的熵值波動性很大。這種硬件隨機數(shù)并不能被稱為真正意義上的真隨機數(shù)。
這就存在一個隨機數(shù)質(zhì)量檢測的問題。在所有隨機序列質(zhì)量檢測方法以美國國家技術(shù)標準局NIST發(fā)布的關(guān)于密碼系統(tǒng)的信息安全標準FIPS 140-2和德國聯(lián)邦資訊安全辦公室BSI發(fā)布的AIS-31測試標準最為著名。這些標準中指定了多種測試方式對隨機數(shù)序列的質(zhì)量指標進行測試,以取代常規(guī)的隨機性統(tǒng)計檢驗。與同類標準相比,F(xiàn)IPS140-2和AIS-31的合格標準更加嚴格。
英飛凌的智能卡安全控制器,采用最新專利科技集成了硬件高速真隨機數(shù)發(fā)生器(如圖3),利用專利科技噪音源產(chǎn)生出極大帶寬的數(shù)碼流,硬件后處理器可增加熵值,符合AIS-31標準的質(zhì)量檢驗控制,可以保證從此隨機數(shù)發(fā)生器出來的隨機數(shù)序列已能滿足和通過符合AIS-31 P2類別的真隨機數(shù)質(zhì)量測試。
該發(fā)生器能達到每字節(jié)30微秒的真硬件隨機數(shù)發(fā)生速率,使得英飛凌的智能卡安全控制器能夠?qū)崿F(xiàn)極高的加密運算性能,而且,該發(fā)生器還具有很好的魯棒性,其產(chǎn)生的隨機序列在不同的溫度、電壓、頻率等外部條件波動時也具有極高的不可預測性和不可重復性,并且已通過FIPS140-2和AIS-31安全測試認證,適用于高安全性要求的各種應用。
并且,有了這一高質(zhì)量的安全控制器的核心保障,英飛凌的安全控制器現(xiàn)已通過了由德國聯(lián)邦信息安全辦公室(BSI)主持的歷時數(shù)月的周密評估與測試,成功通過全球最嚴格的智能卡應用安全測試CC EAL6+。CC EAL6+測試以智能卡集成電路平臺保護規(guī)定(BSI-PP-0035)為基礎(chǔ)。英飛凌使用新的 PP00035 來獲得認證。
英飛凌將一直持續(xù)這種戰(zhàn)略,將最新科技應用于其安全控制器解決方案中,為其安全芯片取得公認的安全認證,也為幫助客戶構(gòu)建健壯的高安全信息系統(tǒng)提供有力的技術(shù)基礎(chǔ)和支持。
參考文獻:
[1]肖攸安,周祖德. 高效真隨機序列生成方法的研究[J]. 計算機工程與應用, 2006,16
[2]薛英花,呂述望. 隨機數(shù)發(fā)生器分析及其在安全信息系統(tǒng)中的應用[J].計算機工程,2003.3
[3]袁衛(wèi)忠 謝俊元. 網(wǎng)絡安全中隨機數(shù)技術(shù)分析與應用[J]. 計算機工程,2001,6
[4]https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Zertifizierung/Interpretationen/AIS_20_AIS_31_Evaluation_of_random_number_generators_e.html
[5]https://www.bsi.bund.de/EN/Topics/Certification/certification_node.html
評論