IC卡系統的安全技術(shù)及IC卡消費系統應用實(shí)例
文章出處:http://psychicreadingswithdeb.com 作者: 人氣: 發(fā)表時(shí)間:2012年03月11日
摘要:討論了IC 卡及其應用系統的安全技術(shù),從底層硬件、操作系統到上層應用軟件三個(gè)層次進(jìn)行了分析。通過(guò)一個(gè)自動(dòng)售貨機IC 卡消費系統的安全性設計方案著(zhù)重說(shuō)明了上層應用軟件的安全性設計。
關(guān)鍵詞:IC 卡;安全技術(shù);密鑰
IC 卡是把具有存儲、加密及數據處理能力的芯片封裝于塑料基片中,形成了具有智能性又便于攜帶的卡片,作為電子信息的載體,近年來(lái)在金融、通信、交通及其它日常生活領(lǐng)域中都得到了廣泛的應用。
IC 卡中通常保存了大量重要的信息,因此在IC 卡的使用中數據的保密性、安全性就顯得尤為重要。從系統工程的角度來(lái)看, IC 卡系統不單純是IC 卡與讀卡器之間的數據交換,還包含后臺主機系統、發(fā)卡系統等多個(gè)環(huán)節。除了IC 卡自身的高保密安全性,整個(gè)系統的設計都要考慮到如何保證高保密性、高可靠性。本文從IC 卡卡片、操作系統、應用系統幾個(gè)方面分別介紹了相關(guān)的安全技術(shù),并介紹一個(gè)自動(dòng)售貨機IC卡消費系統的安全技術(shù)設計方案。
1 IC 卡及讀卡設備的安全性
IC卡卡片自身的硬件結構提供了比磁條卡高出很多的安全可靠性,主要體現在芯片的技術(shù)和卡的制作工藝兩方面。IC卡的存儲芯片可分為ROM、OTP ROM、EPROM、EEPROM、邏輯加密存儲器等等,不同類(lèi)型的存儲器在數據保存持久性、抗干擾能力、數據加密保護能力等方面都有所不同。在IC 卡的制造上也有許多安全保護的防偽方法,如:微線(xiàn)條技術(shù)、激光雕刻簽名、安全背景結構和熒光安全圖片等等。
讀卡終端設備由于存在著(zhù)受到信息被截取和復制、設備被仿造、終端設備誤操作等攻擊的可能性,因此在設計上需要保證較高的安全性。讀卡設備設計的關(guān)鍵是所選芯片的技術(shù),目前有加密芯片、專(zhuān)用集成芯片、算法芯片等,可以不同程度地加強數據傳輸的可靠性和不可破譯性。
2 IC 卡操作系統的安全性
IC卡的操作系統是IC 卡卡片硬件與應用軟件之間的中間層,提供了對硬件的訪(fǎng)問(wèn)、文件管理、安全機制等功能,實(shí)現了軟件與具體硬件配置的隔離,從而使軟件變得可移植,增強了卡的通用性。
IC卡操作系統主要從文件管理、安全機制和指令集三個(gè)方面來(lái)保證安全性。
2. 1 文件管理
一個(gè)好的操作系統在文件管理上應實(shí)現分層管理,對于公共數據、系統數據和專(zhuān)用數據要分別存儲和管理,對不同文件的訪(fǎng)問(wèn)應設置不同的訪(fǎng)問(wèn)權限,以實(shí)現必要數據共享的同時(shí)保證專(zhuān)用數據和系統數據的保密性。
2. 2 安全機制
IC卡操作系統中的安全機制通常包含文件訪(fǎng)問(wèn)權限、安全報文傳輸、防拔特性等。
1) 文件訪(fǎng)問(wèn)權限:文件訪(fǎng)問(wèn)權限的設置禁止了對文件的非法訪(fǎng)問(wèn)。這種權限的設置不僅存在于同一張卡中的不同應用上,也存在于同一個(gè)應用中不同的文件上。
2) 安全報文傳輸:為了防止在IC 卡與讀卡設備的通訊過(guò)程中數據遭到惡意截獲和篡改,在一些關(guān)鍵數據的傳輸上要采用安全報文傳輸,主要采用加密和校驗手段,以保證傳輸數據的完整性和保密性。加密算法是保證數據安全可靠性的核心技術(shù)。
3) 防拔特性:防拔功能是在IC 卡使用過(guò)程中遇到人為的拔卡破壞行為或掉電情況時(shí)能保存交易數據或恢復未完成的交易。具有防拔功能可以保護交易信息、減少用戶(hù)的損失,提高系統使用的可靠性。
2. 3 指令集
IC卡操作系統指令集一般包括管理指令、交易指令和個(gè)人化指令。設計指令首先要符合IC 卡設計標準(如國際標準化組織制定的關(guān)于IC 卡特性、應用等的標準ISO7816、我國關(guān)于金融卡設計使用的標準《中國金融集成電路( IC) 卡規范》等) ,在此基礎上指令功能要清晰完善,并且指令越少越好。
3 應用系統的安全性
IC 卡應用系統是以IC 卡和讀卡設備為基礎,包含主機、終端設備、發(fā)卡系統等多個(gè)部分的基于網(wǎng)絡(luò )的系統。應用系統自身的安全特性直接影響著(zhù)整個(gè)系統的性能,其安全技術(shù)主要存在于兩個(gè)方面,一是密鑰的管理,一是應用系統網(wǎng)絡(luò )的安全性。
3. 1 密鑰的管理
在IC 卡系統中,密鑰機制是保證IC 卡上的數據和IC 卡應用的保密性、可靠性的關(guān)鍵技術(shù)。通過(guò)密鑰才能夠在文件的訪(fǎng)問(wèn)、數據的讀寫(xiě)與傳輸等方面實(shí)現加密和權限控制,從而保證IC 卡在使用中的高可靠性。因此對于所有密鑰的管理要充分保證密鑰存儲、使用的安全可靠,避免密鑰被輕易竊取和越權使用。
3. 2 應用系統網(wǎng)絡(luò )的安全性
IC 卡與終端設備、主機之間要不斷進(jìn)行數據傳輸,網(wǎng)絡(luò )是普遍采用的傳輸手段。網(wǎng)絡(luò )上的各個(gè)節點(diǎn),包括主機、發(fā)卡系統、終端設備等,以及節點(diǎn)間的互相通信都是可能受到攻擊的對象。所謂應用系統網(wǎng)絡(luò )的安全性不僅僅指實(shí)際的網(wǎng)絡(luò )傳輸系統的安全可靠,也包括網(wǎng)絡(luò )上各個(gè)節點(diǎn)自身運行的安全性。通常采取的措施包括:增強系統容錯能力、對各種異常情況的報警和故障后恢復能力;設置足夠的系統冗余和備份資源;主機和發(fā)卡系統與外界網(wǎng)絡(luò )之間建立防火墻等等。
4 自動(dòng)售貨機IC 卡消費系統
自動(dòng)售貨機IC 卡消費系統是我們開(kāi)發(fā)的一個(gè)IC 卡應用實(shí)例,以IC 卡代替傳統的硬幣和紙幣在自動(dòng)售貨機上進(jìn)行消費,所有符合中國人民銀行頒布的《中國金融集成電路( IC) 卡規范》的金融支付卡都可以在該系統上使用。因此該系統實(shí)現的基礎架構是銀行的金融卡發(fā)卡、使用、管理的整套系統。系統結構如圖1 所示,以銀行主機和中央數據庫為基礎,在自動(dòng)售貨機上實(shí)現電子消費,并在售貨機與主機之間實(shí)現所有交易數據、指令的傳輸。應用程序存儲于自動(dòng)售貨機的內部存儲器中,存儲器中還有一部分Flash Memory ,用于存儲所有需要保存的交易數據。
圖1 自動(dòng)售貨機IC 卡交易系統結構
針對自動(dòng)售貨機消費系統能夠提供方便快捷的消費這一特點(diǎn),本系統中從系統結構、數據傳輸方法、文件管理、密鑰管理等方面設計并實(shí)現了消費應用的安全性設計,保證了IC 卡消費的方便、可靠。
4. 1 系統總體設計
針對自動(dòng)售貨機IC 卡消費系統的特點(diǎn),本系統總體上采用脫機交易、脫機數據傳輸的工作方式。自動(dòng)售貨機通常應用于商場(chǎng)、賓館、飯店等人流較多的地方,并且出售的均為小額商品,因此需要在硬件配置上方便簡(jiǎn)單,用戶(hù)在購買(mǎi)商品時(shí)得到快捷方便的服務(wù)??傮w設計充分滿(mǎn)足了這些需求,也保障了系統的安全性。
4. 1. 1 電子消費:采用電子錢(qián)包脫機交易方式實(shí)現消費功能。金融支付卡支持兩種消費方式,一種是使用電子存折進(jìn)行聯(lián)機交易,交易數據直接通過(guò)網(wǎng)絡(luò )傳送到銀行主機;另一種是使用電子錢(qián)包進(jìn)行脫機交易,定期將交易數據批量傳送到銀行主機。與聯(lián)機交易相比,脫機交易的交易過(guò)程不需要與主機進(jìn)行通訊,時(shí)間短,速度快,方便用戶(hù)的使用。同時(shí)由于沒(méi)有對網(wǎng)絡(luò )的需求,為自動(dòng)售貨機的放置提供了方便,也減少了因網(wǎng)絡(luò )傳輸易受到攻擊而帶來(lái)的不安全因素。
4. 1. 2 交易數據的上傳與主機指令回傳:使用了大容量管理卡以脫機方式在自動(dòng)售貨機與銀行主機之間進(jìn)行數據傳輸。由于采用了脫機交易方式,大量的交易數據都被保存在售貨機內,必須定時(shí)將這些數據上傳到銀行的主機,確保交易執行的完整性。脫機數據傳輸替代傳統的網(wǎng)絡(luò )傳輸,克服了網(wǎng)絡(luò )傳輸容易受到干擾、數據易被惡意截取或篡改等不足,提高了系統的安全性。
管理卡的文件結構如圖2 所示。密鑰文件用于存儲IC卡身份認證、數據傳輸、校驗等所需要的密鑰。交易數據文件存儲從自動(dòng)售貨機上下載的所有交易數據,這些數據定期下載并上傳至銀行主機。日志文件用于記錄數據下載及指令傳送的執行情況。銀行主機在處理交易數據后若有清除標識及掛失止付“黑名單”等指令數據可通過(guò)回傳指令文件存儲并傳送到自動(dòng)售貨機上。交易數據文件和回傳指令文件都采用記錄文件格式,每一次交易的數據和每一條指令都作為一條記錄進(jìn)行存儲。定期使用管理卡從自動(dòng)售貨機上下載存儲的所有交易數據,將其轉儲到銀行主機,再根據需要從主機獲得有關(guān)清除標識、“黑名單”等指令,通過(guò)管理卡傳輸到自動(dòng)售貨機上。
圖2 管理卡的文件結構示意圖
4. 2 數據傳輸的設計與實(shí)現
圖3 數據批量下載流程
IC卡應用系統中最重要的部分就是數據的交互傳輸,在自動(dòng)售貨機IC 卡消費系統中包括IC 卡(消費卡和管理卡) 與讀卡終端之間、讀卡終端與自動(dòng)售貨機之間和管理卡與銀行主機間的數據傳輸。數據的安全可靠程度決定著(zhù)整個(gè)系統的安全性能。為確保數據的保密性和安全性,數據傳輸分為兩個(gè)步驟:身份的互相認證和數據加密傳送,實(shí)現流程如圖3。
ExternalAuthentication指令實(shí)現外部認證,確認讀卡設備的身份,保證只有合法的讀卡終端才能對其進(jìn)行操作。
InternalAuthentication 指令實(shí)現內部認證,確認IC 卡的身份,只有符合使用要求和權限的卡才能在自動(dòng)售貨機上進(jìn)行消費或下載交易數據。為實(shí)現雙重身份認證對管理卡上文件設置了相應的安全權限,必須在外部認證和內部認證通過(guò)的情況下才能進(jìn)行其它操作。利用IC 卡操作系統提供的安全機制,為其所有文件設置訪(fǎng)問(wèn)權限,當認證通過(guò)后將當前安全狀態(tài)寄存器設置為符合文件訪(fǎng)問(wèn)權限的值,才能夠對文件進(jìn)行訪(fǎng)問(wèn)。
具體實(shí)現舉例如下:
1) IC 卡初始上電復位后安全寄存器狀態(tài)為0 ;
2) 管理卡上訪(fǎng)問(wèn)權限設置為5 ;
3) 外部認證、內部認證順序執行,都通過(guò)后將安全寄存器設置為5。
此時(shí)即可合法訪(fǎng)問(wèn)文件。
雙重身份認證的實(shí)現從消費終端和IC 卡兩方面減小了受到惡意攻擊的可能性,大大提高了系統安全性。
身份認證通過(guò)后進(jìn)行數據的傳輸。數據傳輸使用安全報文傳輸方式,先對數據進(jìn)行加密,再對加密后的數據計算校驗數據MAC ,加密數據與MAC 一并傳輸。收到數據的一方對MAC 數據進(jìn)行校驗檢查,校驗錯誤時(shí)發(fā)回錯誤信息,數據傳輸失敗。數據加密采用三重DES 算法,MAC 計算采用單DES加密算法。DES 算法是典型的對稱(chēng)密鑰加密算法,通過(guò)非線(xiàn)性函數反復16 圈位移、置換和代替,以及對密鑰的置換移位等做法,實(shí)現數據的擴散與混亂,從而生成安全性很高的強密碼。三重DES 算法的使用更進(jìn)一步加強了數據的保密性。
4. 3 密鑰管理
所有的密鑰采用分類(lèi)、分布存儲和管理的策略,將系統中的所有密鑰根據用途分為三類(lèi)并分別存儲:
1) 各個(gè)消費卡使用的密鑰:每張消費卡使用其中金融支付應用的交易子密鑰作為消費密鑰。保證一張卡上的所有金融消費都使用同一套密鑰,避免多余密鑰造成混亂。
2) 各個(gè)管理卡使用的密鑰:管理卡在與自動(dòng)售貨機和銀行主機通訊時(shí)都要首先進(jìn)行身份認證,數據的傳輸過(guò)程為保證安全性也都采用了加密方式,因此每張管理卡都有自身的私有認證密鑰和傳輸密鑰。不同的管理卡私有密鑰獨立存儲,保證了管理卡上的數據不易被竊取,提高其安全可靠性。
3) 用于所有卡身份認證和數據傳輸的公共密鑰。這些密鑰屬于不同消費卡或管理卡的共享密鑰,用于在對某一張消費卡或管理卡進(jìn)行通信時(shí)派生對應的身份認證和傳輸子密鑰。將這些共享密鑰存儲在自動(dòng)售貨機上的PSAM卡中而不存在每一張卡上,節省了各個(gè)卡的存儲空間,同時(shí)與每張卡上的子密鑰分離也降低了密鑰被竊取的可能性,增強可靠性。密鑰的分類(lèi)存儲與管理增強了對密鑰自身的保護,有效抑制了通過(guò)竊取密鑰進(jìn)行惡意破壞的可能性,從而加強了這個(gè)系統的安全可靠性。
4. 4 批量數據傳輸的完整性設計
交易數據在售貨機內以記錄的方式存儲,每次交易形成一條記錄。下載時(shí)從售貨機中按存儲順序以記錄的方式逐條讀出交易數據,再以同樣的記錄格式寫(xiě)入管理卡上的交易數據文件。為保證交易數據的安全完整,每一條記錄的讀取過(guò)程被設計為一個(gè)原子操作,并在數據從售貨機傳輸到管理卡的過(guò)程中設計了對存儲器存儲容量進(jìn)行判斷的功能。每次讀取記錄前首先判斷管理卡的存儲空間是否夠用,如果不能繼續下載,則不再進(jìn)行下載,其余數據仍保留在在自動(dòng)售貨機內,留待下次下載。在每條記錄的下載過(guò)程中,如果出現斷電或其它意外則在售貨機上恢復此條記錄。管理卡在向主機上載數據時(shí)首先進(jìn)行數據完整性的核查,若有不完整數據則將其清除。通過(guò)這些措施有效防止了數據的丟失和損壞。
5 總結
IC卡系統的安全體系對于整個(gè)IC 卡系統的運行具有關(guān)鍵性的作用。在硬件、操作系統、應用系統都存在很多容易受到攻擊的環(huán)節,因此在設計中要充分考慮各個(gè)部分,采取相應的防范措施。本文介紹的自動(dòng)售貨機IC 卡交易系統在應用系統端采用了脫機交易和交易數據脫機上傳,從總體設計、文件結構、數據傳輸、密鑰管理等多個(gè)方面實(shí)現了很好的安全性設計方案,保證了消費和數據管理的安全可靠性。
參考文獻
[1] 王卓人,鄧晉均,劉宗祥. IC 卡的技術(shù)與應用[M] . 北京:電子工業(yè)出版社,1999.
[2] 中國金融標準化技術(shù)委員會(huì ). 中國金融集成電路( IC) 卡規范[M] . 北京:中國金融出版社,1998.
作者簡(jiǎn)介:李瑞鋒(1975 - ) ,女,黑龍江人,碩士研究生,主要研究方向:智能卡應用系統及其安全性;
熊璋(1956 - ) ,男,湖北人,教授,博士生導師,主要研究方向:多媒體技術(shù)、分布式信息處理.