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