物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  其他  >  正文

读卡器评估小议

作者:不详
来源:RFID世界网
日期:2005-05-19 10:18:28
摘要:本文中还从正反两方面论述了如何设计出有竞争力的读卡器的设计准则。因此本文特意给出尽可能多的细节使你能够评估读卡器并时常停止解释它是如何实现的。
客观情况
本文中的客观情况描述了如何评价一个智能卡读卡器,以便能区分好的读卡器和差的读卡器。以前没有多少组织懂得如何评价一个读卡器的好坏,主要是因为过去这些关于读卡器的资料都掌握在制造商手中;现在有许多相互关联的而又含糊不清的标准使很多组织都纠缠于这些标准的定义和教会其他厂家如何生产出具有竞争力的产品,因此这些组织能很好的理解与智能卡工业紧密相关的标准以及了解如何评价智能卡读卡器也就不足为奇了。但不管怎样,注意在许多情况下如何指导那些错误理解部分说明的读卡器厂商,并能举例说明评价读卡器的困难性是非常重要的,也是本文所要阐明的。

本文中还从正反两方面论述了如何设计出有竞争力的读卡器的设计准则。因此本文特意给出尽可能多的细节使你能够评估读卡器并时常停止解释它是如何实现的。

与读卡器相关的标准
ISO-7816 是一个非常重要的,所有的MCU智能卡都必须遵循的读卡器标准。已经发现即使知名的卡制造商所造出的卡也不是严格按照规范进行通信。读卡器使用这个规范进行通信是很重要的,但又不是很好,因为存储卡并不是按照这种规范通信的,而一个好的读卡器必须能处理来自领先的卡制造商的不遵循这个规范的卡片。
EMV 标准不只是一个Europay-Visa-Master的卡片的规范,它还影响到智能卡,POS终端和应用程序。不管怎样EMV卡片可以与PC读卡器一起使用在家庭银行,互联网或电子商务应用中,其它有很多方面也会应用到读卡器。
PC/SC 规范也是一个很重要的规范。它定义了应用与计算机操作系统间的接口以及读卡器驱动程序与计算机操作系统的接口。这个标准不仅仅局限于Windows,也可用于Linux, Unix, Mac 等。

这种问题越解决越复杂,这些标准都不是固定的,经常会发布新的版本。

标准1:读卡器制造商的背景
能制造好的读卡器的公司通常都是专门并且深入了解读卡器技术的公司。因此他们通常是做智能卡芯片的操作系统和智能卡读卡器的公司或从这些产业出来的人。这些人对这些标准和规范都很了解并且接触过所有类型的卡片和读卡器。对读卡器市场来说,是在1999年最后一季度的时候开始起飞的,所以估计会有很多机会主义者想进入读卡器的业务中来。对他们来说困难不在于技术方面而在于对标准和规范的理解,以及与他们所测试的卡片的相关知识。

标准2:存储卡读卡器的性能
从读卡器所支持的存储卡的种类可以看出并证明读卡器制造商是否拥有相关的知识。存储卡制造过程只是一个嵌入的过程-从芯片生产商购买芯片或模块并将它嵌入卡片中。卡片制造商通常给卡片分配他们自己的零件号码或模块,对大家来说难度不在于工艺本身。 存储卡不遵循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是一个很复杂的规范,很多人都会曲解它,包括读卡器制造商和卡片制造商。所以对读卡器设计者来说在设计一个好的读卡器之前必须充分了解要从读卡器得到些什么。