Academy Central
----
Weather

SRAM PUF 的運作原理

SRAM (靜態隨機存取記憶體) 的基本儲存單元通常由六顆電晶體 (6T) 組成,其核心是兩個互相對接的「交叉耦合反相器 (Cross-coupled inverters)」。

SRAM PUF 萃取指紋的過程,就像是觀察一場微觀的拔河比賽:

  1. 亞穩態 (Metastable State): 當晶片處於斷電狀態時,SRAM 單元內部沒有任何資料。當系統「剛通電」的那一瞬間,這兩個反相器會處於一個極度不穩定的亞穩態,雙方都在互相拉扯,試圖將電壓拉高。

  2. 物理變異決定勝負: 理想情況下,這兩側的電路是完全對稱的。但在半導體製造過程中,無可避免地會產生微觀的變異(例如電晶體的閾值電壓 $V_{th}$ 會有極微小的差異)。SRAM PUF 便是依賴於啟動時的電壓微小差異來決定最終狀態 。

  3. 狀態鎖定 (Response): 這種天生的不對稱,會導致其中一側在通電瞬間稍微佔了上風,迅速將電路拉向穩定的邏輯「1」或「0」。因為這種製造變異是隨機且固定的,每一次通電,同一個 SRAM 單元通常都會倒向同一個狀態,這就成了該晶片的獨特指紋。

SRAM PUF 的優缺點分析

優點

  • 高相容性與低成本: 它是基於標準的 CMOS 製程設計,不需要特殊的材料或額外的製造步驟。

  • 隨插即用: 幾乎所有的系統單晶片 (SoC) 內部都已經建置了大量的 SRAM 記憶體區塊。晶片設計師可以直接利用現有的 SRAM 陣列來作為 PUF,實作門檻相對較低。

缺點與挑戰

儘管容易取得,但 SRAM PUF 在作為高安全性應用的「信任根 (Root of Trust)」時,存在著難以忽視的硬傷:

  • 可靠度不佳 (易受環境與老化干擾): 如果 SRAM 單元兩側的物理差異極小,它的狀態就會變得不穩定。這些微小差異很容易受到溫度變化、電壓波動甚至元件老化等環境因素影響,導致可靠度降低 。原本該輸出 '1' 的單元,在極端溫度下可能會翻轉成 '0',產生位元錯誤 (Bit Errors)。

  • 必須依賴 ECC (錯誤更正碼): 為了彌補這些環境干擾導致的錯誤率,SRAM PUF 必須搭配複雜的錯誤更正碼 (ECC) 與輔助資料 (Helper Data) 演算法來修正錯誤 。

  • 成本與安全風險的副作用: 引入 ECC 大幅增加了硬體設計的複雜度、佔用了額外的晶片面積並增加了功耗,這對資源受限的設備是個沉重負擔 。此外,在運作過程中處理或洩露輔助數據 (Helper Data),還會增加遭受側信道攻擊的安全風險

SRAM PUF 的三大核心挑戰與深入分析

1. 物理老化效應 (Aging Effects) 的干擾

我們之前提到 SRAM PUF 容易受到環境干擾 。但在所有干擾中,最難纏的其實是老化。 半導體元件在長期通電運作後,會產生一種稱為 NBTI (負偏壓溫度不穩定性, Negative Bias Temperature Instability) 的現象。這會導致電晶體的閾值電壓 ($V_{th}$) 隨著使用時間慢慢漂移。

  • 影響: 如果一個 SRAM 單元原本兩側的 $V_{th}$ 差異就非常微小,經過幾年的 NBTI 老化效應後,原本佔上風的那一側可能反而變成弱勢。這會導致該晶片的「指紋」隨著時間改變,原本該是 1 的位元永久翻轉成 0,這在安全認證上是致命的。

2. 黃金指標:Uniqueness (獨特性) vs. Reliability (可靠性)

在 IC 設計安全中,我們通常用這兩個數學指標來衡量 PUF:

  • 獨特性 (Inter-Hamming Distance): 比較「不同晶片」產生同一組指紋的差異度。理想值是 50%。SRAM PUF 在這方面表現通常不錯,因為製程變異是夠隨機的。

  • 可靠性 (Intra-Hamming Distance): 比較「同一個晶片」在不同時間、不同溫度/電壓下,產生同一組指紋的錯誤率 (Bit Error Rate, BER)。理想值是 0% (完全沒有錯誤)。SRAM PUF 的致命傷就在這裡,在極端環境下,其錯誤率可能會飆升至 5% 到 15% 不等 。

3. 系統層級的妥協:Fuzzy Extractor (模糊萃取器)

因為 SRAM PUF 無法保證 100% 的可靠性,密碼學家引入了 Fuzzy Extractor 機制來「修復」這些錯誤。

它包含兩個階段:

  1. 註冊階段 (Enrollment): 晶片在安全的工廠環境中第一次通電,讀取 SRAM PUF 的初始值,並計算出一組輔助資料 (Helper Data)。這組資料不包含密鑰本身,但包含了如何「糾錯」的資訊,通常會存在一般的快閃記憶體中。

  2. 重建階段 (Reconstruction): 晶片在實際應用中(可能處於高溫或雜訊干擾下)再次讀取 SRAM PUF。此時讀取到的指紋可能帶有雜訊(位元錯誤)。系統會拿出之前存好的 Helper Data,搭配錯誤更正碼 (ECC),將帶有瑕疵的指紋完美修復成最初的 100% 相同密鑰 。

互動探索:SRAM PUF 亞穩態競爭模擬

為了解決上述的可靠性問題,工程師必須在設計階段就評估雜訊與變異的影響。你可以透過下方的模擬器,親自體驗為什麼當製造變異(指紋特徵)不夠明顯時,環境雜訊會輕易摧毀密鑰的穩定性。