隨機數(shù)在加密中被廣泛使用。它們可以構(gòu)成關鍵安全參數(shù)(CSP)的基礎,例如用于通過公共互聯(lián)網(wǎng)進行交易的加密密鑰。
通常,試圖破壞加密的攻擊者將專注于在隨機數(shù)中查找或誘導可利用的模式,這使得比使用暴力搜索更有效地猜測密鑰。攻擊者可以采用許多不同的技術,例如改變電壓和溫度以嘗試破壞噪聲源的正常運行,或者使用其控制下的幾乎相同的隨機數(shù)發(fā)生器(RNG)的輸出來幫助預測RNG在受攻擊系統(tǒng)中的輸出。
用作加密密鑰的劣質(zhì)隨機數(shù)可能會危及使用該密鑰處理的所有消息或數(shù)據(jù)的安全性。當 RNG 不提供預測電阻時,使用受危害的 RNG 創(chuàng)建新的加密密鑰是不夠的,并且在重新設定 RNG 種子之前,所有未來的消息和數(shù)據(jù)都處于危險之中。定義“低質(zhì)量”充滿了困難,因為證明一串數(shù)據(jù)是隨機的還是不是隨機的,是一項復雜而漫長的工作。幸運的是,從相反的方向看問題可以為什么是密碼學上可接受的隨機數(shù)提供答案。
美國國家標準與技術研究院(NIST)推薦一種適合嵌入FPGA或SoC的方法(規(guī)格SP800-90A /B /C)SP800-90A定義了確定性隨機位發(fā)生器(DRBG),它是一種基于高級加密算法(AES)算法的純數(shù)字電路。SB800-90B中考慮并定義了硬件噪聲源,包括測試電路,這些電路可用于在系統(tǒng)中檢測其輸出是否不再是隨機的(例如,由于篡改或故障),并進行統(tǒng)計測試以鑒定特定電路是否可用作硬件噪聲源。SP800-90C考慮了如何在系統(tǒng)中組合DRBG和噪聲源。將基于加密算法的DRBG與物理噪聲源相結(jié)合,產(chǎn)生一個RNG,該RNG提供兩全其美,基于硬件噪聲源的預測電阻以及加密算法的保證統(tǒng)計特性。
RNG內(nèi)核包括完成此任務的電路。它包括一個完整的AES內(nèi)核,作為設計的關鍵部分。AES 算法的一種標準使用模式稱為計數(shù)器 (CTR) 模式。在此模式下,計數(shù)器中的值使用密鑰進行加密,以生成有效的隨機 128 位位塊。然后,通過使用隨機位對數(shù)據(jù)進行XOR來加密或解密數(shù)據(jù)。計數(shù)器和 AES 單元在自動屏蔽點擊率中的組合就像一個 DRBG。它產(chǎn)生一系列隨機數(shù),其值對于任何知道密鑰的人來說都是完全可預測的,但是如果沒有密鑰,則很難確定。如果AES單元的密鑰取自物理噪聲源(播種DRBG),我們就有了SP800-90A中規(guī)定的CTR-DRBG方案的基本基礎。
SP800-90A中的系統(tǒng)更進一步,提供不少于三組其他輸入以及物理噪聲(稱為熵)。
在為 RNG 構(gòu)造種子時,隨機數(shù)輸入與熵輸入一起使用。Nonce確保計算出的種子不僅僅依賴于熵,并且保證在每次實例化中都會發(fā)生變化。Nonce 數(shù)據(jù)可以是簡單的計數(shù)器,也可以是從時間戳派生的,但每次使用都必須不同,并防止篡改。
個性化字符串輸入是實例化 RNG 時使用的另一個可選輸入。這可能是每臺計算機不同的序列號。這可確保 RNG 的兩個副本的行為不同,并防止攻擊者獲取包含 RNG 的產(chǎn)品副本,以預測目標副本中的 RNG 的行為方式。
附加輸入提供了一種機制,用于向 DRBG 包含其他熵。例如,在設計中通常很容易找到一組信號,這些信號看起來好像它們的值本質(zhì)上是隨機的,但很難將它們限定為SP800-90B所需的噪聲源。使用額外的輸入,這些位可以“攪拌到湯中”,即使它們沒有好處,至少它們不會造成傷害。如果主熵源受到損害,這將提供額外的保護層。
DRBG以復雜但完全確定的方式組合了各種輸入。它依賴于AES算法的安全屬性,以確保攻擊者無法預測或反向工程系統(tǒng)輸出,前提是攻擊者無法訪問所有輸入(包括AES密鑰)。
系統(tǒng)的確定性性質(zhì)對于系統(tǒng)中最后一個重要塊(稱為運行狀況檢查)的操作至關重要。啟動時,它會將RNG與任何其他信號隔離開來,加載測試數(shù)據(jù),并將輸出與一組已知答案進行比較。運行狀況檢查在重置后根據(jù)請求自動啟動,例如,如果系統(tǒng)的另一部分檢測到攻擊。如果運行狀況檢查失?。ǚQ為災難性錯誤),則邏輯設計為鎖定以阻止輸出任何不可靠的數(shù)據(jù)。在發(fā)生災難性錯誤后,需要通過重啟電源或重新配置FPGA來復位系統(tǒng)。
除了所描述的DRBG電路之外,還需要熵源。在純數(shù)字系統(tǒng)中,常見的選擇是自由運行的環(huán)形振蕩器,用于計時計數(shù)器。計數(shù)器的最低有效“n”位用作 n 位種子。環(huán)形振蕩器的頻率無法從外部準確確定,因為它會隨著電源電壓上的熱變化和噪聲而略有不同。如果環(huán)形振蕩器運行相當長的時間,并且計數(shù)器相對較?。◣孜唬?,則計數(shù)器值將在很大程度上是隨機的。這個和許多其他物理噪聲源的一個明顯問題是,可能需要比物理噪聲源所能提供的隨機值更頻繁地需要隨機值。DRBG允許在從物理噪聲源定期重新播種之間生成多個隨機數(shù)。
RNG可能聽起來很復雜(確實如此),但加密算法的強度取決于提供給它的密鑰。因此,RNG是安全系統(tǒng)的重要組成部分。
審核編輯:郭婷
-
FPGA
+關注
關注
1655文章
22277瀏覽量
629942 -
soc
+關注
關注
38文章
4512瀏覽量
227512
發(fā)布評論請先 登錄
硬件加密引擎在保障數(shù)據(jù)安全方面有哪些優(yōu)勢呢?
芯昇科技參加2025數(shù)智供應鏈高質(zhì)量發(fā)展學術論壇
真隨機數(shù)和偽隨機數(shù)的區(qū)別
索尼重載設備的高質(zhì)量遠程制作方案和應用(2)
東軟集團發(fā)布數(shù)智化賦能高質(zhì)量就業(yè)服務10+2應用場景
DS28S60具有ChipDNA的DeepCover加密協(xié)處理器技術手冊

高質(zhì)量的隨機數(shù)對于安全加密至關重要
評論