随着非接触 IC 卡技术在国内的逐步推广,非接触应用以其快
捷方便的操作方式,日益深入人心,并逐渐成为公共交通、城市
通卡建设的首选技术。
早期投入应用的非接触 IC 卡技术多为逻辑加密卡,比如最为
著名的 Philips 公司(现 NXP)的 Mifare 1 卡片。非接触逻辑加密
卡技术以其低廉的成本,简明的交易流程,较简单的系统架构,
迅速得到了用户的青睐,并得到了快速的应用和发展。据不完全
统计,截至去年年底,国内各领域非接触逻辑加密卡的发卡量已
经达到数亿张。
随着非接触逻辑加密卡不断应用的过程,非接触逻辑加密卡技
术的不足之处也日益暴露,难以满足更高的安全性和更复杂的多
应用的需求。因此,非接触 CPU 卡技术正成为一种技术上更新换
代的选择。
一、CPU 卡的读写原理
一般来说,对存储卡和逻辑加密卡操作,使用接触式 IC 卡通
用读写器;对 CPU 卡使用 CPU 卡读写器。所谓通用读卡器是
指它可以对大多数流行的存储卡和逻辑加密卡操作。 CPU 卡由而
于有 ISO/IEC 7816.3/4 的规范,其通讯协议、命令格式都是兼容
的,被看作是一种卡。当然,也有将通用读卡器 CPU 读卡器与
二合一的真正的接触式通用读卡器。
PC 端 IC 卡应用软件编程,要点是了解卡的数据结构和调用读
卡器函数。在这方面,非 CPU 卡与 CPU 卡有不小差别。
a) CPU 卡的结构:
首先,非 CPU 卡,你必须熟悉卡的存储结构,哪里是制造商
区,哪里是密码区,哪里是数据控制区,哪里是数据区(应用
区) ;而 CPU 卡,你不必关心数据的地址,却要关注文件系
统的结构:主文件(MF,相当于 DOS 文件系统的根目录)、专用
文件(DF,相当于 DOS 文件系统的目录,可以有多层)、基本文
件(EF,相当于 DOS 文件系统的文件)。
CPU 卡的基本文件类型虽然只有透明(二进制)文件、(定长
与不定长)线性记录文件和循环记录文件三类,但由于 COS 内部
控制的需要,派生出一些特定的变种 复位应答文件、口令
文件、密钥文件、DIR 文件、SFI 文件 。这些都需要熟悉。
纯粹的存储卡是可以自由读取的;非 CPU 逻辑加密卡的访问
控制,需要掌握特定的卡的口令控制、认证控制、特定的数据控
制标志字节和卡的熔丝(一种卡上这些控制不一定都有) 而 CPU。
卡的访问控制,是在建立文件时定义的,读、写、更改分别是否
需要认证,用哪个密钥,是否需要口令,是否需要 MAC 验证等
等。需要说明的是,创建文件命令的格式是随 COS 而不同的。所
以,你必须熟读他的 COS 手册
b) CPU 卡的操作:
非 CPU 卡的访问一般是通过调用函数直接完成的,大不了需
要熟悉一下调用参数。而 CPU 卡除了设备命令(测卡、上下电、
选卡座等)和卡的复位命令以外,所有卡命令都是通过一个通用
的命令函数执行的,所以你需要熟悉 COS 手册的命令。
COS 的卡操作命令有统一的格式: (命令类别 Class) INSCLA、
(命令指令 Instruction)、P1(参数 1)、P2(参数 2)、Lc(命令
数据域 Data 长度)、Data 和 Le(应答数据域长度)。命令域中除
了 Data,都是 1 字节十六进制数。数据域则是十六进制数串,可
以是二进制数、BCD 码或文字的 ASCII 码等等。这有点像汇编语
言。调用命令函数时,把命令串代入对应参数即可。
二、CPU 卡加密系统与 M1 加密系统比较
a) 非接触 CPU 卡与逻辑加密卡介绍
i.
逻辑加密存储卡:
在非加密存储卡的基础上增加了加密逻辑电路,加密逻辑电路
通过校验密码方式来保护卡内的数据对于外部访问是否开放,但
只是低层次的安全保护,无法防范恶意性的攻击。
早期投入应用的非接触 IC 卡技术多为逻辑加密卡,比如最为
著名的 Philips 公司(现 NXP)的 Mifare 1 卡片。非接触逻辑加密
卡技术以其低廉的成本,简明的交易流程,较简单的系统架构,
迅速得到了用户的青睐,并得到了快速的应用和发展。据不完全
统计,截至去年年底,国内各领域非接触逻辑加密卡的发卡量已
经达到数亿张。
随着非接触逻辑加密卡不断应用的过程,非接触逻辑加密卡技
术的不足之处也日益暴露,难以满足更高的安全性和更复杂的多
应用的需求。特别是 2008 年 10 月,互联网上公布了 MIFARE
CLASSIC IC 芯片(以下简称 M1 芯片)密码的方法,不法分子利
用这种方法可以很低的经济成本对采用该芯片的各类一卡通、
门禁卡进行