物聯(lián)網(wǎng)安全基礎知識 — 第 2 部分:保護機密

發(fā)布時(shí)間:2022-3-30 10:32    發(fā)布者:eechina
關(guān)鍵詞: 物聯(lián)網(wǎng) , 密鑰
編者按:盡管物聯(lián)網(wǎng)設備得到了大量普及,但保護這些設備的安全依然持續引人關(guān)注;在某種程度上,若要在工業(yè)物聯(lián)網(wǎng) (IIoT) 和任務(wù)關(guān)鍵型應用中采用聯(lián)網(wǎng)設備,相關(guān)的安全挑戰可能會(huì )成為阻礙。這是因為如果攻擊成功,則可能導致企業(yè)和個(gè)人數據泄露。保護物聯(lián)網(wǎng)應用的安全可能是一項非常艱巨的任務(wù),因為開(kāi)發(fā)人員必須精心協(xié)調多種安全機制、協(xié)議和策略,而它們組合起來(lái)似乎非常復雜。在現實(shí)中,物聯(lián)網(wǎng)設備的安全可以建立在一些相對簡(jiǎn)單的原則之上,并使用硬件安全設備加以支撐。只要遵循完善的安全實(shí)踐,這些問(wèn)題都能得到解決。本系列文章由多個(gè)部分組成,文中將提供一些實(shí)用的指導,來(lái)幫助開(kāi)發(fā)人員確保從一開(kāi)始就遵循相關(guān)的最佳實(shí)踐。第 1 部分探討底層安全設計的加密算法。第 2 部分(本文)探討私鑰、密鑰管理和安全存儲在安全物聯(lián)網(wǎng)設計中所起的作用。第 3 部分檢查安全處理器的內建機制,以緩和企圖破壞物聯(lián)網(wǎng)設備上系統和應用軟件執行的威脅。第 4 部分明確并展示如何在高級處理器中應用安全機制,幫助確保進(jìn)行必要的隔離,以緩解對物聯(lián)網(wǎng)設備運行時(shí)環(huán)境進(jìn)行的攻擊。第 5 部分介紹如何在將物聯(lián)網(wǎng)設備連接到物聯(lián)網(wǎng)云資源時(shí),通過(guò)采用更高級別安全措施,讓這些設備實(shí)現持續的物聯(lián)網(wǎng)安全。

盡管基于硬件的加密設備可以減少物聯(lián)網(wǎng) (IoT) 的漏洞,但即便使用了最強大的加密設備,如果密鑰和相關(guān)數據缺乏足夠的保護,安全性也會(huì )大打折扣。半導體制造商通過(guò)專(zhuān)用安全 IC 和在處理器中內置各種安全機制,來(lái)解決密鑰和其他特權數據的保護問(wèn)題。

本文將回顧密鑰在加密技術(shù)中所起的關(guān)鍵作用,并介紹 Maxim Integrated、NXP、STMicroelectronics 和 Microchip Technology 所提供的器件中內置的不同密鑰保護機制。

密鑰在加密技術(shù)中的作用

如本系列第 1 部分所述,可以使用多種硬件支持的加密算法來(lái)創(chuàng )建唯一的消息哈;蚝灻,甚至可以使用更廣泛的加密來(lái)將純文本加密為密文,以及將密文解密為純文本。盡管這些算法可以增強應用的安全性,但能否保護這些應用從根本上取決于加密算法所用的私鑰和其他機密數據的安全性。

在加密技術(shù)中,密鑰泄露意味著(zhù)基于這些密鑰構建的安全策略、協(xié)議和機制的安全性都會(huì )受到損害。早在 19 世紀,密碼學(xué)家?jiàn)W古斯特•柯克霍夫斯便曾指出,只要保證密鑰安全,加密系統就能保持安全——這一公理現在稱(chēng)為柯克霍夫斯原理。更簡(jiǎn)單地說(shuō),“敵人知道系統”,這便是以信息論之父克勞德·香農的名字命名的“香農的格言”。

實(shí)際上,正是由于開(kāi)發(fā)人員基于如此嚴格規定的著(zhù)名算法構建安全系統,半導體制造商才得以放心地將其用于硬件加速型安全器件中。然而,最終保護這些系統的是這些算法所用的密鑰。

保護密鑰面臨的挑戰

盡管從概念上講,保護加密密鑰非常簡(jiǎn)單,但實(shí)際上可能帶來(lái)重大挑戰。要實(shí)現更高級別的安全策略,將不可避免地用到多種采用不同算法的安全協(xié)議。這些協(xié)議和算法反過(guò)來(lái)需要協(xié)議本身創(chuàng )建的某種靜態(tài)密鑰和臨時(shí)密鑰的組合。例如,傳輸層安全性 (TLS) 會(huì )話(huà)在驗證期間使用靜態(tài)密鑰,并將共享的臨時(shí)會(huì )話(huà)密鑰用于安全消息交換。

事實(shí)上,美國國家標準技術(shù)研究院 (NIST) 確定了 19 種不同類(lèi)型的密鑰以及另外 11 種需要保護的相關(guān)信息,例如橢圓曲線(xiàn)域參數和中間結果。NIST 進(jìn)一步建議,為了實(shí)現更強大的安全性,應在特定時(shí)段內保護與密鑰使用相關(guān)的信息,如表 1 所示。該表僅顯示完整的 NIST 建議[1]中列出的前幾種密鑰類(lèi)型。


表 1:此內容選自完整的 NIST 建議,列出了在指定期間應該保護的幾種不同類(lèi)型的密鑰及相關(guān)的信息。(表格來(lái)源:Digi-Key Electronics,原始資料來(lái)源于 NIST)

密鑰和相關(guān)數據需要受到保護,這就意味著(zhù),開(kāi)發(fā)人員在物聯(lián)網(wǎng)應用中使用密鑰時(shí)需要格外小心。對于物聯(lián)網(wǎng)設備,更大的挑戰可能在于如何在此數據處于多種狀態(tài)(靜止、傳輸中和使用中)下分別加以保護。保護靜態(tài)數據需要安全的存儲機制;保護傳輸中的數據需要在通過(guò)網(wǎng)絡(luò )或系統總線(xiàn)傳輸時(shí)有用于保護密鑰的方法;保護使用中的數據則需要在將密鑰用于執行加密算法時(shí)防止密鑰公開(kāi)的機制。幸運的是,開(kāi)發(fā)人員可以找到各種各樣的安全設備,使用多種不同的機制來(lái)保護機密數據。

如何在啟用加密技術(shù)的半導體中保護密鑰

啟用高級加密技術(shù)的半導體解決方案通常會(huì )提供某種安全的非易失性存儲器,用于存儲密鑰和其他機密數據,但就總體方法的性質(zhì)而言,存在明顯不同的兩大類(lèi)安全設備:專(zhuān)用安全 IC 和啟用加密技術(shù)的處理器。

安全 IC 設計為自足式子系統,可從主機處理器(通常通過(guò)串行總線(xiàn)通信)分擔算法執行任務(wù)。例如,Maxim Integrated 的 DS28C36 安全驗證器提供了 I2C 端口以及兩個(gè)通用 I/O (GPIO),可用于向主機處理器發(fā)送驗證成功或失敗的信號(圖 1)。


圖 1:Maxim Integrated 的 DS28C36 安全驗證器等安全設備提供了完整的子系統,可以簡(jiǎn)化集成,同時(shí)增強對內部密鑰和操作的保護。(圖片來(lái)源:Maxim Integrated)

軟件集成通常也很簡(jiǎn)單。例如,NXP 的 Plug & Trust 中間件庫將其 SE050 和 A71CH 安全元件設備的硬件功能抽象為幾個(gè)函數調用(圖 2)。


圖 2:NXP 的 Plug & Trust 中間件這類(lèi)軟件庫允許開(kāi)發(fā)人員使用一些直觀(guān)的函數調用來(lái)創(chuàng )建密鑰(左圖)、訪(fǎng)問(wèn)密鑰(右圖),以及充分利用 NXP 的 SE050 和 A71CH 安全元件設備中的底層功能。(圖片來(lái)源:NXP)

創(chuàng )建新密鑰(同樣參見(jiàn)圖 2 左圖)后返回一個(gè) keyId。稍后要使用該密鑰,開(kāi)發(fā)人員可通過(guò)其 keyId 引用該密鑰(圖 3,右圖),而不是通過(guò)系統總線(xiàn)公開(kāi)實(shí)際密鑰值。使用 NXP 的 Plug & Trust 中間件,開(kāi)發(fā)人員可以將兼容 Arduino 的 NXP Kinetis Freedom K64F 評估板與 NXP OM-SE050ARD 擴展板搭配使用來(lái)開(kāi)發(fā) SE050,或與 NXP OM3710/A71CHARD 板搭配使用來(lái)開(kāi)發(fā) AC71CH,從而快速實(shí)現安全應用。

諸如 Maxim Integrated 的 DS28C36、NXP 的 SE050、NXP 的 AC71CHTK2/TOBC2VJ 之類(lèi)專(zhuān)用安全 IC 以及此分類(lèi)中的其他器件均具有多種明顯的優(yōu)勢。除了提供相對簡(jiǎn)單的方法為設計添加安全的功能外,將功能集成到專(zhuān)用安全 IC 中還能限制公開(kāi)機密數據和操作。例如,Maxim Integrated 的 DS28C36 集成了硬件加密加速器、真隨機數發(fā)生器、8 千字節 (Kb) 安全 EEPROM 以及其他功能模塊。DS28C36 在驗證橢圓曲線(xiàn)數字簽名算法 (ECDSA) 固件簽名時(shí),可確保保護靜態(tài)、傳輸中和使用中的數據,因為私鑰、相關(guān)的數據(參見(jiàn)圖 1)以及使用這些密鑰的操作均封閉在器件內(圖 3)。


圖 3:Maxim Integrated 的 DS28C36 等安全器件的集成功能意味著(zhù),私鑰和相關(guān)的數據均封閉在芯片內。(圖片來(lái)源:Maxim Integrated)

基于處理器的密鑰保護

并非每個(gè)物聯(lián)網(wǎng)設計都能容納專(zhuān)用的安全 IC。某些要求可能決定了必須使用其他加密方法,或存在與封裝、物料清單 (BOM)、成本或客戶(hù)規格有關(guān)的設計限制。針對這類(lèi)設計,啟用安全性的處理器,如 STMicroelectronics 的 STM32WB55 和 Microchip Technology 的 ATSAML11,提供了加密算法硬件加速引擎和機密數據保護機制的組合。雖然本文重點(diǎn)介紹密鑰保護,但這些處理器及其他處理器還提供了其他多種精巧的安全功能,我們將在本系列的第 3 部分介紹這些功能。

在 STMicroelectronics 的雙核 STM32WB55 無(wú)線(xiàn)設備中,Arm® Cortex®-M4 CPU (CPU1) 用作主機處理器,通過(guò)一個(gè)專(zhuān)用的處理器間通信控制器 (IPCC) 和信號量機制 (HSEM),與無(wú)線(xiàn)電子系統的專(zhuān)用 Arm Cortex-M0+ 微控制器 (CPU2) 通信。在 CPU2 子系統內,安全存儲器為高級加密標準 (AES) 硬件加速器所用的密鑰提供了客戶(hù)密鑰存儲 (CKS) 區域(圖 4)。


圖 4:STMicroelectronics 的 STM32WB55 雙核處理器僅允許無(wú)線(xiàn)電子系統內核 (CPU2) 直接訪(fǎng)問(wèn)密鑰,但允許在主機內核 (CPU1) 上運行的可信應用程序間接使用密鑰。(圖片來(lái)源:STMicroelectronics)

STM32WB55 架構可保護 CKS 密鑰不被調試端口或主機 CPU1 處理器運行的非安全例程訪(fǎng)問(wèn)。與此同時(shí),在主機 CPU1 上運行的可信應用程序則可通過(guò)使用密鑰索引引用密鑰的方式,使用 AES 加密技術(shù)中的特定 CKS 密鑰。AES 硬件模塊通過(guò)內部總線(xiàn)從 CKS 區域接收所需的密鑰,從而確保密鑰傳輸在 CPU2 子系統內保持受保護的狀態(tài)。

在基于 Arm Cortex-M23 的 ATSAML11 處理器中,Microchip Technology 依賴(lài)于 Arm TrustZone 技術(shù)內置的安全功能。TrustZone 使用基于硬件的機制來(lái)強制隔離可信和不可信資源。

在 ATSAML11 處理器中,Microchip 使用 TrustZone 實(shí)現定義歸屬單元 (IDAU) 實(shí)施安全策略,包括按安全和非安全應用程序代碼對存儲器子區域進(jìn)行差異化的訪(fǎng)問(wèn)控制。256 字節安全隨機存取存儲器 (RAM) 區域稱(chēng)為 TrustRAM,提供了用于臨時(shí)密鑰的額外安全存儲。

安全的配置

專(zhuān)用的安全 IC 和處理器為開(kāi)發(fā)人員提供了保護物聯(lián)網(wǎng)設備中的密鑰和相關(guān)數據所需的機制。但是,由于在最初使用密鑰或證書(shū)加載或配置安全 IC 或處理器的過(guò)程中會(huì )出現故障,導致經(jīng)常出現安全漏洞,致使密鑰容易被盜。網(wǎng)絡(luò )罪犯通過(guò)黑市迅速出售這類(lèi)盜取的密鑰和受損的證書(shū),從而使黑客能夠利用看似有效的憑據滲透安全網(wǎng)絡(luò )。

本系列文章的第 4 部分將討論制造商針對特定的物聯(lián)網(wǎng)云服務(wù)(包括 Amazon Web Services、Microsoft Azure、Google Cloud 等)使用密鑰和證書(shū)預先配置的安全設備和開(kāi)發(fā)工具包。但在生產(chǎn)部署中,開(kāi)發(fā)人員通常更傾向于或需要使用自己的定制密鑰和證書(shū)。

為支持定制配置,大多數半導體制造商通過(guò)自己的設施或與配置合作伙伴合作提供配置服務(wù)。例如,Microchip 為設備配置的定制密鑰是使用第三方合作伙伴提供的配置套件(包括 Trustonic 和 IAR Systems 的 Secure Thingz)中包含的安全包裝工具創(chuàng )建的(圖 5)。


圖 5:原始設備制造商 (OEM) 的開(kāi)發(fā)人員可以使用安全包裝工具來(lái)保護以后將在制造合作伙伴的安全編程工具中使用的密鑰,以配置安全的微控制器(如 Microchip SAML11)。(圖片來(lái)源:Microchip Technology)

做好生產(chǎn)準備后,OEM 開(kāi)發(fā)人員使用安全包裝工具以加密形式向 Microchip 工廠(chǎng)提供密鑰和證書(shū),這些密鑰和證書(shū)只能由合作伙伴安全編程設施內的硬件安全模塊進(jìn)行解密。這種方法可滿(mǎn)足在非安全網(wǎng)絡(luò )上交換生產(chǎn)信息的需求,同時(shí)最終產(chǎn)生了具有安全配置的密鑰和固件的生產(chǎn)就緒設備。

使用 PUF 技術(shù)的自配置

在啟用安全性的處理器和專(zhuān)用 IC 中,物理不可克隆功能 (PUF) 技術(shù)的使用越來(lái)越多,這或許提供了一種甚至更安全的配置方法。利用 PUF 技術(shù),安全設備可以使用根據每個(gè)設備的唯一特征派生的密鑰,而不是將密鑰顯式加載到設備中。

PUF 技術(shù)依賴(lài)于制造差異和其他物理過(guò)程,致使該值對設備本身而言是唯一的,并且在正常系統操作下可以重復。如下所述,該結果值可用作唯一的加密私鑰,從根本上為每個(gè)啟用 PUF 的設備提供了內置的密鑰。

除了實(shí)現自配置外,PUF 技術(shù)還增加了另一層安全性。若試圖滲透設備以公開(kāi)設備唯一值,則會(huì )改變用于生成該設備唯一值的特征,從而改變生成的值。

盡管存在不同的 PUF 機制,但啟用 PUF 技術(shù)的設備的基本方法大體相同。例如,Maxim Integrated 在其 MAX32520 安全微控制器以及一些安全 IC 中使用的 ChipDNA PUF 功能,需依賴(lài)于一系列模擬 PUF 元件和控制邏輯來(lái)生成密鑰(圖 6)。


圖 6:在 Maxim Integrated 的 ChipDNA PUF 技術(shù)中,片上控制邏輯使用一系列 PUF 元件的隨機狀態(tài)來(lái)生成一致的設備專(zhuān)屬密鑰。(圖片來(lái)源:Maxim Integrated)

在 Maxim Integrated 的 DS28C39 ECDSA 安全驗證器中,ChipDNA PUF 輸出將用作 ECDSA 操作的私鑰,以及保護相關(guān)數據的私鑰(圖 7)。


圖 7:Maxim Integrated 的 DS28C39 ECDSA 安全驗證器使用由其片上 ChipDNA PUF 電路生成的私鑰。(圖片來(lái)源:Maxim Integrated)

在啟用 PUF 技術(shù)的 LPC55S 處理器系列中,NXP 基于根據 SRAM 陣列的初始隨機狀態(tài)生成的輸出使用 PUF 技術(shù)(圖 8)。


圖 8:在 PUF 實(shí)現中,NXP 的 LPC55S 處理器系列使用 SRAM 中的啟動(dòng)數據生成數字指紋和相關(guān)的激活碼,隨后可將其用于恢復數字指紋、進(jìn)行加密或生成私鑰。(圖片來(lái)源:NXP)

在這些設備中,PUF 的使用從注冊操作開(kāi)始,該操作生成唯一的數字指紋和相關(guān)的激活碼,在執行新的注冊操作之前這些指紋和激活碼會(huì )一直有效。激活碼存儲在設備的受保護閃存中,設備利用該激活碼,通過(guò)在上電時(shí)以一致方式生成的 SRAM 啟動(dòng)數據來(lái)重建數字指紋。

有了數字指紋,開(kāi)發(fā)人員便可以對自己的密鑰進(jìn)行加密,或生成密鑰。在此過(guò)程中,設備將返回一個(gè)密鑰碼。通過(guò)提供激活碼、密鑰碼和索引,開(kāi)發(fā)人員可以使設備從適當的片上密鑰插槽解密所需的私鑰,并將其交付給密碼軟件庫。密鑰插槽 0 提供一種特殊的密鑰解密方法,通過(guò)內部總線(xiàn)將密鑰直接交付給處理器的 AES 硬件加密引擎(圖 9)。

LPC55S 的 PUF 數字簽名在密鑰加密和解密中起著(zhù)密鑰加密密鑰 (KEK) 的作用,該密鑰傳統上用于增強對靜態(tài)或傳輸中的機密數據的保護。使用 KEK 有助于緩解保護機密數據所需的對更大安全存儲及相關(guān)內部機制的需求。


圖 9:NXP 的 LPC55S 處理器系列使用其數字指紋作為 KEK,對其密鑰存儲區中保護的并以編程方式通過(guò)相關(guān)的激活碼、密鑰碼和索引引用的密鑰進(jìn)行解密。(圖片來(lái)源:NXP)

開(kāi)發(fā)人員可以使用 KEK 對定制密鑰和相關(guān)數據進(jìn)行加密,并將加密結果存儲在非安全的非易失性存儲器中。這種方法使開(kāi)發(fā)人員即使在安全存儲空間有限的設備中也能保護各種類(lèi)型的密鑰和相關(guān)數據。有了 PUF 生成的 KEK,開(kāi)發(fā)人員便可以實(shí)現能夠在整個(gè)開(kāi)發(fā)周期中保護應用的安全物聯(lián)網(wǎng)設備。

總結

帶有加密加速器的專(zhuān)用安全 IC 和安全處理器的出現,極大地增強了開(kāi)發(fā)人員構建安全系統的能力。但是,安全系統嚴重依賴(lài)于私鑰及其他與加密機制和協(xié)議相關(guān)的數據的安全性。安全設備通過(guò)采用多種不同的機制,可以為靜態(tài)、傳輸中和使用中的機密數據提供保護。利用這些設備,開(kāi)發(fā)人員可以構建更安全的物聯(lián)網(wǎng)解決方案,而不會(huì )影響其他設計要求。


來(lái)源:Digi-Key
作者:Stephen Evanczuk
本文地址:http://selenalain.com/thread-786500-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页