510 likes | 1.19k Views
Module 8 : IC 卡安全. 8- 1. Module 8 : IC 卡安全. Module 8-1 : IC 卡簡介 Module 8-2 : IC 卡安全架構 Module 8-3 : IC 卡安全技術標準 Module 8-4 : IC 卡應用模式 參考文獻. 8- 2. Module 8-1 : IC 卡簡介. 8- 3. Module 8-1 : IC 卡簡介. IC 卡之類型 IC 卡之檔案結構 IC 卡之通訊協定 IC 卡之存取控制. 8- 4. 中華民國資訊安全學會. C 5. C 1. C 6. C 2. C 3.
E N D
Module 8:IC卡安全 8-1
Module 8: IC卡安全 • Module 8-1:IC卡簡介 • Module 8-2:IC卡安全架構 • Module 8-3:IC卡安全技術標準 • Module 8-4:IC卡應用模式 • 參考文獻 8-2
Module 8-1:IC卡簡介 8-3
Module 8-1: IC卡簡介 IC卡之類型 IC卡之檔案結構 IC卡之通訊協定 IC卡之存取控制 8-4
中華民國資訊安全學會 C5 C1 C6 C2 C3 C7 C4 C8 IC卡之類型 • 接觸式IC卡 • 接觸式IC卡上IC晶片接觸點 8-5
IC卡之類型 • CPU卡內部電路概念圖 • IC卡內之CPU一般為8bit單晶片處理器,如8051, 6805等。 ROM Card OS RST 界 面 CPU EEPROM/Flash Data File, PIN keys CLK I/O UART 密碼協同處理 Crypto-coprocessor 8-6
整 流 記 憶 體 CPU 電磁波 介面 密碼 處理 中華民國資訊安全學會 IC卡之類型 • 非接觸式(contactless)IC卡 • 非接觸式IC卡內部電路概念圖 8-7
中華民國資訊安全學會 中華民國資訊安全學會 IC卡之類型 • 混和式(hybrid) IC卡 • 含有接觸式與非接觸式兩種介面之 IC卡 (ICC) • 接觸式與非接觸式各用其獨立之 IC晶片 • 接觸式與非接觸式共用一顆 IC晶片 8-8
IC卡之檔案結構 • IC卡是以檔案為處理單位 • 檔案結構含標頭(header)與檔案本體(body)兩部份 • IC卡是採階層式的檔案架構 • IC卡安全需考量檔案之存取控制與加密處理,故需先了解IC卡之檔案架構。 8-9
IC卡之檔案結構-----檔案型態 • 檔案類別: • 依 ISO 7816 part 4 標準 • 類似DOS或UNIX系統 1.目錄檔(Directory File) : • 主檔(Master File ---MF) • 專屬檔(Dedicated file---DF) 2.基本檔(Elementary File---EF):資料檔 • 工作檔(Working file) • 內部檔(Internal file) 8-10
IC卡之通訊協定 • IC卡之啟動與處理概述 • 將接觸式IC卡插入讀卡機,或將非接觸式IC卡近接讀卡機 • IC卡經由讀卡機取得+5V電源及鐘訊CLK • IC卡與讀卡機間建立交談通訊程序 • 讀卡機存取IC卡資料 • 完成處理,IC卡退出(或遠離) 讀卡機 8-11
IC卡之通訊協定 • 接觸式IC卡之啟動與處理步驟 1.讀卡機經C2送Reset (RST) 信號至IC卡:讀卡機起動交握程序,讓IC卡內之CPU重置各暫存器 (Registers),並起動重置回應處理。 2. IC卡經C7(I/O)送重置回應(ATR, Answer To Reset) 至讀卡機:以讓讀卡機了解IC卡之基本參數設定。 3. 讀卡機經C7(I/O)送命令 (command) 至IC卡:讀卡機要求IC卡執行特定工作。 4. IC卡回應 (Response)執行結果及狀態給讀卡機。 5.重覆步驟(3)(4)直至完成交談處理。 6.終止交談程序,IC卡退出(或遠離) 讀卡機。 8-12
IC卡之通訊協定 • 接觸式IC卡與讀卡機之通訊協定 讀卡機 IC卡 8-13
IC卡之存取控制 • IC卡之存取控制是針對檔案之存取控制。 • 所有檔案都有一存取相關規則資料,存放於該檔案的Header內,Header由檔案管理系統管理。因此,IC卡的安全決定於檔案管理系統存取政策。 • 每個檔案都以該檔案的FID識別,控制存取該檔案之資料。 8-14
IC卡之存取控制-----檔案選擇 • 採用物件導向管理方式,檔案必須先選取才可存取。 • 任一時間只有一個檔案可被選取 • 主檔可在檔案樹狀結構中任一層直接選取。 8-15
IC卡之存取控制-----檔案選擇 • 主檔(MF)的選取: • 以FID“3F00”選取 • reset後直接進入MF • 專屬檔(DF)的選取 • 利用專屬檔的FID或包含已註冊的AID之DF 檔名。 • 選取檔案命令必須包含2 bytes專屬檔的FID,檔案必須選取後才可被存取。 8-16
IC卡之存取控制-----檔案選擇 • 專屬檔(DF)的選取 • 利用專屬檔的短檔案識別符(Short FID) • 只可對DF動作 • 專屬命令:READ BINARY, UPDATE BINARY, UPDATE RECORD 優點: 1.利用單一命令,可對檔案同時選擇及存取。 2.高執行速度 8-17
Module 8-2:IC卡安全架構 8-18
Module 8-2: IC卡安全架構 IC卡之安全防護概念 IC卡之安全攻擊 IC卡之安全防護 8-19
IC卡之安全防護概念 IC卡是ㄧ密碼模組。 IC卡主要用於 儲存公開金鑰或私密金鑰之憑證(certificate)裝置。 儲存使用者之祕密參數。 儲存個人私密資料。 儲存隨附高階物品之產品資料。 8-20
卡片身分鑑別 檔案存取控制 檔案加密處理 運算訊息隱藏 IC卡 讀 卡 機 IC卡 應用系統 安全防護 攻擊 中華民國資訊安全學會 8-21
IC卡依不同之應用情境,可能會遭受不同之安全威脅與攻擊。IC卡依不同之應用情境,可能會遭受不同之安全威脅與攻擊。 側錄:經由有線或無線從旁盜錄資料 假冒:假冒系統或使用者 洩漏:經由有線或無線從內部洩漏資料出去 攔截:經由有線或無線攔截通訊資料 竊取:竊取非經授權之內部資料 竄改:竄改所竊取之內部資料或所攔截之通訊資料 隱私:揭露個人隱私資料 8-22
IC卡依不同之應用情境,可提供下列部分或全部之安全防護服務。IC卡依不同之應用情境,可提供下列部分或全部之安全防護服務。 鑑別性 機密性 完整性 存取控制 不可否認 8-23
IC卡之安全攻擊 IC卡與一般微處理機架構類似,為因應身分鑑別、資料加解密、簽章驗證等密碼處理功能需求,通常內含一密碼協同處理器(Crypto Coprocessor)。 IC卡常被應用於資訊安全應用處理上。因此,常面臨不當攻擊,所以IC卡設計上須考慮安全防護措施。 8-24
IC卡之安全攻擊----- IC卡硬體架構與程式執行 ROM---IC卡的OS (COS),在晶片製造時完成 EEPROM—記憶應用程式與相關的靜態資料 RAM—應用程式執行過程所產生之暫態資料 8-25
IC卡之安全攻擊----- IC卡硬體架構與程式執行 應用程式被IC卡執行之四個主要步驟 (由終端機觀點): *選擇載入IC卡的應用程式 *提供使用者鑑別 *讀寫運算IC卡資料 *退出應用程式 8-26
IC卡之安全攻擊----- IC卡的可能攻擊方法 • IC卡的四種可能攻擊: • 侵入式攻擊(Invasion Attack) • 軟體攻擊(Software Attack) • 側通道攻擊(Side-Channel Attack) • 故障攻擊(Fault Attack) 8-27
侵入式攻擊(Invasion Attack) 利用微探針(Microprobing)直接量測晶片,取得相關資訊的技術。這類攻擊主要利用晶片製造過程中,用於量測晶片的儀器設備。 *不需知道太多晶片相關資訊 防禦技術:硬體電路必須具有侵入偵測與反應設計。 8-28
侵入式攻擊步驟 8-29
軟體攻擊(Software Attack) 軟體攻擊是利用應用軟體、IC卡與讀卡機之通訊協定、密碼演算法、COS等軟體程式之弱點,而取得密碼模組之內部秘密參數等相關資訊。例如猜測PIN碼、未授權之檔案存取、惡意程式碼、SIM卡之暴力攻擊。 8-30
側通道攻擊(Side-Channel Attack) 側通道攻擊是經由非正常通道,即側通道,監測密碼模組在執行過程中,因運算動作與運算元之不同,造成密碼模組在某些物理特性上之變動,而側錄此變動波形,再經由分析此洩漏之訊息,解讀出密碼模組之內部秘密參數。例如密碼模組的功率消耗(SPA/DPA)攻擊、電磁輻射(EMA)攻擊,執行時間(Timing)攻擊。 8-31
側通道攻擊電力消耗曲線攻擊 • 依據密碼演算法在模組內執行時,因運算元內容不同,消耗不同的電流,此功率消耗將呈現在由外界供應之電力的電源線上,攻擊者可以量測電流變化,配合密碼演算法資訊,利用分析工具找出密碼模組相關機密資訊。此類攻擊又可分為:簡單電力攻擊(Simple Power Attack),差分電力攻擊(Differential Power Attack)與時間攻擊(Timing Attack) 8-32
電磁波攻擊(Electromagnetic Analysis EMA Attack) 電磁波洩漏(Electromagnetic leakage) 任何電子電路在訊號處理中,其運算處理所需之變動電流皆會產生變動磁場,而形成電磁波。 任何電子電路或多或少,都會產生電磁波輻射。 若電路設計不佳,如阻抗不匹配、接地不良、未做隔離,則內部之運算訊息會藉由電磁波輻射洩漏出去。 由電磁波輻射洩漏之訊息可經天線接收,再解調回原訊息而被側錄。 IC卡可經緊貼於背面之靈敏天線側錄而被攻擊。 8-34
故障攻擊(Fault Attack) 運用外力造成密碼模組在執行時發生錯誤,由錯誤輸出配合與密碼模組相關設計資訊,找出機密資料。 外力造成密碼模組運算錯誤,可能是暫時性的,在攻擊事後,該密碼模組可經由程序回復正常工作;也可能該外力造成密碼模組嚴重毀損,而無法回復。即故障現象可分為:暫態故障與永久故障。 8-35
故障攻擊(Fault Attack) ---暫態故障分析 利用外力造成模組暫時性的故障。施加的外力例如X光、改變時脈、高壓放電等。 ---永久故障分析 破壞密碼模組硬體電路,造成故障現象。 8-36
GSM 用戶SIM卡的可能攻擊方法(暴力攻擊) 將SIM卡放入讀卡機CAD中,執行MF後,依下列之分析程序攻擊。 [1] 選擇讀取基本檔案 (EF-2FE2),此時使用者便可以獲得儲存在檔案中此卡之ID碼 (ICCID)。 [2] 選擇讀取基本檔案 (EF-6F07)下,以獲得儲存在檔案中此卡之IMSI。 [3] 選擇讀取基本檔案(EF-6F7E),以獲得儲存在檔案中之 TMSI、LAI、RAND、SRES等資料。 CAD : card acceptance device ,即 smart card reader 8-37
[4] 選擇讀取基本檔案(EF-6F20),以獲得儲存在檔案中之加密金鑰(Kc)。 [5]此時CAD下達執行RUN GSM Algorithm指令,並產生亂數Ki傳送給SIM卡。此時SIM卡將利用檔案內之RAND及收到來自CAD之Ki,分別送至A3及A8演算法,產生SRES及Kc,回傳給CAD。CAD便可以比對,收到之SRES及Kc與先前讀取之SRES及Kc是否相等。若相等,即破解此卡之Ki。若不相等,持續重複上述步驟,直到相等為止。 [6]從步驟[1]至[5],使用者可獲得此卡之基本資料,ICCID、IMSI、TMSI、Ki等。將上述資料寫入空白SIM內相對應之檔案目錄內即可複製SIM卡。 此為典型之暴力攻擊法。 8-38
IC卡之安全防護 ----- IC卡檔案管理之存取控制 作業系統(OS)要求: 所有運算都由存在於卡內作業系統負責統籌,因此作業系統必須負責IC卡機密資料存取相關運作。 存取控制(Access Control) 確定只有合法使用者可存取修改使用者個人資料。可分為: * 邏輯存取控制(logical access control) * 實體存取控制(physical access control) 8-40
IC卡之安全防護 ----- IC卡檔案管理之存取控制 應用程式對密碼協同處理器的存取必須受限 ---檢查合法存取矩陣 應用程式對密碼協同處理器的防護必須提供 ---內建一檢查程式(工具),以檢查應用程式對資料存取的方法是否符合規則 應用資料與內部資料儲存對映關係必須保護 ---內建一轉換,以存取EEPROM資料位置值 8-41
IC卡之安全防護----- IC卡實體安全之晶片設計與產品週期 實體攻擊防護---侵入式攻擊防護 分割整個製程過程的每個步驟, 確定各個步驟負責的廠商只知與負責工作相關資訊,無法了解IC卡設計詳情。 符合 FIPS 140 安全等級需求 8-42
IC卡之安全防護----- IC卡實體安全之晶片設計與產品週期 Card life cycle: 8-43
IC卡之安全防護----- IC卡實體安全之晶片設計與產品週期 晶片設計: 防止以簡單設備複製IC電路設計,設計時加入對記憶體存取保護電路。 ROM 設計: ROM受作業系統保護,防止設計內容被複製 ROM分兩區塊,其中一區可在power on (ATR)存取,另一區則必須在存取條件符合或存取動作正確時才可存取。 8-44
IC卡之安全防護----- IC卡實體安全之晶片設計與產品週期 晶片製造: 確實管制製造材料儀器使用 製造商擁有獨立金鑰 限制製造商擁有所有資料 封裝: 封裝工廠不應知道晶圓實際設計內容 封裝工廠擁有獨立金鑰,可執行功能測試 限制封裝工廠擁有所有資料。 8-45
IC卡之安全防護----- IC卡實體安全之晶片設計與產品週期 發卡單位: 只知IC卡提供功能 可針對卡片執行個人化規劃 必須確定發卡單位不應該知道IC卡設計詳情。 使用者:擁有個人金鑰,確保個人資料存取。 8-46
IC卡之安全防護 ----- IC卡攻擊防護之防禦方法 實體攻擊防護---非侵入式攻擊 *軟體攻擊防護 *側通道(Side-Channel)攻擊防護 *故障攻擊防護 8-47
IC卡之安全防護 ----- IC卡攻擊防護之防禦方法 軟體攻擊防護 加入Tamper-resistance Code 轉換,使程式設計者無法直接從模組 讀取程式 在程式撰寫時注意特殊指令運用,避開特殊功能,撰寫過程、測試後必須徹底消除所有測試點。 多樣性(Diversity)與個人化(Individualization) 8-48
IC卡之安全防護 ----- IC卡攻擊防護之防禦方法 側通道攻擊防護---SPA/DPA防護 *降低模組功率消耗 *遮蓋模組功率消耗曲線 1.雜訊遮蓋 2. 濾波 *隔離模組電源線 *引入冗餘指令 8-49
側通道攻擊防護---時間攻擊防護 * 避免特殊指令使用 *平衡演算法執行時間 * 隨機化模組時脈頻率 8-50