安全性設(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ì)工程師們一夜好眠。
特別推薦
- 協(xié)同創(chuàng)新,助汽車(chē)行業(yè)邁向電氣化、自動(dòng)化和互聯(lián)化的未來(lái)
- 功率器件熱設(shè)計(jì)基礎(chǔ)(八)——利用瞬態(tài)熱阻計(jì)算二極管浪涌電流
- 用于模擬傳感器的回路供電(兩線)發(fā)射器
- 應(yīng)用于體外除顫器中的電容器
- 將“微型FPGA”集成到8位MCU,是種什么樣的體驗(yàn)?
- 能源、清潔科技和可持續(xù)發(fā)展的未來(lái)
- 博瑞集信推出高增益、內(nèi)匹配、單電源供電 | S、C波段驅(qū)動(dòng)放大器系列
技術(shù)文章更多>>
- 模擬信號(hào)鏈的設(shè)計(jì)注意事項(xiàng)
- 熱烈祝賀 Andrew MENG 晉升為 ASEAN(東盟)市場(chǎng)經(jīng)理!
- 邁向更綠色的未來(lái):GaN技術(shù)的變革性影響
- 集成電阻分壓器如何提高電動(dòng)汽車(chē)的電池系統(tǒng)性能
- 帶硬件同步功能的以太網(wǎng) PHY 擴(kuò)大了汽車(chē)?yán)走_(dá)的覆蓋范圍
技術(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)搜索
電工電路
電機(jī)控制
電解電容
電纜連接器
電力電子
電力繼電器
電力線通信
電流保險(xiǎn)絲
電流表
電流傳感器
電流互感器
電路保護(hù)
電路圖
電路圖符號(hào)
電路圖知識(shí)
電腦OA
電腦電源
電腦自動(dòng)斷電
電能表接線
電容觸控屏
電容器
電容器單位
電容器公式
電聲器件
電位器
電位器接法
電壓表
電壓傳感器
電壓互感器
電源變壓器