IC卡技術講座之五 IC卡的數據安全和加密
文章出處:http://hz-huyue.com 作者: 人氣: 發表時間:2011年09月17日
[文章內容簡介]:IC卡上記錄有大量重要信息,可以用于個人證件,也可以代替現金和支票進行交易購物,因此難免有不法分子實施對IC卡及其應用系統的各種各樣的攻擊手段.其目的包括獲取非法利益,或破壞應用系統.因此,作為IC卡應用系統開發者必須為IC 卡系統提供合理有效的安全措施,以保證IC卡及其應用系統的數據安全.這些技術有: 身份鑒別和IC卡合法性確認,報文鑒別技術,數據加密通訊技術等. 這些技術采用可以保證IC卡的數據在存儲和交易過程中的完整性,有效性和真實性,從而有效地防止對IC卡進行非法讀寫和修改.
IC卡上記錄有大量重要信息,可以用于個人證件,也可以代替現金和支票進行交易購物,因此難免有不法分子實施對IC卡及其應用系統的各種各樣的攻擊手段.其目的包括獲取非法利益,或破壞應用系統.因此,作為IC卡應用系統開發者必須為IC 卡系統提供合理有效的安全措施,以保證IC卡及其應用系統的數據安全.這些技術有: 身份鑒別和IC卡合法性確認,報文鑒別技術,數據加密通訊技術等. 這些技術采用可以保證IC卡的數據在存儲和交易過程中的完整性,有效性和真實性,從而有效地防止對IC卡進行非法讀寫和修改.
影響IC卡及應用系統安全的主要方式有以下幾種:
1.使用用戶丟失或被竊的IC卡,冒充合法用戶進入應用系統,獲得非法利益.
2.用偽造的或空白卡非法復制數據,進入應用系統.
3.使用系統外的IC卡讀寫設備,對合法卡上的數據進行修改.如增加存款數額, 改變操作級別等.
4.在IC卡交易過程中,用正常卡完成身份認證后,中途變換IC卡, 從而使卡上存儲的數據與系統中不一致.
5.在IC卡讀寫操作中,對接口設備與IC卡通信時所作交換的信息流進行截聽,修改,甚至插入非法信息,以獲取非法利益,或破壞系統.
針對以上種種不安全因素,開發者需要在幾個方面來采取防護措施,以保證數據安全.
IC卡安全防護的首要任務是防止對IC卡本身的攻擊,這種防范措施在IC 卡制造和個人化過程中就已經開始了.在IC 卡制作和卡片表面印過程中都采用了十分復雜的防偽技術,以增加非法偽造者的難度.對廠商代碼有嚴格保密方法,對IC 芯片加特殊保護層,可防止對存儲內容用電磁技術直接分析.在IC卡發行和個人化過程中, 發行商密碼,擦除密碼應由系統產生,而不能為操作人員所握,防止系統內部人員犯罪.
在IC卡使用過程中,要防止被非法持有人冒用.故在IC卡讀寫前要驗證持卡人身份,即進行個人身份鑒別.IC卡上提供了用戶密碼(總密碼),在個人化時由用戶輸入,系統中不保存.在使用時,要求用戶自己鍵入,以確認用戶身份. 如果連續幾次輸入有誤,IC卡將自行鎖定,不能再使用. 這一措施可有效地防止非法持卡人用多次試探方法破譯密碼.在一些新型IC卡上還采用了生物鑒別技術,如使用持卡人指紋識別, 視網膜識別等.即使用戶密碼泄露,其他人也無法使用本人的IC卡.
對于丟失后掛失的IC卡和因特殊原因作廢的IC卡, 應在系統數據庫中設立所謂的-黑名單-,記錄下這些卡的發行號.在有人重新使用時,系統將報警,并將卡收回.
IC卡使用中,也要對讀寫器的合法性進行鑒別.這可以通過分區密碼式擦除來實現,如果系統不能提供正確密碼,IC卡內容不能讀出和修改. 防止了使用非法讀寫設備來竊取卡上數據.
對于IC卡內部存儲的數據可以采用區域保護技術,即將IC卡分為若干個存儲區,每區設定不同的訪問條件,如果訪問符合本區條件,才充許訪問,否則鎖定. 例如自由訪問區內允許隨意讀,寫和修改,保護數據區內的讀,擦,寫受密碼保護; 而保密區內存放的密碼則根本不允許讀,寫和修改.對此區進行此類操作被視為非法入侵, 即鎖定系統.這種方法可以有效地防止非法入侵者用讀寫器逐一探查存儲器內容.
對IC卡數據安全威脅最大的不在數據靜態存儲時,而在對IC 卡正常的讀寫過程中.因為用戶密碼,系統密碼在核實時都必須通過讀寫器接口送入IC卡. 因此用各種技術手段,在讀寫過程中竊取通信數據,從而了解存儲分區情況和系統密碼就十分可能.便如:在一個合法IC卡輸入讀寫器完成用戶證后,讀寫過程中則換上其它IC卡,從而回避了驗證過程,非法讀出或寫入數據.這種情況可在讀寫器上加專門機構加以解決.即每當換卡后,都要求重新核實用戶身份.而對于采用儀器竊聽通信內容,包括核實密碼過程的入侵方式,則只有通過對輸入輸出信息采用加密技術才能有效保護.這可以利用智能IC卡(即CPU卡)的數據處理能力,運行加密,解密算法程序,從而實現傳輸來解決.
對讀寫器與IC卡傳輸信息的保護有兩種方式.
1.認證傳輸方式
將在讀寫器與IC卡之間傳送的信息加上相應加密算法及加密密鑰將傳送信息──其中包括信息頭(傳輸控制信息)和信息主體部分──進行加密, 得到的密文附加在明文信息尾部傳輸給接收端,稱為認證信息.接收端則對收到的信息按規定算法進行認證,認證通過則進行正常讀寫,否則報警. 這種方式可有效防止非法插入或刪除傳送數據.雖然傳送以明文進行,也不會已修改而不被發現.而認證信息則是加密的,要由密碼算法產生和處理.如果設計合理,附加的認證信息除了具有認證功能外,還可以具有查錯甚至糾功能.
2.加密傳輸方式
這種方式就是要對所有傳送信息進行加密后再進行傳送, 使信息本身具有保密性,不易破譯.因此,即使入侵系統后取得信息,也無法利用.
通常把一個加密系統所采用的基本工作方式叫作密碼體制. 一個密碼體制由兩個要素組成:即加密算法和密鑰.加密算法是一些公式或法則, 一般由存放在計算機中的程序來執行,密鑰則可以看作密碼算法執行中的可選參數,沒有密鑰, 了解算法也無法解密.因此,密碼算一般是公開的,如由IBM公司開發并被普遍采用的DES算法,它將64位明文經過密鑰處理成為64位密文.還有屬于非對稱密鑰系統的DSA算法,這種算法中加密密鑰為公開密鑰,解密密鑰與加密密鑰不同,可有多個, 這種方法更適應于開放式應用環境.現在市場上有執行相應加密算法的專用芯片問世,在IC卡系統中可以方便地選用.采用加密傳輸方式,可以大提高IC卡應用系統的安全性能, 當然也受一定的限制,在簡單的存儲卡上難以采用,主要用在智能CPU卡系統中.
總之,卡片應用系統是一種用量大,使用人數多,涉及領域廣的應用系統,因此對安全性要求很高.作為開發者在設計系統時,必須對信息安全加以周密考慮, 并且采取有效錯施.好在IC卡具有巨大存儲容量和智能處理能力,實現各種安全措施十分方便,有效,安全性能大大優于磁卡,光電卡,這也正是IC卡應用系統的主要優勢.
本文關鍵詞:IC卡技術,IC卡數據,數據安全,加密
上一篇:IC卡技術講座之四 IC卡的編程和使用[ 09-17 ]
下一篇:IC卡技術講座之六 智能IC卡操作系統及其應用[ 09-17 ]