Global Sources
電子工程專輯
 
電子工程專輯 > 處理器/DSP
 
 
處理器/DSP  

為安全性設計選擇可靠的隨機亂數加密方案

上網時間: 2015年05月13日     打印版  Bookmark and Share  字型大小:  

關鍵字:隨機  亂數  加密  FPGA  安全性 

隨機亂數(random number)是密碼學的鑰匙(也是關鍵),它們會是加密系統的弱點,因此也常變成受攻擊的目標;因此我總是嘗試讓我的腦袋繞著有關隨機性的主題轉。

我一直認為二極體接面(diode junction)的熱雜訊(thermal noise)是隨機性的,但是現在,它似乎並不是那麼隨機。密碼學家們總是在思考壞人可能會發動的攻擊手法,然後要想出對抗的招數;他們做的是好事,因為大多數人(包括我自己)在進行線上金融活動或購物時,都得仰賴安全性通訊。

有許多密碼學菁英任職於美國國家標準技術研究所(National Institute of Standards and Technology,NIST);該組織公布了一套規格,有關於如何建立隨機位元流,以應用於加密──其SP800-90A規格所提供的解決方案,是以一種決定性隨機位元產生器(Deterministic Random Bit Generator ,DRBG)將位元流加密。

這種隨機亂數產生器(Random Number Generator,RNG)對我來說是有意義的,接下來我將先簡短介紹DRBG的原理,然後談談如何將這種RNG嵌入FPGA中;現在我需要先釐清一些會用到的專門術語,然後解釋其運作過程。

任何一套加密系統會需要一組金鑰以及一組輸入的資料流,從這裡事情開始變得比較複雜。用以編排密碼的、「或多或少隨機」的位元流,被稱做是Entropy (熵)輸入;為了確保每次RNG的產出是不同的,Entropy要結合叫做Nonce (隨機數)的輸入;Nonce在通過DRBG的每一個週期,必須要改變或是增加。這是有道理的,因為你需要防堵一個可能會多次收集資料、嘗試預測下一個輸出位元流內容的攻擊者。

但是為了防止Entropy本身被洩漏,還有一個選項是採用第三個變數──個人化字串(Personalization String);這裡的巧妙之處在於,如果這個輸入是源自於一組編號,就可以確保顯然正在監視相同機器的攻擊者難以有進展。SP800-90A規格還包含另一個選擇性的額外輸入(Additional Input),其概念是它可以源自於第二個(獨立的) Entropy來源、也就是「腰帶又加上吊帶」的雙重保障。

到這裡我的頭開始痛了…然後我讀到有關於Health Check (健檢?)的部分;Health Check一開始是做為例行檢查、確認一切安好,或者是在使用者懷疑攻擊者可能竄改RNG時進行。這個區塊惠隔離所有DRBG的外部輸入,然後饋入一組預設的刺激;輸出的結果是針對一組已知答案的驗證,如果因為任何原因失敗,Health Check就會釋出錯誤訊息、鎖住RNG ,避免輸出任何被破解的位元流。

要將RNG嵌入幾乎任何一種FPGA都很容易,設計工程師只需要採用RNG IP核心以及簡單的環形振盪器與計數器做為Entropy的來源;這種常見規則適用於打造加密系統,因為設計工程師必須確保FPGA內部的敏感資料,不能從元件的任何一個接腳被存取。

模擬、驗證被隨機設計的電路可能聽起來很難,但因為是完全確定性的,RNG核心有一套完整的驗證測試基準;如果最後的加密系統需要聽過外部測試機構的批准,該測試基準也同樣重要。我只能想像要測試位元流隨機特性會遇到的問題。FPGA的實作過程應該是全數位化的,所以應該很強韌、不會受到嘗試以改變電壓或溫度的攻擊者之竄改;自振盪頻率有可能會變化,但那不應該影響輸出位元流的隨機性品質。

採用IP核心做為嵌入式AES加密引擎的一個好處是,該種電路區塊能在許多應用中同時支援其他工作,為資料流提供多重加密解密,節省FPGA內部空間。當它需要透過不安全的連結傳送加密金鑰,另一個選項是在密鑰包裝中採用AES加密引擎。

品質不良的隨機亂數不會成為加密系統的弱點,只要採用標準化的解決方案,將可幫助設計工程師們一夜好眠。

編譯:Judith Cheng

(參考原文: How Random is Random Enough For Cryptography?,by Paul Dillien)





投票數:   加入我的最愛
我來評論 - 為安全性設計選擇可靠的隨機亂數加密方...
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首