一些安全IC被設(shè)計(jì)為用作應(yīng)用處理器的配套IC。Maxim MAXQ1061/MAXQ1062系列和可信計(jì)算組??定義的可信平臺(tái)模塊 (TPM) 就是這樣的配套芯片。物聯(lián)網(wǎng)中的安全目標(biāo)涉及設(shè)備和服務(wù)器身份驗(yàn)證、敏感數(shù)據(jù)保護(hù)、通信的機(jī)密性和完整性(例如 TLS 協(xié)議)、設(shè)備完整性和知識(shí)產(chǎn)權(quán)保護(hù)。
在更具體的例子中,物聯(lián)網(wǎng)節(jié)點(diǎn)設(shè)備需要具有安全的引導(dǎo)加載程序和安全固件更新,通過TLS連接將傳感器數(shù)據(jù)發(fā)送到服務(wù)器,并將敏感數(shù)據(jù)存儲(chǔ)在閃存中。MAXQ1061/MAXQ1062專為小型嵌入式系統(tǒng)設(shè)計(jì),器件應(yīng)用處理器資源要求小,使用方便。本應(yīng)用筆記從多個(gè)方面表明,使用MAXQ1061/MAXQ1062比使用基于TPM標(biāo)準(zhǔn)的芯片更簡單、更高效。
介紹
從歷史上看,基于可信計(jì)算組的芯片?(TCG) 定義的可信平臺(tái)模塊 (TPM) 標(biāo)準(zhǔn)是防篡改、離散、加密協(xié)處理器,已在大多數(shù)消費(fèi)者個(gè)人計(jì)算機(jī)和服務(wù)器中實(shí)施?;赥PM標(biāo)準(zhǔn)的芯片中的安全概念是多年前設(shè)計(jì)的,旨在通過網(wǎng)絡(luò)交換數(shù)據(jù)的計(jì)算機(jī)之間實(shí)現(xiàn)信任,并保護(hù)用戶的靜態(tài)數(shù)據(jù)免遭丟失或盜竊。基于 TPM 標(biāo)準(zhǔn)的芯片是防篡改、安全的加密處理器,旨在執(zhí)行加密操作并安全地存儲(chǔ)少量數(shù)據(jù),包括密鑰。
基于 TPM 標(biāo)準(zhǔn)的專用硬件 IP 也可以在現(xiàn)有組件上實(shí)施,也可以作為利用現(xiàn)有 CPU 的可信執(zhí)行環(huán)境(例如英特爾 TXT 或 Arm 信任區(qū))的固件實(shí)施。本應(yīng)用筆記僅考慮基于TPM標(biāo)準(zhǔn)的分立芯片,因?yàn)榻ㄗh在防篡改方面具有更高的安全級(jí)別。???
基于 TPM 標(biāo)準(zhǔn)的芯片設(shè)計(jì)目的很簡單,但它們也可以支持非常復(fù)雜的安全策略的實(shí)施,這些策略定義了誰可以在何時(shí)做什么。這種復(fù)雜性,由計(jì)算機(jī)應(yīng)用程序中所需的各種場(chǎng)景證明,使TPM標(biāo)準(zhǔn)的學(xué)習(xí)曲線非常僵硬。由于這種復(fù)雜性,驗(yàn)證系統(tǒng)的安全性要困難得多。盡管基于TPM標(biāo)準(zhǔn)的芯片也用于嵌入式系統(tǒng),但它們的初始設(shè)計(jì)和平臺(tái)資源要求使其難以集成到物聯(lián)網(wǎng)中常見的簡單系統(tǒng)中。
MAXQ1061/MAXQ1062由Maxim Integrated根據(jù)內(nèi)部、客戶和公共加密模塊規(guī)范的要求創(chuàng)建,特別適用于簡單的嵌入式連接設(shè)備。MAXQ1061/MAXQ1062設(shè)計(jì)用于為低成本嵌入式系統(tǒng)提供高安全性證書、密鑰和數(shù)據(jù)安全存儲(chǔ)以及安全加密基元。這些器件可用于將設(shè)備集成到公鑰基礎(chǔ)設(shè)施中、設(shè)備和服務(wù)器身份驗(yàn)證、數(shù)據(jù)的機(jī)密性和完整性以及設(shè)備完整性。MAXQ1061/MAXQ1062提供了一組嚴(yán)格的40個(gè)命令,以實(shí)現(xiàn)這些目的,避免不必要的復(fù)雜性。簡單的訪問控制策略和功能集以比基于 TPM 標(biāo)準(zhǔn)的芯片簡單得多的方式回答與 IoT 設(shè)備相關(guān)的大多數(shù)安全方案。
MAXQ1061/MAXQ1062提供的加密算法符合標(biāo)準(zhǔn)(如NIST、ANSI、BSI)。MAXQ1061/MAXQ1062也是防篡改IC,采用最先進(jìn)的防黑客對(duì)策。
在本應(yīng)用筆記中,我們列舉了相關(guān)物聯(lián)網(wǎng)器件的特性和用例,并比較了它們與MAXQ1061/MAXQ1062以及基于TPM標(biāo)準(zhǔn)的芯片的實(shí)現(xiàn)。雖然,并非基于TPM標(biāo)準(zhǔn)的芯片提供的所有無限可能性都將暴露出來。
定義
本應(yīng)用筆記中使用以下術(shù)語:
主機(jī):主處理器,例如運(yùn)行設(shè)備的 CPU 或 SoC
服務(wù)器:設(shè)備連接到的遠(yuǎn)程計(jì)算機(jī)
安全I(xiàn)C:MAXQ1061/MAXQ1062或基于TPM標(biāo)準(zhǔn)的芯片
圖1.MAXQ1061/MAXQ1062的集成示例。
MAXQ1061/MAXQ1062通過SPI或I2C總線連接到主機(jī)處理器?;蛘撸鳈C(jī)處理器可以控制MAXQ1061/MAXQ1062的RESET輸入和看門狗輸入(WDI)。MAXQ1061/MAXQ1062還可以連接到器件級(jí)篡改檢測(cè)機(jī)制(如開關(guān))。最后,MAXQ1061/MAXQ1062可以控制主機(jī)處理器的RESET輸入。
請(qǐng)記住,安全I(xiàn)C的行為就像從屬設(shè)備。它們通過命令總線從主機(jī)處理器接收命令,處理命令,并返回答案。這些芯片不會(huì)自發(fā)發(fā)送任何東西,也不會(huì)主動(dòng)讀取外部記憶等。
安全I(xiàn)C的用途
安全I(xiàn)C或安全元件的目的是提高密鑰存儲(chǔ)的安全性,并提供可抵抗故障注入和側(cè)信道攻擊的安全加密實(shí)現(xiàn)。此外,安全I(xiàn)C允許與平臺(tái)上運(yùn)行的其他軟件嚴(yán)格隔離,因?yàn)槲ㄒ坏慕换ネǖ朗敲羁偩€,這大大減少了攻擊面以及敏感功能和數(shù)據(jù)暴露給主機(jī)處理器的軟件。此外,要找到現(xiàn)成的純軟件、能夠抵抗攻擊的加密算法的實(shí)現(xiàn)并不容易(甚至更不容易自己開發(fā)它們),除非主機(jī)處理器已經(jīng)具有集成的加密專用硬件塊,并且芯片供應(yīng)商提供了這樣的加密例程。
設(shè)備可以使用安全 IC 來支持僅靠軟件無法實(shí)現(xiàn)的數(shù)據(jù)保護(hù)和安全方案。例如,軟件無法可靠地報(bào)告系統(tǒng)啟動(dòng)過程中是否存在惡意軟件。安全I(xiàn)C和主機(jī)處理器之間的緊密集成使啟動(dòng)過程更清晰,更容易評(píng)估安全性。通過啟動(dòng)設(shè)備的受信任軟件進(jìn)行可靠的測(cè)量和報(bào)告,可以評(píng)估設(shè)備完整性。
將安全I(xiàn)C作為器件的一部分實(shí)現(xiàn)可提供硬件信任根,這意味著它始終以受信任的方式運(yùn)行。例如,存儲(chǔ)在安全I(xiàn)C中的私鑰確實(shí)不能離開IC,或者存儲(chǔ)在其中的證書不能被篡改。
最后但并非最不重要的一點(diǎn)是,安全I(xiàn)C將主機(jī)處理器從安全功能所需的存儲(chǔ)器占用空間和計(jì)算資源中卸載出來,這在具有小型主機(jī)處理器的設(shè)備中特別有用,例如Arm Cortex-M0微控制器(通常為128K閃存,16K RAM,40MHz)。?
主要特性比較
包
MAXQ1061/MAXQ1062和基于TPM標(biāo)準(zhǔn)的芯片采用類似的封裝。封裝尺寸在大多數(shù)嵌入式設(shè)備中變得至關(guān)重要,由于器件外形尺寸受到更多限制,PCB尺寸會(huì)變得更小。
MAXQ1061/MAXQ1062采用緊湊型TSSOP14 6.4x4.9封裝。
圖2.MAXQ1061/MAXQ1062封裝
大多數(shù)基于 TPM 標(biāo)準(zhǔn)的芯片采用 TSSOP28 或 VQFN 5x5 封裝。
電源和消耗
待機(jī)模式下的低功耗是電池供電設(shè)備的關(guān)鍵優(yōu)勢(shì)。MAXQ1061/MAXQ1062的典型待機(jī)電流為25μA,遠(yuǎn)低于基于TPM標(biāo)準(zhǔn)的芯片,后者的電流典型值超過100μA,通常高達(dá)300μA。MAXQ1061/MAXQ1062的啟動(dòng)時(shí)間為30ms,不用時(shí)可以完全斷電,但在需要時(shí)仍能非??焖俚靥峁?。
在工作模式下,基于TPM標(biāo)準(zhǔn)和MAXQ1061/MAXQ1062的芯片具有約25mA的有源電源電流。MAXQ3/MAXQ3和大多數(shù)基于TPM標(biāo)準(zhǔn)的芯片的電源電壓為1061.1062V。一些基于 TPM 標(biāo)準(zhǔn)的芯片提供 1.8V。
內(nèi)部存儲(chǔ)大小
安全I(xiàn)C的內(nèi)部非易失性存儲(chǔ)對(duì)于存儲(chǔ)敏感數(shù)據(jù)(如機(jī)密數(shù)據(jù)、秘密或私鑰)以及必須保留以防止修改的數(shù)據(jù)(如證書)至關(guān)重要。
MAXQ1061/MAXQ1062具有內(nèi)部非易失性防篡改存儲(chǔ)器,用于存儲(chǔ)敏感數(shù)據(jù)。MAXQ1061/MAXQ1062具有足夠的內(nèi)部存儲(chǔ)器,可用于存儲(chǔ)X.509證書、ECDSA密鑰對(duì)或其它密鑰或任意數(shù)據(jù)等適用于嵌入式系統(tǒng)的大多數(shù)用例。此內(nèi)部存儲(chǔ)被組織為由用戶定義的訪問控制控制的簡單文件系統(tǒng)。有關(guān)更多詳細(xì)信息,請(qǐng)參閱使用訪問控制設(shè)計(jì)安全策略部分。
基于TPM標(biāo)準(zhǔn)的芯片還具有內(nèi)部,防篡改,非易失性存儲(chǔ)。除其他外,此存儲(chǔ)允許存儲(chǔ)加密其他子密鑰的根密鑰,而子密鑰可以反過來加密其他孫密鑰?;?TPM 標(biāo)準(zhǔn)的芯片可以處理大型密鑰存儲(chǔ)。除根密鑰外,密鑰通常根據(jù) TPM 標(biāo)準(zhǔn)存儲(chǔ)在芯片外部,并在需要時(shí)重新注入并解密到芯片中。主機(jī)端軟件處理此操作。子密鑰一旦加載到芯片中就會(huì)解密,然后使用,最終被丟棄,但長期密鑰保留在外部加密存儲(chǔ)中。此功能在PC平臺(tái)中非常有用,其中許多應(yīng)用程序可能希望出于各種目的保留大量密鑰,但通常與物聯(lián)網(wǎng)設(shè)備無關(guān)。
通信協(xié)議
MAXQ1061/MAXQ1062提供I2C 和適合大多數(shù)嵌入式設(shè)計(jì)的 SPI 接口?;赥PM標(biāo)準(zhǔn)的芯片還提供SPI接口和其他面向計(jì)算機(jī)的接口,如LPC或SMBUS(接近I2LPC接口專用于PC架構(gòu),幾乎不適用于嵌入式系統(tǒng)。
主機(jī)端支持軟件
符合 TPM 標(biāo)準(zhǔn)的主機(jī)端軟件龐大而復(fù)雜,并且學(xué)習(xí)曲線很僵硬,互聯(lián)網(wǎng)上可用的編程資源很少。該軟件專用于具有操作系統(tǒng)(如Linux或Windows)的大型系統(tǒng)。符合 TPM 標(biāo)準(zhǔn)的主機(jī)端軟件具有以下主要組件:??
TCG 軟件堆棧 (TSS)。該軟件需要大型系統(tǒng),例如Linux或Windows。通常,符合TPM標(biāo)準(zhǔn)的軟件隱藏在高級(jí)工具(如Microsoft Crypto Provider或PKCS#11引擎)后面。雖然它處理了符合 TPM 標(biāo)準(zhǔn)的低級(jí)通信的奇怪和復(fù)雜性,但 TSS 的規(guī)范仍然龐大而復(fù)雜。?
符合 TPM 標(biāo)準(zhǔn)的驅(qū)動(dòng)程序。此驅(qū)動(dòng)程序是 TSS 所在的較低級(jí)別的組件。此驅(qū)動(dòng)程序的 API 非常復(fù)雜,并且處于非常低的級(jí)別,這使得在復(fù)雜的用例中實(shí)現(xiàn)變得更加困難。雖然Windows和Linux中的TPM標(biāo)準(zhǔn)集成是開箱即用的,但將其移植到裸機(jī)平臺(tái)上并不容易,甚至可能是不可能的。
功能接口。在現(xiàn)有層之上,TPM 標(biāo)準(zhǔn)還提出了一個(gè)功能API,具有更簡單、更集成的使用,僅限于最常見的場(chǎng)景,并提供大約 45 個(gè) API 函數(shù)。但是,安全策略定義仍然很復(fù)雜。
表 1 顯示了我們?cè)?Linux 2 位目標(biāo)上的 TSS (TSS64) 上的實(shí)驗(yàn)結(jié)果。
文本(字節(jié)) | 靜態(tài)數(shù)據(jù)(字節(jié))* | 文件名 |
146344 | 4972 | ./src/tss2-sys/.libs/libtss2-sys.so |
253071 | 2140 | ./src/tss2-mu/.libs/libtss2-mu.so |
16214 | 928 | ./src/tss2-tcti/.libs/libtss2-tcti-device.so |
20019 | 960 | ./src/tss2-tcti/.libs/libtss2-tcti-mssim.so |
600190 | 6640 | ./src/tss2-esys/.libs/libtss2-esys.so |
* 此處不考慮動(dòng)態(tài)分配的內(nèi)存。 |
表 1 中的代碼大小不適合通常小于 256KB 的眾多小型嵌入式設(shè)備 代碼存儲(chǔ)器和 64KB 內(nèi)存。
另一方面,MAXQ1061/MAXQ1062需要非常簡單的軟件,適用于最小的 微控制器。主機(jī)端軟件在源代碼中提供,允許自定義。這是一個(gè)圖書館 C語言提供直接映射到MAXQ1061/MAXQ1062命令集的功能。由于 這組減少的命令,復(fù)雜的用例可以用一個(gè)相當(dāng)直接的方式實(shí)現(xiàn),使用簡單的 程序。通信協(xié)議和總線級(jí)命令格式的幾率被庫隱藏, 它公開了一個(gè)清晰、易于使用的 C 語言程序員界面。該軟件依賴于標(biāo)準(zhǔn)SPI或I2C 平臺(tái)的驅(qū)動(dòng)程序。集成商可能必須開發(fā)一個(gè)簡約的“膠水”層來鏈接 MAXQ1061/MAXQ1062主機(jī)庫到微控制器的驅(qū)動(dòng)API。
MAXQ1061/MAXQ1062主機(jī)庫通常使用約6KB代碼和4KB內(nèi)存,可用于任何 小型處理器,如Arm Cortex-M0。在此庫之上,提供了自定義的 TLS 客戶端堆棧, 例如用于任何類型的微控制器的mbedTLS(例如,Cortex-M0,類似于高端的微控制器) 微控制器)和OpenSSL,用于運(yùn)行嵌入式Linux或Windows的大型微控制器。TLS 客戶端 堆棧利用MAXQ1061/MAXQ1062 TLS功能。?
安全 IC 用例
本節(jié)列出了基于TPM標(biāo)準(zhǔn)和MAXQ1061/MAXQ1062的芯片可以實(shí)現(xiàn)的用例。
卸載主機(jī)-處理器加密函數(shù)
安全 IC 將主處理器從敏感的加密操作中卸載出來。各IC系列支持的低級(jí)加密算法的比較如表2所示。
低級(jí)加密功能 | 基于 TPM 標(biāo)準(zhǔn)的芯片 | 最大Q1061/最大Q1062 |
標(biāo)準(zhǔn)加密算法 | 是的 | 是的 |
AES | AES-256 在 TPM 2.0 標(biāo)準(zhǔn)中是可選的 | ECB, CBC, CCM 128/192/256 ECB/GCM 128, 快速 |
隨機(jī)數(shù)生成器 | SP800-90A, AIS31PTG2 | 專為 SP800-90A SHA256DRBG 設(shè)計(jì) |
密鑰生成 | RSA, ECDSA | 幼兒發(fā)展局 |
安全哈希算法 | SHA-1, 256 | SHA-1, 256, 384, 512 |
RSA 簽名 | 2048 位 | 不 |
RSA 加密 | 2048 位 | 不 |
ECDSA簽名 | 美國國家情報(bào)研究院 P-256? | NIST P-256, 384, 521腦池 256, 384, 512 |
人權(quán)捍衛(wèi)人權(quán)委員會(huì) | 與ECDSA相同的曲線 | 與ECDSA相同的曲線 |
HMAC | SHA-256 | SHA-256, 384, 512 |
基于 AES 的 MAC | 不 | 快速 AES-CBC-MAC、AES-CMAC AES-GMAC,在專用 SPI 接口上提供 128 位密鑰 |
TLS 1.2 PRF | 不 | 基于 SHA-256 |
* 此隨機(jī)數(shù)生成器標(biāo)準(zhǔn)的設(shè)計(jì)尚未通過認(rèn)證。 |
快速 AES 引擎
MAXQ1061/MAXQ1062通過SPI提供快速AES引擎,用于AES ECB和AES GCM加密,具有128位密鑰。加密速度高達(dá)10MBps。此引擎將主處理器從某些對(duì)稱加密任務(wù)中卸載出來。此外,它避免將AES密鑰導(dǎo)出到主處理器,在主處理器中,密鑰可能會(huì)被諸如側(cè)信道攻擊之類的攻擊暴露和泄露,其中密鑰是通過功耗或電磁輻射分析來檢索的。通過使用板載快速AES引擎,密鑰安全地存儲(chǔ)在MAXQ1061/MAXQ1062中。
基于 TPM 標(biāo)準(zhǔn)的芯片沒有這種高速對(duì)稱加密引擎,當(dāng)主機(jī)處理器不夠快或忙于其他重要任務(wù)時(shí),這通常很有用。
RSA vs ECDSA
與基于TPM標(biāo)準(zhǔn)的芯片不同,MAXQ1061/MAXQ1062不支持RSA。但是,RSA越來越不推薦使用,因?yàn)榕cECDSA相比,長密鑰和數(shù)字簽名可能長達(dá)數(shù)千位,而ECDSA的密鑰和簽名只有幾百位長。
TLS 1.2
基于 TPM 標(biāo)準(zhǔn)的芯片沒有處理 TLS 協(xié)議的特定功能。它們可以用作基本的加密引擎和長期密鑰存儲(chǔ),由某些TLS軟件堆棧(如wolfSSL)利用,以執(zhí)行原子操作,如證書生成,簽名驗(yàn)證,AES加密或解密,HMAC簽名或驗(yàn)證,或TLS握手和記錄處理所需的ECDH。有了這樣的芯片,TLS會(huì)話密鑰是在主機(jī)處理器中計(jì)算的,這更容易被黑客攻擊。?
MAXQ1061/MAXQ1062可以處理從握手到安全應(yīng)用數(shù)據(jù)交換的完整TLS 1.2會(huì)話,同時(shí)將TLS會(huì)話密鑰保留在易失性存儲(chǔ)器內(nèi)部。TLS 記錄層在通過 TLS 交換應(yīng)用程序數(shù)據(jù)時(shí)使用,并使用協(xié)商密鑰應(yīng)用加密和簽名。該TLS記錄層可完全由MAXQ1061/MAXQ1062處理,允許從握手階段獲得的TLS會(huì)話密鑰在芯片內(nèi)保持安全,絕不會(huì)暴露在芯片外。MAXQ1061/MAXQ1062與提供的TLS軟件堆棧(即mbedTLS、OpenSSL)捆綁在一起,是一種交鑰匙解決方案,為設(shè)計(jì)人員提供連接器件的安全通信。
基于 TPM 2.0 標(biāo)準(zhǔn)的芯片 | 最大Q1061/最大Q1062 | |
TLS 1.2 PRF | 不 | 是的 |
保護(hù)會(huì)話密鑰 | 不 | 是的 |
完全握手 | 不 | 是的 |
TLS 1.2 記錄處理 | 不 | 是的 |
外部存儲(chǔ)器加密
外部內(nèi)存加密需要一個(gè)對(duì)稱密鑰來加密/解密磁盤數(shù)據(jù)。對(duì)稱(例如 AES)是 出于速度原因需要。安全 IC 必須將磁盤加密/解密密鑰保存為已加密并釋放 僅當(dāng) CPU 已啟動(dòng)到安全狀態(tài)時(shí),它才會(huì)發(fā)送到主 CPU。
對(duì)于基于 TPM 標(biāo)準(zhǔn)的芯片,使用 PCR 值確定安全狀態(tài) (有關(guān)平臺(tái)配置寄存器的詳細(xì)信息,請(qǐng)參閱安全啟動(dòng)部分),這些寄存器在引導(dǎo)過程中會(huì)更新。然后,TPM 標(biāo)準(zhǔn)芯片將密鑰釋放給主機(jī)處理器,主機(jī)處理器自行執(zhí)行磁盤加密/解密,因?yàn)樾酒瑢?duì)于此類操作來說太慢了。當(dāng)傳輸?shù)街鳈C(jī)處理器時(shí),密鑰可能會(huì)暴露,并且不再受益于基于 TPM 標(biāo)準(zhǔn)的芯片保護(hù)。主機(jī)處理器上的側(cè)信道攻擊(請(qǐng)參閱 TLS 1.2 部分)或軟件攻擊可能會(huì)泄露密鑰,并且整個(gè)系統(tǒng)可能會(huì)受到損害。
MAXQ1061/MAXQ1062只需使用其安全啟動(dòng)功能和保存磁盤解密密鑰的內(nèi)部存儲(chǔ)器對(duì)象即可實(shí)現(xiàn)此行為。當(dāng)平臺(tái)安全啟動(dòng)后,MAXQ1061/MAXQ1062可以選擇將密鑰傳輸?shù)酵獠緼ES-SPI引擎,并對(duì)外部存儲(chǔ)器進(jìn)行高速加密/解密,而不是將密鑰傳輸?shù)街鳈C(jī)處理器。此功能允許在不暴露解密密鑰的情況下高速解密外部存儲(chǔ)器。還可以選擇將密鑰傳輸?shù)街鳈C(jī)處理器。
設(shè)備識(shí)別和認(rèn)證,尤其適用于設(shè)備反克隆
基于公鑰的標(biāo)識(shí)和身份驗(yàn)證依賴于真正唯一標(biāo)識(shí)符的存在和 每個(gè)設(shè)備中唯一的密鑰對(duì)。
MAXQ1061/MAXQ1062可以存儲(chǔ)唯一的ECDSA密鑰對(duì),這些密鑰由內(nèi)部非易失性存儲(chǔ)器中的1061個(gè)私鑰和一個(gè)公鑰組成。還會(huì)存儲(chǔ)公鑰的證書,用于設(shè)備身份驗(yàn)證。根據(jù)要求,MAXQ1062/MAXQ1061可以使用私鑰對(duì)從對(duì)等方收到的質(zhì)詢進(jìn)行簽名,并通過發(fā)回該質(zhì)詢和證書的簽名來證明其身份,該身份存儲(chǔ)在證書中。認(rèn)證對(duì)等方可以使用證書頒發(fā)機(jī)構(gòu)(CA)驗(yàn)證來自MAXQ1062/MAXQ1061的證書,然后使用該證書中的MAXQ1062/MAXQ1061公鑰驗(yàn)證質(zhì)詢的簽名。成功后,對(duì)包含MAXQ1062/MAXQ<>的器件進(jìn)行識(shí)別和認(rèn)證。
證書固定
將證書頒發(fā)機(jī)構(gòu) (CA) 證書存儲(chǔ)在設(shè)備標(biāo)準(zhǔn)微控制器上的軟件保管庫中存在風(fēng)險(xiǎn)。如果攻擊者可以修改軟件并獲取對(duì)證書存儲(chǔ)的訪問權(quán)限,則攻擊者可以插入惡意證書,從而使設(shè)備將惡意遠(yuǎn)程服務(wù)器識(shí)別為真實(shí)服務(wù)器。
MAXQ1061/MAXQ1062可以將CA證書存儲(chǔ)在內(nèi)部存儲(chǔ)器中,防止任何人修改它們。此外,MAXQ1061/MAXQ1062在將證書加載到存儲(chǔ)器之前驗(yàn)證證書的真實(shí)性。只有 CA 簽名的證書才能導(dǎo)入芯片,因此無法使用流氓證書。導(dǎo)入后,這些證書還可以通過某些安全條件進(jìn)行控制,以進(jìn)一步限制使用。
圖3.使用父證書進(jìn)行子證書驗(yàn)證。
如圖 3 所示,子證書簽名請(qǐng)求 (1) 使用自己的 CA 私有簽名密鑰 (2) 發(fā)送到發(fā)出子證書的證書頒發(fā)機(jī)構(gòu) (CA)。由于內(nèi)部存儲(chǔ)器中已經(jīng)存在證書頒發(fā)機(jī)構(gòu)的根證書,因此新生成的子證書在MAXQ1061/MAXQ1062上得到驗(yàn)證,然后記錄到MAXQ1061/MAXQ1062非易失性存儲(chǔ)器中。注意,證書頒發(fā)機(jī)構(gòu)的根證書(與CA私有簽名密鑰匹配)必須在設(shè)備個(gè)性化期間由受信任實(shí)體預(yù)加載,該可信實(shí)體必須擁有MAXQ1061/MAXQ1062私鑰才能導(dǎo)入。
主機(jī)處理器的監(jiān)視器
當(dāng)主機(jī)處理器受到外部監(jiān)控時(shí),可以提高設(shè)備的整體可靠性和安全性。
使用MAXQ1061/MAXQ1062,可以通過看門狗機(jī)制監(jiān)測(cè)主機(jī)處理器的行為。在這種機(jī)制中,主機(jī)處理器必須在截止時(shí)間之前定期置位MAXQ1061/MAXQ1062的輸入引腳。如果超過截止時(shí)間,MAXQ1061/MAXQ1062置位主機(jī)處理器的RESET信號(hào)并復(fù)位內(nèi)部安全環(huán)境。這允許設(shè)備退出死鎖或停止主機(jī)處理器的異常行為。
當(dāng)發(fā)生某些安全錯(cuò)誤時(shí),如MAXQ1061/MAXQ1062與主機(jī)之間的安全通道出現(xiàn)故障或TAMPER引腳發(fā)生篡改事件,或者M(jìn)AXQ1061/MAXQ1062重新啟動(dòng)時(shí),MAXQ1061/MAXQ1062也可以觸發(fā)主機(jī)處理器的RESET信號(hào)。此功能可確保平臺(tái)在出現(xiàn)任何問題時(shí)保持安全狀態(tài)(重新啟動(dòng))。
基于 TPM 標(biāo)準(zhǔn)的芯片不支持此類功能。
內(nèi)部安全存儲(chǔ)
MAXQ1061/MAXQ1062和基于TPM標(biāo)準(zhǔn)的芯片既可以直接將少量數(shù)據(jù)存儲(chǔ)在具有訪問控制的內(nèi)部存儲(chǔ)器中,也可以存儲(chǔ)數(shù)據(jù)加密/解密密鑰,并在滿足某些條件時(shí)將其釋放給主機(jī)處理器。在后者的情況下,主機(jī)處理器負(fù)責(zé)使用安全I(xiàn)C釋放的密鑰對(duì)數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)進(jìn)行加密/解密。兩款安全I(xiàn)C的內(nèi)部存儲(chǔ)器空間有限,因此將此用例的數(shù)據(jù)限制在幾千字節(jié)到幾十千字節(jié)之間。
管理
使用MAXQ1061/MAXQ1062時(shí),管理員必須使用私鑰進(jìn)行身份驗(yàn)證。MAXQ1061/MAXQ1062設(shè)計(jì)用于無人值守設(shè)備,因此私鑰應(yīng)遠(yuǎn)程存儲(chǔ),管理應(yīng)遠(yuǎn)程完成,或者在制造過程中完成。這是連接設(shè)備的首選方案。始終限制為管理員的唯一操作是在文件系統(tǒng)中創(chuàng)建對(duì)象。創(chuàng)建的對(duì)象可以分配不同的訪問權(quán)限(想想Linux的chmod命令)。可以限制對(duì)某些對(duì)象的某些操作的訪問權(quán)限,并且僅授予管理員。有關(guān)詳細(xì)信息,請(qǐng)參閱使用訪問控制設(shè)計(jì)安全策略部分。
基于 TPM 標(biāo)準(zhǔn)的芯片管理不太適合物聯(lián)網(wǎng)設(shè)備。可以由 TPM 芯片所有者進(jìn)行管理?;?TPM 標(biāo)準(zhǔn)的芯片所有權(quán)是通過設(shè)置密碼建立的。在PC上,此密碼由操作系統(tǒng)生成,并且很長且很復(fù)雜。密碼存儲(chǔ)在遠(yuǎn)程數(shù)據(jù)庫(例如,Active Directory)上或由PC用戶寫下。擁有基于 TPM 標(biāo)準(zhǔn)的芯片允許執(zhí)行各種操作,例如密鑰生成和芯片重置。請(qǐng)注意,基于 TPM 標(biāo)準(zhǔn)的芯片可以在沒有任何密碼的情況下清除,但此操作需要物理存在(即斷言物理存在 I/O)。
如果有人打開設(shè)備機(jī)箱并斷言存在引腳,TPM 狀態(tài)功能會(huì)將基于 TPM 標(biāo)準(zhǔn)的芯片公開到本地重置。MAXQ1061/MAXQ1062更安全,因?yàn)槭冀K需要?jiǎng)討B(tài)認(rèn)證。管理員可能無法完全訪問MAXQ1061/MAXQ1062的所有資產(chǎn),這造成了更加嚴(yán)格的安全策略。
安全通道
安全通道旨在保護(hù)安全 IC 和發(fā)送對(duì)等體之間傳輸?shù)拿詈晚憫?yīng)。對(duì)等方可以是本地主機(jī)處理器,也可以是遠(yuǎn)程實(shí)體。安全通道提供傳輸中的命令和數(shù)據(jù)的機(jī)密性、完整性和真實(shí)性。
基于TPM標(biāo)準(zhǔn)的芯片可以結(jié)合授權(quán)會(huì)話執(zhí)行加密/解密會(huì)話。授權(quán)會(huì)話要求對(duì)整個(gè)命令以及響應(yīng)使用 HMAC,以保證命令結(jié)束響應(yīng)的完整性。此外,加密/解密會(huì)話使用基于 AES 的算法來確保命令和響應(yīng)的機(jī)密性。換句話說,基于 TPM 標(biāo)準(zhǔn)的芯片和與芯片通信的對(duì)等方(本地主機(jī)處理器或遠(yuǎn)程對(duì)等方)共享相同的加密密鑰和 HMAC 密鑰。此機(jī)制是授權(quán)功能的一部分。
MAXQ1061/MAXQ1062也支持這種機(jī)制。打開安全通道只需要從隨機(jī)數(shù)和共享密鑰派生,MAXQ1061/MAXQ1062與對(duì)等方共享密鑰。生成的派生會(huì)話密鑰用于對(duì)雙向數(shù)據(jù)進(jìn)行加密和簽名。加密使用 AES-CBC,簽名使用 AES-CBC-MAC。MAXQ1061/MAXQ1062除響應(yīng)外,還對(duì)命令、參數(shù)和數(shù)據(jù)進(jìn)行完全加密,使得無法猜測(cè)傳輸?shù)組AXQ1061/MAXQ1062的命令。命令和響應(yīng)以加密方式相互鏈接,因此無法在序列中交換、刪除、插入或重放命令。
在MAXQ1061/MAXQ1062上,成功啟動(dòng)安全通道可以解鎖物體并允許明確定義的操作。
安全啟動(dòng)
為了值得信賴,嵌入式設(shè)備的主機(jī)處理器必須運(yùn)行設(shè)備批準(zhǔn)的經(jīng)過驗(yàn)證的固件 制造者。MAXQ1061/MAXQ1062和基于TPM標(biāo)準(zhǔn)的芯片提供基于以下特性的安全自舉機(jī)制: 假設(shè)如圖 4 所示。
圖4.安全啟動(dòng)。
步 | 描述 |
1 |
主機(jī)處理器必須始終引導(dǎo)位于非易失性存儲(chǔ)器 (A) 中的相同初始固件。 此步驟基于以下假設(shè): 此固件的位置定義一次,無法更改 初始固件存儲(chǔ)在主機(jī)處理器的內(nèi)部閃存中,不能 輕松重新編程 主機(jī)處理器必須提供一種機(jī)制來使這些假設(shè)成立??梢源鎯?chǔ)初始固件 放入可以通過非常嚴(yán)格的訪問控制進(jìn)行更新的閃存中,此外,還可以使用主機(jī)處理器 始終在此內(nèi)部閃存上啟動(dòng)。此內(nèi)存是信任的靜態(tài)根。 |
2 | 初始固件在主機(jī)處理器中執(zhí)行,并使用安全 IC 執(zhí)行自我驗(yàn)證。 |
3 | 讀取固件。早期固件使用安全 IC 驗(yàn)證下一階段固件。 |
4 |
為安全 IC 提供應(yīng)用固件。 初始固件將下一級(jí)固件(即應(yīng)用固件)發(fā)送到安全I(xiàn)C。 |
5 |
如果固件驗(yàn)證成功,則修改安全 IC 內(nèi)部狀態(tài)。 初始固件使用安全I(xiàn)C驗(yàn)證下一階段固件。如果驗(yàn)證成功,安全 IC 中影響訪問控制的某些安全條件可能會(huì)更改。例如,私鑰可用于對(duì)數(shù)據(jù)進(jìn)行簽名。 |
MAXQ1061/MAXQ1062與基于TPM標(biāo)準(zhǔn)的芯片的安全啟動(dòng)技術(shù)細(xì)節(jié)不同?;赥PM標(biāo)準(zhǔn)的芯片通過測(cè)量平臺(tái)來驗(yàn)證平臺(tái)完整性(即固件和重要數(shù)據(jù)完整性)。測(cè)量意味著在平臺(tái)配置寄存器(PCR)中對(duì)散列運(yùn)算結(jié)果進(jìn)行散列和累積。主機(jī)處理器執(zhí)行的早期固件使用基于TPM標(biāo)準(zhǔn)的芯片進(jìn)行自我驗(yàn)證,然后驗(yàn)證后續(xù)啟動(dòng)階段固件(例如,BIOS 到磁盤 MBR 到 U-Boot 引導(dǎo)加載程序到 Linux 內(nèi)核)。每個(gè)認(rèn)證階段負(fù)責(zé)通過將二進(jìn)制代碼輸入芯片的PCR來檢查下一個(gè)級(jí)別。
為了增加復(fù)雜性,基于TPM標(biāo)準(zhǔn)的芯片具有多個(gè)PCR,可用于各種目的。根據(jù)現(xiàn)有的策略,如果PCR值與先前記錄的參考值匹配,則可以解鎖TPM標(biāo)準(zhǔn)芯片中的某些內(nèi)部對(duì)象。請(qǐng)注意,基于TPM標(biāo)準(zhǔn)的芯片還可以驗(yàn)證存儲(chǔ)在PCR中的哈希的數(shù)字簽名,并將PCR值與參考值進(jìn)行比較。
MAXQ1061/MAXQ1062提供簡單安全的自舉機(jī)制,僅支持一個(gè)內(nèi)部哈希寄存器,并要求簽名驗(yàn)證。若要使用此機(jī)制,主機(jī)處理器將啟動(dòng)位于固有受信任的不可變內(nèi)存中的初始固件。該初始固件向MAXQ1061/MAXQ1062饋送必須啟動(dòng)的應(yīng)用二進(jìn)制代碼和MAXQ1061/MAXQ1062哈希,并將該代碼累積到內(nèi)部哈希寄存器中。在該過程結(jié)束時(shí),初始固件向MAXQ1061/MAXQ1062提供應(yīng)用程序的簽名。MAXQ1061/MAXQ1062使用公鑰驗(yàn)證簽名是否與內(nèi)部哈希寄存器匹配。成功的驗(yàn)證可解鎖部分MAXQ1061/MAXQ1062內(nèi)部對(duì)象以供進(jìn)一步使用。此類對(duì)象可以是身份驗(yàn)證機(jī)制中使用的私鑰,該機(jī)制可以向網(wǎng)絡(luò)對(duì)等方證明已成功執(zhí)行安全啟動(dòng)序列。
MAXQ1061/MAXQ1062提供與基于TPM標(biāo)準(zhǔn)的芯片一樣安全的平臺(tái)完整性驗(yàn)證,但具有更簡單但可配置的安全策略。MAXQ1061/MAXQ1062快速AES引擎還提供基于TPM標(biāo)準(zhǔn)的芯片所不具備的替代固件同步驗(yàn)證和解密。
安全更新
安全固件更新比安全啟動(dòng)更相關(guān)。兩個(gè)安全I(xiàn)C都可以實(shí)現(xiàn)安全更新。使用MAXQ1061/MAXQ1062,實(shí)現(xiàn)起來非常簡單。MAXQ1061/MAXQ1062使用公共驗(yàn)證密鑰進(jìn)行初始化,用于驗(yàn)證新固件映像的數(shù)字簽名。此外,當(dāng)進(jìn)行上述驗(yàn)證時(shí),可以呈現(xiàn)解密密鑰,從而允許解密固件。隨著高價(jià)值算法變得司空見慣,即使在簡單的嵌入式設(shè)備中也是如此,因此更需要固件加密。因此,需要保護(hù)算法免受長期存儲(chǔ)的提取、傳輸過程中的竊聽和逆向工程。
由于SPI總線上的AES快速引擎處理GCM模式,MAXQ1061/MAXQ1062可以實(shí)現(xiàn)固件的快速解密和認(rèn)證(高達(dá)10Mbps)。MAXQ1061/MAXQ1062提供非對(duì)稱或基于對(duì)稱的安全啟動(dòng)。
基于TPM標(biāo)準(zhǔn)的芯片也可以使用快速解密和身份驗(yàn)證執(zhí)行安全更新,但不支持同時(shí)進(jìn)行快速身份驗(yàn)證和解密。
使用訪問控制設(shè)計(jì)安全策略
MAXQ1061/MAXQ1062的安全策略相當(dāng)簡單。對(duì)于MAXQ1061/MAXQ1062的每個(gè)生命周期狀態(tài),訪問控制列表定義了允許某些操作所需的安全條件。
如表 5 所示,每個(gè)空單元格根據(jù)對(duì)象/命令和當(dāng)前啟用的安全條件定義允許或不允許的內(nèi)容。為每個(gè)生命周期狀態(tài)定義相同的訪問控制矩陣(不同或不同)。
安全條件 | ||||
V 項(xiàng) | 沒有 | 主機(jī) | 安全啟動(dòng) | 管理 |
對(duì)象 | ||||
命令 |
MAXQ1061/MAXQ1062內(nèi)部存儲(chǔ)器中的對(duì)象具有可在創(chuàng)建時(shí)定義的訪問條件。對(duì)象訪問條件定義了對(duì)對(duì)象執(zhí)行每個(gè)可能的操作所需的安全條件(例如,讀?。盒枰鳈C(jī)條件,寫入:從不允許,使用密鑰:需要安全啟動(dòng))。
命令訪問條件是預(yù)定義的,不能更改,但大多數(shù)命令必須使用主機(jī)條件的可能性除外。這將強(qiáng)制所有命令通過與主機(jī)處理器的安全通道發(fā)送。
MAXQ1061/MAXQ1062的安全條件如下:
成功打開安全通道時(shí),將驗(yàn)證條件 HOST(處理器)。
條件 ADMIN 通過成功的管理員身份驗(yàn)證命令執(zhí)行進(jìn)行身份驗(yàn)證。
條件安全引導(dǎo)通過成功的驗(yàn)證引導(dǎo)命令執(zhí)行進(jìn)行身份驗(yàn)證,這意味著主機(jī) 固件的數(shù)字簽名已成功驗(yàn)證。
注意:可以同時(shí)啟用多個(gè)安全條件。
解釋整個(gè)TPM標(biāo)準(zhǔn)安全策略概念是壓倒性的,因?yàn)樗浅?fù)雜。有關(guān)詳細(xì)信息,請(qǐng)閱讀“TPM 2.0 實(shí)用指南:在新的安全時(shí)代使用新的可信平臺(tái)模塊”一書,并參閱 TCG 規(guī)范。基于TPM標(biāo)準(zhǔn)的芯片盡管更加復(fù)雜,但具有與MAXQ1061/MAXQ1062相同的安全條件。
基本上,有三種可能的角色:USER、ADMIN 和 DUP。 USER 用于實(shí)體的正常使用,ADMIN 角色用于系統(tǒng)管理任務(wù),而 DUP(一個(gè)重點(diǎn)狹窄的角色)是 TPM2_Duplicate 命令允許的唯一角色。
所需的授權(quán)類型由兩個(gè)屬性確定:userWithAuth 和 adminWithPolicy。這些屬性可以顯式設(shè)置(例如在對(duì)象創(chuàng)建對(duì)象時(shí)),也可以通過其他方式為基于 TPM 標(biāo)準(zhǔn)的芯片處理的某些類型的實(shí)體確定。
對(duì)于基于TPM標(biāo)準(zhǔn)的芯片,三種授權(quán)類型如下:
密碼。命令的發(fā)送方發(fā)送一個(gè)簡單的密碼,用于授權(quán)執(zhí)行命令。
哼。密碼用作 HMAC 密鑰的基礎(chǔ)。HMAC 是通過命令計(jì)算的,以保證命令的完整性,并且命令由知道密碼的人發(fā)送(不泄露密碼)。隨機(jī)數(shù)用于避免在發(fā)送兩次完全相同的命令時(shí)獲得兩倍相同的 HMAC 值,這也稱為重放攻擊保護(hù)。
策略會(huì)話。策略通過包括某些狀態(tài)的值(例如,PCR值,命令序列,對(duì)象值,時(shí)間值),定義非常復(fù)雜的方案,甚至強(qiáng)制要求特定的命令序列,非常精細(xì)地定義何時(shí)授權(quán)操作。
總體而言,MAXQ1061/MAXQ1062安全策略使用靈活,同時(shí)更易于理解和實(shí)現(xiàn)。
生命周期狀態(tài)
MAXQ1061/MAXQ1062基于嚴(yán)格的單調(diào)生命周期計(jì)數(shù)器,具有三種主要的生命周期狀態(tài)。每個(gè)狀態(tài)提供不同的訪問控制策略。名為“終止”的第四個(gè)狀態(tài)可用于完全和永久地停用部件,從而停用設(shè)備。轉(zhuǎn)換到此狀態(tài)僅限于管理員,但如果需要,也可以永久禁用。僅當(dāng)管理員發(fā)送專用命令時(shí),才會(huì)在狀態(tài)之間進(jìn)行轉(zhuǎn)換。這在設(shè)備的制造和個(gè)性化過程中非常有用,以授予或拒絕對(duì)某些對(duì)象的訪問,具體取決于制造步驟。
基于TPM標(biāo)準(zhǔn)的芯片可以雙向發(fā)展。建立所有權(quán)時(shí),將啟用基于 TPM 標(biāo)準(zhǔn)的芯片。當(dāng)所有者發(fā)送擦除命令時(shí),芯片將被擦除。盡管必須斷言存在 I/O,但無法阻止基于 TPM 標(biāo)準(zhǔn)的擦除芯片,在某些情況下這可能是一個(gè)安全問題。
單調(diào)計(jì)數(shù)器
TPM 標(biāo)準(zhǔn)具有僅遞增的 64 位計(jì)數(shù)器。計(jì)數(shù)器可用于構(gòu)建復(fù)雜的安全策略。例如,復(fù)雜的安全策略要求密鑰在使用一定次數(shù)后過期。MAXQ1061/MAXQ1062具有32位計(jì)數(shù)器,有兩種類型:僅遞增和僅遞減。與基于TPM標(biāo)準(zhǔn)的芯片相反,MAXQ1061/MAXQ1062計(jì)數(shù)器沒有特別的副作用。
時(shí)間管理
基于 TPM 標(biāo)準(zhǔn)的芯片具有集成計(jì)時(shí)器,用于安全時(shí)間戳和某些鎖定、密鑰或證書的過期。當(dāng)基于 TPM 標(biāo)準(zhǔn)的芯片斷電時(shí),計(jì)時(shí)器停止運(yùn)行。為了克服這一限制,芯片有一個(gè)引導(dǎo)計(jì)數(shù)器,每次芯片引導(dǎo)時(shí)都會(huì)遞增。否則,定時(shí)器可以在每次復(fù)位后安全地同步到外部時(shí)鐘源。TPM 標(biāo)準(zhǔn)提供使用當(dāng)前時(shí)間和啟動(dòng)計(jì)數(shù)器值進(jìn)行簽名或?qū)?shù)據(jù)綁定到計(jì)時(shí)器的功能。例如,可以簽署當(dāng)前時(shí)間戳和證明操作已執(zhí)行的票證,以證明該操作是在某個(gè)時(shí)間執(zhí)行的(即簽署合同)。另一個(gè)示例是制作僅在下次重新啟動(dòng)之前可用的密鑰。MAXQ1061/MAXQ1062沒有時(shí)間或重啟計(jì)數(shù)器,但通過計(jì)算來自主機(jī)微控制器的RTC輸入的數(shù)字簽名,MAXQ1061/MAXQ1062可用于提供安全的時(shí)間戳。由于TPM標(biāo)準(zhǔn)要求外部時(shí)鐘同步,因此MAXQ1061/MAXQ1062的約束與基于TPM標(biāo)準(zhǔn)的芯片的約束相似。
備份/還原和密鑰遷移
與基于TPM標(biāo)準(zhǔn)的芯片不同,MAXQ1061/MAXQ1062不能導(dǎo)出密鑰或私鑰,只能導(dǎo)出公鑰或證書。但是,可以導(dǎo)入密鑰或公鑰對(duì),并且導(dǎo)入期間的密鑰加密只能使用安全通道?;?TPM 標(biāo)準(zhǔn)的芯片可以導(dǎo)入/導(dǎo)出使用傳輸密鑰加密的密鑰。當(dāng)用戶需要將數(shù)據(jù)遷移到另一臺(tái)計(jì)算機(jī)上以備更換時(shí),這種類型的密鑰備份/還原機(jī)制在計(jì)算機(jī)上很有用。在嵌入式設(shè)備上,這可能不是很有用。因此,MAXQ1061/MAXQ1062功能就足夠了。
MAXQ1061/MAXQ1062 個(gè)性化和配置服務(wù)
MAXQ1061/MAXQ1062最主要的應(yīng)用之一是啟用離線公鑰基礎(chǔ)設(shè)施。設(shè)備必須預(yù)先預(yù)配證書頒發(fā)機(jī)構(gòu)證書,以便能夠?qū)ζ渌麑?duì)等方進(jìn)行身份驗(yàn)證,或者由其他人進(jìn)行身份驗(yàn)證,同時(shí)無法訪問聯(lián)機(jī)證書服務(wù)器???信任您的數(shù)字 請(qǐng)參閱信任您的數(shù)字。
基于 TPM 標(biāo)準(zhǔn)的芯片隨附一對(duì)稱為認(rèn)可密鑰 (EK) 對(duì)的密鑰,該密鑰對(duì)每個(gè) IC 都是唯一的。EK對(duì)由芯片制造商認(rèn)證的公鑰(Ekpub)和私鑰(Ekpriv)組成。EK對(duì)的目的是驗(yàn)證芯片是否真實(shí)。在制造過程中, EK對(duì)在芯片內(nèi)部生成。Ekpriv 永遠(yuǎn)不會(huì)離開芯片存儲(chǔ)器,但 Ekpub 被讀出,然后由制造商認(rèn)證,生成的證書被加載回芯片的非易失性存儲(chǔ)器存儲(chǔ)中。交付后,客戶可以使用 Ekpub 證書驗(yàn)證芯片的 Ekpriv 計(jì)算的數(shù)字簽名,從而驗(yàn)證芯片的真實(shí)性。制造商的根證書可在線獲得,以便客戶可以在使用芯片Ekpub證書驗(yàn)證簽名之前驗(yàn)證其真實(shí)性。請(qǐng)注意,客戶可以替換初始 EK 對(duì),以避免追溯到制造商。雖然基于 TPM 標(biāo)準(zhǔn)的芯片制造商可能會(huì)提供個(gè)性化服務(wù),但通常由客戶來執(zhí)行整個(gè)芯片的配置。
默認(rèn)情況下,MAXQ1061/MAXQ1062 IC附帶默認(rèn)管理員認(rèn)證公鑰和默認(rèn)導(dǎo)入密鑰。但是,根據(jù)要求,MAXQ1061/MAXQ1062 IC可以附帶一些預(yù)先個(gè)性化的對(duì)象,包括額外的管理員公鑰和密鑰導(dǎo)入公鑰、額外的密鑰和證書對(duì)或任何其他類型的對(duì)象。這種個(gè)性化服務(wù)使客戶能夠避免在其制造設(shè)施中處理密鑰和證書或生成證書的負(fù)擔(dān)。相反,MAXQ1061/MAXQ1062 IC安裝在PCB上,提供自舉最終器件所需的所有信息。MAXQ1061/MAXQ1062可以寄送給客戶,內(nèi)部存儲(chǔ)器中已有一對(duì)獨(dú)特的密鑰,密鑰就地生成,私鑰永遠(yuǎn)不會(huì)離開內(nèi)部存儲(chǔ)器。Maxim的制造工廠也可以使用硬件安全模塊(HSM)生成公鑰證書。證書頒發(fā)機(jī)構(gòu)可以來自Maxim、客戶或第三方。
MAXQ1061/MAXQ1062在密鑰和證書配置方面提供了充分的靈活性,因?yàn)闆]有預(yù)定義的密鑰或?qū)ο蠼巧?/p>
安全I(xiàn)C的安全限制
MAXQ1061/MAXQ1062可以克服雙芯片設(shè)計(jì)的固有局限性。固有限制如下:
入侵者篡改主機(jī)處理器和安全 IC 之間的通信鏈路的能力。
入侵者能夠替換初始固件并跳過安全啟動(dòng)階段,但仍向安全 IC 提供正版固件,以訪問由安全啟動(dòng)條件鎖定的資產(chǎn)。例如,請(qǐng)參閱 Ledger 地址 中間人攻擊威脅數(shù)百萬個(gè)硬件錢包。
基于TPM標(biāo)準(zhǔn)的芯片完全無法抵御此類攻擊,因?yàn)樗鼈円蕾囉谥挥羞h(yuǎn)程攻擊才能進(jìn)行的假設(shè)。
MAXQ1061/MAXQ1062通過使用篡改輸入引腳來監(jiān)視器件外殼的完整性,從而減輕攻擊。一旦打開外殼,就可以從MAXQ1061/MAXQ1062內(nèi)部安全存儲(chǔ)器中擦除重要資產(chǎn),然后阻止器件以不安全的固件或狀態(tài)連接到網(wǎng)絡(luò)。
但是,在系統(tǒng)級(jí)別實(shí)施篡改檢測(cè)需要添加開關(guān)和/或特殊的篡改敏感工件。另外,應(yīng)為MAXQ1061/MAXQ1062增加一個(gè)永久電源,以便能夠主動(dòng)擦除相關(guān)資產(chǎn)。此設(shè)計(jì)實(shí)現(xiàn)的額外成本可能是值得的。
MAXQ1061/MAXQ1062未實(shí)現(xiàn)的特性
由于芯片的初始設(shè)計(jì)基于TPM標(biāo)準(zhǔn),芯片可以實(shí)現(xiàn)許多面向PC的用例,這些用例在小型嵌入式設(shè)備中并不特別相關(guān)。
PKCS#11 或 Microsoft CAPI 引擎。這些加密服務(wù)提供商可以利用基本的 TPM 標(biāo)準(zhǔn)功能,為上層軟件層提供更安全的加密密鑰存儲(chǔ)和算法。與 TCG 軟件堆棧相比,服務(wù)提供商支持的功能更少。MAXQ1061/MAXQ1062可以在這樣的引擎中實(shí)現(xiàn),但并不是真正為此目的而設(shè)計(jì)的。
基于 TPM 標(biāo)準(zhǔn)的芯片提供數(shù)字版權(quán)管理和軟件許可證驗(yàn)證。以數(shù)字版權(quán)管理為例,當(dāng)視頻在 30 天的有限時(shí)間內(nèi)購買時(shí),視頻解密密鑰將在 30 天后過期。軟件許可證驗(yàn)證可以通過驗(yàn)證平臺(tái)的身份與許可證中注冊(cè)的身份匹配以及驗(yàn)證許可證是否未過期來實(shí)現(xiàn)。
遠(yuǎn)程匿名證明。雖然這在涉及用戶的事務(wù)中可能很重要,但此操作在不泄露其標(biāo)識(shí)的情況下證明了平臺(tái)的安全屬性(如平臺(tái)完整性)。刪除匿名證明使用MAXQ1061/MAXQ1062中未實(shí)現(xiàn)的特定算法(DAA)。這種先進(jìn)的概念功能強(qiáng)大但很復(fù)雜,在嵌入式應(yīng)用程序中可能沒有那么有用,因?yàn)楹唵蔚臄?shù)字簽名方案就足夠了。
密碼管理器。與磁盤加密用例類似,密碼管理器在釋放密碼存儲(chǔ)解密密鑰之前需要證明平臺(tái)的完整性。它還需要輸入密碼錢包的所有者主密碼短語或成功匹配的指紋。在物聯(lián)網(wǎng)的背景下,缺少密碼管理器并不被視為真正的限制,因?yàn)槊艽a很少使用。
結(jié)論
即使支持的加密算法變體列表存在一些差異,這通常也不是客戶的決策因素,除非存在非常具體的加密要求。TPM標(biāo)準(zhǔn)和基于TPM標(biāo)準(zhǔn)的芯片使用和理解非常復(fù)雜,需要相對(duì)較大的主機(jī)端軟件堆棧。此外,目前還不清楚TPM兼容芯片的制造商是否愿意提供個(gè)性化服務(wù),例如在每個(gè)芯片中預(yù)加載唯一證書。
MAXQ1061/MAXQ1062完全適合物聯(lián)網(wǎng)安全場(chǎng)景和要求。除非必須滿足有關(guān)訪問控制策略或認(rèn)證的特殊要求,否則MAXQ1061/MAXQ1062始終是比基于TPM標(biāo)準(zhǔn)的芯片更好的選擇,這要?dú)w功于安全概念的簡單性、平臺(tái)安全性的可驗(yàn)證性、更少的命令集、獨(dú)特的功能,如主機(jī)處理器看門狗和復(fù)位控制, 設(shè)備機(jī)箱篡改檢測(cè)功能和集成的 TLS 協(xié)議處理。MAXQ1061/MAXQ1062易于實(shí)現(xiàn),對(duì)主機(jī)處理器存儲(chǔ)器占用空間要求小。
審核編輯:郭婷
-
傳感器
+關(guān)注
關(guān)注
2551文章
51106瀏覽量
753652 -
處理器
+關(guān)注
關(guān)注
68文章
19286瀏覽量
229865 -
芯片
+關(guān)注
關(guān)注
455文章
50818瀏覽量
423715
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論