IC卡在數(shù)字化校園中的廣泛應(yīng)用
校園“一卡通”是以IC卡為信息載體的適用于校園管理和消費(fèi)的網(wǎng)絡(luò)應(yīng)用系統(tǒng)。它取代了學(xué)校管理和生活中所使用的各種個(gè)人證件和現(xiàn)金支付手段,方便學(xué)生和教師的學(xué)校生活,將現(xiàn)代化科技理念融入學(xué)生的日常生活,服務(wù)校園教育教學(xué)。作為北京市朝陽區(qū)廣大基層學(xué)校數(shù)字化校園中的基礎(chǔ)應(yīng)用,中小學(xué)學(xué)生學(xué)籍卡等各種學(xué)生IC卡在校內(nèi)開展了包括食堂就餐與校內(nèi)小額消費(fèi)結(jié)算、學(xué)校門禁考勤管理、圖書借閱等多項(xiàng)應(yīng)用,配合公交公司與移動讀卡終端實(shí)現(xiàn)學(xué)生社會大課堂簽到記錄和公交與社會小額支付等社會應(yīng)用。作為北京市試點(diǎn)區(qū)縣,朝陽區(qū)還在全市率先研究開發(fā)教師卡應(yīng)用系統(tǒng),實(shí)現(xiàn)包括繼續(xù)教育學(xué)習(xí)過程記錄、全區(qū)大型會議簽到、教師繼續(xù)教育學(xué)分管理等應(yīng)用。
隨著“一卡通”的應(yīng)用越來越深入,IC應(yīng)用管理系統(tǒng)安全性的話題也越來越多。各種案件的頻頻發(fā)生,使人們把焦點(diǎn)聚集到了IC卡本身的安全性問題上。廣大師生也開始重新審視手中的IC卡,我的卡片安全么?對于一個(gè)IC卡應(yīng)用系統(tǒng)而言,卡片的安全性好比一座摩天大廈的基礎(chǔ)。因此,深入了解手中的IC卡的種類和安全性能,對于一卡通應(yīng)用系統(tǒng)的數(shù)據(jù)安全至關(guān)重要。
常用IC卡結(jié)構(gòu)及其安全性分析
IC卡的分類
IC 卡是集成電路卡( Integrated Circuit-card) 的英文簡稱,又稱智能卡。它是將集成電路芯片鑲嵌于塑料基片中,封裝成外型尺寸和磁卡類似的卡片制成。按照 IC 卡與讀寫設(shè)備間的數(shù)據(jù)交換方式,可分為接觸型和非接觸型 IC 卡兩種。按照 IC 卡的功能和結(jié)構(gòu)不同,可分成以下三類。
一般存儲卡: 卡中的集成電路芯片為 EEPROM( 可用電擦除的可編程只讀存儲器,用于存儲用戶信息) ,只具有簡單的數(shù)據(jù)存儲功能。
邏輯加密存儲卡:卡內(nèi)芯片增加了加密邏輯電路,只有當(dāng)外部讀寫設(shè)備通過硬件邏輯電路的判斷后,才可讀寫 EEPROM中的數(shù)據(jù)。通過校驗(yàn)密碼方式來保護(hù)卡內(nèi)數(shù)據(jù)的安全。
CPU 卡: 卡中的集成電路包括中央處理器 CPU、EEPROM、隨機(jī)存儲器 RAM 以及固化在只讀存儲器 ROM 中的芯片操作系統(tǒng) COS( Chip Operating System) 。裝有 COS 的 CPU 卡相當(dāng)于一臺微型計(jì)算機(jī),不僅具有數(shù)據(jù)存儲功能,同時(shí)具有命令處理和數(shù)據(jù)安全保護(hù)等功能。
目前市面使用最多的是非接觸式IC卡,主要有邏輯加密存儲卡和CPU卡兩類,其中最具代表性的邏輯加密存儲卡當(dāng)屬M(fèi)1卡,被廣范應(yīng)用在門禁、公交以及數(shù)字化校園系統(tǒng)中。
M1卡及其安全性分析
Mifare 非接觸式IC卡(簡稱Ml卡),使用成本很低,特別適合一卡多用。主要在門禁和公交領(lǐng)域被廣泛使用,前期建設(shè)啟用的北京市中小學(xué)生卡和部分教師卡使用的非接觸式IC 卡主要為M1 型卡。
M1卡內(nèi)嵌專用芯片、環(huán)型天線、加密控制邏輯電路和通訊邏輯電路,卡與讀寫器之間的通訊采用標(biāo)準(zhǔn)DES 和RES 交叉算法, 具有極高的智能和保密性能。
M1卡的密鑰管理
M1卡采用邏輯加密的方式,整個(gè)卡片分為16個(gè)扇區(qū),每個(gè)扇區(qū)有4塊(0-3塊),共64塊。每個(gè)扇區(qū)的第3塊為密鑰塊,有KeyA和KeyB兩個(gè)密鑰組成,分別長6字節(jié),中間有4個(gè)控制字節(jié),總共16字節(jié)。
扇區(qū)中的每塊的存取條件都是由密鑰和存取控制共同決定的,存取控制的每塊都有三個(gè)控制位,以正反兩種形式存在于控制字節(jié)中,決定該塊的訪問權(quán)限。
M1卡的安全認(rèn)證
Mifare系列IC卡是NXP公司的專利產(chǎn)品,它采用了一種NXP特有的加密算法來完成認(rèn)證和加解密運(yùn)算。由于這種算法是NXP特有且不公開的算法,M1卡采用了一種特殊的手段來實(shí)現(xiàn)在不公開算法的前提下完成認(rèn)證,即將同樣的算法引擎放置在NXP出產(chǎn)的專用的讀寫基站芯片中,認(rèn)證過程由基站芯片“代替”用戶系統(tǒng)與芯片之間完成(如圖1)。M1卡所宣稱的三重認(rèn)證及輸入加密傳輸?shù)劝踩匦詫?shí)質(zhì)是M1卡與RC500等NXP基站芯片(或兼容芯片)之間的認(rèn)證和加密。
盡管 Mifare Classic 系統(tǒng)有完整、復(fù)雜的認(rèn)證協(xié)議與加密算法,用以保證數(shù)據(jù)讀寫的安全,但是并不嚴(yán)密。攻擊者可以通過竊聽讀卡器與M1卡的通信或者作為讀卡器與M1卡直接通信,從而破解M1卡密碼并竊取卡中存儲的數(shù)據(jù)。由此可見,Mifare Classic卡存在著潛在的安全隱患,使用這類卡的系統(tǒng)存在著風(fēng)險(xiǎn)。
CPU卡及其安全性能分析
相比M1卡,CPU 卡出現(xiàn)的時(shí)間較晚,但因其擁有獨(dú)立的CPU 處理器和芯片操作系統(tǒng),可以更靈活地支持各種不同的應(yīng)用需求,交易也更安全,其生命力也更強(qiáng)。主要體現(xiàn)在幾個(gè)方面:數(shù)據(jù)安全性更高、應(yīng)用更加靈活、應(yīng)用能力更多等。
CPU卡的核心是卡片操作系統(tǒng)(COS),外界對CPU卡發(fā)布的所有命令都需要通過COS才能對卡片起作用,COS控制CPU卡和外界的信息交換、管理CPU卡內(nèi)的存儲器并在卡內(nèi)部完成各種命令的處理(如圖2),CPU 卡采用了多種芯片防攻擊手段,基本上不可偽造。這種芯片有獨(dú)立的處理器和操作系統(tǒng),兼具信息存儲、運(yùn)算的功能,因此被稱為“智能卡”,其安全性和多功能性比邏輯加密卡和磁條卡更強(qiáng)。
CPU卡的密鑰管理
CPU 智能卡與M1卡相比,系統(tǒng)是相對復(fù)雜的,采取16字節(jié)密鑰,可多級多個(gè)密鑰組合控制。其密鑰分類有很多,可以分為加值密鑰 ISAM 卡,減值密鑰 PSAM卡,外部認(rèn)證密鑰 SAM 卡和全能密鑰 ASAM 卡;在具體應(yīng)用中又有更細(xì)致的密鑰,比如學(xué)校內(nèi)一卡通中電子錢包的應(yīng)用,在進(jìn)行與銀行對接的圈存服務(wù)的時(shí)候可以單獨(dú)使用圈存密鑰,在進(jìn)行 POS 機(jī)消費(fèi)的時(shí)候使用消費(fèi)密鑰等,在卡片的各個(gè)應(yīng)用中使用相對獨(dú)立的密鑰,真正做到一鑰一用。
CPU卡密鑰管理系統(tǒng)的主要功能是提供各種密鑰的生成機(jī)制和加密算法,并將生成的密鑰存儲在具有密鑰導(dǎo)出功能的CPU智能卡中,它直接關(guān)系到整個(gè)系統(tǒng)的安全。客戶通過此軟件自行生成和管理各類應(yīng)用密鑰,自行完成卡片的初始化工作,保證了客戶擁有密鑰管理和發(fā)卡的主動權(quán)。
CPU卡為了增強(qiáng)與應(yīng)用終端的認(rèn)證程度和增加數(shù)據(jù)加密的安全性,卡片要求使用安全報(bào)文來傳輸過程密鑰,過程密鑰是使用DES或3DES加密產(chǎn)生的。此外,COS還有類似防火墻的功能,除了PIN以外的所有密鑰都不能跨應(yīng)用使用,當(dāng)卡片的一個(gè)應(yīng)用被選擇后,該應(yīng)用的所有授權(quán)操作都是由此應(yīng)用的密鑰來控制的。如果要對其他應(yīng)用操作,則必須選擇應(yīng)用后對其中的密鑰進(jìn)行相關(guān)的認(rèn)證,也就是說,跨應(yīng)用操作時(shí),原來的權(quán)限會丟失。
CPU卡安全認(rèn)證
相比于M1卡,CPU卡進(jìn)行加密算法運(yùn)用與終端設(shè)備中的密鑰認(rèn)證卡(SAM 卡)相互認(rèn)證的機(jī)制,M1卡是直接明文更新的,數(shù)據(jù)信息很容易被截獲,而 CPU卡則是運(yùn)用安全報(bào)文更新數(shù)據(jù)的,數(shù)據(jù)信息安全明顯多了一層保障 ;在 M1卡與POS 機(jī)交互過程中,只有 M1卡對 POS 機(jī)進(jìn)行認(rèn)證,因此如果出現(xiàn)“偽卡”,是一樣可以使用的,而 CPU 卡則多了很多認(rèn)證方式和校驗(yàn)機(jī)制,首先就是卡機(jī)的互相認(rèn)證,在正常的交易完成后,都會生成交易驗(yàn)證碼 TAC,而 M1卡不具備運(yùn)算能力,是不可能產(chǎn)生交易驗(yàn)證碼的。因此,無論是卡本身的安全性,還是在卡進(jìn)行交易時(shí)的安全性,CPU 卡都大大高于 M1卡。
(作者單位:北京工業(yè)大學(xué)計(jì)算學(xué)院 北京朝陽區(qū)現(xiàn)代教育技術(shù)信息網(wǎng)絡(luò)中心)