本文介紹了SRAM PUF(物理不可克隆功能)是什么以及如何工作的基礎知識,以及它在物聯網(IoT)安全性中提供的功能(作為任何設備的信任錨)。
在任何給定情況下,安全都始于信任。當您的房屋中裝有警報系統時,您僅將其PIN碼提供給您信任的人。無論是家庭成員還是友好的鄰居,如果沒有信任,您都不會分享您的秘密。這就是應該的樣子!
信任問題也可以轉化為個人身份。在這里,信任的基礎來自正式文件,例如護照或出生證明。但是,這些文檔需要與特定人員“安全地鏈接”。這通常適用于人類生物特征識別。身份證件都具有將文件與合適的人聯系起來的東西,無論是僅僅是人的照片還是通過指紋進行的生物識別(如現代護照)。因此,生物識別技術是建立具有權限(您是否要越過邊界?)的系統的安全錨。
必須使用此安全錨,以防止未經授權的各方復制和使用簡單文檔。如果文檔錨定到無法復制或克隆的東西(例如指紋),則安全性將變得足夠強大,可以將相對簡單的文檔轉變為功能強大的身份驗證工具。
圖1.在不可克隆的錨中建立信任
物聯網(IoT)也面臨類似的挑戰。僅當每個設備都具有保護敏感數據和安全通信的能力時,才可能安全連接數十億個低成本設備。證書和加密密鑰提供了這種保護,類似于前面的示例中的護照。但是,這些密鑰和證書還需要物理安全錨,以確保不能將它們復制到惡意設備上,從而冒充真正的密鑰和證書。提供此安全錨的技術是物理不可克隆功能(PUF)。PUF是一種物理結構,從中可以生成設備唯一且不可克隆的加密根密鑰。該根密鑰用于保護設備的應用程序密鑰和證書。
盡管存在許多不同類型的PUF,但由于其可靠性,可擴展性和易用性,我們將重點介紹SRAM PUF。SRAM PUF以易于擴展的方式靈活地擴展到整個IoT中部署的許多不同技術節點。它也是當今已知的唯一一種PUF類型,只需將軟件加載到芯片上即可實現(作為集成專用硬件IP塊的替代方法,這也是可能的)。SRAM PUF是基于硬件的安全錨點,因為連接的設備數量不斷增加,因此越來越受歡迎。
什么是SRAM PUF?
PUF利用了在半導體生產過程中自然發生的深亞微米變化,并賦予每個晶體管略微隨機的電特性。這些獨特的屬性構成了芯片獨特身份的基礎。
SRAM PUF基于任何數字芯片中可用的標準SRAM存儲器的行為。每次SRAM通電時,每個SRAM單元都有其自己的首選狀態,這是由晶體管閾值電壓的隨機差異引起的。因此,當為SRAM存儲器供電時,每個存儲器都將產生0和1的唯一且隨機的模式。這些模式就像芯片指紋一樣,因為每個指紋對于特定的SRAM來說都是唯一的,因此對于特定的芯片來說是唯一的。
但是,這種所謂的SRAM PUF響應是“嘈雜的”指紋,要將其轉變為高質量和安全的加密密鑰,需要進一步處理。通過使用所謂的“模糊提取器” IP,可以在所有環境條件下每次都重建完全相同的加密密鑰。
圖2.從芯片SRAM內部的隨機性中提取SRAM PUF密鑰
與傳統的非易失性存儲器(NVM)中的密鑰存儲相比,這種從SRAM屬性派生密鑰的方法具有很大的安全優勢。由于密鑰不是永久存儲的,因此在設備不活動時不存在(沒有靜止的密鑰),因此打開設備并破壞其內存內容的攻擊者無法找到它。
如何將SRAM PUF用作信任的基礎?
設備,特別是作為IoT一部分的設備,需要密鑰來保護其數據,IP和操作。如果可以信任這些密鑰的來源,并且將密鑰安全地存儲在可以防止攻擊的硬件中,則它們將構成設備的所謂“信任根”。
密鑰可以由設備制造商(也稱為OEM)自己提供給設備,也可以由芯片供應商在更早的階段提供。當芯片供應商提供預先配置的芯片時,這將增加他們出售給OEM的產品的價值。如果OEM決定自己進行配置,他們通常可以購買成本更低的芯片。
不論由哪一方承擔提供加密密鑰的責任,執行該任務都不是一件容易的事。將密鑰注入芯片需要一家值得信賴的工廠,這會增加制造過程的成本和復雜性,并限制靈活性。通過使用內部隨機數生成器(RNG)或PUF在芯片內部創建密鑰,可以避免這種復雜性。
將加密的根密鑰放入設備并不是唯一的挑戰。在設備上安全存儲敏感數據也不是一件容易的事。密鑰不能簡單地存儲在NVM中,因為NVM容易受到硬件攻擊。允許攻擊者讀取NVM內容的硬件攻擊變得越來越普遍,從而使不受保護的密鑰存儲不可行。因此,需要替代的安全密鑰存儲。一種方法是向設備添加安全元素。但是,增加硬件還帶來了更高的復雜性和成本。諸如SRAM PUF之類的硅PUF可以安全地存儲加密密鑰,而無需添加任何其他硬件。
下表總結了用于設置和存儲加密密鑰的安全級別,供應鏈開銷和技術選項的成本:
圖3.與其他密鑰生成和存儲機制相比,物理不可克隆的功能
使用SRAM PUF創建密鑰庫
當我們從SRAM PUF獲得此根密鑰時,下一步是創建信任根的步驟是什么?下一步是利用SRAM PUF密鑰創建嵌入式密鑰庫,以保護設備上的所有秘密數據。受此保管庫保護的密鑰是設備的更高級別的服務和應用程序所必需的。因此,密鑰庫啟用了安全應用程序,例如身份驗證,消息加密,軟件/固件加密等等。
使用SRAM PUF,我們可以創建具有以下屬性的密鑰庫:
絕不會將任何密鑰存儲在純文本中,尤其是最上面的密鑰或“根”密鑰
不同的應用程序可以存儲和使用自己的唯一密鑰
密鑰庫輸出可以直接發送到硬件加密引擎
基于SRAM PUF的密鑰庫實現以下功能:
注冊:注冊操作通常在設備生命周期中執行一次。它建立可以在設備生存期內重現的PUF根密鑰。PUF根密鑰永遠不會離開設備,也永遠不會存儲。它用于派生第二層密鑰,可以將其輸出或用于包裝/拆開敏感數據。此外,還會創建用于糾錯的幫助程序數據。該數據是不敏感的,它不提供關于PUF根密鑰的任何信息,因此可以存儲在設備可訪問的NVM中。輔助數據僅用于在隨后讀取固有噪聲的PUF時從SRAM PUF可靠地重建相同的根密鑰。
圖4.創建一個根密鑰及其助手數據
開始:開始操作使用在注冊過程中生成的輔助數據,結合新鮮的“嘈雜”的SRAM PUF測量,重新生成內部PUF根密鑰。在設備上生成的幫助程序數據對該設備是唯一的。執行啟動操作時,使用從其他設備復制的幫助程序數據會導致操作失敗,并帶有相應的錯誤指示。
圖5.使用助手數據還原根密鑰
包裝:包裝操作將外部提供的密鑰轉換為密鑰代碼(KC),該密鑰代碼是原始密鑰的加密和認證版本。由于這種保護,KC可以不受保護地存儲在平原中。KC將只允許在原始密鑰被“包裝”的設備上訪問原始密鑰。
圖6.創建密鑰代碼以安全地存儲密鑰
取消包裝:取消包裝操作與包裝操作相反,因此,在驗證KC的真實性之后,它將KC轉換回包裝的原始密鑰。
圖7.使用密鑰代碼檢索存儲的密鑰
停止:只要不需要立即執行進一步的密鑰庫操作,就可以發出停止操作。它會從內部寄存器中清除所有敏感數據,包括根密鑰,并且可以在進入睡眠模式之前使用以減少攻擊面。
圖8.完成后,移除根密鑰
從PUF派生多個密鑰
安全系統的實現通常需要多個單個密鑰。這是因為:
對一個應用程序使用特定密鑰的妥協不應影響同一系統中其他應用程序使用的秘密的安全性,這要求系統中的不同應用程序使用不同的密鑰。
系統中的不同加密算法期望密鑰具有不同的長度或彼此不兼容的不同結構。
不同的應用程序需要具有不同生存期的機密信息,例如,系統的一個應用程序需要多個短期密鑰,而第二個應用程序則需要單個長期密鑰。
密鑰通常與身份相關聯并用于身份驗證目的,只有在系統的不同用戶可以訪問不同密鑰時才有意義。
由于這些和其他原因,在安全設計中公認的最佳做法是僅將單個密鑰用于單個目的和/或單個應用程序。但是,在許多實際情況下,安全系統的實現只能從SRAM PUF中訪問單個根秘密,在這種情況下。為了滿足單密鑰一次性使用的要求,應該使用能夠從該單個根秘密生成多個應用程序密鑰的密鑰管理組件。
多個生成的應用程序密鑰的關鍵特性是它們在密碼上是分開的,即,應以這樣的方式生成它們:特定派生密鑰的公開不影響任何其他派生密鑰的安全強度。這意味著不可能使用簡單的生成方法(例如,應用簡單的算術運算或使用機密的重疊部分)。取而代之的是,應該使用加密安全密鑰推導函數(KDF),該函數使用加密原語(例如AES或SHA-256)來確保其輸出之間的加密分離。因此,利用功能完備的KDF將確保可以從單個SRAM PUF實例派生幾乎無限數量的密鑰。
通過軟件實現SRAM PUF
尚未解決的SRAM PUF的最大好處之一是,它基于幾乎在任何芯片(SRAM存儲器)中都可用的物理結構。由于此PUF類型使用標準的“現成” SRAM,因此它是用于保護不需要在硅制造過程中加載的IoT產品的唯一硬件熵源選項。它可以稍后安裝在供應鏈中,甚至可以在已部署的設備上進行遠程改裝。這實現了前所未有的遠程“棕地”安裝硬件信任根,并為將物聯網擴展到數十億個設備鋪平了道路。
前面描述的用于創建密鑰庫和派生多個密鑰的功能可以實現為硬件IP或軟件IP。開發PUF所需的唯一硬件是PUF本身的實際唯一物理結構。因此,在PUF算法可以訪問(未初始化的)SRAM的任何設備上,都可以實現工作的SRAM PUF。此特性使SRAM PUF在市場上不同PUF頻譜中獨樹一幟。據作者所知,SRAM PUF是當前可以通過簡單地將軟件加載到設備上而在硬件中實現的唯一類型的PUF。
圖9.在PUF算法可以訪問(未初始化的)SRAM的任何設備上,都可以實現工作的SRAM PUF。
結論
沒有信任就沒有安全。任何安全解決方案都將以某種能夠證明主題身份的東西(無論該主題是要簽發身份證件的人,還是要在IoT中部署的芯片的人),毫無疑問。在本文中,我們將SRAM PUF技術介紹為任何物聯網設備的可靠,可擴展且易于使用的信任根。無論是將其實現為專用的硬件IP塊,還是作為加載到設備上的軟件來實現,它都可以通過芯片硅上微小的,設備唯一的變化來創建受信任的加密根密鑰。使用SRAM PUF,可以確保設備的根密鑰對于供應鏈中的任何人都不是已知的,并且如果設備落入不信任之手,則不能更改或克隆該設備的根密鑰。通過在此根秘密之上擴展安全功能,可以建立用于敏感數據和秘密密鑰的受信任保管庫,并且可以導出和保護設備所需的所有其他密鑰。這就是為什么SRAM PUF是確保您的系統不受地面(或硅)影響的絕佳方法。
編輯:hfy
-
sram
+關注
關注
6文章
768瀏覽量
114761 -
物聯網
+關注
關注
2911文章
44837瀏覽量
375181 -
晶體管
+關注
關注
77文章
9723瀏覽量
138600
發布評論請先 登錄
相關推薦
評論