解 沛 劉知一
(中國電影科學技術研究所,北京 100086)
美國國家標準技術研究所 (National Institute of Standards and Technology,NIST)是負責FIPS 140系列安全標準的機構。FIPS 140標準的提出旨在規(guī)范密碼模塊的設計、開發(fā)、測試、配置、交付以及安裝過程中所涉及到的技術與流程。
由美國數(shù)字電影倡導組織 (Digital Cinema Initiatives,DCI)起草制定的 《數(shù)字電影系統(tǒng)規(guī)范》(Digital Cinema System Specification,DCSS)從數(shù)字電影出現(xiàn)之初,就已成為全球數(shù)字電影行業(yè)發(fā)展的奠基石。其規(guī)定使用通用的技術來發(fā)行數(shù)字影片內容和保護內容的安全性。FIPS 140標準作為DCSS中安全部分的核心內容,其新的進展變化對DCI的影響舉足輕重。DCI在其2019年12月19日發(fā)布的 《DCI關于FIPS 140-3的備忘錄》中指出,一旦FIPS 140-2 在2021 年9 月失效,DCI將要求新設備符合FIPS 140-3標準,同時指出密碼模塊驗證體系(Cryptographic Module Validation Program,CMVP)FIPS 140-2 測試實驗室將于2021年9月22日起禁止新設備提交。此后,DCI在DCSS V1.4.1中,要求在非特別說明時,FIPS 140認證的 “I類”安全處理模塊 (Secure Processing Blocks,SPB)需達到安全級別3,并且SPB-1認證時應由FIPS 認可的實驗室根據(jù)當時有效的FIPS 140版本進行評估。
為了方便電影科研工作者能夠快速、準確地掌握新標準,本文將針對FIPS 140-3 相較于FIPS 140-2的變化,特別是安全級別3的部分進行對比與分析,以供相關人員參考。
自1994年正式發(fā)布FIPS 140-1 起,為適應技術變化,NIST 規(guī)定該系列標準每五年審議一次。2001年正式發(fā)布FIPS 140-2 (以下簡稱 “舊標準”)。FIPS 140-3 (以下簡稱 “新標準”)的制定工作于2005年啟動,于2019年3月正式發(fā)布。新標準是基于ISO/IEC 19790:2012《Security requirements for cryptographic modules》與ISO/IEC 24759:2017《Test requirements for cryptographic modules》兩項國際標準制定的,這兩項國際標準組成了新標準的技術要求與測試方法的基礎。
新標準同舊標準一樣,為密碼模塊定義了安全性逐次提高的四個安全級別 (Security Levels):安全級別1-4 (Level 1、Level 2、Level 3 和Level 4)。此外,新標準與舊標準都分別從11個安全領域提出了具體要求,但其中有5個方面 (標紅)的表述有所不同,具體領域如表1所示。
表1 新舊標準規(guī)定的11個領域比較
安全處理模塊被定義為具有特定物理邊界的容器,在其中放置一個或多個安全實體 (Security Entity,SE)和(或)其他明文處理功能 (例如,解密器、解碼器、取證標記器)。安全處理模塊在內容經(jīng)過的路徑上,將安全實體以及其他設備封裝起來,以防止對安全實體的攻擊,同時保護安全實體之間信號路徑的安全。
DCSS中定義了兩種規(guī)范性的安全處理模塊類型。
(1)安全處理模塊類型1 (SPB-1)。SPB-1 (如圖1所示的灰底矩形)提供了最高級別的物理和邏輯保護。圖像媒體塊 (Image Media Blocks,IMB)和鏈路解密器塊 (Link Decryptor Blocks,LDB)應包含在SPB-1 內。此外外置媒體塊 (Outboard Media Block,OMB)和鏈路加解密 (Link Encryptor/Link Decryptor,LE/LD)SPB 器件應包含在SPB-1內(圖1中未示出)。
圖1 數(shù)字影院放映廳安全實現(xiàn)
(2)安全處理模塊類型2 (SPB-2)。SPB-2 (如圖1所示圍繞著SPB-1 的虛線框)對無需完整的SPB-1保護的內容或者安全信息提供了較小的保護邊界。SPB-2的保護應當由放映機提供。
FIPS 140標準作為DCSS中安全部分的核心內容,DCSS中明確表明SPB-1根據(jù)FIPS 140建立物理和邏輯保護標準。DCI在DCSS V1.4.1中要求,在非特別說明時,FIPS 140認證的SPB-1需達到安全級別3,并且SPB-1認證時應由FIPS認可的實驗室根據(jù)當時有效的FIPS 140版本進行評估。此外,SPB-1還應為其安全參數(shù)與功能提供7×24小時的物理和邏輯保護,能在供電以及斷電的情況下抵御攻擊。
本節(jié)將按照11個不同安全領域下新標準中安全級別3的安全要求,以及DCSS的特殊說明進行介紹與分析。
密碼模塊應是一組包含在定義的密碼邊界內的硬件、軟件、固件或前述組合所構成,應使用批準的密碼算法、安全功能或過程來實現(xiàn)定義的密碼服務。
新標準中,密碼模塊規(guī)范在安全級別1-4下的要求保持一致,包括了密碼模塊定義、密碼邊界(Cryptographic Boundary)、批準的安全功能以及正常和降級操作模式的規(guī)范。密碼模塊中所有服務都提供狀態(tài)信息,便于指示服務何時以批準的方式利用批準的密碼算法、安全功能或過程。
DCSS在此安全領域中針對密碼邊界與降級操作模式進行了特殊說明:DCSS 要求密碼邊界應為SPB-1物理邊界,同時不允許使用降級的操作模式。
密碼模塊應將所有邏輯信息流僅限制在物理訪問點和邏輯接口,這些物理訪問點和邏輯接口被標識為模塊密碼邊界的入口和出口點。
新標準中,密碼模塊接口在安全級別3下規(guī)定密碼模塊應當實現(xiàn)可信信道這一部分在新、舊標準中的差異如表2所示。
表2 新舊標準關于可信信道安全需求在安全級別3下的差異
DCSS在此安全領域中針對控制輸出接口與可信信道進行了特殊說明。DCSS 要求當密碼模塊處于錯誤狀態(tài)時,SPB-1應禁止通過控制輸出接口進行的所有控制輸出;同時SPB-1 應通過1173 端口上使用傳輸層安全協(xié)議(Transport Layer Security,TLS)保護來支持邏輯接口的隔離要求。
密碼模塊應支持操作者的授權角色以及每個角色中的相應服務。一個操作者亦可以擔任多個角色。密碼模塊通過認證機制對訪問該模塊的操作者進行身份驗證,并驗證操作者是否有權承擔請求的角色并在該角色內執(zhí)行服務。
新標準中,角色、服務和認證機制在安全級別3下的要求與舊標準保持一致,即應當采用基于身份的認證機制來控制對模塊的訪問,如果密碼模塊支持基于身份的認證機制,則應要求操作者被單獨唯一地標識,要求操作者隱式或顯式選擇一個或多個角色,并且驗證操作者的身份以及操作者的授權以承擔所選角色或一組角色。
DCSS在此安全領域中針對角色與自啟動密碼輸出功能進行了特殊說明:DCSS 中不要求支持“維護角色”,即在物理和 (或)邏輯維護服務期間的角色;如需SPB-1支持 “自啟動密碼輸出功能”,前提是銀幕管理系統(tǒng)能夠支持 “密碼主管角色”和(或)“用戶角色”。
新標準中,軟件/固件安全在安全級別3下的要求:密碼邊界內的所有軟件和固件組件應使用批準的數(shù)字簽名加密機制;如果計算結果不等于先前生成的結果,模塊應進入錯誤狀態(tài);數(shù)字簽名技術中任何不連續(xù)的簽名的失敗都將導致模塊進入錯誤狀態(tài);專用簽名密鑰應位于模塊外部。此外,還應滿足安全級別1、2的要求。
DCI在DCSS V1.4.1中,特別說明軟件/固件應指在SPB中的所有操作系統(tǒng)和 (或)嵌入的可執(zhí)行代碼,并且此定義不可用于基于軟件、固件或ROM 的代碼。
密碼模塊的操作環(huán)境是指管理模塊操作所需的軟件、固件和(或)硬件的實體。新舊標準在操作環(huán)境的分類標準是一樣的,均分為不可修改的、有限制的和可修改的操作環(huán)境三種類型。新舊標準對三種類型的定義如表3所示。
表3 新舊標準針對不同操作類型的定義
新標準中,操作環(huán)境在安全級別3 下無要求。DCSS在此安全領域中要求操作環(huán)境應限于有限制的或不可修改的操作環(huán)境。
密碼模塊應采用物理安全機制,以限制對模塊內容未經(jīng)授權的物理訪問,以及安裝時阻止對模塊的未經(jīng)授權的使用或修改(包括替換整個模塊)。
新標準中,物理安全在安全級別3下要求包括了:外殼和門的篡改檢測與響應;堅固的外殼或涂層;防止直接探測;環(huán)境失效保護 (Environmental Failure Protection,EFP)或環(huán)境故障測試 (Environmental Failure Testing,EFT)。
DCSS在此安全領域中針對物理安全實施案例以及一般性需求進行了如下特殊說明:
DCSS建議(非必需)采用EFP和EFT;SPB-1物理安全外殼材料在SPB-1的操作、存儲和分配范圍內的強度和硬度應通過審查設計文檔來驗證;應在標稱溫度下對SPB-1進行破壞性物理攻擊,以驗證SPB-1物理安全外殼材料的強度和硬度;建議(非必需)對SPB-1 進行破壞性物理攻擊測試;如果使用防篡改印章,建議 (非必需)其應具有唯一編號或獨立標識。
非侵入式攻擊試圖通過獲取模塊關鍵安全參數(shù)(Critical Security Parameter,CSP)的信息來破壞密碼模塊,而無需實際修改或侵入模塊。在舊標準中,非侵入式安全的范圍單純指電磁干擾/電磁兼容。
新標準中,非侵入式安全在安全級別3下要求對密碼模塊進行攻擊緩解測試,但并未對測試指標進行具體說明。
DCSS在此安全領域中無特殊說明。
敏感安全參數(shù) (Sensitive Security Parameter,SSP)由關鍵安全參數(shù)CSP和公共安全參數(shù) (Public Security Parameter,PSP)組成。敏感安全參數(shù)管理的安全要求涵蓋了模塊所采用的SSP的整個生命周期。 敏感安全參數(shù)管理包括隨機位生成器(Random Bit Generators,RBGs)、SSP生成、SSP建立、SSP輸入/輸出、SSP存儲和未受保護的SSP歸零。
新標準中,物理安全在安全級別3下要求主要為可以通過可信信道或分割知識 (Split Knowledge)的方式以加密形式輸入或輸出手動建立的SSP。
DCSS在此安全領域中無特殊說明。
密碼模塊的運行前和條件自檢均為操作者提供了保障,確保不會引入會阻止模塊正確運行的故障。在模塊通過數(shù)據(jù)輸出接口提供任何數(shù)據(jù)輸出之前,必須進行并成功通過運行前的自檢。
新標準中,自檢在安全級別3下要求運行前自測軟件/固件完整性、旁路和關鍵功能測試;條件自檢應當包括,加密算法、成對一致性、軟件/固件加載、手動輸入、有條件旁路和關鍵功能測試。
DCSS在此安全領域中針對定期自檢進行了特殊說明:特定安全策略定期自檢之間的最長間隔時間不得超過一周;SPB-1設計應確保在DCP回放期間不會發(fā)生自動定期自檢。
生命周期保障是指在密碼模塊的設計、開發(fā)、操作和終止期間,密碼模塊供應商使用的最優(yōu)操作,以便確保模塊經(jīng)過適當設計、開發(fā)、測試、配置、交付、安裝和處置,并且提供正確的操作者指導文檔。
新標準中,生命周期保障在安全級別3下的要求包括:自動化配置管理系統(tǒng)、有限狀態(tài)模型 (Finite State Model,FSM)、指定安全銷毀模塊所需的程序、管理員和非管理員指南等。
DCSS在此安全領域中針對生命周期終止了特殊說明。安全銷毀SPB-1的生命周期結束程序由設備所有者和(或)設備制造商決定。
密碼模塊對本國際標準其他地方未定義的攻擊的敏感性取決于模塊的類型、實現(xiàn)和實現(xiàn)環(huán)境。
在新標準中,其他攻擊緩解在安全級別3下暫無可測試的緩解攻擊規(guī)范。
DCSS在此安全領域中無特殊說明。
本文首先介紹了DCI與NIST 兩個機構及其各自推出的標準或者規(guī)范;之后簡單介紹了FIPS 140的發(fā)展、SPB 的相關定義以及FIPS 140-3 認證下SPB-1的相關要求;最后通過11個不同安全領域,對新舊標準中安全級別3的安全要求進行了對比與分析,同時針對DCSS的特殊說明進行了介紹,為電影科研工作者以及電影設備制造商提供了更加詳細的參考。
通過對比分析新舊標準,新標準內容更加全面、嚴謹、細致,對密碼模塊安全需求具有更高規(guī)格的要求。同時DCSS對新標準的更新,也做出了及時的勘誤與修改,并且在一些安全領域中進行了更為嚴格的要求,可以看出DCSS對SPB-1等模塊要求逐步規(guī)范,也對電影設備制造商提出了更高的要求。?