3. 智能卡的分类

由于智能卡与读卡器之间的通信方式和功能性,它们有不同的分类方式。

3.1. 接触式 vs 非接触式

由于智能卡内置微处理器,它们需要能量来运作,以及某种机制来进行通信,接收和发送数据。一些智能卡在一个角上带有金色触点片,即接触焊盘。这类智能卡被称为接触式智能卡。这些触点片用于提供必要的能量,并通过与读卡器直接的电气接触进行通信。当您将卡插入读卡器时,读卡器中的触点会接触到卡上的触点片。根据 ISO7816 标准,PIN 连接如下:
      ,----,            ,----,
      | C1 |            | C5 |         C1 : Vcc = 5V      C5 : Gnd  
      '----'            '----'         C2 : Reset         C6 : Vpp
      ,----,            ,----,         C3 : Clock         C7 : I/O
      | C2 |            | C6 |         C4 : RFU           C8 : RFU
      '----'            '----'         
      ,----,            ,----,         
      | C3 |            | C7 |         
      '----'            '----'         
      ,----,            ,----, 
      | C4 |            | C8 | 
      '----'            '----' 
      

接触式智能卡读卡器通常是插入串行或 USB 端口的单独设备。有些键盘、PC 或 PDA 具有内置读卡器,例如 GSM 手机。它们还内置了用于 GSM 样式迷你智能卡的读卡器。

有些智能卡表面没有接触焊盘。读卡器和卡之间的连接是通过射频 (RF) 完成的。但它们在卡内部嵌入了小线圈。这个线圈用作电感器,为卡供能并与读卡器通信。当您将卡插入读卡器的 RF 场中时,线圈中会产生感应电流,并用作能量源。通过对 RF 场进行调制,电感器中的电流用于进行通信。

智能卡读卡器通常通过 USB 或串行端口连接到计算机。由于非接触式卡不需要插入读卡器,因此它们通常仅由用于计算机的串行接口和用于连接卡的天线组成。非接触式智能卡读卡器可能带有或不带有插槽。原因是有些智能卡可以在距离读卡器 1.5 米远的地方读取,但有些智能卡需要放置在距离读卡器几毫米的位置才能准确读取。

还有另一种类型的智能卡,即组合卡。组合卡具有用于传输大数据(如 PKI 凭据)的接触焊盘和用于相互认证的线圈。接触式智能卡主要用于电子安全领域,而非接触式卡则用于交通运输和/或门锁。

3.2. 存储卡 vs 微处理器卡

最常见且最便宜的智能卡是存储卡。这种类型的智能卡包含 EEPROM(电可擦可编程只读存储器),即非易失性存储器。因为它是非易失性的,当您从读卡器中取出卡时,电源被切断,卡会存储数据。您可以将内部的 EEPROM 视为一个普通的具有文件系统的数据存储设备,并通过微控制器(通常是 8 位)进行管理。这个微控制器负责访问文件和接受通信。数据可以用 PIN(个人识别码),即您的密码锁定。PIN 通常是 3 到 8 位数字,这些数字被写入卡上的一个特殊文件。由于这种类型不具备加密能力,存储卡用于存储电话积分、交通票或电子现金。

微处理器卡更像我们桌面使用的计算机。它们具有 RAM、ROM 和 EEPROM,以及 8 位或 16 位微处理器。在 ROM 中有一个操作系统,用于管理 EEPROM 中的文件系统并在 RAM 中运行所需的功能。
              ----------------                       
             |  8 or 16 bit   |                      
  Reader <===| microprocessor |-----+                
              ----------------      |                
                                    |                 
                                    |---> RAM           
              NON-CRYPTOGRAPHIC     |                   
                    CARD            |---> ROM            
                                    |                    
                                    +---> EEPROM         
    
如上图所示,所有通信都通过微处理器完成。存储器和触点之间没有直接连接。操作系统负责存储器中数据的安全,因为访问条件由操作系统控制。

              ----------------             -------- 
             |  8 or 16 bit   |           | Crypto |
  Reader <===| microprocessor |-----------| Module |
              ----------------      |      --------
                                    |                
                                    |---> RAM        
                CRYPTOGRAPHIC       |                
                    CARD            |---> ROM        
                                    |                
                                    +---> EEPROM     

通过添加加密模块,我们的智能卡现在可以处理与 PKI 相关的复杂数学计算。由于微控制器的内部时钟频率为 3 到 5 MHz,因此需要添加一个组件,即用于加密功能的加速器。加密卡比非加密智能卡更昂贵,微处理器卡也比存储卡更昂贵。

根据您的应用,您应该选择合适的卡。