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