COMIC CLASSROOM

安全保證與產品生命週期第 1 / 2 課

FIPS 140-3 漫畫小教室:從驗證流程到 LV3 硬體安全

這篇把 FIPS 140-3 當成密碼模組的安檢制度:先看它驗的是什麼,再用 Level 1、2、3 理解封裝、防拆、金鑰保護與半導體安全設計的差異。

11 分鐘

先把 FIPS 140-3 想成密碼模組的安檢制度

FIPS 140-3 不是在說某個演算法夠不夠強,而是在檢查一個密碼模組到底有沒有被正確設計、實作、保護與操作。你可以把它想成密碼產品進場前的安檢。

這篇會用漫畫把驗證流程與 Level 1 到 Level 3 的差異講清楚:有些等級重視演算法與文件,有些等級進一步要求防拆、金鑰保護與角色權限。

如果你是硬體或晶片設計者,重點不是只問『有沒有 AES』,而是問:金鑰怎麼進來、怎麼存、怎麼清除、誰能操作、被拆或被攻擊時系統會怎麼反應。

FIPS 140-3 常被客戶、稽核、採購合約用一句話帶過:「你的 crypto module 要有 FIPS。」但對 RD 來說,真正麻煩的不是把 AES、SHA、RSA 放進晶片或軟體,而是要把模組邊界、角色權限、金鑰生命週期、環境防護、測試證據全部講清楚,最後還要通過 CSTL 實驗室與 CMVP 審查。

這篇小教室依照 8 張漫畫順序,把 FIPS 140-3 當成一個工程專案來看:先知道驗證對象是「模組」不是整台產品,再理解流程、11 個安全領域、Level 1 到 Level 3 的差異,最後回到專案決策:該選哪個等級,才不會花錯錢又卡在驗證。

1. FIPS 140-3 是什麼:驗的是模組,不是口號

FIPS 140-3 小教室第一頁,介紹 FIPS 140-3 是美國與加拿大採用的密碼模組安全驗證標準
Page 1 / 8 - FIPS 140-3 的核心不是自稱 compliant,而是取得 CMVP 可查的 validated certificate。

第一頁先把最大觀念釐清:FIPS 140-3 驗證的對象是 cryptographic module,不是整個產品。模組可以是硬體 IC、軟體 library、firmware,或硬體加軟體的混合邊界;重點是它在明確邊界內執行密碼功能,並保護 CSP(Critical Security Parameters,例如金鑰、seed、internal secret)。

所以「我們用了 AES」不等於 FIPS validated。「我們的演算法有 CAVP 測試」也還不等於模組 validated。演算法測試只是前置條件,真正上榜要看 CMVP certificate。這對晶片公司很重要:客戶採購常問的是證書編號、module version、operational environment,而不是你內部 block diagram 多漂亮。

另外,NIST CMVP 已公告 FIPS 140-2 轉換時程:FIPS 140-2 模組在 2026 年 9 月 21 日後已移到 Historical List。新系統規劃應以 FIPS 140-3 為主;既有系統能否繼續使用,還要核對官方政策、個別證書狀態與採購要求。Historical 與 Revoked 不同,不能一律解讀成可用或不可用。這代表現在做新 SoC、HSM、secure element、firmware crypto library,規格與文件一開始就要用 140-3 思維設計。

2. 驗證怎麼跑:它是一場馬拉松專案

FIPS 140-3 小教室第二頁,說明廠商、CSTL 實驗室、CMVP 審查與上榜流程
Page 2 / 8 - FIPS 驗證要經過文件準備、CSTL 測試、CMVP 審查與 validated modules list 上榜。

FIPS 140-3 的流程比較像產品認證加設計稽核。廠商先準備 Security Policy、有限狀態模型、設計文件、測試計畫、CAVP algorithm certificate 等材料,接著送到 CSTL 認可實驗室測試,再由 CMVP 審查報告與文件。最後拿到 certificate 並被列在 validated modules list,才是客戶可以引用的正式結果。

Security Policy 是最核心的公開文件。它會說明 module boundary、approved mode、角色與服務、金鑰輸入輸出、self-test、zeroization、operational environment 等。寫得不清楚,後面測試和審查都會反覆補件。

時程上不要太樂觀。圖上的 12 到 24 個月是專案估算,並非 CMVP 承諾。文件成熟度、模組變更、實驗室排程與審查補件都會影響時程。對 RD director 來說,這應該在產品規格階段就拉進 schedule,而不是 tape-out 後才補一句「順便做 FIPS」。

3. 全局地圖:四個等級與 11 個安全領域

FIPS 140-3 小教室第三頁,說明四個等級與 11 個安全領域
Page 3 / 8 - 等級不是單看一項,而是 11 個安全領域分別評估後,總評取最低分。

第三頁是整套 FIPS 140-3 的地圖。Level 1 到 Level 4 不是單一開關,而是跨 11 個安全領域逐項評分,例如 module specification、interfaces、roles and services、software/firmware security、operational environment、physical security、non-invasive security、SSP management、self-tests、life-cycle assurance、mitigation of other attacks。

最容易被低估的是「短板決定等級」。如果 10 個領域都做到 Level 3,但 physical security 只有 Level 2,整體證書就只能是 Level 2。這對硬體安全 IC 很關鍵,因為你不能只把 crypto engine 做強,卻讓封裝、防拆、側通道、金鑰歸零或 SSP 管理拖後腿。

實務上,Level 1 常見於軟體 crypto library 或 SoC 內部 crypto engine;Level 2 開始要有拆封留痕與角色分離;Level 3 則要面對物理入侵、身份認證、trusted channel、環境防護與更嚴格的金鑰保護。

4. Level 1:做對演算法,開機先自檢

FIPS 140-3 小教室第四頁,介紹 Level 1 的 approved algorithms、production-grade components 與 self-test
Page 4 / 8 - LV1 是所有等級的地基:approved algorithms、production-grade module、pre-operational self-test。

Level 1 可以把它想成「密碼學與基本工程紀律要做對」。演算法要是 approved algorithm,並通過 CAVP;元件要是 production-grade;模組啟動後要先做 pre-operational self-test,確認關鍵功能沒有壞掉,通過後才提供密碼服務。

這裡沒有要求 tamper-evident seal、tamper sensor 或特殊防拆封裝,所以很多軟體 library、手機作業系統內建 crypto module、一般 SoC crypto engine 會從 Level 1 開始。但「不要求防拆」不代表隨便做:approved mode、錯誤狀態、known-answer test、金鑰管理、文件一致性仍然會被檢查。

對 IC 設計來說,Level 1 是最常被拿來當 baseline 的等級。它適合軟體或一般晶片內建加密引擎,但若客戶威脅模型包含實體接觸、拆機、維修場域或攻擊者拿得到設備,就要往 Level 2 或 Level 3 評估。

5. Level 2:拆過要留痕,角色要分開

FIPS 140-3 小教室第五頁,介紹 Level 2 的 tamper-evidence 與 role-based authentication
Page 5 / 8 - LV2 的哲學不是擋住所有攻擊,而是讓拆封、破壞、角色濫用留下可見證據。

Level 2 的重點是 tamper-evidence 與 role-based authentication。Tamper-evidence 不是要讓攻擊者完全拆不開,而是拆過會留下肉眼可見或可檢查的痕跡,例如防拆封條、不透明外殼、防拆塗層或防拆漆。這讓營運者能在維修、盤點、稽核時發現設備被動過。

角色分離則要求至少區分 Crypto Officer 與 User。Crypto Officer 可以做設定、管理金鑰、調整模組參數;User 則只能使用被允許的密碼服務。這個要求看起來像軟體權限管理,但硬體產品也要反映在命令集、debug port、管理介面、factory mode 與 secure boot policy 上。

Level 2 很適合企業級防火牆、VPN 設備、入門 HSM、網通設備等。它提供比 Level 1 更好的稽核可信度,但還不是「抗物理入侵」等級。換句話說,LV2 的證據是「你拆過我知道」,不是「你拆我也拿不到」。

6. Level 3:依封裝與適用條款保護秘密

FIPS 140-3 小教室第六頁,介紹 Level 3 的 tamper response、identity-based authentication、trusted channel 與 EFP/EFT
Page 6 / 8 - LV3 的實體保護依封裝與適用條款判讀;需要反應或歸零時,須驗證觸發與完成條件。

Level 3 的實體要求依模組封裝與適用條款而定。NIST CMVP IG 7.A Table 2 區分外殼硬度、孔洞探測防護,以及門蓋或維修存取的反應要求;不能一律解讀為所有攻擊都有主動偵測與反應。設計可用偵測與反應保護 CSP;需要 zeroization 時,要驗證方法、範圍、觸發與完成指示。刪除軟體引用不證明所有副本不可恢復,也不能從 Level 3 推論能抵擋每種實體攻擊。

身份認證也從角色提升到個人。不是只知道「你是 User 還是 Crypto Officer」,而是要知道「你是哪一個被授權的人」。因此可能用密碼、token、憑證、生物辨識或 2FA,搭配權限與 audit trail。

Trusted channel 是另一個硬體 RD 要特別注意的地方:明文 CSP 進出不能走一般資料通道,要走專用、可信、實體隔離或受保護的通道。這會影響 pin mux、debug interface、secure provisioning、factory personalization、HSM key injection port 的設計。

EFP 或 EFT 處理適用範圍內的溫度與電壓條件。EFP 是環境失效保護,EFT 是環境失效測試。不要把這兩項直接擴張成所有 clock glitch、雷射或電磁故障注入都已被測試或阻擋。其他故障仍要依條款、模組 Security Policy 與威脅模型逐項判讀。

7. Level 1/2/3 對照:LV3 不是貼貼紙,是從設計開始

FIPS 140-3 小教室第七頁,對照 Level 1、Level 2、Level 3,並介紹 non-invasive security
Page 7 / 8 - tamper mesh、感測器與其他措施是依需求選擇的設計選項;LV3 環境要求須核對 EFP 或 EFT。

第七頁把 Level 1、Level 2、Level 3 放在同一張表上看,最重要的是不要把 LV3 誤會成 LV2 加一張防拆貼紙。tamper mesh、感測器、PUF/OTP、secure boot、zeroization 與 self-test 都可能是設計選項。這些元件不是所有 Level 3 模組必備的固定清單。選了哪些措施,要看模組類型、邊界、適用要求與威脅。元件之間的觸發、錯誤狀態和 SSP 處理也要有測試證據。

FIPS 140-3 的架構包含 non-invasive security,但不能只看章名推論已強制進行每種側通道測試。依 2026-08-19 CMVP IG,相關要求在 SP 800-140F 定義前尚不適用;非侵入式防護主張目前依「其他攻擊緩解」等適用指引處理。SP 800-140F 現行版仍未列出新增測試要求。

功耗、電磁與 timing 洩漏仍是設計風險。封裝防拆不會自動阻止外部量測。團隊要說明防護主張、測試方法與限制,並核對現行指引和 Security Policy。取得 Level 3 或 Level 4 證書,不代表已證明能抵擋所有側通道。

若目標是 Level 3,先由 threat model、模組封裝與適用要求決定設計,再評估 sensor placement、shielding、routing、randomization、masking、secure erase path、debug disable 與 test mode lock。EFP 或 EFT 應依所採路徑提供證據;EFT 不等於必須持續主動監測環境。後期補救通常昂貴,而且常常補不到 certification 需要的證據鏈。

8. 避坑指南:等級不是軍備競賽,而是威脅模型的最佳解

FIPS 140-3 小教室第八頁,整理常見誤區與等級決策流程
Page 8 / 8 - 選等級要看合約要求、攻擊者能力、設備部署場景、成本與時程,不是越高越好。

最後一頁整理四個大坑。第一,「用了 AES」不等於 FIPS;第二,「改一行 code」或改 BOM、硬體版本、韌體版本,都可能牽動重新評估;第三,「三個月拿證」通常不現實;第四,「等級越高越好」也不一定對,因為成本、時程與風險要平衡。

正確決策流程應該從合約與威脅模型開始。如果客戶或法規指定等級,就照指定等級規劃。如果沒有指定,就問攻擊者拿不拿得到設備:純軟體或攻擊者碰不到內部模組,Level 1 可能足夠;設備在機房、網路或管理場域,且需要角色分離與留痕,Level 2 常是合理選項;設備會落入攻擊者手中,例如支付終端、智慧卡、邊緣設備、軍規或國防安全晶片,Level 3 才值得投入。

對半導體團隊來說,最實用的結論是:FIPS 140-3 不是驗功能,而是驗整個密碼模組在生命週期內是否可信。越早把模組邊界、SSP 管理、測試模式、debug port、production provisioning、secure boot、side-channel countermeasure、文件證據一起設計好,後面越不會被認證流程反咬。

如果模組內使用 PUF、OTP、secure NVM 或硬體 root of trust,也要注意「primitive」和「validated module」的差別。以 eMemory NeoPUF 為例,它可以支援晶片唯一身分、不可預測回應、authentication、security key generation 等安全用途;但放進 FIPS 140-3 專案時,驗證重點會變成:NeoPUF 產生或保護的 secret 是否在模組邊界內?helper data 或 enrollment data 是否暴露敏感資訊?key 如何被 derive、使用、zeroize?self-test 或 health check 如何定義?這些才是 FIPS 會追問的工程證據。

所以,把 NeoPUF、TRNG、OTP、AES、SHA、secure boot ROM 都列在 block diagram 上還不夠。FIPS 140-3 會要求團隊把這些元件串成一個可被驗證的生命週期:製造、enrollment、personalization、field operation、firmware update、tamper response、error state、退役與金鑰清除。這也是硬體安全 IP 和認證工程真正交會的地方。

一句話收斂

FIPS 140-3 驗證有明確邊界與版本的密碼模組。採購時要查證書狀態、Security Policy、操作環境與 approved mode。選等級則要看合約、部署場景與攻擊者能力;一句「用了 AES」或一張演算法證書,都不足以支持模組驗證的主張。

官方文件與參考連結

這篇文章是工程解讀;正式規格、驗證要求與清單仍以 NIST / CMVP 官方文件為準。做產品規劃或客戶回覆時,建議直接引用以下來源:

互動練習:AES 算對了,服務就能放行嗎?

用一張明確虛構的模組紀錄,分開檢查證書狀態、版本、操作環境、邊界、approved mode 和自檢。自檢失敗會進入 ERROR_LATCHED,即使其他條件通過,也不提供模型中的服務。

此頁與瀏覽器密碼運算沒有 CMVP 驗證。本表只呈現採購核對與服務閘門;不是 FIPS 140-3 完整測試、正式 Security Policy 或真實 certificate lookup。Historical 在此保守的新系統案例中拒絕;既有系統用途須依官方政策與採購要求另判。不把演算法證書當成模組證書。

本次實驗條件

學習指南

安全保證與產品生命週期

0 / 2

查看課程大綱 → · 進度只計入已發布課程

先備知識

  • 密碼服務與模組邊界

我學會了什麼

  • 說明驗證涵蓋範圍
  • 比較安全等級
  • 辨識邊界與金鑰管理風險

本課術語

查看術語字典 →

延伸閱讀

課後小測驗

1. 驗證的對象是什麼?
2. 安全等級越高一定越適合產品嗎?
3. 為何要及早定義模組邊界?

讀到這裡,辛苦了。

把概念帶走,比把術語背走更重要。

#FIPS 140-3#FIPS 140#Hardware Security#硬體安全#Cryptographic Module#CMVP#CAVP#IC Security#Security Level#Tamper Evidence#Tamper Response#Side Channel#Crypto Module#漫畫小教室