CPU卡芯片通俗地讲就是指芯片内含有一个微处理器,它的功能相当于一台微型计算机。人们经常使用的集成电路卡(IC卡)上的金属片就是CPU卡芯片。CPU卡可适用于金融、保险、交警、政府行业等多个领域,具有用户空间大、读取速度快、支持一卡多用等特点,并已经通过中国人民银行和国家商秘委的认证。CPU卡从外型上来说和普通IC卡,射频卡并无差异,但是性能上有巨大提升,安全性和普通IC卡比,提高很多,通常CPU卡内含有随机数发生器,硬件DES,3DES加密算法等,配合操作系统即片上OS,也称COS,可以达到金融级别的安全等级。1 ~& q/ D- X: B' ^- z
CPU卡综述
; b. v2 I- {- ]- g0 U概述4 O- B0 y' z: P; S
CPU卡:也称智能卡,卡内的集成电路中带有微处理器CPU、存储单元(包括随机存储器RAM、程序存储器ROM(FLASH)、用户数据存储器EEPROM)以及芯片操作系统COS。装有COS的CPU卡相当于一台微型计算机,不仅具有数据存储功能,同时具有命令处理和数据安全保护等功能。
3 Q' x- y6 M9 Z- u/ k0 ~ 由于没有掌握关键的生产工艺,原来我国设计的CPU卡芯片一直在国外生产。目前我国自主设计、制造的CPU卡容量达到了128K。
. {# A' y, f" m5 O& O% y CPU卡可适用于金融、保险、交警、政府行业等多个领域,具有用户空间大、读取速度快、支持一卡多用等特点,并已经通过中国人民银行和国家商秘委的认证 - ]) Y* p, Y" S5 k! x& t
IC卡/ n+ L& f1 ~1 \+ m: F w# y
要了解什么是CPU卡,就必须从IC卡说起。
+ P- Z+ B' h$ {3 |( J IC卡是集成电路卡(Integrated Circuit Card)的简称,是镶嵌集成电路芯片的塑料卡片,其外形和尺寸都遵循国际标准(ISO)。芯片一般采用不易挥发性的存储器(ROM、EEPROM)、保护逻辑电路、甚至带微处理器CPU。 [" P- F- V; `/ w) Q0 a
带有CPU的IC卡才是真正的智能卡。按照嵌入集成电路芯片的形式和芯片类型的不同IC卡大致可分为接触式,非接触式、双界面卡。
; q) L4 {& C' k; ~8 N6 i' W( UCPU卡的分类3 v+ b/ X/ V' `9 l/ _+ C- q) I2 N
CPU卡既有接触式也有非接触式的。 2 _9 g' m- S" [7 F4 W: E
IC卡分类2 L o" K5 D6 P
非加密存储器卡:卡内的集成电路芯片主要是EEPROM,具有数据存储功能,不具有数据处理功能和硬件加密功能。 ' b/ Z' z" X5 N1 P- i$ l+ {, r
逻辑加密存储器卡:在非加密存储器卡的基础上增加了加密逻辑电路,加密逻辑电路通过校验密码方式来保护卡内的数据对于外部访问是否开放,但只是低层次的安全保护,无法防范恶意性的攻击。
' P4 e3 y1 J% g3 qCPU卡的标准化
7 j) [3 M' ^( s1 [目的9 N/ |4 D, C* ^& N
由于当前世界各国经济正在向国际化方向发展,全球化的金融服务系统纷纷建立起来,这就带来了一个卡的互操作性问题。同一张卡,在不同的国家、不同的环境下都要能够使用。要解决这个问题,只有制定一系列国际标准,使CPU卡及其接口设备制造商按照统一的标准,制造统一接口规格的产品,以保证不同国家、不同行业都采用统一的CPU卡软硬件技术规范开发应用系统,这样才能实现不同厂家生产的CPU卡之间的互换性和接口设备的共享。
! d0 T% p5 k A6 u. C: F8 jCPU卡标准
! i+ N6 i E- A# n2 k7 y4 E 国际标准化组织从1987年开始,相继制定和颁布了CPU卡的国际标准。有关CPU卡本身的标准有:
( o' k( M8 J: R1 Y% j ● ISO 10536:识别卡-非接触式的集成电路卡 ( Z/ n4 ]( K" ]* I; o
● ISO 7816:识别卡-带触点的集成电路卡
" O- Z/ X# E! l v+ [ ● ISO7816-1:规定卡的物理特性。卡的物理特性中描述了卡应达到的防护紫外线的能力、X光照射的剂量、卡和触点的机械强度、抗电磁干扰能力等等。
4 h1 K+ r4 Q- f5 s ● ISO7816-2:规定卡的尺寸和位置。
4 Y8 r5 X# D( k/ K. n ● ISO7816-3:规定卡的电信号和传输协议。传输协议包括两种:同步传输协议和异步传输协议 9 K% k+ c: R& x( p
● ISO7816-4:规定卡的行业间交换用命令。包括:在卡与读写间传送的命令和应答信息内容;在卡中的文件、数据结构及访问方法;定义在卡中的文件和数据访问权限及安全结构。 $ c7 v5 @8 _9 F' m2 g) B$ _
金融领域CPU卡应用的标准
# h. _& @' t z& q/ l. E9 r 中国金融集成电路(IC)卡规范:1998年3月中国人民银行等近十家金融单位在采用国际标准和国外先进技术的原则下,以ISO标准和Europay、Mastercard、Visa三大组织研制的EMV96为基础,结合国内CPU卡的应用实际需要,对我国金融CPU卡的基本应用作出了具体规定。 8 H' @% R# G- Q. r; o- @% C; C
● ISO 9992:金融交易卡-集成电路卡与受卡接受设备之间的信息 ' S3 \2 \1 Y5 @ H) i+ Z% q
● ISO 14443:识别卡-非接触卡规范(距离10cm)
5 s, D# U+ f) Y+ m2 W1 K( |% h- j ● ISO 10202:金融交易卡-使用集成电路卡的金融交易系统的安全结构 6 D) k x# p: t* X# f
● EMV:支付系统的集成电路卡规范和支付系统的集成电路卡终端规范
9 C" B2 Y0 ]* Z4 t4 g# N ISO和其它组织还有很多标准和规范涉及到CPU卡的应用,可根据需要查阅有关的标准。
8 f; D3 `3 q# M7 e+ R ~8 JCPU卡的操作系统COS
# Q9 c0 p0 G# S I概述
9 j3 q$ \ E1 i0 [ COS的全称是Chip Operating System(片内操作系统),它一般是紧紧围绕着它所服务的智能卡的特点而开发的。由于不可避免地受到了智能卡内微处理器芯片的性能及内存容量的影响,因此,COS在很大程度上不同于我们通常所能见到的微机上的操作系统(例如DOS、UNIX等)。 ' K% Q V I7 r+ @( P
COS的特点3 Z" @6 ^ {; e. \; @ ^/ x! W: P( S
首先,COS是一个专用系统而不是通用系统。即:一种COS一般都只能应用于特定的某种(或者是某些)智能卡,不同卡内的COS一般是不相同的。因为coS一般都是根据某种智能卡的特点及其应用范围而特定设计开发的,尽管它们在所实际完成的功能上可能大部分都遵循着同一个国际标准。
( h, m# P( h' A2 `, V8 v/ g 其次,与那些常见的微机上的操作系统相比较而言,COS在本质上更加接近于监控程序、而不是一个通常所谓的真正意义上的操作系统,这一点至少在目前看来仍是如此。因为在当前阶段,COS所需要解决的主要还是对外部的命令如何进行处理、响应的问题,这其中一般并不涉及到共享、并发的管理及处理,而且就智能卡在目前的应用情况而言,并发和共享的工作也确实是不需要的。 ! A! C0 b3 U% F. B1 c
COS的基本原理和主要功能 l$ D1 e/ X% x5 q
COS在设计时一般都是紧密结合智能卡内存储器分区的情况,按照国际标准(ISO /IEC 7816系列标准)中所规定的一些功能进行设计、开发。但是由于目前智能卡的发展速度很快,而国际标准的制定周期相对比较长一些,因而造成了当前的智能卡国际标准还不太完善的情况,据此,许多厂家又各自都对自己开发的COS作了一些扩充。就目前而言,还没有任何一家公司的COS产品能形成一种工业标准。因此这里将主要结合现有的(指1994年以前)国际标准,重点讲述COS的基本原理以及基本功能,在其中适当地列举它们在某些产品中的实现方式作为例子。
9 j% {8 N" R+ V7 b% J COS的主要功能是控制智能卡和外界的信息交换,管理智能卡内的存储器并在卡内部完成各种命令的处理。其中,与外界进行信息交换是COS最基本的要求。在交换过程中,COS所遵循的信息交换协议目前包括两类:异步字符传输的 T=0协议以及异步分组传输的T=l协议。这两种信息交换协议的具体内容和实现机制在ISO/IEC7816—3和ISO/IEC7816—3A3标准中作了规定;而COS所应完成的管理和控制的基中功能则是在ISO/IEC7816—4标准中作出规定的。在该国际标准中,还对智能卡的数据结构以及COS的基本命令集作出了较为详细的说明。 2 @2 W, R! q. w5 O4 }
至于ISO/IEC7816—1和2,则是对智能卡的物理参数、外形尺寸作了规定,它们与COS的关系不是很密切。 # o3 u( d$ O. X* i
CPU卡生产流程/ w6 k; o% o4 k' c
一张卡从制造出来到销毁的整个过程成为生命周期。IC卡的生命周期一般可分为: : _4 G' x5 G2 q# y$ r
1.芯片制造:IC卡厂家通过特定的制造工艺在硅片上整齐地排列上一个个电路。
( s( g* q1 z. X# B" }6 e5 V; t1 f* e 2.模块封装:将许多各种芯片安装在已制造好的有8个触点的印刷电路板上。
0 t5 ]; v; H5 e 3.卡片制造:将卡的操作系统等卡片控制系统掩模到模块中。
: H0 t0 `% D, L- p 4.卡片封装:将掩模好的模块镶嵌到塑料基片中。 - p! E: {: O' b( ~3 P
5.卡片初始化:设置卡片的基本参数。 / E/ `- j3 [: \( t* D/ \5 k) _
6.安装发行密钥:将发行单位的密钥写到卡上。 $ J$ V p+ n7 E$ k, ^6 p0 j
7.卡片个人化:建立应用文件并写入持卡人基本资料。
4 @3 j+ s- h' d% c- y 8.卡片应用:持卡人用卡完成各种卡的功能。
! A x, i; a9 S3 D7 g- d |