Transcript IC卡安全
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 IC卡之類型 接觸式IC卡 接觸式IC卡上IC晶片接觸點 C1 C5 C2 C6 C3 C7 C4 C8 C1 : Vcc 5V 0.25V C5 : GND (ground) C2 : RST (Reset) C6 : V pp (programming Voltage) C3 : CLK (Clock) C7 : I / O C4 : RFU C8 : RFU (Reservedfor future use ) 中華民國資訊安全學會 電子商務安全 8-5 IC卡之類型 CPU卡內部電路概念圖 IC卡內之CPU一般為8bit單晶片處理器,如8051, 6805等。 ROM Card OS RST 界 面 CLK I/O CPU EEPROM/Flash Data File, PIN keys UART 密碼協同處理 Crypto-coprocessor 電子商務安全 8-6 IC卡之類型 非接觸式(contactless)IC卡 非接觸式IC卡內部電路概念圖 整 電 磁 波 中華民國資訊安全學會 電子商務安全 記 憶 體 流 CPU 介 面 密碼 處理 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卡 (1) Re set ( 2) ATR (3) Com m and ( 4) Re sponse (5) 重覆步驟(3)(4)至完成工作 (6) 終止交談 電子商務安全 C2 ( RST) C7 ( I / O ) C7 ( I / O ) C7 ( I / O ) 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卡依不同之應用情境,可能會遭受不同之安全威脅 與攻擊。 側錄:經由有線或無線從旁盜錄資料 假冒:假冒系統或使用者 洩漏:經由有線或無線從內部洩漏資料出去 攔截:經由有線或無線攔截通訊資料 竊取:竊取非經授權之內部資料 竄改:竄改所竊取之內部資料或所攔截之通訊資料 隱私:揭露個人隱私資料 電子商務安全 8-22 IC卡依不同之應用情境,可提供下列部分或全部之安 全防護服務。 鑑別性 機密性 完整性 存取控制 不可否認 電子商務安全 8-23 IC卡之安全攻擊 IC卡與一般微處理機架構類似,為因應身分鑑別、 資料加解密、簽章驗證等密碼處理功能需求,通 常內含一密碼協同處理器(Crypto Coprocessor)。 IC卡常被應用於資訊安全應用處理上。因此,常 面臨不當攻擊,所以IC卡設計上須考慮安全防護 措施。 電子商務安全 8-24 IC卡之安全攻擊----- IC卡硬體架構與程式執 行 EEPROM ROM Processor & Co-processor RAM 串列輸出 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 簡單電力攻擊(SPA)與差分電力攻擊(DPA) 電子商務安全 8-33 電磁波攻擊(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卡檔案管理之存取控制 應用程式 1 應用程式 2 應用程式 3 密碼處理中心 BIOS 資料儲存 (RAM, EEPROM) 串列輸出 電子商務安全 8-39 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: Chip Design ROM Design Application Design Chip Manufacture Manufacture Key Fabricator Fabrication Key Card Issuer Issuer Key Transaction key User 電子商務安全 Pin 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卡攻擊防護之防禦方 法 軟體攻擊防護 1. 加入Tamper-resistance 2. Code 轉換,使程式設計者無法直接從模組 讀取 程式 3. 在程式撰寫時注意特殊指令運用,避開特殊功能, 撰寫過程、測試後必須徹底消除所有測試點。 4. 多樣性(Diversity)與個人化(Individualization) 電子商務安全 8-48 IC卡之安全防護 ----- IC卡攻擊防護之防禦方 法 側通道攻擊防護---SPA/DPA防護 *降低模組功率消耗 *遮蓋模組功率消耗曲線 1.雜訊遮蓋 2. 濾波 *隔離模組電源線 *引入冗餘指令 電子商務安全 8-49 側通道攻擊防護---時間攻擊防護 * 避免特殊指令使用 *平衡演算法執行時間 * 隨機化模組時脈頻率 電子商務安全 8-50 電磁波分析攻擊防護 *電子電路之良好阻抗匹配(impedance matching)設計 *電子電路之良好屏蔽(shielding)設計 *電子電路之良好接地(grounding)設計 電子商務安全 8-51