以PUF-based硬件安全信任根構(gòu)建芯片內(nèi)完整安全邊界
前言
在19世紀(jì),荷蘭的密碼學(xué)家奧古斯特·克爾克霍夫(Auguste Kerckhoff)發(fā)表了克爾克霍夫原理,指出:「即使系統(tǒng)中除密鑰之外的一切都是公共知識,密碼系統(tǒng)也必須是安全的?!剐酒踩凶铌P(guān)鍵的元素是根密鑰(Root Key)或硬件唯一密鑰(Hardware Unique Key; HUK)。根密鑰不僅是保護每個芯片的基礎(chǔ),也是整個系統(tǒng)和相關(guān)服務(wù)的信任鏈起點。因此,必須從設(shè)計之初就充分考慮密鑰的生成、存儲和使用的方式。
隨著物理不可復(fù)制功能(PUF)的發(fā)明,我們現(xiàn)在可以在硬件級別創(chuàng)建一個獨特的、天生的、不可復(fù)制的密鑰。而后續(xù)該思考的問題是“我們?nèi)绾伪Wo這把鑰匙?”若是沒有做好保護密鑰的安全機制,就好比將你的密鑰隨意扔在抽屜里一樣,破壞了安全邊界形成安全漏洞。一個系統(tǒng)的安全級別取決于該系統(tǒng)安全中最弱的環(huán)節(jié),在大多數(shù)情況下,系統(tǒng)的安全弱點往往是存儲在不甚安全的 eFuse 中的密鑰。無論密鑰本身的復(fù)雜程度如何,不安全的存儲都會立即危及整個系統(tǒng)的安全性。
此外,我們知道軟件可以在產(chǎn)品出廠后持續(xù)更新,但硬件更新相對困難且成本極高。因此,在一開始所選擇的硬件安全部署質(zhì)量是至關(guān)重要的。PUFrt 是結(jié)合 PUF 和 anti-fuse OTP 的硬件信任根IP,在完整防篡改設(shè)計的保護下,提供不可復(fù)制的密鑰和安全的 OTP 存儲,從制造階段起即提供硬件安全防護。
以eFuse做密鑰存儲的風(fēng)險
eFuse(熔絲)和 anti-fuse OTP(反熔絲內(nèi)存)是現(xiàn)代芯片設(shè)計中最常見的密鑰存儲選項。eFuse 的原理是透過熔斷金屬或聚合物的方式將密鑰編程到OTP 內(nèi)存中,這會留下可見的痕跡。而 anti-fuse 的編程方式是根據(jù)量子穿隧原理在單晶體氧化層形成導(dǎo)電路徑,因此表面上沒有可見的痕跡。圖1為 eFuse 和 anti-fuse OTP 在電子顯微鏡下的比較。儲存在 eFuse 中的“0”和“1”數(shù)據(jù)很容易識別,因為在編程為“1”的單元中有一個明顯的開口。而如圖1 的右圖所示,無論存儲的數(shù)據(jù)如何,anti-fuse 單元看起來并無顯著差異。
圖1. e-fuse與anti-fuse OTP在電子顯微鏡下的俯瞰圖
不安全存儲造成的漏洞
以 ARM 核搭配 Crypto Cell-312? (CC312)是當(dāng)今最常見的設(shè)計組合之一。當(dāng)設(shè)計人員都著重于 CC312 提供的安全功能時,但卻往往忽略了密鑰存儲的安全。我們經(jīng)??梢钥吹?ARM CC312 與 eFuse/anti-fuse 搭配使用,可是針對密鑰注入和存儲程序卻沒有額外的保護(如圖2所示),造成密鑰仍暴露在安全邊界之外,成為攻擊者有機可乘的安全漏洞。這樣的安全問題來自于兩個層面,一是儲存在 eFuse 中的數(shù)據(jù)容易被窺探破解;二是當(dāng)訪問權(quán)限控制沒有被考慮時,任何人皆可輕松獲取儲存在 OTP 中的機密。盡管 CC312 被認為是一款設(shè)計精良的門鎖,但將鑰匙存放在不安全的地方無異于將鑰匙留在門鎖中供任何人開啟一樣。
圖2. 不安全的信任根
以抗攻擊設(shè)計強化的安全防護
雖然 eFuse 中的數(shù)據(jù)可見性問題可用 anti-fuse OTP 解決,但嚴(yán)格來說這樣的安全防護仍然不足。為了實現(xiàn)身份識別并僅將機密數(shù)據(jù)的訪問權(quán)限開放給獲得授權(quán)的用戶,在 OTP 控制器設(shè)計中還必須考慮訪問權(quán)限控制。
為了進一步保護芯片設(shè)計中的 anti-fuse OTP,防篡改設(shè)計也是不可或缺的。良好的防篡改設(shè)計運用電路布局(Layout)和數(shù)字設(shè)計(RTL)打造一個可對抗各種類型的攻擊,如在寫入數(shù)據(jù)時對數(shù)據(jù)進行加擾、或是納入毛刺檢測電路等等的保護外殼。我們將在未來的白皮書中更詳細地討論防篡改設(shè)計的主題。
將 anti-fuse OTP、訪問權(quán)限的控制器和防篡改外殼相結(jié)合,建立了一個安全的硬件信任根(Hardware Root of Trust; HRoT),即可對抗所有前述所討論的漏洞。憑借精心設(shè)計的防篡改外殼和權(quán)限控管的雙APB接口,安全 HRoT與安全子系統(tǒng), CC312等, 能相輔相成,為芯片設(shè)計實現(xiàn)完整的安全邊界。熵碼科技所開發(fā)的 dual-APB RoT IP--PUFrt,即是專為 ARM CC312 和其他ARM用戶的需求所開發(fā)。更詳細的說明及其功能詳見圖3。
圖3. PUFrt 模塊示意圖與其重要特點
以PUFrt實現(xiàn)完整安全邊界
PUFrt 建立在力旺電子的 anti-fuse OTP (NeoFuse) 和量子穿隧 PUF (NeoPUF) 技術(shù)之上,并以PUF天生密碼加密保護 anti-fuse OTP。PUFrt 利用 NeoPUF 完美的隨機性自芯片內(nèi)部生成每個設(shè)備的唯一密鑰(Hardwre Unique Key; HUK),大幅簡化了密鑰注入的程序。真隨機數(shù)發(fā)生器(TRNG) 具有數(shù)字和仿真設(shè)計,結(jié)合了靜態(tài)和動態(tài)熵源以實現(xiàn)其卓越的性能。PUFrt還對數(shù)據(jù)和地址進行了混淆處理,并結(jié)合模擬與數(shù)字設(shè)計了抗攻擊安全防護層,以充分保護密鑰存儲。此外,PUFrt還配備了一個權(quán)限控管控制器和兩個APB接口。圖4即示意了 PUFrt 和 ARM CC312整合使用的范例。APB1 將PUFrt 連接到BUS總線并使用 JTAG 進行 OTP 測試,APB2 將PUFrt集成到CC312 中,為 CC312 中的加密功能提供安全存儲和高質(zhì)量熵源。APB1 將在測試后被禁用,以維持安全邊界的完整性。
圖4. 結(jié)合PUFrt延伸ARM CC312的安全邊界
結(jié)論
總結(jié)而言,雙 APB 接口的 PUFrt 能與 CC312 無縫集成,并為密鑰存儲提供完整的抗攻擊防護。此外,PUFrt 中的 TRNG 能為 CC312 提供高質(zhì)量的熵以執(zhí)行各種安全功能。透過集成 CC312 和 PUFrt,ARM Cortex-M55 可以在推向市場之前實現(xiàn)安全信任根、安全存儲和安全系統(tǒng)。這種應(yīng)用可推及 AIoT 到 HPC 等多項領(lǐng)域。
談到芯片安全性,設(shè)計人員通常會想到 ARM Crypto Cell 312 等加密子系統(tǒng)解決方案。然而,如何為系統(tǒng)生成可信賴的根密鑰、以及如何安全儲存該密鑰的問題仍然未解。PUFrt 就如同一幅完整拼圖所缺失的部分。利用 PUF 的天生密碼(芯片指紋)作為密鑰來加密存儲的任何機要信息,再加上全面的抗攻擊設(shè)計,使其成為能抵御各類潛在攻擊的完美方案。憑借其精心規(guī)劃的架構(gòu),PUFrt 可以輕松導(dǎo)入芯片取代不安全的 eFuse,其權(quán)限控管控制器更為設(shè)計人員節(jié)省設(shè)計時間。總結(jié)而言,PUFrt整合解決方案不僅完成了IC的安全邊界,且能幫助CC312對整體SoC的性能表現(xiàn)達到極致發(fā)揮。