安全性設(shè)計(jì)如何選擇可靠的隨機(jī)數(shù)加密方案?
發(fā)布時(shí)間:2015-06-01 責(zé)任編輯:sherry
【導(dǎo)讀】質(zhì)量不良的隨機(jī)隨機(jī)數(shù)不會(huì)成為加密系統(tǒng)的弱點(diǎn),只要采用標(biāo)準(zhǔn)化的解決方案,將可幫助設(shè)計(jì)工程師們一夜好眠。那么如何為安全設(shè)計(jì)選擇可靠的隨機(jī)數(shù)加密方案?
隨機(jī)數(shù)(random number)是密碼學(xué)的鑰匙(也是關(guān)鍵),它們會(huì)是加密系統(tǒng)的弱點(diǎn),因此也常變成受攻擊的目標(biāo);因此我總是嘗試讓我的腦袋繞著有關(guān)隨機(jī)性的主題轉(zhuǎn)。
我一直認(rèn)為二極管接面(diode junction)的熱噪聲(thermal noise)是隨機(jī)性的,但是現(xiàn)在,它似乎并不是那么隨機(jī)。密碼學(xué)家們總是在思考?jí)娜丝赡軙?huì)發(fā)動(dòng)的攻擊手法,然后要想出對(duì)抗的招數(shù);他們做的是好事,因?yàn)榇蠖鄶?shù)人(包括我自己)在進(jìn)行在線金融活動(dòng)或購(gòu)物時(shí),都得仰賴(lài)安全性通訊。
有許多密碼學(xué)菁英任職于美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)研究所 (National Institute of Standards and Technology,NIST);該組織公布了一套規(guī)格,有關(guān)于如何建立隨機(jī)比特流,以應(yīng)用于加密──其SP800-90A規(guī)格所提供的解決方案,是以一種決定性隨機(jī)位產(chǎn)生器(Deterministic Random Bit Generator ,DRBG)將比特流加密。
這種隨機(jī)數(shù)生成器(Random Number Generator,RNG)對(duì)我來(lái)說(shuō)是有意義的,接下來(lái)我將先簡(jiǎn)短介紹DRBG的原理,然后談?wù)勅绾螌⑦@種RNG嵌入FPGA中;現(xiàn)在我需要先厘清一些會(huì)用到的專(zhuān)門(mén)術(shù)語(yǔ),然后解釋其運(yùn)作過(guò)程。
任何一套加密系統(tǒng)會(huì)需要一組密鑰以及一組輸入的數(shù)據(jù)流,從這里事情開(kāi)始變得比較復(fù)雜。用以編排密碼的、“或多或少隨機(jī)”的比特流,被稱(chēng)做是Entropy (熵)輸入;為了確保每次RNG的產(chǎn)出是不同的,Entropy要結(jié)合叫做Nonce (隨機(jī)數(shù))的輸入;Nonce在通過(guò)DRBG的每一個(gè)周期,必須要改變或是增加。這是有道理的,因?yàn)槟阈枰蓝乱粋€(gè)可能會(huì)多次收集數(shù)據(jù)、嘗試預(yù)測(cè)下一個(gè)輸出比特流內(nèi)容的攻擊者。
但是為了防止Entropy本身被泄漏,還有一個(gè)選項(xiàng)是采用第三個(gè)變量──個(gè)人化字符串 (Personalization String);這里的巧妙之處在于,如果這個(gè)輸入是源自于一組編號(hào),就可以確保顯然正在監(jiān)視相同機(jī)器的攻擊者難以有進(jìn)展。SP800-90A規(guī)格還包含 另一個(gè)選擇性的額外輸入(Additional Input),其概念是它可以源自于第二個(gè)(獨(dú)立的) Entropy來(lái)源、也就是“腰帶又加上吊帶”的雙重保障。
到這里我的頭開(kāi)始痛了…然后我讀到有關(guān)于Health Check的部分;Health Check一開(kāi)始是做為例行檢查、確認(rèn)一切安好,或者是在使用者懷疑攻擊者可能竄改RNG時(shí)進(jìn)行。這個(gè)區(qū)塊惠隔離所有DRBG的外部輸入,然后饋入一組預(yù)設(shè)的刺激;輸出的結(jié)果是針對(duì)一組已知答案的驗(yàn)證,如果因?yàn)槿魏卧蚴?,Health Check就會(huì)釋出錯(cuò)誤消息、鎖住RNG ,避免輸出任何被破 解的比特流。
要將RNG嵌入幾乎任何一種FPGA都很容易,設(shè)計(jì)工程師只需要采用RNG IP核心以及簡(jiǎn)單的環(huán)形振蕩器與計(jì)數(shù)器做為Entropy的來(lái)源;這種常見(jiàn)規(guī)則適用于打造加密系統(tǒng),因?yàn)樵O(shè)計(jì)工程師必須確保FPGA內(nèi)部的敏感數(shù)據(jù),不能從組件的任何一個(gè)接腳被存取。
模擬、驗(yàn)證被隨機(jī)設(shè)計(jì)的電路可能聽(tīng)起來(lái)很難,但因?yàn)槭峭耆_定性的,RNG核心有一套完整的驗(yàn)證測(cè)試基準(zhǔn);如果最后的加密系統(tǒng)需要聽(tīng)過(guò)外部測(cè)試機(jī)構(gòu)的批準(zhǔn), 該測(cè)試基準(zhǔn)也同樣重要。我只能想象要測(cè)試比特流隨機(jī)特性會(huì)遇到的問(wèn)題。FPGA的實(shí)作過(guò)程應(yīng)該是全數(shù)字化的,所以應(yīng)該很強(qiáng)韌、不會(huì)受到嘗試以改變電壓或溫度的攻擊者之竄改;自振蕩頻率有可能會(huì)變化,但那不應(yīng)該影響輸出比特流的隨機(jī)性質(zhì)量。
采用IP核心做為嵌入式AES加密引擎的一個(gè)好處是,該種電路區(qū)塊能在許多應(yīng)用中同時(shí)支持其他工作,為數(shù)據(jù)流提供多重加密解密,節(jié)省FPGA內(nèi)部空間。當(dāng)它需要透過(guò)不安全的連結(jié)傳送加密密鑰,另一個(gè)選項(xiàng)是在密鑰包裝中采用AES加密引擎。
質(zhì)量不良的隨機(jī)隨機(jī)數(shù)不會(huì)成為加密系統(tǒng)的弱點(diǎn),只要采用標(biāo)準(zhǔn)化的解決方案,將可幫助設(shè)計(jì)工程師們一夜好眠。
特別推薦
- 毫秒級(jí)響應(yīng):新一代數(shù)字音頻遠(yuǎn)距離實(shí)時(shí)傳輸方案解析
- RIGOL高速伺服激光加工系統(tǒng)MIPI D-PHY一致性測(cè)試
- 無(wú)感FOC算法驅(qū)動(dòng)的BLDC電機(jī)的優(yōu)勢(shì)解析與實(shí)戰(zhàn)應(yīng)用方案
- 詳解超級(jí)電容器與電池在儲(chǔ)能解決方案的對(duì)比 (上)
- 從噪聲抑制到功耗優(yōu)化:CTSD如何重塑現(xiàn)代信號(hào)鏈架構(gòu)
- Wi-Fi 7頻率控制核心密碼:三大關(guān)鍵器件深度解析
- 用于電動(dòng)汽車(chē)車(chē)載充電器的 CLLLC 與 DAB 比較
技術(shù)文章更多>>
- 從噪聲抑制到功耗優(yōu)化:CTSD如何重塑現(xiàn)代信號(hào)鏈架構(gòu)
- 詳解超級(jí)電容器與電池在儲(chǔ)能解決方案的對(duì)比 (上)
- 無(wú)感FOC算法驅(qū)動(dòng)的BLDC電機(jī)的優(yōu)勢(shì)解析與實(shí)戰(zhàn)應(yīng)用方案
- RIGOL高速伺服激光加工系統(tǒng)MIPI D-PHY一致性測(cè)試
- 毫秒級(jí)響應(yīng):新一代數(shù)字音頻遠(yuǎn)距離實(shí)時(shí)傳輸方案解析
技術(shù)白皮書(shū)下載更多>>
- 車(chē)規(guī)與基于V2X的車(chē)輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車(chē)安全隔離的新挑戰(zhàn)
- 汽車(chē)模塊拋負(fù)載的解決方案
- 車(chē)用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門(mén)搜索
精密電阻
精密工具
景佑能源
聚合物電容
君耀電子
開(kāi)發(fā)工具
開(kāi)關(guān)
開(kāi)關(guān)電源
開(kāi)關(guān)電源電路
開(kāi)關(guān)二極管
開(kāi)關(guān)三極管
科通
可變電容
可調(diào)電感
可控硅
空心線圈
控制變壓器
控制模塊
藍(lán)牙
藍(lán)牙4.0
藍(lán)牙模塊
浪涌保護(hù)器
雷度電子
鋰電池
利爾達(dá)
連接器
流量單位
漏電保護(hù)器
濾波電感
濾波器