時(shí)間:2022-11-28 10:07:48來源:Stephen Evanczuk
這是因?yàn)槿绻舫晒?,則可能導(dǎo)致企業(yè)和個(gè)人數(shù)據(jù)泄露。保護(hù)物聯(lián)網(wǎng)應(yīng)用的安全可能是一項(xiàng)非常艱巨的任務(wù),因?yàn)殚_發(fā)人員必須精心協(xié)調(diào)多種安全機(jī)制、協(xié)議和策略,而它們組合起來似乎非常復(fù)雜。在現(xiàn)實(shí)中,物聯(lián)網(wǎng)設(shè)備的安全可以建立在一些相對(duì)簡(jiǎn)單的原則之上,并使用硬件安全設(shè)備加以支撐。只要遵循完善的安全實(shí)踐,這些問題都能得到解決。本系列文章由多個(gè)部分組成,文中將提供一些實(shí)用的指導(dǎo),來幫助開發(fā)人員確保從一開始就遵循相關(guān)的最佳實(shí)踐。第 1 部分探討底層安全設(shè)計(jì)的加密算法。第 2 部分(本文)探討私鑰、密鑰管理和安全存儲(chǔ)在安全物聯(lián)網(wǎng)設(shè)計(jì)中所起的作用。第 3 部分檢查安全處理器的內(nèi)建機(jī)制,以緩解物聯(lián)網(wǎng)設(shè)備所面臨的其他類型威脅。第 4 部分明確并展示如何在高級(jí)處理器中應(yīng)用安全機(jī)制,幫助確保進(jìn)行必要的隔離,以緩解對(duì)物聯(lián)網(wǎng)設(shè)備運(yùn)行時(shí)環(huán)境進(jìn)行的攻擊。第 5 部分介紹如何在將物聯(lián)網(wǎng)設(shè)備連接到物聯(lián)網(wǎng)云資源時(shí),通過采用更高級(jí)別安全措施,讓這些設(shè)備實(shí)現(xiàn)持續(xù)的物聯(lián)網(wǎng)安全。
盡管基于硬件的加密設(shè)備可以減少物聯(lián)網(wǎng) (IoT) 的漏洞,但即便使用了最強(qiáng)大的加密設(shè)備,如果密鑰和相關(guān)數(shù)據(jù)缺乏足夠的保護(hù),安全性也會(huì)大打折扣。半導(dǎo)體制造商通過專用安全 IC 和在處理器中內(nèi)置各種安全機(jī)制,來解決密鑰和其他特權(quán)數(shù)據(jù)的保護(hù)問題。
本文將回顧密鑰在加密技術(shù)中所起的關(guān)鍵作用,并介紹 Maxim Integrated、NXP、STMicroelectronics 和 Microchip Technology 所提供的器件中內(nèi)置的不同密鑰保護(hù)機(jī)制。
密鑰在加密技術(shù)中的作用
如本系列第 1 部分所述,可以使用多種硬件支持的加密算法來創(chuàng)建唯一的消息哈希或簽名,甚至可以使用更廣泛的加密來將純文本加密為密文,以及將密文解密為純文本。盡管這些算法可以增強(qiáng)應(yīng)用的安全性,但能否保護(hù)這些應(yīng)用從根本上取決于加密算法所用的私鑰和其他機(jī)密數(shù)據(jù)的安全性。
在加密技術(shù)中,密鑰泄露意味著基于這些密鑰構(gòu)建的安全策略、協(xié)議和機(jī)制的安全性都會(huì)受到損害。早在 19 世紀(jì),密碼學(xué)家奧古斯特?柯克霍夫斯便曾指出,只要保證密鑰安全,加密系統(tǒng)就能保持安全——這一公理現(xiàn)在稱為柯克霍夫斯原理。更簡(jiǎn)單地說,“敵人知道系統(tǒng)”,這便是以信息論之父克勞德·香農(nóng)的名字命名的“香農(nóng)的格言”。
實(shí)際上,正是由于開發(fā)人員基于如此嚴(yán)格規(guī)定的著名算法構(gòu)建安全系統(tǒng),半導(dǎo)體制造商才得以放心地將其用于硬件加速型安全器件中。然而,最終保護(hù)這些系統(tǒng)的是這些算法所用的密鑰。
保護(hù)密鑰面臨的挑戰(zhàn)
盡管從概念上講,保護(hù)加密密鑰非常簡(jiǎn)單,但實(shí)際上可能帶來重大挑戰(zhàn)。要實(shí)現(xiàn)更高級(jí)別的安全策略,將不可避免地用到多種采用不同算法的安全協(xié)議。這些協(xié)議和算法反過來需要協(xié)議本身創(chuàng)建的某種靜態(tài)密鑰和臨時(shí)密鑰的組合。例如,傳輸層安全性 (TLS) 會(huì)話在驗(yàn)證期間使用靜態(tài)密鑰,并將共享的臨時(shí)會(huì)話密鑰用于安全消息交換。
事實(shí)上,美國國家標(biāo)準(zhǔn)技術(shù)研究院 (NIST) 確定了 19 種不同類型的密鑰以及另外 11 種需要保護(hù)的相關(guān)信息,例如橢圓曲線域參數(shù)和中間結(jié)果。NIST 進(jìn)一步建議,為了實(shí)現(xiàn)更強(qiáng)大的安全性,應(yīng)在特定時(shí)段內(nèi)保護(hù)與密鑰使用相關(guān)的信息,如表 1 所示。該表僅顯示完整的 NIST 建議[1]中列出的前幾種密鑰類型。
密鑰和相關(guān)數(shù)據(jù)需要受到保護(hù),這就意味著,開發(fā)人員在物聯(lián)網(wǎng)應(yīng)用中使用密鑰時(shí)需要格外小心。對(duì)于物聯(lián)網(wǎng)設(shè)備,更大的挑戰(zhàn)可能在于如何在此數(shù)據(jù)處于多種狀態(tài)(靜止、傳輸中和使用中)下分別加以保護(hù)。保護(hù)靜態(tài)數(shù)據(jù)需要安全的存儲(chǔ)機(jī)制;保護(hù)傳輸中的數(shù)據(jù)需要在通過網(wǎng)絡(luò)或系統(tǒng)總線傳輸時(shí)有用于保護(hù)密鑰的方法;保護(hù)使用中的數(shù)據(jù)則需要在將密鑰用于執(zhí)行加密算法時(shí)防止密鑰公開的機(jī)制。幸運(yùn)的是,開發(fā)人員可以找到各種各樣的安全設(shè)備,使用多種不同的機(jī)制來保護(hù)機(jī)密數(shù)據(jù)。
如何在啟用加密技術(shù)的半導(dǎo)體中保護(hù)密鑰
啟用高級(jí)加密技術(shù)的半導(dǎo)體解決方案通常會(huì)提供某種安全的非易失性存儲(chǔ)器,用于存儲(chǔ)密鑰和其他機(jī)密數(shù)據(jù),但就總體方法的性質(zhì)而言,存在明顯不同的兩大類安全設(shè)備:專用安全 IC 和啟用加密技術(shù)的處理器。
安全 IC 設(shè)計(jì)為自足式子系統(tǒng),可從主機(jī)處理器(通常通過串行總線通信)分擔(dān)算法執(zhí)行任務(wù)。例如,Maxim Integrated 的 DS28C36 安全驗(yàn)證器提供了 I2C 端口以及兩個(gè)通用 I/O (GPIO),可用于向主機(jī)處理器發(fā)送驗(yàn)證成功或失敗的信號(hào)(圖 1)。
圖 1:Maxim Integrated 的 DS28C36 安全驗(yàn)證器等安全設(shè)備提供了完整的子系統(tǒng),可以簡(jiǎn)化集成,同時(shí)增強(qiáng)對(duì)內(nèi)部密鑰和操作的保護(hù)。(圖片來源:Maxim Integrated)
軟件集成通常也很簡(jiǎn)單。例如,NXP 的 Plug & Trust 中間件庫將其 SE050 和 A71CH 安全元件設(shè)備的硬件功能抽象為幾個(gè)函數(shù)調(diào)用(圖 2)。
圖 2:NXP 的 Plug & Trust 中間件這類軟件庫允許開發(fā)人員使用一些直觀的函數(shù)調(diào)用來創(chuàng)建密鑰(左圖)、訪問密鑰(右圖),以及充分利用 NXP 的 SE050 和 A71CH 安全元件設(shè)備中的底層功能。(圖片來源:NXP)
創(chuàng)建新密鑰(同樣參見圖 2 左圖)后返回一個(gè) keyId。稍后要使用該密鑰,開發(fā)人員可通過其 keyId 引用該密鑰(圖 3.右圖),而不是通過系統(tǒng)總線公開實(shí)際密鑰值。使用 NXP 的 Plug & Trust 中間件,開發(fā)人員可以將兼容 Arduino 的 NXP KineTIs Freedom K64F 評(píng)估板與 NXP OM-SE050ARD 擴(kuò)展板搭配使用來開發(fā) SE050.或與 NXP OM3710/A71CHARD 板搭配使用來開發(fā) AC71CH,從而快速實(shí)現(xiàn)安全應(yīng)用。
諸如 Maxim Integrated 的 DS28C36、NXP 的 SE050、NXP 的 AC71CHTK2/TOBC2VJ 之類專用安全 IC 以及此分類中的其他器件均具有多種明顯的優(yōu)勢(shì)。除了提供相對(duì)簡(jiǎn)單的方法為設(shè)計(jì)添加安全的功能外,將功能集成到專用安全 IC 中還能限制公開機(jī)密數(shù)據(jù)和操作。例如,Maxim Integrated 的 DS28C36 集成了硬件加密加速器、真隨機(jī)數(shù)發(fā)生器、8 千字節(jié) (Kb) 安全 EEPROM 以及其他功能模塊。DS28C36 在驗(yàn)證橢圓曲線數(shù)字簽名算法 (ECDSA) 固件簽名時(shí),可確保保護(hù)靜態(tài)、傳輸中和使用中的數(shù)據(jù),因?yàn)樗借€、相關(guān)的數(shù)據(jù)(參見圖 1)以及使用這些密鑰的操作均封閉在器件內(nèi)(圖 3)。
圖 3:Maxim Integrated 的 DS28C36 等安全器件的集成功能意味著,私鑰和相關(guān)的數(shù)據(jù)均封閉在芯片內(nèi)。(圖片來源:Maxim Integrated)
基于處理器的密鑰保護(hù)
并非每個(gè)物聯(lián)網(wǎng)設(shè)計(jì)都能容納專用的安全 IC。某些要求可能決定了必須使用其他加密方法,或存在與封裝、物料清單 (BOM)、成本或客戶規(guī)格有關(guān)的設(shè)計(jì)限制。針對(duì)這類設(shè)計(jì),啟用安全性的處理器,如 STMicroelectronics 的 STM32WB55 和 Microchip Technology 的 ATSAML11.提供了加密算法硬件加速引擎和機(jī)密數(shù)據(jù)保護(hù)機(jī)制的組合。雖然本文重點(diǎn)介紹密鑰保護(hù),但這些處理器及其他處理器還提供了其他多種精巧的安全功能,我們將在本系列的第 3 部分介紹這些功能。
在 STMicroelectronics 的雙核 STM32WB55 無線設(shè)備中,Arm? Cortex?-M4 CPU (CPU1) 用作主機(jī)處理器,通過一個(gè)專用的處理器間通信控制器 (IPCC) 和信號(hào)量機(jī)制 (HSEM),與無線電子系統(tǒng)的專用 Arm Cortex-M0+ 微控制器 (CPU2) 通信。在 CPU2 子系統(tǒng)內(nèi),安全存儲(chǔ)器為高級(jí)加密標(biāo)準(zhǔn) (AES) 硬件加速器所用的密鑰提供了客戶密鑰存儲(chǔ) (CKS) 區(qū)域(圖 4)。
圖 4:STMicroelectronics 的 STM32WB55 雙核處理器僅允許無線電子系統(tǒng)內(nèi)核 (CPU2) 直接訪問密鑰,但允許在主機(jī)內(nèi)核 (CPU1) 上運(yùn)行的可信應(yīng)用程序間接使用密鑰。(圖片來源:STMicroelectronics)
STM32WB55 架構(gòu)可保護(hù) CKS 密鑰不被調(diào)試端口或主機(jī) CPU1 處理器運(yùn)行的非安全例程訪問。與此同時(shí),在主機(jī) CPU1 上運(yùn)行的可信應(yīng)用程序則可通過使用密鑰索引引用密鑰的方式,使用 AES 加密技術(shù)中的特定 CKS 密鑰。AES 硬件模塊通過內(nèi)部總線從 CKS 區(qū)域接收所需的密鑰,從而確保密鑰傳輸在 CPU2 子系統(tǒng)內(nèi)保持受保護(hù)的狀態(tài)。
在基于 Arm Cortex-M23 的 ATSAML11 處理器中,Microchip Technology 依賴于 Arm TrustZone 技術(shù)內(nèi)置的安全功能。TrustZone 使用基于硬件的機(jī)制來強(qiáng)制隔離可信和不可信資源。
在 ATSAML11 處理器中,Microchip 使用 TrustZone 實(shí)現(xiàn)定義歸屬單元 (IDAU) 實(shí)施安全策略,包括按安全和非安全應(yīng)用程序代碼對(duì)存儲(chǔ)器子區(qū)域進(jìn)行差異化的訪問控制。256 字節(jié)安全隨機(jī)存取存儲(chǔ)器 (RAM) 區(qū)域稱為 TrustRAM,提供了用于臨時(shí)密鑰的額外安全存儲(chǔ)。
安全的配置
專用的安全 IC 和處理器為開發(fā)人員提供了保護(hù)物聯(lián)網(wǎng)設(shè)備中的密鑰和相關(guān)數(shù)據(jù)所需的機(jī)制。但是,由于在最初使用密鑰或證書加載或配置安全 IC 或處理器的過程中會(huì)出現(xiàn)故障,導(dǎo)致經(jīng)常出現(xiàn)安全漏洞,致使密鑰容易被盜。網(wǎng)絡(luò)罪犯通過黑市迅速出售這類盜取的密鑰和受損的證書,從而使黑客能夠利用看似有效的憑據(jù)滲透安全網(wǎng)絡(luò)。
本系列文章的第 4 部分將討論制造商針對(duì)特定的物聯(lián)網(wǎng)云服務(wù)(包括 Amazon Web Services、Microsoft Azure、Google Cloud 等)使用密鑰和證書預(yù)先配置的安全設(shè)備和開發(fā)工具包。但在生產(chǎn)部署中,開發(fā)人員通常更傾向于或需要使用自己的定制密鑰和證書。
為支持定制配置,大多數(shù)半導(dǎo)體制造商通過自己的設(shè)施或與配置合作伙伴合作提供配置服務(wù)。例如,Microchip 為設(shè)備配置的定制密鑰是使用第三方合作伙伴提供的配置套件(包括 Trustonic 和 IAR Systems 的 Secure Thingz)中包含的安全包裝工具創(chuàng)建的(圖 5)。
圖 5:原始設(shè)備制造商 (OEM) 的開發(fā)人員可以使用安全包裝工具來保護(hù)以后將在制造合作伙伴的安全編程工具中使用的密鑰,以配置安全的微控制器(如 Microchip SAML11)。(圖片來源:Microchip Technology)
做好生產(chǎn)準(zhǔn)備后,OEM 開發(fā)人員使用安全包裝工具以加密形式向 Microchip 工廠提供密鑰和證書,這些密鑰和證書只能由合作伙伴安全編程設(shè)施內(nèi)的硬件安全模塊進(jìn)行解密。這種方法可滿足在非安全網(wǎng)絡(luò)上交換生產(chǎn)信息的需求,同時(shí)最終產(chǎn)生了具有安全配置的密鑰和固件的生產(chǎn)就緒設(shè)備。
使用 PUF 技術(shù)的自配置
在啟用安全性的處理器和專用 IC 中,物理不可克隆功能 (PUF) 技術(shù)的使用越來越多,這或許提供了一種甚至更安全的配置方法。利用 PUF 技術(shù),安全設(shè)備可以使用根據(jù)每個(gè)設(shè)備的唯一特征派生的密鑰,而不是將密鑰顯式加載到設(shè)備中。
PUF 技術(shù)依賴于制造差異和其他物理過程,致使該值對(duì)設(shè)備本身而言是唯一的,并且在正常系統(tǒng)操作下可以重復(fù)。如下所述,該結(jié)果值可用作唯一的加密私鑰,從根本上為每個(gè)啟用 PUF 的設(shè)備提供了內(nèi)置的密鑰。
除了實(shí)現(xiàn)自配置外,PUF 技術(shù)還增加了另一層安全性。若試圖滲透設(shè)備以公開設(shè)備唯一值,則會(huì)改變用于生成該設(shè)備唯一值的特征,從而改變生成的值。
盡管存在不同的 PUF 機(jī)制,但啟用 PUF 技術(shù)的設(shè)備的基本方法大體相同。例如,Maxim Integrated 在其 MAX32520 安全微控制器以及一些安全 IC 中使用的 ChipDNA PUF 功能,需依賴于一系列模擬 PUF 元件和控制邏輯來生成密鑰(圖 6)。
圖 6:在 Maxim Integrated 的 ChipDNA PUF 技術(shù)中,片上控制邏輯使用一系列 PUF 元件的隨機(jī)狀態(tài)來生成一致的設(shè)備專屬密鑰。(圖片來源:Maxim Integrated)
在 Maxim Integrated 的 DS28C39 ECDSA 安全驗(yàn)證器中,ChipDNA PUF 輸出將用作 ECDSA 操作的私鑰,以及保護(hù)相關(guān)數(shù)據(jù)的私鑰(圖 7)。
圖 7:Maxim Integrated 的 DS28C39 ECDSA 安全驗(yàn)證器使用由其片上 ChipDNA PUF 電路生成的私鑰。(圖片來源:Maxim Integrated)
在啟用 PUF 技術(shù)的 LPC55S 處理器系列中,NXP 基于根據(jù) SRAM 陣列的初始隨機(jī)狀態(tài)生成的輸出使用 PUF 技術(shù)(圖 8)。
圖 8:在 PUF 實(shí)現(xiàn)中,NXP 的 LPC55S 處理器系列使用 SRAM 中的啟動(dòng)數(shù)據(jù)生成數(shù)字指紋和相關(guān)的激活碼,隨后可將其用于恢復(fù)數(shù)字指紋、進(jìn)行加密或生成私鑰。(圖片來源:NXP)
在這些設(shè)備中,PUF 的使用從注冊(cè)操作開始,該操作生成唯一的數(shù)字指紋和相關(guān)的激活碼,在執(zhí)行新的注冊(cè)操作之前這些指紋和激活碼會(huì)一直有效。激活碼存儲(chǔ)在設(shè)備的受保護(hù)閃存中,設(shè)備利用該激活碼,通過在上電時(shí)以一致方式生成的 SRAM 啟動(dòng)數(shù)據(jù)來重建數(shù)字指紋。
有了數(shù)字指紋,開發(fā)人員便可以對(duì)自己的密鑰進(jìn)行加密,或生成密鑰。在此過程中,設(shè)備將返回一個(gè)密鑰碼。通過提供激活碼、密鑰碼和索引,開發(fā)人員可以使設(shè)備從適當(dāng)?shù)钠厦荑€插槽解密所需的私鑰,并將其交付給密碼軟件庫。密鑰插槽 0 提供一種特殊的密鑰解密方法,通過內(nèi)部總線將密鑰直接交付給處理器的 AES 硬件加密引擎(圖 9)。
LPC55S 的 PUF 數(shù)字簽名在密鑰加密和解密中起著密鑰加密密鑰 (KEK) 的作用,該密鑰傳統(tǒng)上用于增強(qiáng)對(duì)靜態(tài)或傳輸中的機(jī)密數(shù)據(jù)的保護(hù)。使用 KEK 有助于緩解保護(hù)機(jī)密數(shù)據(jù)所需的對(duì)更大安全存儲(chǔ)及相關(guān)內(nèi)部機(jī)制的需求。
圖 9:NXP 的 LPC55S 處理器系列使用其數(shù)字指紋作為 KEK,對(duì)其密鑰存儲(chǔ)區(qū)中保護(hù)的并以編程方式通過相關(guān)的激活碼、密鑰碼和索引引用的密鑰進(jìn)行解密。(圖片來源:NXP)
開發(fā)人員可以使用 KEK 對(duì)定制密鑰和相關(guān)數(shù)據(jù)進(jìn)行加密,并將加密結(jié)果存儲(chǔ)在非安全的非易失性存儲(chǔ)器中。這種方法使開發(fā)人員即使在安全存儲(chǔ)空間有限的設(shè)備中也能保護(hù)各種類型的密鑰和相關(guān)數(shù)據(jù)。有了 PUF 生成的 KEK,開發(fā)人員便可以實(shí)現(xiàn)能夠在整個(gè)開發(fā)周期中保護(hù)應(yīng)用的安全物聯(lián)網(wǎng)設(shè)備。
總結(jié)
帶有加密加速器的專用安全 IC 和安全處理器的出現(xiàn),極大地增強(qiáng)了開發(fā)人員構(gòu)建安全系統(tǒng)的能力。但是,安全系統(tǒng)嚴(yán)重依賴于私鑰及其他與加密機(jī)制和協(xié)議相關(guān)的數(shù)據(jù)的安全性。安全設(shè)備通過采用多種不同的機(jī)制,可以為靜態(tài)、傳輸中和使用中的機(jī)密數(shù)據(jù)提供保護(hù)。利用這些設(shè)備,開發(fā)人員可以構(gòu)建更安全的物聯(lián)網(wǎng)解決方案,而不會(huì)影響其他設(shè)計(jì)要求。
中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(m.u63ivq3.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>以簡(jiǎn)驅(qū)繁,精準(zhǔn)智控 | 維智S1系列新一代...
2024-11-01
新品發(fā)布:CD300系列總線型伺服驅(qū)動(dòng)器
2024-10-31
2024-10-31
2024-10-31
新勢(shì)能 新期待|維智B1L直線伺服驅(qū)動(dòng)器
2024-10-31
纖薄之間,化繁為簡(jiǎn)|合信全新simple系...
2024-10-29
推薦專題
更多>