由于智能卡与读卡器之间的通信方式和功能性,它们有不同的分类方式。
由于智能卡内置微处理器,它们需要能量来运作,以及某种机制来进行通信,接收和发送数据。一些智能卡在一个角上带有金色触点片,即接触焊盘。这类智能卡被称为接触式智能卡。这些触点片用于提供必要的能量,并通过与读卡器直接的电气接触进行通信。当您将卡插入读卡器时,读卡器中的触点会接触到卡上的触点片。根据 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 | '----' '----' |
I/O:集成电路内部串行数据的输入或输出。
Vpp:编程电压输入(卡的可选用途)。
Gnd:地线(参考电压)。
CLK:时钟或定时信号(卡的可选用途)。
RST:本身使用(由接口设备提供的复位信号)或与内部复位控制电路结合使用(卡的可选用途)。如果实现了内部复位,则 Vcc 上的电压供应是强制性的。
Vcc:电源输入(卡的可选用途)。
接触式智能卡读卡器通常是插入串行或 USB 端口的单独设备。有些键盘、PC 或 PDA 具有内置读卡器,例如 GSM 手机。它们还内置了用于 GSM 样式迷你智能卡的读卡器。
有些智能卡表面没有接触焊盘。读卡器和卡之间的连接是通过射频 (RF) 完成的。但它们在卡内部嵌入了小线圈。这个线圈用作电感器,为卡供能并与读卡器通信。当您将卡插入读卡器的 RF 场中时,线圈中会产生感应电流,并用作能量源。通过对 RF 场进行调制,电感器中的电流用于进行通信。
智能卡读卡器通常通过 USB 或串行端口连接到计算机。由于非接触式卡不需要插入读卡器,因此它们通常仅由用于计算机的串行接口和用于连接卡的天线组成。非接触式智能卡读卡器可能带有或不带有插槽。原因是有些智能卡可以在距离读卡器 1.5 米远的地方读取,但有些智能卡需要放置在距离读卡器几毫米的位置才能准确读取。
还有另一种类型的智能卡,即组合卡。组合卡具有用于传输大数据(如 PKI 凭据)的接触焊盘和用于相互认证的线圈。接触式智能卡主要用于电子安全领域,而非接触式卡则用于交通运输和/或门锁。
最常见且最便宜的智能卡是存储卡。这种类型的智能卡包含 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,因此需要添加一个组件,即用于加密功能的加速器。加密卡比非加密智能卡更昂贵,微处理器卡也比存储卡更昂贵。
根据您的应用,您应该选择合适的卡。