集成安全組件的優(yōu)點(diǎn)
Marius Munder (Silicon Labs 系統(tǒng)架構(gòu) 高級(jí)工程經(jīng)理)
本文引用地址:http://cafeforensic.com/article/202006/414838.htm摘 要:分析了安全組件的功能,和集成安全組件的附加功能及優(yōu)勢(shì)。
0 引言
為了確保物聯(lián)網(wǎng)(IoT)的安全,連網(wǎng)設(shè)備需要一系列片上安全功能,諸如不可變的設(shè)備身份、具有信任根的安全啟動(dòng)、密鑰的安全存儲(chǔ),以及搭配高熵隨機(jī)數(shù)發(fā)生器的硬件加速加解密等功能。鑒于持續(xù)增加的物聯(lián)網(wǎng)安全事件,立法人員正在加速推動(dòng)立法,為部分物聯(lián)網(wǎng)設(shè)備或應(yīng)用領(lǐng)域制定最低的安全級(jí)別。集成的安全組件不僅可以協(xié)助解決這些無(wú)法避免的問(wèn)題,還能提供額外的優(yōu)勢(shì),如安全軟件更新和安全調(diào)試端口解鎖,而使用外部安全組件是不容易實(shí)現(xiàn)這些功能的。
在過(guò)去,安全組件(Secure Element,SE)是安裝在智能卡或?qū)S玫募呻娐罚↖C)上的實(shí)體器件,提供主機(jī)系統(tǒng)安全相關(guān)的服務(wù),如安全密鑰存儲(chǔ)或主機(jī)系統(tǒng)的安全識(shí)別。主機(jī)系統(tǒng)可經(jīng)加密連接后進(jìn)行通信。這種方法的優(yōu)勢(shì)是把物料清單(BOM)中的安全組件變成可選項(xiàng),在寬松的安全要求下可節(jié)省應(yīng)用的成本。隨著安全組件以智能卡的形式出現(xiàn),安全設(shè)備的身份識(shí)別可以輕松地從一臺(tái)主機(jī)轉(zhuǎn)移到另一臺(tái)主機(jī),此模式目前受到許多應(yīng)用案例的青睞。
但是,對(duì)于最先進(jìn)的物聯(lián)網(wǎng)設(shè)備,強(qiáng)大的安全功能應(yīng)該是必備的,而非可選項(xiàng)。據(jù)福布斯(Forbes)雜志報(bào)道,對(duì)物聯(lián)網(wǎng)設(shè)備的網(wǎng)絡(luò)攻擊在2019年激增了300%,僅2019年上半年連接至互聯(lián)網(wǎng)的物聯(lián)網(wǎng)設(shè)備就遭受到29億次攻擊。那些未直接連接至互聯(lián)網(wǎng)的智能家居設(shè)備,實(shí)際遭受的攻擊數(shù)量預(yù)計(jì)會(huì)少幾個(gè)數(shù)量級(jí)。然而,連網(wǎng)設(shè)備易受攻擊的問(wèn)題已成為負(fù)面的新聞話題,從而影響了物聯(lián)網(wǎng)行業(yè)以及受攻擊設(shè)備的制造商。因應(yīng)智能設(shè)備漏洞的相關(guān)報(bào)道,監(jiān)管機(jī)構(gòu)和消費(fèi)者權(quán)益協(xié)會(huì)一直在游說(shuō)制定相關(guān)的法律框架,強(qiáng)制部分物聯(lián)網(wǎng)設(shè)備制定安全級(jí)別。如美囯加州最近在實(shí)施規(guī)范物聯(lián)網(wǎng)設(shè)備安全性的新法律,其他州和國(guó)家政府也紛紛效仿。
由于市場(chǎng)渴望特定的產(chǎn)品系列具有安全組件提供的部分或全部安全功能,安全組件在BOM(物料清單)中可選而帶來(lái)的所有優(yōu)勢(shì)已蕩然無(wú)存。而且BOM上的每一個(gè)項(xiàng)目都意味著智能設(shè)備成本的增加,這不僅僅是安全組件本身的硬件成本,還包括印制電路板(PCB)上組件的取放、檢查和測(cè)試成本等等。使用集成到主機(jī)中的安全組件則可以節(jié)省相當(dāng)可觀的成本, 除了降低成本和硬件設(shè)計(jì)的復(fù)雜度之外,因?yàn)楣糁鳈C(jī)和安全組件之間的通信線路而導(dǎo)致的安全性問(wèn)題也可得到解決。
1 安全組件的功能
內(nèi)部和外部的安全組件都可提供下列部分或全部功能。
1) 不可變的設(shè)備身份
不可變的設(shè)備身份包括唯一且防篡改的設(shè)備身份,用于設(shè)備身份識(shí)別和提供設(shè)備認(rèn)證的安全憑證。這個(gè)功能可能包括唯一的設(shè)備識(shí)別碼、安全憑證或其他安全手段,例如基于令牌的認(rèn)證。 重點(diǎn)是,除非入侵設(shè)備所付出的代價(jià)遠(yuǎn)高于能獲得的潛在回報(bào),否則設(shè)備身份識(shí)別安全不會(huì)受到威脅。
2) 安全密鑰存儲(chǔ)
安全密鑰存儲(chǔ)實(shí)質(zhì)上就是受保護(hù)的閃存區(qū),其受安全組件控制且只能經(jīng)由安全組件存取。根據(jù)Kerckhoffs原理,最好的加密算法只有在密鑰數(shù)據(jù)不會(huì)受邊信道的攻擊而被提取的情況下才是安全的。在這類攻擊中,無(wú)需破解加密算法,也不用暴力侵入設(shè)備,就可以提取密鑰數(shù)據(jù)。安全組件可以確保安全密鑰數(shù)據(jù)不能經(jīng)由設(shè)備的調(diào)試接口被提取,甚至被劫持的應(yīng)用程序也無(wú)法取得該數(shù)據(jù)。
3) 硬件加密加速器
硬件加密加速器不僅節(jié)省復(fù)雜加密操作的時(shí)間和功耗,還可以采取最新對(duì)策以防止差分功率分析(DPA)等類型的邊信道攻擊。與安全密鑰存儲(chǔ)結(jié)合在一起時(shí),給定的安全密鑰可以永遠(yuǎn)不離開安全組件,而是指示安全組件去使用安全密鑰存儲(chǔ)庫(kù)中的特定密鑰執(zhí)行限定的加密操作。只有數(shù)據(jù)負(fù)載在安全組件和應(yīng)用程序之間交換,在此操作期間,應(yīng)用程序不但看不到,也無(wú)法提取實(shí)際密鑰。
4) 高熵隨機(jī)數(shù)發(fā)生器
秘密的隨機(jī)數(shù)對(duì)于加密算法和密鑰的產(chǎn)生至關(guān)重要,其用于現(xiàn)在許多通信和安全協(xié)議的安全性和加密上。創(chuàng)建真隨機(jī)數(shù)發(fā)生器(TRNG)是一個(gè)復(fù)雜的過(guò)程,因?yàn)閿?shù)字算法先天上就不利于創(chuàng)建真正的隨機(jī)數(shù)。如果確認(rèn)生成的隨機(jī)數(shù)有任何規(guī)律,黑客就可以利用該弱點(diǎn)來(lái)減少獲取密鑰所耗費(fèi)的時(shí)間和精力。為了克服這一限制,隨機(jī)數(shù)發(fā)生器以片上電路硬件外設(shè)的形式實(shí)現(xiàn),通過(guò)專用的電路設(shè)計(jì)來(lái)生成非常高熵的隨機(jī)數(shù)。
2 集成安全組件的附加功能
集成的安全組件可以提供下列附加的獨(dú)特功能。
1) 安全解鎖調(diào)試端口
如果未鎖好,則任何系統(tǒng)級(jí)芯片(SoC)的調(diào)試端口都將構(gòu)成一個(gè)重大的安全漏洞。所以最佳的安全性實(shí)踐是產(chǎn)品進(jìn)入生產(chǎn)線之前須鎖好或是停用調(diào)試的存取功能。大多數(shù)SoC都包含調(diào)試端口鎖定機(jī)制。通過(guò)集成的安全組件可以提供安全的調(diào)試端口解鎖功能,以更容易對(duì)現(xiàn)場(chǎng)取回的設(shè)備進(jìn)行故障分析。此舉對(duì)于現(xiàn)場(chǎng)試用以及向“友好的客戶”推薦初始產(chǎn)品特別有用,甚至在往后的階段,我們也希望對(duì)從現(xiàn)場(chǎng)退回的設(shè)備進(jìn)行故障分析以提高產(chǎn)品質(zhì)量。通過(guò)出示唯一的解鎖令牌可以開啟調(diào)試端口的訪問(wèn)。此令牌可利用制造商生成的私鑰發(fā)出可撤銷且唯一的身份標(biāo)識(shí)符。安全解鎖調(diào)試端口的主要好處在于設(shè)備解鎖時(shí)不必刪除設(shè)備數(shù)據(jù),進(jìn)而減少故障排除時(shí)間,同時(shí)增強(qiáng)故障根本成因的分析能力。
2) 具有完整信任根和安全加載程序的安全啟動(dòng)
常見(jiàn)的安全啟動(dòng)實(shí)現(xiàn)方式包括將用于驗(yàn)證程序代碼的公鑰存儲(chǔ)到一次性可編程存儲(chǔ)器中。由于公鑰變得不可逆,因此只有用對(duì)應(yīng)的私鑰簽名的程序代碼才能通過(guò)身份驗(yàn)證和執(zhí)行。身份驗(yàn)證步驟通常由某種形式的啟動(dòng)加載程序執(zhí)行。
我們使用集成的安全組件后,可以根據(jù)圖1所示,來(lái)采取完整的信任鏈步驟。依圖示可見(jiàn),我們實(shí)際上擁有雙核心體系結(jié)構(gòu),第一個(gè)核心是安全組件本身,具有自己的專用閃存、ROM、RAM和外圍設(shè)備。第二個(gè)核心是通常更加強(qiáng)大的應(yīng)用程序核心,帶有典型的物聯(lián)網(wǎng)SoC設(shè)計(jì)應(yīng)具有的存儲(chǔ)器和外圍設(shè)備。
安全啟動(dòng)過(guò)程從安全組件開始。具體看,啟動(dòng)從安全且不可變的ROM開始,同時(shí)由安全組件來(lái)執(zhí)行對(duì)第一階段啟動(dòng)加載程序的身份認(rèn)證。在此過(guò)程中,第一階段啟動(dòng)加載程序的更新檢查也要由安全加載程序執(zhí)行。一旦安全組件被完全驗(yàn)證及可以使用后,第二個(gè)(應(yīng)用程序)核心也隨之啟動(dòng),同時(shí)對(duì)第二階段啟動(dòng)加載程序進(jìn)行身份驗(yàn)證,并根據(jù)需要進(jìn)行安全加載程序的更新。最后,第二階段啟動(dòng)加載程序會(huì)檢查、更新(如果適用)并驗(yàn)證應(yīng)用程序代碼。此過(guò)程如圖1所示。
關(guān)于防范攻擊的對(duì)策,一種很好的做法是要遵循嚴(yán)格的規(guī)則,即僅允許下列可更新部件的固件升級(jí)到新的版本:
● 第一階段啟動(dòng)加載程序;
● 第二階段啟動(dòng)加載程序;
● 應(yīng)用程序。
這種方式可防止通過(guò)安裝較舊的固件來(lái)利用已知漏洞。同時(shí),這也可以避免反復(fù)對(duì)簽名和加密的升級(jí)程序進(jìn)行解密,因?yàn)樵谶@個(gè)過(guò)程中,可以使用邊信道攻擊(例如差分功率分析)來(lái)提取安全密鑰。
3 結(jié)論
智能物聯(lián)網(wǎng)設(shè)備需要最先進(jìn)的安全特性,這不僅是為了達(dá)到更好的管理,也是為了遵守許多地區(qū)和垂直市場(chǎng)所要求的法律規(guī)范。在黑客與設(shè)備制造商永無(wú)止境的軍備競(jìng)賽中,集成的安全組件可提供卓越的價(jià)值和較低的成本來(lái)確保設(shè)備的安全。與專用的外部安全組件相比,集成的安全組件可以節(jié)省更多成本。構(gòu)建安全調(diào)試端口解鎖和具有完整信任根的安全啟動(dòng)這些安全特性所需要的前提條件,只有集成的安全組件才能滿足。
?。ㄗⅲ罕疚膩?lái)源于科技期刊《電子產(chǎn)品世界》2020年第07期第57頁(yè),歡迎您寫論文時(shí)引用,并注明出處。)
評(píng)論