如何评价一款智能卡读写器的好与坏

2013-09-02 11:19:11 诺塔斯智能科技 632

   如何评价一个智能卡读卡器,以便能区分读卡器的好与坏、优与劣。以前没有多少组织懂得如何评价一个读卡器的好坏,主要是因为过去这些关于IC读卡器的资料都掌握在制造商手中;现在有许多相互关联的而又含糊不清的标准使很多组织都纠缠于这些标准的定义和教会其他厂家如何生产出具有竞争力的产品,因此这些组织能很好的理解与智能卡工业紧密相关的标准以及了解如何评价智能卡读卡器也就不足为奇了。我们从以下15个标准来大致衡量IC卡读卡器的好坏。

   

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

标准2:存储卡读卡器的性能
    从读卡器所支持的存储卡的种类可以看出并证明IC卡读卡器制造商是否拥有相关的知识。存储卡制造过程只是一个嵌入的过程-从芯片生产商购买芯片或模块并将它嵌入卡片中。卡片制造商通常给卡片分配他们自己的零件号码或模块,对大家来说难度不在于工艺本身。 存储卡不遵循ISO-7816标准,但需要读卡器能处理存储卡中的每个字节。 同MCU卡(US$1.50 – US$10)比起来,存储卡(从 US$0.30 到 US$1.00)的成本低得多。下面是一些常用的存储卡:
CPU卡接触式IC卡非接触式IC卡

     对读卡器来说,能使用全部存储区的能力也是非常重要的方面。比如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是一个很复杂的规范,很多人都会曲解它,包括读卡器制造商和卡片制造商。所以对读卡器设计者来说在设计一个好的读卡器之前必须充分了解要从读卡器得到些什么。