RFID世界網(wǎng) >
技術(shù)文章 >
其他 >
正文
讀卡器評估小議
作者:不詳
來源:RFID世界網(wǎng)
日期:2005-05-19 10:18:28
摘要:本文中還從正反兩方面論述了如何設(shè)計出有競爭力的讀卡器的設(shè)計準(zhǔn)則。因此本文特意給出盡可能多的細(xì)節(jié)使你能夠評估讀卡器并時常停止解釋它是如何實現(xiàn)的。
客觀情況
本文中的客觀情況描述了如何評價一個智能卡讀卡器,以便能區(qū)分好的讀卡器和差的讀卡器。以前沒有多少組織懂得如何評價一個讀卡器的好壞,主要是因為過去這些關(guān)于讀卡器的資料都掌握在制造商手中;現(xiàn)在有許多相互關(guān)聯(lián)的而又含糊不清的標(biāo)準(zhǔn)使很多組織都糾纏于這些標(biāo)準(zhǔn)的定義和教會其他廠家如何生產(chǎn)出具有競爭力的產(chǎn)品,因此這些組織能很好的理解與智能卡工業(yè)緊密相關(guān)的標(biāo)準(zhǔn)以及了解如何評價智能卡讀卡器也就不足為奇了。但不管怎樣,注意在許多情況下如何指導(dǎo)那些錯誤理解部分說明的讀卡器廠商,并能舉例說明評價讀卡器的困難性是非常重要的,也是本文所要闡明的。
本文中還從正反兩方面論述了如何設(shè)計出有競爭力的讀卡器的設(shè)計準(zhǔn)則。因此本文特意給出盡可能多的細(xì)節(jié)使你能夠評估讀卡器并時常停止解釋它是如何實現(xiàn)的。
與讀卡器相關(guān)的標(biāo)準(zhǔn)
ISO-7816 是一個非常重要的,所有的MCU智能卡都必須遵循的讀卡器標(biāo)準(zhǔn)。已經(jīng)發(fā)現(xiàn)即使知名的卡制造商所造出的卡也不是嚴(yán)格按照規(guī)范進(jìn)行通信。讀卡器使用這個規(guī)范進(jìn)行通信是很重要的,但又不是很好,因為存儲卡并不是按照這種規(guī)范通信的,而一個好的讀卡器必須能處理來自領(lǐng)先的卡制造商的不遵循這個規(guī)范的卡片。
EMV 標(biāo)準(zhǔn)不只是一個Europay-Visa-Master的卡片的規(guī)范,它還影響到智能卡,POS終端和應(yīng)用程序。不管怎樣EMV卡片可以與PC讀卡器一起使用在家庭銀行,互聯(lián)網(wǎng)或電子商務(wù)應(yīng)用中,其它有很多方面也會應(yīng)用到讀卡器。
PC/SC 規(guī)范也是一個很重要的規(guī)范。它定義了應(yīng)用與計算機(jī)操作系統(tǒng)間的接口以及讀卡器驅(qū)動程序與計算機(jī)操作系統(tǒng)的接口。這個標(biāo)準(zhǔn)不僅僅局限于Windows,也可用于Linux, Unix, Mac 等。
這種問題越解決越復(fù)雜,這些標(biāo)準(zhǔn)都不是固定的,經(jīng)常會發(fā)布新的版本。
標(biāo)準(zhǔn)1:讀卡器制造商的背景
能制造好的讀卡器的公司通常都是專門并且深入了解讀卡器技術(shù)的公司。因此他們通常是做智能卡芯片的操作系統(tǒng)和智能卡讀卡器的公司或從這些產(chǎn)業(yè)出來的人。這些人對這些標(biāo)準(zhǔn)和規(guī)范都很了解并且接觸過所有類型的卡片和讀卡器。對讀卡器市場來說,是在1999年最后一季度的時候開始起飛的,所以估計會有很多機(jī)會主義者想進(jìn)入讀卡器的業(yè)務(wù)中來。對他們來說困難不在于技術(shù)方面而在于對標(biāo)準(zhǔn)和規(guī)范的理解,以及與他們所測試的卡片的相關(guān)知識。
標(biāo)準(zhǔn)2:存儲卡讀卡器的性能
從讀卡器所支持的存儲卡的種類可以看出并證明讀卡器制造商是否擁有相關(guān)的知識。存儲卡制造過程只是一個嵌入的過程-從芯片生產(chǎn)商購買芯片或模塊并將它嵌入卡片中。卡片制造商通常給卡片分配他們自己的零件號碼或模塊,對大家來說難度不在于工藝本身。 存儲卡不遵循ISO-7816標(biāo)準(zhǔn),但需要讀卡器能處理存儲卡中的每個字節(jié)。 同MCU卡(US$1.50 – US$10)比起來,存儲卡(從 US$0.30 到 US$1.00)的成本低得多。下面是一些常用的存儲卡:
對讀卡器來說,能使用全部存儲區(qū)的能力也是非常重要的方面。比如SLE4436 (EuroChip) 和 ST1333 (T2G)都是用于付費電話的低成本的存儲卡。市場的需求為每年超過十億張卡片。 使用隨機(jī)數(shù)響應(yīng)可以進(jìn)行認(rèn)證,這能有效的將低成本的存儲卡變?yōu)榭扇我馐褂玫木哂忻艽a保護(hù)和數(shù)字簽名的電子錢包。由讀卡器制造商提供的讀卡器經(jīng)過鑒定的性能可以區(qū)分出哪些是專業(yè)的讀卡器廠商,哪些是非專業(yè)的讀卡器廠商。
標(biāo)準(zhǔn) 3: ISO-7816 復(fù)位應(yīng)答時間(ATR)
市場上有一些智能卡,包括一些名廠生產(chǎn)的卡片都沒有遵循ISO-7816中定義的應(yīng)答時間的標(biāo)準(zhǔn)。完全遵循這些規(guī)范的讀卡器在與某些卡片通信時會出現(xiàn)問題。也可能問題不是出現(xiàn)在卡片制造商,而是出現(xiàn)在芯片制造商提供的庫函數(shù)中。在這個問題上我們可以提供更多的信息。
標(biāo)準(zhǔn) 4: ISO-7816 格式符號
連續(xù)發(fā)送字節(jié)時可能先發(fā)送MSB也可能先發(fā)送LSB。符號和空格都會被解釋為邏輯1或邏輯0。 讀卡器制造商應(yīng)找到盡可能多的卡片進(jìn)行測試也是很重要的方面。
標(biāo)準(zhǔn) 5: ISO-7816額外保護(hù)時間
為了使卡片有充分的時間接收數(shù)據(jù),讀卡器必須能處理額外保護(hù)時間。如果不參照這些參數(shù)的話通常會引起與卡片通信間斷的問題-讀卡器一會兒工作,一會兒命令就出錯誤,或有的批處理命令能執(zhí)行,而有的就不能執(zhí)行。
標(biāo)準(zhǔn)6: ISO-7816 字符間隔時間/塊等待時間
對有些命令來說讀卡器在返回數(shù)據(jù)前要處理很長時間。如果讀卡器或卡不遵循這個時間可能會導(dǎo)致致命的錯誤。
標(biāo)準(zhǔn)7: ISO-7816 協(xié)議和參數(shù)選擇(PPS)
智能卡在做復(fù)位應(yīng)答后可能工作在與默認(rèn)值不同的速度和時鐘。很多讀卡器忽略了這個問題。 一些卡片制造商錯誤的理解了這個規(guī)范,所以出現(xiàn)了讀卡器不執(zhí)行PPS的問題。一個著名的卡片和讀卡器制造商錯誤的執(zhí)行了PPS,而另一種知名的卡則支持PPS。讀卡器由于錯誤的速度而結(jié)束工作,不能與卡片通信。 這個錯誤已經(jīng)通過由驅(qū)動軟件來強(qiáng)迫讀卡器工作在正確的速度的方法解決了。但如果不使用正確版本的驅(qū)動或不使用驅(qū)動則還會出現(xiàn)這種問題。
一個好的讀卡器應(yīng)該能替代默認(rèn)的9600bps而使用最大115kbps的速度進(jìn)行通信。
標(biāo)準(zhǔn) 8: ISO-7816 T=0 , T=1 協(xié)議
讀卡器必須能處理T=0和T=1協(xié)議的卡片。T=0的卡片比較常見,而T=1的卡片只在某些國家使用。
標(biāo)準(zhǔn) 9: ISO-7816 APDU
ISO-7816第4部分定義了7種T=0的APDU和4種T=1的APDU。 讀卡器的驅(qū)動程序或通信協(xié)議能夠處理所有情況也是很重要的。
標(biāo)準(zhǔn)10: ISO-7816 過程字節(jié)和狀態(tài)字處理
讀卡器必須能正確處理過程字節(jié)和狀態(tài)字。這就意味著讀卡器制造商必須能正確讀出,理解和解釋在規(guī)范中定義的標(biāo)準(zhǔn),并能夠得到用于測試的卡片。
標(biāo)準(zhǔn) 11: 讀卡器緩沖區(qū)容量
許多讀卡器制造商不能很好的理解智能卡應(yīng)用,通常使用低成本的MCU卡片。低成本的MCU通常都意味著小容量的緩沖區(qū)。這就會導(dǎo)致有些文件結(jié)構(gòu)因為不能將數(shù)據(jù)分割為小塊而會出現(xiàn)讀寫問題。
標(biāo)準(zhǔn)12: 軟讀卡器問題
有些讀卡器廠商為了節(jié)省MCU的成本將ISO-7816的處理過程放到了PC上。這就允許讀卡器可以使用成本很低的控制器或不使用控制器,而使用PC來控制傳輸?shù)淖止?jié)。但這種設(shè)計會有一些潛在的問題,因為智能卡需要讀卡器提供一些操作所需要的時間。如果在傳輸一些關(guān)鍵數(shù)據(jù)時,PC處理一些優(yōu)先的中斷,這樣就可能丟失一些符號。在智能卡中如果發(fā)生這樣的問題,卡片將不作應(yīng)答,唯一的解決途徑就是將卡重新復(fù)位。這將破壞卡片所做的授權(quán)工作。依靠PC裝載和配置這種設(shè)計方法能給人正常工作的假象,但是它不會很穩(wěn)定。因此在評估過程中也許不會暴露出這種問題,但并不意味著這個問題不存在。
標(biāo)準(zhǔn)13: 非標(biāo)準(zhǔn)卡片測試
讀卡器必須能夠處理一些領(lǐng)先廠商所定義的但又不符合ISO-7816標(biāo)準(zhǔn)的卡片。
標(biāo)準(zhǔn)14: PC/SC認(rèn)證
PC/SC 規(guī)范允許A開發(fā)一個使用B制造的智能卡讀卡器運行的應(yīng)用程序,但A不必知道B是誰。 使用這種方案時,最重要的就是如果這個應(yīng)用程序在Windows下運行則這個讀卡器必須經(jīng)過Microsoft的認(rèn)證。除非讀卡器廠商以前經(jīng)過認(rèn)證,否則A要求讀卡器兼容PC/SC是沒有什么意義的
標(biāo)準(zhǔn)15: EMV 1級認(rèn)證
EMV 1級認(rèn)證本質(zhì)上就是確保讀卡器符合ISO-7816標(biāo)準(zhǔn)的第3部分。 這個測試方案有很多項目,大約有300項。EMV 級別 1保證讀卡器遵循ISO-7816標(biāo)準(zhǔn),使讀卡器能和所有符合ISO-7816的卡片一起工作,將來在卡片設(shè)計中將會變得更加重要。
要注意到ISO-7816是一個很復(fù)雜的規(guī)范,很多人都會曲解它,包括讀卡器制造商和卡片制造商。所以對讀卡器設(shè)計者來說在設(shè)計一個好的讀卡器之前必須充分了解要從讀卡器得到些什么。
本文中的客觀情況描述了如何評價一個智能卡讀卡器,以便能區(qū)分好的讀卡器和差的讀卡器。以前沒有多少組織懂得如何評價一個讀卡器的好壞,主要是因為過去這些關(guān)于讀卡器的資料都掌握在制造商手中;現(xiàn)在有許多相互關(guān)聯(lián)的而又含糊不清的標(biāo)準(zhǔn)使很多組織都糾纏于這些標(biāo)準(zhǔn)的定義和教會其他廠家如何生產(chǎn)出具有競爭力的產(chǎn)品,因此這些組織能很好的理解與智能卡工業(yè)緊密相關(guān)的標(biāo)準(zhǔn)以及了解如何評價智能卡讀卡器也就不足為奇了。但不管怎樣,注意在許多情況下如何指導(dǎo)那些錯誤理解部分說明的讀卡器廠商,并能舉例說明評價讀卡器的困難性是非常重要的,也是本文所要闡明的。
本文中還從正反兩方面論述了如何設(shè)計出有競爭力的讀卡器的設(shè)計準(zhǔn)則。因此本文特意給出盡可能多的細(xì)節(jié)使你能夠評估讀卡器并時常停止解釋它是如何實現(xiàn)的。
與讀卡器相關(guān)的標(biāo)準(zhǔn)
ISO-7816 是一個非常重要的,所有的MCU智能卡都必須遵循的讀卡器標(biāo)準(zhǔn)。已經(jīng)發(fā)現(xiàn)即使知名的卡制造商所造出的卡也不是嚴(yán)格按照規(guī)范進(jìn)行通信。讀卡器使用這個規(guī)范進(jìn)行通信是很重要的,但又不是很好,因為存儲卡并不是按照這種規(guī)范通信的,而一個好的讀卡器必須能處理來自領(lǐng)先的卡制造商的不遵循這個規(guī)范的卡片。
EMV 標(biāo)準(zhǔn)不只是一個Europay-Visa-Master的卡片的規(guī)范,它還影響到智能卡,POS終端和應(yīng)用程序。不管怎樣EMV卡片可以與PC讀卡器一起使用在家庭銀行,互聯(lián)網(wǎng)或電子商務(wù)應(yīng)用中,其它有很多方面也會應(yīng)用到讀卡器。
PC/SC 規(guī)范也是一個很重要的規(guī)范。它定義了應(yīng)用與計算機(jī)操作系統(tǒng)間的接口以及讀卡器驅(qū)動程序與計算機(jī)操作系統(tǒng)的接口。這個標(biāo)準(zhǔn)不僅僅局限于Windows,也可用于Linux, Unix, Mac 等。
這種問題越解決越復(fù)雜,這些標(biāo)準(zhǔn)都不是固定的,經(jīng)常會發(fā)布新的版本。
標(biāo)準(zhǔn)1:讀卡器制造商的背景
能制造好的讀卡器的公司通常都是專門并且深入了解讀卡器技術(shù)的公司。因此他們通常是做智能卡芯片的操作系統(tǒng)和智能卡讀卡器的公司或從這些產(chǎn)業(yè)出來的人。這些人對這些標(biāo)準(zhǔn)和規(guī)范都很了解并且接觸過所有類型的卡片和讀卡器。對讀卡器市場來說,是在1999年最后一季度的時候開始起飛的,所以估計會有很多機(jī)會主義者想進(jìn)入讀卡器的業(yè)務(wù)中來。對他們來說困難不在于技術(shù)方面而在于對標(biāo)準(zhǔn)和規(guī)范的理解,以及與他們所測試的卡片的相關(guān)知識。
標(biāo)準(zhǔn)2:存儲卡讀卡器的性能
從讀卡器所支持的存儲卡的種類可以看出并證明讀卡器制造商是否擁有相關(guān)的知識。存儲卡制造過程只是一個嵌入的過程-從芯片生產(chǎn)商購買芯片或模塊并將它嵌入卡片中。卡片制造商通常給卡片分配他們自己的零件號碼或模塊,對大家來說難度不在于工藝本身。 存儲卡不遵循ISO-7816標(biāo)準(zhǔn),但需要讀卡器能處理存儲卡中的每個字節(jié)。 同MCU卡(US$1.50 – US$10)比起來,存儲卡(從 US$0.30 到 US$1.00)的成本低得多。下面是一些常用的存儲卡:
對讀卡器來說,能使用全部存儲區(qū)的能力也是非常重要的方面。比如SLE4436 (EuroChip) 和 ST1333 (T2G)都是用于付費電話的低成本的存儲卡。市場的需求為每年超過十億張卡片。 使用隨機(jī)數(shù)響應(yīng)可以進(jìn)行認(rèn)證,這能有效的將低成本的存儲卡變?yōu)榭扇我馐褂玫木哂忻艽a保護(hù)和數(shù)字簽名的電子錢包。由讀卡器制造商提供的讀卡器經(jīng)過鑒定的性能可以區(qū)分出哪些是專業(yè)的讀卡器廠商,哪些是非專業(yè)的讀卡器廠商。
標(biāo)準(zhǔn) 3: ISO-7816 復(fù)位應(yīng)答時間(ATR)
市場上有一些智能卡,包括一些名廠生產(chǎn)的卡片都沒有遵循ISO-7816中定義的應(yīng)答時間的標(biāo)準(zhǔn)。完全遵循這些規(guī)范的讀卡器在與某些卡片通信時會出現(xiàn)問題。也可能問題不是出現(xiàn)在卡片制造商,而是出現(xiàn)在芯片制造商提供的庫函數(shù)中。在這個問題上我們可以提供更多的信息。
標(biāo)準(zhǔn) 4: ISO-7816 格式符號
連續(xù)發(fā)送字節(jié)時可能先發(fā)送MSB也可能先發(fā)送LSB。符號和空格都會被解釋為邏輯1或邏輯0。 讀卡器制造商應(yīng)找到盡可能多的卡片進(jìn)行測試也是很重要的方面。
標(biāo)準(zhǔn) 5: ISO-7816額外保護(hù)時間
為了使卡片有充分的時間接收數(shù)據(jù),讀卡器必須能處理額外保護(hù)時間。如果不參照這些參數(shù)的話通常會引起與卡片通信間斷的問題-讀卡器一會兒工作,一會兒命令就出錯誤,或有的批處理命令能執(zhí)行,而有的就不能執(zhí)行。
標(biāo)準(zhǔn)6: ISO-7816 字符間隔時間/塊等待時間
對有些命令來說讀卡器在返回數(shù)據(jù)前要處理很長時間。如果讀卡器或卡不遵循這個時間可能會導(dǎo)致致命的錯誤。
標(biāo)準(zhǔn)7: ISO-7816 協(xié)議和參數(shù)選擇(PPS)
智能卡在做復(fù)位應(yīng)答后可能工作在與默認(rèn)值不同的速度和時鐘。很多讀卡器忽略了這個問題。 一些卡片制造商錯誤的理解了這個規(guī)范,所以出現(xiàn)了讀卡器不執(zhí)行PPS的問題。一個著名的卡片和讀卡器制造商錯誤的執(zhí)行了PPS,而另一種知名的卡則支持PPS。讀卡器由于錯誤的速度而結(jié)束工作,不能與卡片通信。 這個錯誤已經(jīng)通過由驅(qū)動軟件來強(qiáng)迫讀卡器工作在正確的速度的方法解決了。但如果不使用正確版本的驅(qū)動或不使用驅(qū)動則還會出現(xiàn)這種問題。
一個好的讀卡器應(yīng)該能替代默認(rèn)的9600bps而使用最大115kbps的速度進(jìn)行通信。
標(biāo)準(zhǔn) 8: ISO-7816 T=0 , T=1 協(xié)議
讀卡器必須能處理T=0和T=1協(xié)議的卡片。T=0的卡片比較常見,而T=1的卡片只在某些國家使用。
標(biāo)準(zhǔn) 9: ISO-7816 APDU
ISO-7816第4部分定義了7種T=0的APDU和4種T=1的APDU。 讀卡器的驅(qū)動程序或通信協(xié)議能夠處理所有情況也是很重要的。
標(biāo)準(zhǔn)10: ISO-7816 過程字節(jié)和狀態(tài)字處理
讀卡器必須能正確處理過程字節(jié)和狀態(tài)字。這就意味著讀卡器制造商必須能正確讀出,理解和解釋在規(guī)范中定義的標(biāo)準(zhǔn),并能夠得到用于測試的卡片。
標(biāo)準(zhǔn) 11: 讀卡器緩沖區(qū)容量
許多讀卡器制造商不能很好的理解智能卡應(yīng)用,通常使用低成本的MCU卡片。低成本的MCU通常都意味著小容量的緩沖區(qū)。這就會導(dǎo)致有些文件結(jié)構(gòu)因為不能將數(shù)據(jù)分割為小塊而會出現(xiàn)讀寫問題。
標(biāo)準(zhǔn)12: 軟讀卡器問題
有些讀卡器廠商為了節(jié)省MCU的成本將ISO-7816的處理過程放到了PC上。這就允許讀卡器可以使用成本很低的控制器或不使用控制器,而使用PC來控制傳輸?shù)淖止?jié)。但這種設(shè)計會有一些潛在的問題,因為智能卡需要讀卡器提供一些操作所需要的時間。如果在傳輸一些關(guān)鍵數(shù)據(jù)時,PC處理一些優(yōu)先的中斷,這樣就可能丟失一些符號。在智能卡中如果發(fā)生這樣的問題,卡片將不作應(yīng)答,唯一的解決途徑就是將卡重新復(fù)位。這將破壞卡片所做的授權(quán)工作。依靠PC裝載和配置這種設(shè)計方法能給人正常工作的假象,但是它不會很穩(wěn)定。因此在評估過程中也許不會暴露出這種問題,但并不意味著這個問題不存在。
標(biāo)準(zhǔn)13: 非標(biāo)準(zhǔn)卡片測試
讀卡器必須能夠處理一些領(lǐng)先廠商所定義的但又不符合ISO-7816標(biāo)準(zhǔn)的卡片。
標(biāo)準(zhǔn)14: PC/SC認(rèn)證
PC/SC 規(guī)范允許A開發(fā)一個使用B制造的智能卡讀卡器運行的應(yīng)用程序,但A不必知道B是誰。 使用這種方案時,最重要的就是如果這個應(yīng)用程序在Windows下運行則這個讀卡器必須經(jīng)過Microsoft的認(rèn)證。除非讀卡器廠商以前經(jīng)過認(rèn)證,否則A要求讀卡器兼容PC/SC是沒有什么意義的
標(biāo)準(zhǔn)15: EMV 1級認(rèn)證
EMV 1級認(rèn)證本質(zhì)上就是確保讀卡器符合ISO-7816標(biāo)準(zhǔn)的第3部分。 這個測試方案有很多項目,大約有300項。EMV 級別 1保證讀卡器遵循ISO-7816標(biāo)準(zhǔn),使讀卡器能和所有符合ISO-7816的卡片一起工作,將來在卡片設(shè)計中將會變得更加重要。
要注意到ISO-7816是一個很復(fù)雜的規(guī)范,很多人都會曲解它,包括讀卡器制造商和卡片制造商。所以對讀卡器設(shè)計者來說在設(shè)計一個好的讀卡器之前必須充分了解要從讀卡器得到些什么。