密鑰類似于密碼,但有兩個關(guān)鍵不同:
· 密碼歸可以控制和隨意改變它們的用戶所有。相反,密鑰是系統(tǒng)固有的一部分,密鑰的某些方面必須保秘,用戶并不知道其安全事務(wù)中涉及的秘密或私鑰。
· 密碼往往很短,只有十幾個字左右。相比之下,鑰匙長而神秘,只能由計算機(jī)而不是人類來讀取。
密鑰可能是永久性的也可能是暫時性的,這意味著可以為特定的交易或通信生成、然后銷毀密鑰。在大多數(shù)情況下,密鑰是系統(tǒng)中的秘密。為保證這些系統(tǒng)的安全通信,必須在創(chuàng)建系統(tǒng)時插入預(yù)先共享的密鑰,或在部署之后實地進(jìn)行安全的密鑰交換。一旦獲知對方的密鑰,系統(tǒng)可以使用它們來驗證消息或作為加密和解密算法的輸入。由于多臺終端設(shè)備可能擁有相同的密鑰,將設(shè)備序列號引入算法有助于確保如果單臺設(shè)備遭到黑客攻擊,其獲取的密鑰只在該設(shè)備所在系統(tǒng)有效,而不會傷及其它。(這種技術(shù)被稱為采用多元化密鑰的“對稱”認(rèn)證。)
還有許多其它類型的交易。人們可能通過互聯(lián)網(wǎng)從某個公司購買一件商品,這種交易就沒有必要與其分享用戶的秘密。因此,最安全的做法是使用公鑰/私鑰對,即所謂的“非對稱”或“公鑰基礎(chǔ)設(shè)施(PKI)”系統(tǒng)。這意味著用戶有兩個密鑰:從來不與任何人分享的私鑰和共享的公鑰。它們之間通過復(fù)雜的數(shù)學(xué)關(guān)系(如RSA或橢圓曲線Elliptic Curve)關(guān)聯(lián)起來。關(guān)鍵是要確保用公鑰計算出私鑰是極端困難的?;诖笏財?shù)分解的RSA密鑰已使用多年。橢圓曲線密碼機(jī)制(ECC)是一種新方法,由于可以用更短的密鑰達(dá)到類似的安全級別,因此減少計算量,而越來越受歡迎。這兩種密鑰都是所謂的數(shù)學(xué)“陷門”系統(tǒng),意味著其計算是極難反轉(zhuǎn)的。(他們因為很容易通過,卻不可能反向走出而被稱之為“陷門”。)使用ECC和RSA(陷門函數(shù))分解來嘗試確定私鑰的值是行不通的。
安全性最基本的要求是避免密鑰落入未授權(quán)人的手中。絕不能“明文”(沒有加密)傳輸密鑰,而私鑰更是不能在任何時間任何范圍內(nèi)傳輸,包括在可以被攻擊者“嗅探”到簡單密鑰檢索操作的系統(tǒng)內(nèi)。用軟件實現(xiàn)的密鑰意味著存儲在RAM中的密鑰可以被攻擊者使用正確的工具探測到 -- 這是糟糕的實踐。
保護(hù)密鑰的最好方法是存儲在受保護(hù)的硬件,尤其是可以處理所有涉及密鑰計算的硬件中。這樣,密鑰不會離開它的藏身之處,并且如果措施得當(dāng),可以對任何外部觀察者屏蔽所有涉及密鑰的操作。如果必須與其它實體共享密鑰,那么它應(yīng)該是一個使用秘密密鑰計算出來并在通信時加密的(如在使用RSA的TLS協(xié)議情況下)臨時(會話)密鑰。私鑰不應(yīng)該離開它的保險柜。安全地共享會話密鑰的另一種方式是使用橢圓曲線密鑰交換機(jī)制(ECDH)等密鑰協(xié)議算法,安全地保護(hù)各方私鑰的同時只明文發(fā)送公鑰。
保護(hù)邊緣節(jié)點的正確方法
我們已經(jīng)介紹了邊緣節(jié)點受到攻擊的多種可能方式。所有下列措施均涉及以一種或另一種方式保存密鑰來確保挫敗這些攻擊。雖然不可能100%地保證安全,這些措施至少提供了可能的最佳保護(hù),并確保攻擊者無法獲取關(guān)鍵系統(tǒng)的密鑰。每個方法都滿足CIA重要元素的要求:
· 證明進(jìn)入網(wǎng)絡(luò)的所有訪客的身份。(真實性)
· 加密消息。(機(jī)密性)
· 為所有消息附加消息認(rèn)證碼(MAC)以證明消息沒有在途中被篡改。(完整性)
· 驗證試圖附加到節(jié)點的所有配件。(真實性)
此外,可以采取以下措施防止“毗鄰”或“旁路”攻擊。這些都是可以在整個系統(tǒng)或只在某一關(guān)鍵子系統(tǒng)中采用的實用方法。
· 將密鑰存儲在受到保護(hù)的硬件中,確保無電路接觸密鑰。
· 屏蔽系統(tǒng)以防止電磁輻射泄露密鑰信息。
· 添加特別電路以挫敗監(jiān)控功率或其它信號的企圖。其中可能包括虛假計數(shù)器或帶有隨機(jī)元素爭奪有用信息的電路。
· 加密存儲的密鑰。盡管可以防止電路接觸密鑰,一個堅定的攻擊者可能會嘗試剝離芯片外層來查看其內(nèi)部的嵌入式閃存,并以這種方式獲取密鑰。加密可以化解這種攻擊。
· 避免使用不必要的端口。有些端口看起來是有用的,例如調(diào)試端口;但是,如果存在不使用它的可能,那么沒有該端口,系統(tǒng)反到更加安全。
在整個制造過程中保護(hù)密鑰也極其重要。一個深思熟慮的方案必須要保持密鑰從其誕生到插入密鑰存儲裝置的全程機(jī)密性。使用加密格式并在受保護(hù)硬件中存儲密鑰的硬件安全模塊(HSM)是一個絕佳的、行之有效的方法。
保護(hù)密鑰的真正解決方案
Atmel公司以加密元器件4的形式提供一系列的加密解決方案。作為硬件加密加速器的這些元器件往往注重的是其幫助主機(jī)處理器擺脫復(fù)雜數(shù)學(xué)算法的有用性。但還有一個更重要的方面:加密操作涉及到的密鑰必須存儲在隱蔽的受到保護(hù)的硬件中,確保密鑰在軟件或未受保護(hù)的硬件中進(jìn)行同樣的計算而可能暴露的方式下永不可見。
Atmel的加密元器件包括ATSHA204A和ATAES132A,前者是基于安全哈希算法(SHA)對稱性認(rèn)證、對成本敏感的理想選擇,后者使用高級加密標(biāo)準(zhǔn)(AES)算法進(jìn)行對稱性認(rèn)證、同時提供32K字節(jié)安全的EEPROM)。Atmel公司的最新產(chǎn)品ATECC508A,在其前代產(chǎn)品ATECC108A上添加了橢圓曲線密鑰交換(ECDH)5密鑰協(xié)議?;跈E圓曲線密碼機(jī)制(ECC)的這兩款元器件都內(nèi)置有基于橢圓曲線數(shù)字簽名算法(ECDSA)6的非對稱認(rèn)證能力,所有四款加密元器件均以受保護(hù)的基于硬件的安全密鑰存儲為特征,這正是最強(qiáng)的優(yōu)勢所在。
同時擁有橢圓曲線數(shù)字簽名算法(ECDSA)和橢圓曲線密鑰交換(ECDH)的ATECC508A是保障物聯(lián)網(wǎng)邊緣節(jié)點安全的完美選擇。只需向物聯(lián)網(wǎng)節(jié)點等含有微控制器的任何系統(tǒng)中添加一個微小的ATECC508A,即可為該系統(tǒng)方便有效地帶來保密性、完整性和認(rèn)證機(jī)制。
圖3.ATECC508A與任何微處理器配合使用能夠安全地提供保密性、數(shù)據(jù)完整性和真實性。
只需很小的成本就可以將ATECC508A添加到任何微控制器中。它采用的單總線或二線制串行總線(I2C)僅連接最少的引腳數(shù),封裝規(guī)格可以小到2毫米×3毫米。小于150納安的睡眠電流使其功率消耗極低。
加密元件接收處理器提供的輸入,在內(nèi)部執(zhí)行計算并返回簽名、認(rèn)證、會話密鑰等計算結(jié)果,而不會泄漏計算方法。高品質(zhì)的真隨機(jī)數(shù)發(fā)生器(TRNG)有助于成功防止交易被回放。內(nèi)部序列號有助于確保密鑰的唯一性,而大容量的計數(shù)器則用于追蹤認(rèn)證過程。
物理和加密的對抗措施使得攻擊者無法通過嗅探操作或探測裝置來獲取密鑰。
· 整個芯片均覆蓋著蛇形金屬圖案,阻止內(nèi)部信號釋放被外部檢測到,并提供視覺障礙,阻止攻擊者打開包裝觀察和探測操作。保護(hù)殼與其余電路通電相連,如果它被攻破,該芯片將不再運(yùn)行,防止堅定的攻擊者探測電路節(jié)點以獲取密鑰。
· 調(diào)節(jié)器和計數(shù)器用于混淆電源和信號特征。
· 沒有額外的內(nèi)部測試和調(diào)試襯墊,所以即使打開包裝也不會發(fā)現(xiàn)額外的接入點。
Atmel加密元器件的一個重要好處是,通過使用簡單的模塊(可從Atmel公司購置)可以很容易地在生產(chǎn)過程中進(jìn)行配置,確保密鑰和簽名證書安全插入到加密元器件。也可以由Atmel或Atmel公司的授權(quán)經(jīng)銷商來進(jìn)行配置。
圖4. 在生產(chǎn)過程中配置ATECC508A
總結(jié)
安全性是成功部署物聯(lián)網(wǎng)7的基礎(chǔ)。目前,邊緣節(jié)點是確保物聯(lián)網(wǎng)安全性中最薄弱的環(huán)節(jié),而加密密鑰的保護(hù)鎖定了邊緣節(jié)點。實現(xiàn)鎖定的最佳方式是采用受保護(hù)的硬件。這是保持這些密鑰和其它秘密遠(yuǎn)離窺探的唯一途徑。Atmel的CryptoAuthentication?加密元器件系列產(chǎn)品提供了在受保護(hù)的硬件中存儲并管理密鑰以實現(xiàn)多層次安全性的堅實手段。Atmel公司廣泛的微控制器、無線器件和加密元件的組合帶來了智能、安全連接物聯(lián)網(wǎng)及更多的尖端科技。
分享到微信 ×
打開微信,點擊底部的“發(fā)現(xiàn)”,
使用“掃一掃”即可將網(wǎng)頁分享至朋友圈。