物聯網設備對不良行為者來說是一個特別容易受到攻擊的目標,因為物理安全——大多數安全策略的關鍵——對于物聯網應用來說通常是不可能實現的。隨著工程師尋求鎖定物聯網設計,加密和身份驗證等安全機制通常會獲得最大的關注。然而,如果沒有強大的密鑰安全性,即使是最全面的安全策略也可能會受到損害。結合使用設計技術和專用 IC 進行安全密鑰管理,設計人員可以為物聯網應用建立更高安全性的基礎。
物聯網設備甚至缺乏傳統互聯網應用程序提供的可疑保護。雖然基于 Web 的應用程序的資產可能依賴于與生產數據中心相關的物理安全性,但物聯網應用程序依賴于大量物理設備的分散,這些設備通常位于易于訪問、不受保護的位置。因此,不良行為者可以輕松獲得這些設備并在閑暇時進行攻擊。
事實上,對傳統連接應用程序的成功攻擊不太可能來自直接滲透,而更有可能來自社交黑客或 Heartbleed 等零日攻擊。相比之下,與傳統的基于 Web 的應用程序相比,物聯網設備較少受到基于社交的攻擊,但它們的物理暴露為更直接的攻擊提供了機會。
硅制造商可以保護設備免受復雜的攻擊,例如差分功率分析。此外,制造商可以實施基于硬件的安全措施,使成功滲透的時間和資源成本超過可能帶來的收益。對于物聯網,更大的威脅向量在于加密密鑰的保護故障,這些故障是由于將密鑰存儲在不安全的內存中、通過易于訪問的硬件接口傳輸密鑰值,甚至是使用具有可預測模式的“隨機”數字生成器創建的密鑰值。
關鍵重要性
在社交或零日漏洞利用之外,受損密鑰是最隱蔽的攻擊媒介之一。有了合法密鑰,不良行為者可以獲得受信任的狀態,從而繞過旨在排除未經授權用戶的所有安全措施。防火墻、虛擬專用網絡和身份驗證機制等的正常保護將在出現受損但有效的安全憑證時消失。
密鑰是每種特定加密方法的基礎,每種加密方法都完全依賴于密鑰的保護。密碼學家早就明白密鑰安全的根本重要性。在一篇預示物聯網安全挑戰性質的論文中,19 世紀的荷蘭密碼學家 Auguste Kerckhoffs 觀察到密碼系統即使落入敵人手中也應該保持安全。唯一真正的秘密是鑰匙本身。
加密密鑰保護本身就是一個行業,但數據中心中使用的硬件安全模塊 (HSM) 等密鑰管理單元對于物聯網設備的現場部署來說過于昂貴和龐大。相反,半導體制造商提供基于集成到 MCU 和專用安全設備中的安全機制的有效解決方案。基于硬件的機制的性質差異很大,但這些機制是由專用硬件引擎或相關軟件庫執行的關鍵加密操作的基礎。
區域保護
半導體正在通過集成到 MCU 中的更廣泛的合適功能來應對物聯網安全問題。德州儀器(TI ) 提供了一種直接的方法,該方法利用了集成在 MSP430FRxx FRAM MCU 系列成員(例如MSP430FR69721 MCU)中的 FRAM 的靈活性。借助這款 MCU,開發人員可以通過將軟件和關鍵數據(例如加密密鑰)放置在 IP 封裝 (IPE) 區域中來保護它們。一旦受到保護,特定 IPE 區域內的數據只能由該區域內的代碼訪問(圖 1)。
?
圖 1:TI MSP430FR69721 FRAM MCU 提供 IP 封裝 (IPE) 區域,僅允許同一 IPE 區域內的軟件代碼訪問 IPE 區域內的數據。TI 在其自己的安全引導加載程序 (SBL) 實用程序中使用了這種方法,該實用程序在加載過程中重新配置 IPE 區域訪問權限。(圖片由德州儀器提供)
使用這種方法,開發人員可以將加密密鑰連同他們的算法放在同一個 IPE 區域中并將其鎖定,以防止通過 JTAG 調試器、引導加載程序、DMA 甚至直接寄存器讀取進行任何外部訪問。與閃存不同,FRAM 不需要預擦除或充電泵進行寫入,而且它擁有幾乎無限的耐用性。因此,開發人員可以使用類似于 Diffie-Hellman 的公鑰協議來使用加密方法,這些協議會定期生成和丟棄秘密數據,包括安全會話密鑰、數據加密密鑰或消息驗證碼。TI MSP430FR69721 還包括片上 AES 加密協處理器和真隨機數種子,提供快速生成安全密鑰所需的所有功能。
對于要求使用沒有集成密鑰管理功能的 MCU 的物聯網設計,Atmel 的ATECC508A CryptoAuthentication IC 提供了一種有效的解決方案。ATECC508A 代表主機 MCU 處理安全密鑰交換機制,使用其集成的安全密鑰存儲和用于執行 ECDH(橢圓曲線 Diffie-Hellman)和 ECDSA(橢圓曲線數字簽名算法)的內置引擎。 除了電源和接地引腳外,該器件僅使用兩個額外引腳用于串行數據和串行時鐘輸入,以連接主機 MCU。ATECC508A 專為低功耗運行而設計,提供了一種近乎直接的解決方案,可通過安全密鑰管理功能補充基于 MCU 的設計(圖 2)。
?
圖 2:Atmel ATECC508A CryptoAuthentication IC 將安全密鑰存儲與加密功能相結合,可通過 2 線硬件接口簡化向任何 MCU 添加公鑰加密功能。(圖片由愛特梅爾提供)
公鑰協議在物聯網中特別有效,其中設備需要通過一種根本無法真正安全的介質進行安全通信。使用這些協議,通信伙伴實際上在不安全的連接上建立了一個共享秘密,并在會話期間使用它,甚至僅用于個人數據傳輸。因為每筆交易都可能應用一組新的密鑰,所以竊聽者無法挖掘傳輸以嘗試重新創建密鑰。
TI MSP430FR69721 MCU 和 Atmel ATECC508A 等器件非常適合動態創建和丟棄密鑰。盡管如此,物聯網應用程序可能依賴于不同的安全策略。例如,一種常見的安全方法依賴于永久存儲由制造商在發貨之前或由開發人員在部署之前生成的加密密鑰或其他秘密。
永久存儲
對于需要永久密鑰存儲的應用,設計人員可以利用Microchip Technology PIC24FJ256GB410 MCU 和 Atmel AT88SC6416C等器件中的安全一次性可編程 (OTP) 存儲器。OTP 存儲器特別有效,因為它可以在工廠或安裝前在現場輕松編程。然而,一旦寫入,OTP 數據既不能通過軟件命令或硬件復位清除,也不能通過重新編程器件來擦除。
Microchip PIC24FJ256GB410 MCU 在其集成加密引擎的深處嵌入了一個 OTP 存儲器陣列(圖 3)。對于加密/解密操作,注冊 CRYKEY 存儲操作的加密密鑰。寄存器 CRYTXTA 和 CRYTXTB 用作操作的輸入,而 CRYTXTC 存儲最終輸出。數據只能從 MCU 的特殊功能寄存器或 OTP 陣列寫入 CRYKEY,但放置在該寄存器中的任何數據都不能通過任何運行時操作讀回 - 從而確保任何關鍵數據的安全性。
?
圖 3:Microchip Technology PIC24FJ256GB410 MCU 的集成加密引擎可以使用作為安全事務的一部分動態創建或永久存儲在設備的一次性可編程 (OTP) 存儲器中的密鑰執行加密/解密操作。(圖片由微芯科技提供)
OTP 內容只能由 CRYKEY 寄存器訪問。事實上,MCU 不包括在任何操作模式下將數據從 OTP 存儲器讀取到任何用戶可訪問的存儲器空間。實際上,驗證 OTP 存儲器是否已正確編程的唯一方法是確認使用 OTP 的加密操作是否產生預期結果。
對于使用具有這些安全功能的 MCU 的設計,Atmel AT88SC6416C 提供了類似的功能。作為 Atmel CryptoMemory 系列的成員,AT88SC6416C 是一個 8 KB EEPROM,配置為 16 個 512 字節區域,并具有集成加密功能。除了 8 KB 安全讀/寫內存外,該設備還提供了一個 OTP 分區,用于永久、安全的密鑰存儲。工程師可以為設備的 16 個 512 字節區域中的每一個配置不同的訪問權限,或者將它們組合成更大的分區。此外,設備可以配置為對設備和主機之間交換的所有數據進行加密。
工程師可以利用簡單的硬件和軟件接口在設計中集成 AT88SC6416C 或 CryptoMemory 系列的其他成員。在硬件方面,CryptoMemory 設備使用兩線接口連接到 MCU,甚至可以使用與 2 線串行 EEPROM 相同的引腳排列。對于軟件編程,這些設備接受一個四字節指令,包括一個命令、兩個對應于地址(或子命令)的字節,以及一個包含與命令相關的數據字節數的字節。
CryptoMemory 設備支持用于寫入和讀取用戶區域、數據和設備密碼以及驗證身份驗證和加密的命令。因此,例如,寫入數據將涉及指定要使用的用戶區域:
B4 03 00 00
在哪里:
B4 表示這是系統寫操作
03表示這是一個選區操作
00 表示選擇的區域(本例中為區域 0)
在這種情況下,該指令中的最后一個字節的值為零 (00),因為這種類型的指令沒有與之關聯的附加數據字節。
現在選擇區域 0,下一條指令允許將數據寫入該區域:
B0 00 00 0B 5A 6F 6E 65 20 30 20 44 61 74 61
在哪里:
B0 表示這是一個用戶區寫操作
00 00 表示寫的起始地址
0B 表示要寫入的字節數
其余字節是要寫入區域 0 的數據值,從地址 0 開始。
使用這種方法,即使是設備初始化等相當復雜的操作也可以解析為簡單的字節序列流(圖 4)。
?
圖 4:Atmel 的 CryptoMemory 設備使用簡單的字節序列來讀取和寫入數據以及執行更復雜的操作,例如身份驗證和加密驗證。此處,此序列初始化 CryptoMemory 設備(本例中為 Atmel AT88SC0104C)。以星號開頭的行是注釋。(來源:愛特梅爾)
結論
隨著物聯網的發展,安全威脅將考驗開發人員確保物聯網應用程序受到保護和物聯網設備數據不受破壞的能力。盡管隨著威脅的出現,安全機制和策略將繼續發展,但每項安全措施最終都取決于底層加密密鑰的保密性。通過利用能夠提供關鍵安全性的 MCU 和專用 IC,開發人員將為提高物聯網安全性奠定基礎。
評論