核心概念
什麼是 neoPUF?
neoPUF 是一種基於量子穿隧效應 (Quantum Tunneling) 的 PUF 技術。傳統的 PUF 可能依賴於電路延遲的微小差異(如 SRAM PUF),這些差異可能會隨著溫度或老化而改變,導致密鑰不穩定。而 neoPUF 利用的是半導體材料(通常是氧化層)在極高電場下的量子穿隧現象。
當施加足夠高的電壓時,電子會穿透原本絕緣的氧化層,造成不可逆的破壞,這個過程稱為崩潰 (Breakdown)。在 neoPUF 中,這個崩潰是隨機發生的,有些氧化層會崩潰,有些則不會。
neoPUF 的運作原理
neoPUF 的基本單元包含兩個並聯的電晶體。在寫入階段,系統會對這兩個電晶體的閘極施加高壓。由於微觀結構的隨機差異,其中一個電晶體的氧化層會先發生崩潰,形成導電路徑。一旦其中一個崩潰,電壓就會下降,另一個電晶體就不會崩潰。
這兩個電晶體的狀態就代表了 0 或 1。因為崩潰是永久且不可逆的物理變化,所以 neoPUF 產生的密鑰非常穩定,不會受到環境變化或老化的影響。
**1.施加高壓 (Enrollment):**寫入階段.
對兩個並聯的電晶體施加高電壓。
**2.隨機崩潰 (Breakdown):**量子穿隧效應.
由於微觀差異,其中一個氧化層會先發生崩潰,形成導電路徑。
3.狀態鎖定 (State Locked):
電壓下降,另一個氧化層保持完整。這兩個狀態代表 0 或 1。
4.讀取 (Readout):
測量兩條路徑的電阻差異,讀取穩定的隨機密鑰。
實際範例
範例 1:neoPUF 與 SRAM PUF 的比較
這是一個說明 neoPUF 穩定性優勢的常見情境。
1.情境設定:
晶片需要在極端溫度(-40°C 到 125°C)下運作。
2.SRAM PUF 的表現:
SRAM PUF 依賴於初始上電時,記憶體單元狀態的微小不對稱性。在極端溫度下,這些微小的電性差異可能會反轉,導致產生的密鑰改變,需要複雜的錯誤更正碼 (ECC) 來修復。
3.neoPUF 的表現:
neoPUF 是基於氧化層的物理性破壞(崩潰)。無論溫度如何變化,已崩潰的氧化層不會恢復,未崩潰的氧化層也不會無故崩潰。因此,neoPUF 在極端溫度下仍能保持 100% 的密鑰穩定性,通常不需要 ECC。
抵抗逆向工程 (Reverse Engineering)
逆向工程通常利用高階顯微鏡(如掃描式電子顯微鏡 SEM)將晶片逐層剝離並拍照,試圖「看」出記憶體(如 ROM)中儲存的 0 或 1。
- 視覺上的隱形:由於在顯微鏡下極難從外觀上分辨氧化層是否已經崩潰,駭客無法輕易透過逆向工程或侵入式攻擊來竊取密鑰 。氧化層的崩潰是發生在奈米尺度下的細微物理改變,不會造成外觀上明顯的燒毀或孔洞,因此透過視覺檢測來讀取密鑰幾乎是不可能的任務。
像每個人都有獨一無二的指紋一樣,晶片也可以有自己專屬的「指紋」,我們稱之為物理不可複製功能 (PUF, Physical Unclonable Function)。neoPUF 是一種高階的 PUF 技術,它不需要特殊的製程,就能在標準的 CMOS 晶片中產生獨特、隨機且不可預測的密鑰。這使得晶片在出廠後,不需要再燒錄密鑰,就能擁有極高的安全性,對於防偽、認證和資料保護至關重要。
抵抗侵入式攻擊與探針攻擊 (Invasive & Probing Attacks)
侵入式攻擊通常涉及使用聚焦離子束 (FIB) 切割晶片封裝,並直接使用微探針接觸內部電路,試圖量測電壓或電流。
-
破壞即失效的物理防護:neoPUF 的密鑰資訊隱藏在極薄的閘極氧化層結構中。當攻擊者試圖用物理探針去接觸或探測這些微觀結構時,極容易改變該處的寄生電容,甚至直接破壞氧化層結構。這意味著探測行為本身就會摧毀或改變原本的密鑰狀態,讓攻擊者只能讀取到無意義的亂碼。
-
難以定位的設計:由於 neoPUF 使用標準 CMOS 製程中的一對相鄰電晶體 ,從晶片佈局 (Layout) 來看,這些單元與一般的邏輯電路長得完全一樣。攻擊者即使打開晶片,也很難在數以千萬計的電晶體海中準確定位出哪些是儲存密鑰的 PUF 單元。
抵抗側信道攻擊 (Side-Channel Attacks, SCA)
側信道攻擊不直接破壞晶片,而是透過監聽晶片運作時的物理洩漏資訊(如耗電量、電磁輻射波形)來推導內部處理的密鑰資訊。
-
極微弱的物理洩漏:neoPUF 在讀取階段 (Readout) 時,只需要施加低電壓來測量電晶體是呈現低電阻(已崩潰)還是高電阻(未崩潰) 。這種靜態阻值測量所產生的電流極小,且發生在晶片內部極微小的區域,外部儀器極難捕捉到有意義的訊號波動。
-
缺乏動態翻轉特徵:傳統記憶體(如 SRAM 或 EEPROM)在讀取資料時,可能會伴隨較明顯的狀態切換與電容充放電,產生容易被差分功耗分析 (DPA) 捕捉的動態功耗特徵。而 neoPUF 氧化層崩潰是一種不可逆的物理破壞 ,其狀態是永久固定的,讀取過程幾乎沒有動態功耗特徵可供攻擊者分析。 __
要達成「端到端」的資料安全,不能單靠一個密鑰,而是必須以 PUF 為基礎,往上堆疊出完整的硬體安全架構與系統安全協定。以下是在 SoC 系統層級中必須搭配的關鍵機制:
一、 核心硬體架構:建立安全邊界
要保護從 PUF 萃取出來的密鑰,SoC 內部必須有一個不受外部應用程式干擾的「保險箱」。
-
安全隔離區 (Secure Enclave / HSM): 在 SoC 中劃分出一個獨立的硬體安全模組(例如 ARM TrustZone 或 RISC-V 的 PMP 架構)。neoPUF 應該被封裝在這個隔離區內,一般的作業系統(Rich OS)無法直接存取 PUF 的原生密鑰,只能透過標準 API 向安全區請求加密服務。
-
硬體加密引擎 (Crypto Accelerators): 系統需要內建高效率的對稱加密(如 AES)、非對稱加密(如 RSA、ECC)與雜湊函數(如 SHA-256)硬體引擎。PUF 產生的密鑰會直接硬體對接到這些引擎,資料在 SoC 內部處理完後才送出,確保「密鑰不落地」。
-
安全匯流排與記憶體隔離: 確保 SoC 內部的通訊匯流排(Bus)不會被惡意側錄,並利用記憶體保護單元 (MPU) 防止惡意程式越界讀取安全區的記憶體暫存區。
二、 系統層級與通訊協定:發揮 PUF 的價值
有了安全的硬體環境後,我們需要透過標準協定,將這份信任延伸到整個系統甚至雲端網路。
-
金鑰衍生與管理 (Key Derivation Function, KDF): 我們通常不會直接拿 PUF 產生的原始密鑰來加密所有資料。相反地,PUF 提供的是最高層級的「根金鑰 (Root Key)」。系統會透過 KDF 演算法,從根金鑰衍生出多把「會話金鑰 (Session Keys)」或「應用金鑰 (Application Keys)」。這樣即使某把應用金鑰外洩,也不會危及系統根本。
-
安全開機 (Secure Boot): 這是系統啟動的第一道防線。當 SoC 通電時,會先利用 PUF 根目錄下的公鑰/私鑰架構,去驗證韌體(Bootloader 與 OS)的數位簽章。只有確認韌體沒有被駭客篡改過,系統才會獲准開機。
-
設備雙向身分認證 (Mutual Authentication): 當設備要連上雲端(如 AWS IoT、Azure)時,必須證明自己的身分。藉由 neoPUF 產生的唯一硬體指紋,結合傳輸層安全協定(如 TLS / DTLS)進行 Challenge-Response 認證,能防止偽造設備惡意連入網路。
-
安全的遠端更新 (Secure OTA): 聯網設備無可避免需要更新韌體。透過端到端的加密協定,雲端伺服器發送的更新包必須被加密且簽章,SoC 收到後利用源自 PUF 的金鑰進行解密與驗證,確保更新過程不會被植入惡意木馬。