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