微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 利用安全处理器和多协议接口简化智能卡设计

利用安全处理器和多协议接口简化智能卡设计

时间:01-03 来源:互联网 点击:
智能卡在今天快节奏的经济生活中已经无处不在,它将逐步代替以磁条贮存帐户信息的付费卡。智能卡通常制作成衣服口袋大小的卡片,与标准的信用卡类似,上面嵌入集成电路,一般是非易失存贮器或带有非易失存贮器的安全处理器。智能卡上面还嵌入了多个电子触点,通过这些电子触点可以与内部存贮器或处理器通信。


智能卡心在于嵌入式微控制器对数据的处理和加密功能,处理能力增强了安全性。由于智能卡的成本较高,与IC卡接口需要更新相关的基础设备,从而减缓了由磁卡向智能卡转变的过程。然而,随着对安全性要求的提高,特别是当手机和PDA存放了更多数据时,对IC卡及其它存贮介质(如SD、 miniSD、microSD等)的需求也不断提高。手机里的用户识别模块(SIM卡)和支付终端都可以看作智能卡。


  为了处理智能卡交易,需要连接一个能够安全地访问内嵌存储器或处理器的读卡器,从而读出信息并将操作结果写回卡内。智能卡的物理尺寸和信号接口已经由标准组织定义(如ISO-7816),并且EuroCard、Mastercard和Visa(EMV)等组织也对智能卡寻址操作建立了一系列的标准。

  智能卡的电气接口由8个触点


组成,排列并嵌入到塑料卡上,见表1。8个触点中,EMV只用了5个,其中两个是电源和地,其余三个触点是信号触点,通过这三个触点对卡进行读、写操作。C2是复位线,C3是时钟线,C7是串行I/O线。

  最初,卡的规范规定供电电压为5V±10%(A类卡),现在已更改为3V±10%(AB类卡),以后要转变成1.85V±10%(ABC类卡)。最终目标是在2009年6月全部淘汰A类卡,仅保留AB类或ABC类卡。


  与智能卡接口的终端必须提供多种供电电压和适当的信号电平,接口规范还要求终端能够承受卡的任意两个触点间的短路。使用专用的芯片提供必要的电源和信号电平与比利用大量分立器件完成同样任务更具优势。DS8007就是一款这样的专用器件,除了满足上述模拟功能外,它还包含FIFO、处理器接口和支持卡通信的时序控制逻辑电路。

  为了更好地理解MCU和多协议接口电路的工作,我们先来研究一下智能卡接口和与卡通信的基本步骤。我们给出了一个利用安全微控制器DS5002设计接口终端实现协议和数据传输的范例,DS8007接口电路提供信号接口、电荷泵和稳压器,为智能卡提供适当的电源。用两个芯片即可组成双智能卡接口终端。

  RST和CLK信号是智能卡的输入,由接口终端(DS5002和DS8007)提供。复位信号为低电平有效,可异步复位智能卡。为了控制整个数据传输,频率范围从1MHz~5MHz的时钟信号通过终端接口连接到智能卡的时钟触点(C3)。最后,数据通过I/O触点(C7)从智能卡传输到读卡器(发送模式),或数据从读卡器传输到IC卡(接收模式)。EMV规范规定,除非I/O触点正在发送数据,否则智能卡的I/O触点应设置为接收模式。

  终端接口要求

  当卡插入终端时,卡触点连接到终端触点并被激活。控制器将卡复位,然后通过一串字符(请参考应答复位ATR)建立卡与终端的通信;接下来是交易处理,交易结束后,触点置于禁止状态,此后可将卡拔出或弹出。

  ATR字符串建立最初的通信信息,包括指定协议、位时序和后续的数据通信信息。ATR序列包括初始化字符、TS及最大32个字节的附加字符,这些字符组合在一起,通知终端在随后的交易中如何与卡通信。而后续的数据传输也能改变某些通信参数,ATR只是建立了最基本的通信条件。

  字符传输中的每一位定义为基本时间单元(ETU),ETU的时间长短与智能卡的CLK时钟周期成线性关系。ATR通信过程中的位定时称为初始ETU。

  任何通信字符都包含10位数据,持续时间为10ETU。第一位是起始位,它总是低电平,起始位之前I/O默认为高电平。每个字符的最后位是校验位,由发送方决定,可能是高电平,也可能是低电平,其作用是保证整个字符中1的个数为偶数。图1给出了一个位模板的例子,每个字符由10位组成,包括1个起始位、 8个数据位和1个校验位。每两个字符之间通过一个最小安全周期进行分隔。

  在ISO-7816规范中,4位用于选择卡通信协议。目前 16种协议中只用了两种,分别命名为T=0和T=1。这两种都是半双工模式(任何时刻,数据只能单向传输)、异步通信方式。T=0是以基于字符的通讯格式,而T=1是基于数据块的通信格式。所有兼容EMV标准的智能卡必须支持T=0或T=1协议,所有终端必须同时支持这两种协议。

  当卡插入终端后,所有触点保持低电平状态,电源VCC立即加到触点C1。终端在确认电压稳定并满足规范限制后,将自身的I/O触点置成接收模式,并向卡的 C3提供时钟(CLK)信号。在时钟信号开始的200个时钟周期内,终端须将I/O口置为高阻态(接收模式),卡的I/O口则置于发送 模式。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top