觀點

美國聯邦密碼模組安全標準FIPS 140-3,防止機敏資料外洩

2020 / 12 / 29
編輯部
美國聯邦密碼模組安全標準FIPS 140-3,防止機敏資料外洩
美國聯邦標準資訊處理標準(Federal Information Processing Standards, FIPS)其前身為聯邦資訊安全管理法案(Federal Information Security Management Act, FISMA),規定美國聯邦政府機構必須使用經過驗證的密碼模組,以確保密碼模組安全和操作性。因此,美國國家標準研究院(National Institute of Standards and Technology, NIST)與加拿大通訊安全局(Communications Security Establishment Canada, CSEC)在1996年共同建立了FIPS 140標準,定義供應商在出售給美國聯邦政府的密碼系統關鍵安全參數。
 
FIPS 140-3即將於2021年9月正式上路


隨著密碼技術的進步,FIPS 140標準發展至今已更新至第三版(FIPS 140-3),現行的FIPS 140-2也將於2021年9月22日後停止受理申請認證。未來所有密碼模組開發商與密碼加速器開發商等受管制行業,所出售的任何硬體或軟體密碼模組,皆必須支援FIPS 140-3認可列表中的演算法,同時也要符合相關演算法及密碼模組要求,並且由認可實驗室驗證這些演算法的實際運作。由於FIPS 140-3設定了高安全性基準,醫療保健與金融等產業也正在評估採用該標準來保護其敏感數據。
 
FIPS 140-3認證計劃與相關要求

美國國家標準研究院(NIST)對於 FIPS 140系列之標準訂定密碼演算法認證計畫 (Cryptographic Algorithm Validation Program, CAVP)與密碼模組認證計畫 (Cryptographic Module Validation Program, CMVP),分別對密碼演算法與密碼模組提供檢測及驗證方案,計劃簡單說明如下:
  • 密碼演算法認證計畫 (Cryptographic Algorithm Validation Program, CAVP)
(即FIPS核准和NIST推薦)密碼演算法及其各個組成部分的驗證測試。密碼演算法驗證是密碼模組驗證的先決條件,開發廠商需向認可實驗室提出演算法驗證測試申請,經過認可實驗室成功測試後便會公告在NIST官方頁面,說明開發廠商、實作方式、操作環境、驗證日期及演算法詳細資訊。
  • 密碼模組認證計畫 (Cryptographic Module Validation Program, CMVP)
CAVP密碼演算法驗證之FIPS核准或NIST推薦的密碼演算法。根據密碼演算法的使用定義出相關模組邊界(Boundary),認可實驗室對其邊界內相關硬體、軟體、韌體、系統及介面等元件,根據衍生測試要求(Derived Test Requirements, DTR)進行測試和驗證。驗證之測試結果由認可實驗室交由NIST進行審核,通過驗證之密碼模組同樣也會被公告在NIST官方頁面,說明開發廠商、實作方式、操作環境、驗證日期及演算法證書編號等資訊。 

FIPS 140-3密碼模組認證計畫中的安全要求包含下列11個安全領域:
  1. Cryptographic Module Specification (密碼模組規格)
  2. Cryptographic Module Interfaces (模組資料介面)
  3. Roles, Services, and Authentication (授權的角色、服務和身份驗證)
  4. Software/Firmware Security (軟體/韌體安全)
  5. Operational Environment (作業系統安全)
  6. Physical Security (實體安全)
  7. Non-invasive Security(非侵入式安全)
  8. Sensitive Security Parameter Management (敏感安全參數管理)
  9. Self-Tests  (自我測試)
  10. Life-cycle Assurance (生命週期保證)
  11. Mitigation of Other Attacks (抵擋其他攻擊方法)
根據其要求的複雜度與嚴謹度分為基本要求的安全等級(Security Level)1至最嚴格的安全等級4,共分為四種安全等級,不同的模組安全等級對其能抵擋攻擊的能力、防止攻擊來源及目的皆有所不同。例: 安全等級1其目的係為防止內部人員操作失誤導致CVP (Cryptographic Validation Program)的錯誤而非抵擋有意攻擊;安全等級4則是為了抵擋內外部惡意的攻擊,或持有大量資源及高等攻擊能力知識的組織對產品進行攻擊進而獲取機敏資料。
 
前述列出的11個安全領域根據各個安全等級有其相對應的安全要求,而較高安全等級涵蓋較低等級的所有安全要求,所有安全領域最低安全等級評等即為密碼模組的整體評等(Overall Level)。針對各安全等級總括要求差異說明如下:

1. 安全等級1
  • 模組至少使用一個NIST規定或建議的安全功能(Security Function)。
  • 執行在無法改動(Non-modifiable)、限制改動(Limited-modifiable)或可改動(Modifiable)的操作環境中。
  • 實體安全僅要求使用一般生產等級之組件。
  • 以文件說明所有非侵入式或其他攻擊的減緩機制。

2.  安全等級2
  • 實體安全增加竄改證據(Tamper-evidence)機制的要求,其中包含使用防竄改塗層或防撬鎖。
  • 使用基於角色(Role-based)使用者驗證機制。
  • 軟體模組運行在可改動之操作環境,需要提供存取控制清單(Access Control List, ACL)以控管保護避免非授權執行、修改、洩露及讀取軟體模組。

3. 安全等級3
  • 新增避免非授權存取於模組內部敏感安全參數之要求。
  • 實體安全新增防竄改回應機制,和避免由通風洞口進行探測攻擊之安全機制等要求。
  • 使用基於身份(Identity-based)使用者驗證機制。
  • 需使用信任路徑(Trust Path)或分持機密(Split Knowledge)的方式在手動建立明文的關鍵安全參數時進行加密。
  • 新增針對操作環境中模組工作電壓與溫度範圍的保護機制,避免超出工作環境能力而導致安全性疑慮的要求。
  • 所有非侵入式攻擊的減緩機制,需根據標準規範之安全等級3測試要求進行測試。
  • 新增生命週期保證(Life-cycle Assurance)要求包括:自動化設置管理、詳細設計、Low-level測試和使用廠商(Vendor)提供之資訊進行操作驗證。

4. 安全等級 4
  • 使用多因子(Multi-factor)使用者驗證機制
  • 所有非侵入式攻擊的減緩功能,需根據標準規範之安全等級4測試要求進行測試。

NIST對認可實驗室的高規格要求

密碼演算法認證計畫或密碼模組認證計畫的驗證評估作業,都必須由National Voluntary Laboratory Accreditation Program (NVLAP)計畫認可的密碼和安全測試(Cryptographic and Security Testing, CST)實驗室進行。針對CST實驗室NIST也有高規格的規範要求。NIST規範實驗室需要有至少2位(含)以上之測試人員通過CVP測試人員資格考試,該測試實驗室同時也需擁有ISO 17025實驗室品質能力。NIST對實驗室要求規範之嚴格,讓全球截至目前為止,僅有20間實驗室通過NIST認證並成為核可的CST實驗室;在密碼安全認證上全球也僅有81位取得CVP資格成為密碼安全專家。
 
經由受認可的CST測試實驗室進行加密模組測試,產出驗證報告,再由NIST審核通過後,證書將發布到NIST官網上提供搜尋。透過FIPS 140-3的密碼模組驗證,使具有密碼功能的資安產品,能夠有效降低密碼演算法的失誤率及防止機敏性資料的洩露。

 

安華聯網滿足FIPS 140-3認驗證需求

安華聯網擁有豐富的密碼模組標準導入經驗及密碼安全認證(Cryptographic Validation Program Certification),對於密碼模組需要通過FIPS 140-3認證的開發廠商,可協助加速對於密碼模組認證計畫的瞭解,使開發團隊精準確認開發期間的技術要求,滿足FIPS 140-3顧問輔導需求,同時也提供FIPS 140-3密碼演算法與密碼模組驗證服務,協助客戶節省大量人力與時間。
 

本文由安華聯網提供。