隨著非接觸 IC 卡技術(shù)在國(guó)內(nèi)的逐步推廣,非接觸應(yīng)用以其快
捷方便的操作方式,日益深入人心,并逐漸成為公共交通、城市
通卡建設(shè)的技術(shù)。
早期投入應(yīng)用的非接觸 IC 卡技術(shù)多為邏輯加密卡,比如為
的 Philips 公司(現(xiàn) NXP)的 Mifare 1 卡片。非接觸邏輯加密
卡技術(shù)以其低廉的成本,簡(jiǎn)明的交易流程,較簡(jiǎn)單的系統(tǒng)架構(gòu),
迅速得到了用戶的青睞,并得到了快速的應(yīng)用和發(fā)展。據(jù)不完全
統(tǒng)計(jì),截至去年年底,國(guó)內(nèi)各領(lǐng)域非接觸邏輯加密卡的發(fā)卡量已
經(jīng)達(dá)到數(shù)億張。
隨著非接觸邏輯加密卡不斷應(yīng)用的過(guò)程,非接觸邏輯加密卡技
術(shù)的不足之處也日益暴露,難以滿足更高的性和更復(fù)雜的多
應(yīng)用的需求。因此,非接觸 CPU 卡技術(shù)正成為一種技術(shù)上更新?lián)Q
代的選擇。
一、CPU 卡的讀寫原理
一般來(lái)說(shuō),對(duì)存儲(chǔ)卡和邏輯加密卡操作,使用接觸式 IC 卡通
用讀寫器;對(duì) CPU 卡使用 CPU 卡讀寫器。所謂通用讀卡器是
指它可以對(duì)大多數(shù)流行的存儲(chǔ)卡和邏輯加密卡操作。 CPU 卡由而
于有 ISO/IEC 7816.3/4 的規(guī)范,其通訊協(xié)議、命令格式都是兼容
的,被看作是一種卡。當(dāng)然,也有將通用讀卡器 CPU 讀卡器與
二合一的真正的接觸式通用讀卡器。
PC 端 IC 卡應(yīng)用軟件編程,要點(diǎn)是了解卡的數(shù)據(jù)結(jié)構(gòu)和調(diào)用讀
卡器函數(shù)。在這方面,非 CPU 卡與 CPU 卡有不小差別。
a) CPU 卡的結(jié)構(gòu):
首先,非 CPU 卡,你必須熟悉卡的存儲(chǔ)結(jié)構(gòu),哪里是制造商
區(qū),哪里是密碼區(qū),哪里是數(shù)據(jù)控制區(qū),哪里是數(shù)據(jù)區(qū)(應(yīng)用
區(qū)) ;而 CPU 卡,你不必關(guān)心數(shù)據(jù)的地址,卻要關(guān)注文件系
統(tǒng)的結(jié)構(gòu):主文件(MF,相當(dāng)于 DOS 文件系統(tǒng)的根目錄)、專用
文件(DF,相當(dāng)于 DOS 文件系統(tǒng)的目錄,可以有多層)、基本文
件(EF,相當(dāng)于 DOS 文件系統(tǒng)的文件)。
CPU 卡的基本文件類型雖然只有透明(二進(jìn)制)文件、(定長(zhǎng)
與不定長(zhǎng))線性記錄文件和循環(huán)記錄文件三類,但由于 COS 內(nèi)部
控制的需要,派生出一些特定的變種 復(fù)位應(yīng)答文件、口令
文件、密鑰文件、DIR 文件、SFI 文件 。這些都需要熟悉。
純粹的存儲(chǔ)卡是可以自由讀取的;非 CPU 邏輯加密卡的訪問(wèn)
控制,需要掌握特定的卡的口令控制、認(rèn)證控制、特定的數(shù)據(jù)控
制標(biāo)志字節(jié)和卡的熔絲(一種卡上這些控制不一定都有) 而 CPU。
卡的訪問(wèn)控制,是在建立文件時(shí)定義的,讀、寫、更改分別是否
需要認(rèn)證,用哪個(gè)密鑰,是否需要口令,是否需要 MAC 驗(yàn)證等
等。需要說(shuō)明的是,創(chuàng)建文件命令的格式是隨 COS 而不同的。所
以,你必須熟讀他的 COS 手冊(cè)
b) CPU 卡的操作:
非 CPU 卡的訪問(wèn)一般是通過(guò)調(diào)用函數(shù)直接完成的,大不了需
要熟悉一下調(diào)用參數(shù)。而 CPU 卡除了設(shè)備命令(測(cè)卡、上下電、
選卡座等)和卡的復(fù)位命令以外,所有卡命令都是通過(guò)一個(gè)通用
的命令函數(shù)執(zhí)行的,所以你需要熟悉 COS 手冊(cè)的命令。
COS 的卡操作命令有統(tǒng)一的格式: (命令類別 Class) INSCLA、
(命令指令 Instruction)、P1(參數(shù) 1)、P2(參數(shù) 2)、Lc(命令
數(shù)據(jù)域 Data 長(zhǎng)度)、Data 和 Le(應(yīng)答數(shù)據(jù)域長(zhǎng)度)。命令域中除
了 Data,都是 1 字節(jié)十六進(jìn)制數(shù)。數(shù)據(jù)域則是十六進(jìn)制數(shù)串,可
以是二進(jìn)制數(shù)、BCD 碼或文字的 ASCII 碼等等。這有點(diǎn)像匯編語(yǔ)
言。調(diào)用命令函數(shù)時(shí),把命令串代入對(duì)應(yīng)參數(shù)即可。
二、CPU 卡加密系統(tǒng)與 M1 加密系統(tǒng)比較
a) 非接觸 CPU 卡與邏輯加密卡介紹
i.
邏輯加密存儲(chǔ)卡:
在非加密存儲(chǔ)卡的基礎(chǔ)上增加了加密邏輯電路,加密邏輯電路
通過(guò)校驗(yàn)密碼方式來(lái)保護(hù)卡內(nèi)的數(shù)據(jù)對(duì)于外部訪問(wèn)是否開放,但
只是低層次的保護(hù),無(wú)法防范惡意性的攻擊。
早期投入應(yīng)用的非接觸 IC 卡技術(shù)多為邏輯加密卡,比如為
的 Philips 公司(現(xiàn) NXP)的 Mifare 1 卡片。非接觸邏輯加密
卡技術(shù)以其低廉的成本,簡(jiǎn)明的交易流程,較簡(jiǎn)單的系統(tǒng)架構(gòu),
迅速得到了用戶的青睞,并得到了快速的應(yīng)用和發(fā)展。據(jù)不完全
統(tǒng)計(jì),截至去年年底,國(guó)內(nèi)各領(lǐng)域非接觸邏輯加密卡的發(fā)卡量已
經(jīng)達(dá)到數(shù)億張。
隨著非接觸邏輯加密卡不斷應(yīng)用的過(guò)程,非接觸邏輯加密卡技
術(shù)的不足之處也日益暴露,難以滿足更高的性和更復(fù)雜的多
應(yīng)用的需求。特別是 2008 年 10 月,互聯(lián)網(wǎng)上公布了 MIFARE
CLASSIC IC 芯片(以下簡(jiǎn)稱 M1 芯片)密碼的方法,不法分子利
用這種方法可以很低的經(jīng)濟(jì)成本對(duì)采用該芯片的各類一卡通、
門禁卡進(jìn)行