小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

物聯(lián)網(wǎng)安全基礎(chǔ)知識:保護(hù)機(jī)密

 myallmy 2020-12-07

盡管基于硬件的加密設(shè)備可以減少物聯(lián)網(wǎng) (IoT) 的漏洞,但即便使用了最強(qiáng)大的加密設(shè)備,如果密鑰和相關(guān)數(shù)據(jù)缺乏足夠的保護(hù),安全性也會大打折扣。半導(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ī)制的安全性都會受到損害。早在 19 世紀(jì),密碼學(xué)家奧古斯特·柯克霍夫斯便曾指出,只要保證密鑰安全,加密系統(tǒng)就能保持安全——這一公理現(xià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ù)加密密鑰非常簡單,但實(shí)際上可能帶來重大挑戰(zhàn)。要實(shí)現(xiàn)更高級別的安全策略,將不可避免地用到多種采用不同算法的安全協(xié)議。這些協(xié)議和算法反過來需要協(xié)議本身創(chuàng)建的某種靜態(tài)密鑰和臨時(shí)密鑰的組合。例如,傳輸層安全性 (TLS) 會話在驗(yàn)證期間使用靜態(tài)密鑰,并將共享的臨時(shí)會話密鑰用于安全消息交換。

事實(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í)需要格外小心。對于物聯(lián)網(wǎng)設(shè)備,更大的挑戰(zhàn)可能在于如何在此數(shù)據(jù)處于多種狀態(tài)(靜止、傳輸中和使用中)下分別加以保護(hù)。保護(hù)靜態(tài)數(shù)據(jù)需要安全的存儲機(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ù)密鑰

啟用高級加密技術(shù)的半導(dǎo)體解決方案通常會提供某種安全的非易失性存儲器,用于存儲密鑰和其他機(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)證成功或失敗的信號(圖 1)。

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

創(chuàng)建新密鑰(同樣參見圖 2 左圖)后返回一個(gè) keyId。稍后要使用該密鑰,開發(fā)人員可通過其 keyId 引用該密鑰(圖 3,右圖),而不是通過系統(tǒng)總線公開實(shí)際密鑰值。使用 NXP 的 Plug & Trust 中間件,開發(fā)人員可以將兼容 Arduino 的 NXP Kinetis Freedom K64F 評估板與 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è)計(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)。


基于處理器的密鑰保護(hù)

并非每個(gè)物聯(lián)網(wǎng)設(shè)計(jì)都能容納專用的安全 IC。某些要求可能決定了必須使用其他加密方法,或存在與封裝、物料清單 (BOM)、成本或客戶規(guī)格有關(guān)的設(shè)計(jì)限制。針對這類設(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) 和信號量機(jī)制 (HSEM),與無線電子系統(tǒng)的專用 Arm Cortex-M0+ 微控制器 (CPU2) 通信。在 CPU2 子系統(tǒng)內(nèi),安全存儲器為高級加密標(biāo)準(zhǔn) (AES) 硬件加速器所用的密鑰提供了客戶密鑰存儲 (CKS) 區(qū)域(圖 4)。

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)用程序代碼對存儲器子區(qū)域進(jìn)行差異化的訪問控制。256 字節(jié)安全隨機(jī)存取存儲器 (RAM) 區(qū)域稱為 TrustRAM,提供了用于臨時(shí)密鑰的額外安全存儲。

安全的配置

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

本系列文章的第 4 部分將討論制造商針對特定的物聯(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)。

做好生產(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ù)依賴于制造差異和其他物理過程,致使該值對設(shè)備本身而言是唯一的,并且在正常系統(tǒng)操作下可以重復(fù)。如下所述,該結(jié)果值可用作唯一的加密私鑰,從根本上為每個(gè)啟用 PUF 的設(shè)備提供了內(nèi)置的密鑰。

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

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

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

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

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

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

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

開發(fā)人員可以使用 KEK 對定制密鑰和相關(guān)數(shù)據(jù)進(jìn)行加密,并將加密結(jié)果存儲在非安全的非易失性存儲器中。這種方法使開發(fā)人員即使在安全存儲空間有限的設(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)解決方案,而不會影響其他設(shè)計(jì)要求。

作者:Stephen Evanczuk

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多