基本信息
標準簡介
標準目錄
中文樣稿
1 Scope
This standard specifies the security requirements for the security protection of embedded software in IC card with CPU of EAL4 enhanced level and EAL5 enhanced level, including the security problem definition, security objectives, security requirements, rationale, etc.
This standard is applicable to the testing, evaluation and procurement of embedded software products in IC card with CPU, and may also be used to guide the research and development of such products.
2 Normative references
The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.
GB/T 18336 (All parts) Information technology - Security techniques - Evaluation criteria for IT security
GB/T 25069-2010 Information security technology - Glossary
3 Terms, definitions and abbreviations
3.1 Terms and definitions
For the purposes of this document, the terms and definitions given in GB/T 25069-2010, GB/T 18336.1 and the followings apply.
3.1.1
personalization data
data written in the personalization process of embedded software in IC card, which is used to configure parameters related to specific applications or users
3.2 Abbreviations
For the purposes of this document, the following abbreviations apply.
?
CM: Configuration Management
EAL: Evaluation Assurance Level
EEPROM: Electrically-Erasable Programmable Read-only Memory
IC: Integrated Circuit
I/O: Input/Output
RAM: Random-Access Memory
ROM: Read-Only Memory
ST: Security Target
TOE: Target of Evaluation
TSF: TOE Security Functionality
Foreword i
Introduction iii
1 Scope
2 Normative references
3 Terms, definitions and abbreviations
3.1 Terms and definitions
3.2 Abbreviations
4 Descriptions of embedded software in IC card
5 Security problem definition
5.1 Assets
5.2 Threats
5.3 Organizational security policies
5.4 Assumptions
6 Security objectives
6.1 Security objectives for the TOE
6.2 Security objective for environment
7 Security requirements
7.1 Security functional requirements
7.2 Security assurance requirements
8 Rationale
8.1 Rationale of security objectives
8.2 Rationale of security requirements
8.3 Component dependencies
Bibliography
信息安全技術
具有中央處理器的IC卡嵌入式軟件
安全技術要求
1 范圍
本標準規定了對EAL4增強級和EAL5增強級的具有中央處理器的IC卡嵌入式軟件進行安全保護所需要的安全技術要求,涵蓋了安全問題定義、安全目的、安全要求、基本原理等內容。
本標準適用于具有中央處理器的IC卡嵌入式軟件產品的測試、評估和采購,也可用于指導該類產品的研制和開發。
2 規范性引用文件
下列文件對于本文件的應用是必不可少的。凡是注日期的引用文件,僅注日期的版本適用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。
GB/T 18336(所有部分) 信息技術 安全技術 信息技術安全評估準則
GB/T 25069—2010 信息安全技術 術語
3 術語和定義、縮略語
3.1 術語和定義
GB/T 25069—2010和GB/T 18336.1中界定的以及下列術語和定義適用于本文件。
3.1.1
個人化數據 Personalization data
在IC卡嵌入式軟件的個人化過程中寫入的數據,用于配置與特定應用或用戶相關的參數。
3.2 縮略語
下列縮略語適用于本文件。
CM:配置管理(Configuration Management)
EAL:評估保障級(Evaluation Assurance Level)
EEPROM:電可擦除可編程只讀存儲器(Electrically-Erasable Programmable Read-only Memory)
IC:集成電路(Integrated Circuit)
I/O:輸入/輸出(Input/Output)
RAM:隨機存取存儲器(Random-Access Memory)
ROM:只讀存儲器(Read-Only Memory)
ST:安全目標(Security Target)
TOE:評估對象(Targetof Evaluation)
TSF:TOE安全功能(TOE Security Functionality)
4 IC卡嵌入式軟件描述
具有中央處理器的IC卡嵌入式軟件(簡稱IC卡嵌入式軟件)存放在IC卡的非易失性存儲器(例如ROM、EEPROM 或Flash等)中,并在IC卡芯片內運行。該軟件用于管理芯片硬件資源和數據,通過芯片的通信接口與IC卡終端設備交換信息,以響應用戶發起的數據加密、數據簽名及鑒權認證等應用請求,實現對應用功能的支持。
一般情況下,IC卡嵌入式軟件由負責處理芯片硬件接口,實現文件管理、安全支撐、通信處理和應用處理等功能的模塊組成,其中安全支撐模塊提供安全配置、安全事務處理及密碼支持等功能,以便為其他模塊的安全執行提供支持,以保護IC卡的內部數據及安全功能。文件管理模塊和通信處理模塊作為基礎模塊,主要用于實現對應用功能的支持。IC卡嵌入式軟件的一般結構及運行環境如圖1所示。
在嵌入式軟件的運行環境中,用戶和(TOE開發、個人化及發卡等階段的)管理員可通過IC卡終端與IC卡嵌入式軟件交互,管理員也可能通過操作芯片中的IC專用軟件下載嵌入式軟件并配置IC卡硬件平臺。另一方面,攻擊者可以通過發送、監聽和篡改通信消息以及探測IC卡芯片電路等方式實施攻擊,以獲取或破壞敏感數據信息,甚至濫用安全功能。為此,IC卡嵌入式軟件應采取防護措施以保障嵌入式軟件的數據和功能的安全。
TOE:IC卡嵌入式軟件
應用處理模塊
文件管理模塊
安全支撐模塊
通信處理模塊
TC卡芯片硬件接口處理模塊
TC卡芯片支撐嵌入式軟件的運行
具有中央處理器的TC卡芯片
通過智能卡終端使用TOE
用戶
通過芯片提供的功能,下載嵌入式軟件,進行安全配置等管理
管理員
圖1 IC卡嵌入式軟件的一般結構及運行環境
5 安全問題定義
5.1 資產
需要保護的資產:
——TSF數據(如TOE中的訪問控制列表、鑒別狀態、安全配置數據、管理性的密鑰等信息);
——用戶數據(TOE中不屬于TSF數據的信息,如用戶身份標識等信息);
——安全能力(如TOE的簽名能力和動態碼產生能力等)。
應用說明:ST編寫者應根據具體的應用情況細化對資產的描述。
5.2 威脅
5.2.1 物理操縱(T.Physical_Manipulation)
攻擊者可利用IC卡芯片失效性分析和半導體逆向工程技術,對IC卡芯片實施物理剖片,以獲取IC卡芯片設計信息和嵌入式軟件的二進制代碼,進而探測TSF數據和用戶數據信息。
攻擊者也可能對IC卡芯片實施物理更改,以達到獲取或改變數據信息或安全功能的目的。
IC卡芯片可能會在未上電或已上電狀態下受到此類攻擊,在遭受攻擊后可能會處于無法操作的狀態。
5.2.2 信息泄漏(T.Info_Leak)
攻擊者可對TOE正常使用過程中泄漏的信息加以利用,以猜測TSF數據或用戶數據。
功耗、電磁輻射、I/O 特性、運算頻率、時耗等側信道信息的變化情況都有可能造成信息的泄漏。攻擊者可通過采用接觸式(如功耗)或非接觸式(如電磁輻射和時耗)的信號測量,得到與正在執行的操作有關的信息,進而采用信號處理和統計分析等技術來獲得密鑰等敏感信息。
5.2.3 故障利用(T.Failure_Exploitation)
攻擊者可通過分析TOE的運行故障以獲取TSF數據、用戶數據或濫用TOE的安全功能。
這些故障可能是通過改變TOE的運行環境(如溫度、電壓、頻率等,或通過注入強光等方式)而觸發的,也可能是由于TOE本身的設計缺陷而自發產生的,這些故障可能導致TOE的代碼、系統數據或執行過程發生錯誤,使TOE在故障下運行,從而導致敏感數據泄漏。
5.2.4 生命周期功能濫用(T.Lifecycle_Misuse)
攻擊者可利用相關接口,尤其是測試和調試接口來獲取TSF數據或用戶數據。這些接口在TOE生命周期的過往階段是必要的,但在現階段是被禁止的。例如,若測試命令或調試命令在使用階段仍可用,則可被攻擊者用于讀取存儲器內容或執行其他功能。
5.2.5 邏輯攻擊(T.Logical_Attack)
攻擊者可利用TOE的邏輯接口,采用暴力猜解、被動偵聽或適應性地選擇指令輸入等方式來獲取/修改用戶數據或TSF數據,或者濫用TOE的安全功能,主要包括以下形式:
a) 密碼攻擊:攻擊者可利用密碼算法或協議的安全缺陷實現攻擊,以達到獲取密鑰、猜測隨機數或解密密文等目的。
b) 重放攻擊:攻擊者可通過重放歷史數據,如重放通過偵聽獲得的鑒別數據來旁路安全機制,以獲取敏感數據信息或濫用TOE的安全功能。
c) 訪問控制措施旁路:攻擊者可通過利用TOE對文件及其他數據的訪問控制缺陷,繞過訪問控制規則,以讀取、刪除或修改用戶數據或TSF數據。
d) 殘余信息利用:攻擊者可利用TOE對計算過程中的殘留信息的處理缺陷,在TOE執行過程中對未刪除的殘留信息進行攻擊,以獲取敏感信息或濫用TOE的安全功能。
應用說明:邏輯接口是TOE與智能終端之間的數據交換接口,包括語法上遵循國際標準定義或行業私有定義的指令與響應碼。攻擊者可能利用認證系統或指令系統缺陷,通過分析指令及其響應碼,繞過存儲器訪問控制機制,以非法獲得存儲器內容、密鑰和PIN 等信息,或達到濫用TOE安全功能等目的。ST編寫者應根據應用情況完善對邏輯攻擊的描述。
5.2.6 非法程序攻擊(T.IllegalPrg_Attack)
攻擊者可通過安裝帶有惡意代碼的應用程序(如木馬程序)來獲取/修改TOE代碼或數據,或濫用TOE的安全功能;在TOE進入使用階段前,開發者(或配置者)也可能有意地(或無意地,如使用了惡意的編譯器)引入非法程序或錯誤,使TOE在使用階段泄漏敏感信息或導致安全功能被濫用。
應用說明:對于可以下載新應用的嵌入式軟件而言,需要在整個生命周期階段考慮此攻擊;對于無法下載新應用的單應用的嵌入式軟件,主要在使用階段前的其他生命周期階段中考慮此攻擊。
5.3 組織安全策略
5.3.1 密碼管理(P.Crypto_Management)
密碼的使用必須符合國家制定的相關信息技術安全標準。
5.3.2 標識數據管理(P.IdData_Management)
IC卡嵌入式軟件的初始化、個人化等過程應具備標識TOE的能力。
應用說明:IC卡嵌入式軟件的初始化、個人化過程可產生多種標識信息,這些信息存儲在IC卡內部,可用于向外部發行實體標識TOE,如廠商信息、版本號、激活時間等,以實現對生產情況的回溯查詢能力。這些標識信息隨嵌入式軟件的不同而存在差異,在編寫ST 文檔時應描述具體的標識方法和內容。
5.3.3 芯片選型(P.Chip_Selection)
TOE應采用至少通過EAL4+測評的IC卡芯片。
5.4 假設
5.4.1 通信信道(A.Comm_Channel)
假定TOE與IC卡終端之間的通信信道是安全可靠的(如滿足私密性和完整性)。
應用說明:ST編寫者應根據嵌入式軟件的具體應用情況解釋“安全可靠”的具體含義。
5.4.2 應用程序(A.App_Program)
假定在TOE中安裝應用程序的流程符合規范,且合法安裝的應用程序不包含惡意代碼。
5.4.3 芯片硬件(A.Chip_Hardware)
假定TOE運行所依賴的底層芯片具備足以保證TOE安全運行所需的物理安全防護能力。
應用說明:TOE的底層芯片必須能夠抵抗物理攻擊、環境干擾攻擊、側信道攻擊等。同時,芯片提供的密碼功能可以是由處理器或安全算法庫來實現的。
5.4.4 外部數據管理(A.OutData_Management)
假定存放在TOE之外的數據,如TOE設計信息、初始化數據、管理性密鑰等敏感信息,會以一種安全的方式進行管理。
5.4.5 人員(A.Personnel)
假定使用TOE的人員已具備基本的安全防護知識并具有良好的使用習慣,且以安全的方式使用TOE。TOE開發、生產、個人化和發卡各階段的操作人員均按安全的流程進行操作。
6 安全目的
6.1 TOE安全目的
6.1.1 標識數據存儲(O.IdData_Storage)
TOE應具備在非易失性存儲器中存儲初始化數據和個人化數據的能力。
6.1.2 用戶標識(O.User_Identification)
TOE應明確地標識出可使用各種邏輯接口的用戶。
6.1.3 用戶鑒別(O.User_Authentication)
用戶應通過鑒別過程才可訪問或使用TOE中的用戶數據和安全功能數據。
6.1.4 防重放攻擊(O.Replay_Prevention)
TOE應提供安全機制以抵御重放攻擊,如采用只可一次性使用的隨機因子等措施。
6.1.5 殘留信息清除(O.ResidualInfo_Clearance)
TOE應確保重要的數據在使用完成、或遭受掉電攻擊后會被刪除或被安全處理,不會留下可被攻擊者利用的殘留數據信息。
6.1.6 信息泄漏防護(O.InfoLeak_Prevention)
TOE應提供控制或限制信息泄漏的方法,使得通過測量功耗、電磁輻射、時耗等信息的變化情況無法或難以獲得用戶數據和安全功能數據。
6.1.7 數據訪問控制(O.DataAcc_Control)
TOE應對在TOE內部的用戶數據和安全功能數據實施訪問控制措施,防止在未授權情況下被訪問、修改或刪除。
6.1.8 狀態恢復(O.Status_Recovery)
TOE在檢測到故障后應將工作狀態恢復或調整至安全狀態,防止攻擊者利用故障實施攻擊。
6.1.9 生命周期功能控制(O.Lifecycle_Control)
TOE應對自身安全功能的可用性進行生命周期階段劃分,或進行權限控制,以防止攻擊者濫用這些功能(如下載模式下的某些功能應在TOE交付后關閉)。
6.1.10 密碼安全(O.Crypto_Security)
TOE應以一個安全的方式支持密碼功能,其使用的密碼算法必須符合國家、行業或組織要求的密碼管理相關標準或規范。
應用說明:如果TOE所使用的密碼算法均由芯片實現,則應將此安全目的移至ST 的環境安全目的中。
6.2 環境安全目的
6.2.1 人員(OE.Personnel)
TOE開發、初始化和個人化等生命周期階段中涉及的特定人員應能嚴格地遵守安全的操作規程,以保證TOE在生命周期過程中的安全性。
6.2.2 通信信道(OE.Comm_Channel)
TOE與IC卡終端之間的通信路徑是可信的,能為通信過程提供保密性和完整性保障。
6.2.3 應用程序(OE.App_Program)
安裝應用程序到TOE的流程必須規范,且合法安裝的應用程序不應包含惡意代碼。
6.2.4 芯片硬件(OE.Chip_Hardware)
TOE的底層芯片必須能夠抵抗物理攻擊、環境干擾攻擊和側信道攻擊等。
6.2.5 外部數據管理(OE.OutData_Management)
應對在IC卡芯片外部存儲的相關數據(如TOE的設計信息、開發及測試工具、實現代碼及相關文檔、初始化數據、管理性密鑰等)進行機密性和完整性處理,并采取安全的管理措施。
7 安全要求
7.1 安全功能要求
7.1.1 安全功能要求概述
表1列出了IC卡嵌入式軟件的安全功能組件,其詳細內容將在下面分條描述。在描述過程中,方括號【】中的粗體字內容表示已經完成的操作,粗體斜體字內容表示還需在安全目標(ST)中確定的賦值及選擇項。
表1 安全功能組件
組件分類 安全功能組件 序號 備注
EAL4+ EAL5+
FCS類:密碼支持 FCS_CKM.1密鑰生成 1 √ √
FCS_CKM.4密鑰銷毀 2 √ √
FCS_COP.1密碼運算 3 √ √
FDP類:用戶數據保護 FDP_ACC.1子集訪問控制 4 √ √
FDP_ACF.1基于安全屬性的訪問控制 5 √ √
FDP_IFC.1子集信息流控制 6 √ √
FDP_ITT.1基本內部傳送保護 7 √ √
FDP_RIP.1子集殘余信息保護 8 √ N/A
FDP_RIP.2完全殘余信息保護 9 N/A √
FIA類:標識和鑒別 FIA_AFL.1鑒別失敗處理 10 √ √
FIA_ATD.1用戶屬性定義 11 √ √
FIA_SOS.1秘密的驗證 12 ○ √
FIA_UAU.1鑒別的時機 13 √ √
FIA_UAU.4一次性鑒別機制 14 √ √
FIA_UAU.5多重鑒別機制 15 ○ √
FIA_UAU.6重鑒別 16 √ √
FIA_UID.1標識的時機 17 √ √
FMT類:安全管理 FMT_MOF.1安全功能行為的管理 18 √ √
FMT_MSA.1安全屬性的管理 19 √ √
FMT_MSA.3靜態屬性初始化 20 √ √
FMT_MTD.1TSF數據的管理 21 √ √
FMT_MTD.2TSF數據限值的管理 22 √ √
FMT_SMF.1管理功能規范 23 √ √
FMT_SMR.1安全角色 24 √ √
FPT類:TSF保護 FPT_FLS.1失效即保持安全狀態 25 √ √
FPT_ITT.1內部TSF數據傳送的基本保護 26 √ √
FPT_RCV.4功能恢復 27 √ √
FPT_RPL.1重放檢測 28 √ √
FPT_TST.1TSF測試 29 ○ √
注:√代表在該保障級下應選擇該組件;○代表在該保障級下可選擇該組件;N/A 代表在該保障級下該組件不適用。
7.1.2 安全功能要求描述
7.1.2.1 密鑰生成(FCS_CKM.1)
FCS_CKM.1.1 IC卡嵌入式軟件安全功能應根據符合下列標準【賦值:相關標準】的一個特定的密鑰生成算法【賦值:密鑰生成算法】和規定的密鑰長度【賦值:密鑰長度】來生成密鑰。
應用說明:該組件僅適用于密鑰生成功能由嵌入式軟件本身完成的情況,此時ST編寫者應根據密碼算法的具體情況,賦值國家主管部門認可的相關標準及參數。若密鑰由外部環境生成,則可以不選擇此組件。
7.1.2.2 密鑰銷毀(FCS_CKM.4)
FCS_CKM.4.1 IC卡嵌入式軟件安全功能應根據符合下列標準【賦值:標準列表】的一個特定的密鑰銷毀方法【賦值:密鑰銷毀方法】來銷毀密鑰。
應用說明:ST編寫者應根據密碼算法的具體情況賦值國家主管部門認可的相關標準及密鑰銷毀方法。
7.1.2.3 密碼運算(FCS_COP.1)
FCS_COP.1.1 IC卡嵌入式軟件安全功能應根據符合下列標準【賦值:標準列表】的特定的密碼算法【賦值:密碼算法】和密鑰長度【賦值:密鑰長度】來行執【賦值:密碼運算列表】。
應用說明:ST編寫者應根據密碼算法的具體情況賦值國家主管部門認可的相關標準及參數。
7.1.2.4 子集訪問控制(FDP_ACC.1)
FDP_ACC.1.1 IC卡嵌入式軟件安全功能應對【用戶,管理員,賦值:其他主體列表】【選擇:刪除、修改、讀取,使用,【賦值:其他具體操作列表】】【用戶數據,賦值:其他客體列表】】執行【IC 卡嵌入式軟件用戶數據訪問控制策略】。
應用說明:ST編寫者應根據具體情況細化用戶數據和操作列表,且根據用戶和管理員操作客體和相應控制策略的不同,應在ST 中將此組件分為不同的點進行描述,此原則適用于以下各組件的描述情況。
7.1.2.5 基于安全屬性的訪問控制(FDP_ACF.1)
FDP_ACF.1.1 IC卡嵌入式軟件安全功能應基于【用戶,管理員,賦值:其他主體列表】的【鑒別狀態,賦值:其他安全策略相關的安全屬性或屬性組】對客體執行【IC 卡嵌入式軟件用戶數據訪問控制策略】。
FDP_ACF.1.2 IC卡嵌入式軟件安全功能應執行以下規則,以決定在受控主體與受控客體間的一個操作是否被允許:【用戶鑒別是否通過,管理員鑒別是否通過,賦值:在受控主體和受控客體間,通過對受控客體采取受控操作來管理訪問的一些規則】。
FDP_ACF.1.3 IC卡嵌入式軟件安全功能應基于以下附加規則:【賦值:基于安全屬性的,明確授權主體訪問客體的規則】,明確授權主體訪問客體。
FDP_ACF.1.4 IC卡嵌入式軟件安全功能應基于【賦值:基于安全屬性的,明確拒絕主體訪問客體的規則】明確拒絕主體訪問客體。
應用說明:ST編寫者應根據具體應用細化客體和操作列表。若嵌入式軟件沒有附加訪問控制策略,可不對FDP_ACF.1.3和FDP_ACF.1.4的相應賦值項賦值。
7.1.2.6 子集信息流控制(FDP_IFC.1)
FDP_IFC.1.1 IC卡嵌入式軟件安全功能應對【用戶數據訪問,賦值:其他導致受控信息流入、流出受控主體的操作列表】執行【數據傳輸過程的保密性處理策略,賦值:其他信息流控制策略】。
7.1.2.7 基本內部傳送保護(FDP_ITT.1)
FDP_ITT.1.1 在IC卡嵌入式軟件物理上分隔的部分之間,如不同軟件模塊之間傳遞用戶數據時,IC卡嵌入式軟件安全功能應執行【數據傳輸過程的保密性處理策略,【賦值:其他信息流控制策略】】,以防止用戶數據被【選擇:泄漏,篡改,或無法使用】。
7.1.2.8 子集殘余信息保護(FDP_RIP.1)
FDP_RIP.1.1 IC卡嵌入式軟件安全功能應確保一個資源的任何先前信息內容,在【選擇:分配資源到、釋放資源自】下列客體:【EEPROM、Flash,賦值:其他客體列表】時不再可用。
7.1.2.9 完全殘余信息保護(FDP_RIP.2)
FDP_RIP.2.1 IC卡嵌入式軟件安全功能應確保一個資源的任何先前信息內容,在【選擇:分配資源到、釋放資源自】所有客體時不再可用。
7.1.2.10 鑒別失敗處理(FIA_AFL.1)
FIA_AFL.1.1 IC卡嵌入式軟件安全功能應能檢測出當【選擇:【賦值:正整數】,管理員可設置的【賦值:可接受數值范圍】內的一個正整數】時,與【選擇:用戶鑒別,管理員鑒別,【賦值:其他鑒別事件列表】】相關的未成功鑒別嘗試。
FIA_AFL.1.2 當【選擇:達到,超過】所定義的未成功鑒別嘗試次數時,IC卡嵌入式軟件安全功能應采取的【賦值:動作列表(如臨時鎖定鑒別功能至一段時間后再開啟,或永久鎖定鑒別功能并進入廢止階段)】。
7.1.2.11 用戶屬性定義(FIA_ATD.1)
FIA_ATD.1.1 IC卡嵌入式軟件安全功能應維護屬于單個用戶的下列安全屬性列表:【選擇:用戶標識、PIN 和密鑰等鑒別數據、用戶角色、【賦值:其他安全屬性】】。
7.1.2.12 秘密的驗證(FIA_SOS.1)
FIA_SOS.1.1 IC卡嵌入式軟件安全功能應提供一種機制以驗證秘密滿足保證鑒別機制安全性的安全要求。
應用說明:此安全功能要求中的秘密是指如鑒別密鑰、PIN 等IC卡嵌入式軟件安全功能數據。在EAL5+的情況下,IC卡嵌入式軟件應對保存的秘密的質量進行驗證,以加強秘密設置的安全性。