硬件时代的身份证:智能卡
智能卡又称集成电路卡(即IC卡),它是一个带有微处理器和存储器等微型集成电路芯片,具有标准规格的卡片,其大小与普通名片相仿,内含一块1cm左右的硅芯片,具有存储信息和进行复杂运算的功能。芯片中存有与用户身份相关的数据,智能卡由专门的厂商通过专门的设备生产,是不可复制的硬件。智能卡由合法用户随身携带,使用时必须将智能卡插入专用的读卡器读取其中的信息,以验证用户的身份。
随着社会和经济的迅速发展,智能卡因其成本低、携带方便等优点,广泛应用于银行、电信、交通、公共安全等社会各领域,并且发展十分迅速。
• 智能卡分类
智能卡可以用狭义和广义两种角度来看。狭义的就是指CPU卡,广义的指IC卡。对于IC卡,可以按照嵌入芯片类型、数据读写方式、数据交换方式和卡的不同应用领域分类。
按卡的应用领域可分为金融卡和非金融卡:
(1)金融卡也称为银行卡,又可以分为信用卡和现金卡两种。前者用于消费支付时,可按预先设定额度透支资金;后者可作为电子钱包或者电子存折,但不能透支。
(2)非金融卡也称为非银行卡,涉及范围十分广泛,实际包含金融卡之外的
所有领域,诸如电信、旅游、教育和公交等等。
按嵌入芯片分类可以有存储卡、加密存储卡和CPU卡:
(1)存储器卡:卡内的集成电路是电擦除可编程只读存储器EPROM,它仅有数据存储功能,没有数据处理能力;存储卡本身不提供硬件加密功能,只能存储通过系统加密过的数据,很容易被破解。这类卡存储信息方便、开发应用简单、价格便宜、很多场合可替代磁卡,但由于其本身不具备信息保密功能,因此,只能用于保密性要求不高的应用场合。
(2)加密存储卡:加密存储器卡内嵌芯片在存储区外增加了控制逻辑,在访问存储区之前需要核对密码,只有密码正确,才能进行存取操作,这类信息保密性较好,使用与普通存储器卡相类似。加密逻辑电路在一定程度上保护着卡和卡中数据的安全,但只是低层次的防护,无法防止恶意的攻击。密码一般通过明文进行传递和验证,很容易被破解,一般用于需要进行简单保密要求的应用场合。
(3)mCPU卡:CPU卡内嵌芯片相当于一个特殊类型的单片机,内部除了带有控制器、存储器、时序控制逻辑等外,还带有算法单元和操作系统,由于CPU卡有存储容量大,处理能力强,信息存储安全等特性,因此,被广泛用于信息安全性要求特别高的场合。CPU卡相当于一台没有显示器和键盘的微型计算机。
目前也出现了针对上面常用CPU卡的缺点而生产的新设备,称为超级智能卡。在卡上具有MPU和存储器并装有键盘、液晶显示器和电源,有的卡上还具有指纹识别装置等,主要用于高端应用。其核心和CPU卡类似,主要增加的是外围的辅助单元。
• 智能卡物理结构
全世界智能卡规格是有统一标准的。智能卡的物理支撑一般是一个塑料长方卡(见下图)。它的尺寸从通用磁卡演化而来。它们都遵从相关的国际标准IS07810,即大小为:85.47~85.72mm,厚度为0.76mm士0.08mm。有些IC卡上还贴有磁条,可以和磁卡兼容。IC卡上可以印有发行者的信息和卡片持有者的可读信息,如姓名、有效性及照片等。有的对安全性要求较高的IC卡,在其表面上印有个人签名、全息图象及类似纸币上的回纹等安全标识信息。在IC卡的左上角封装有IC芯片,其上覆盖有6或8个触点和外部设备进行通讯,每个触点的尺寸和位置应满足ISO7816-2中所做出的规定,且触点位于卡的正面。其下面为凸型字符,背面有磁条。
智能卡的物理结构
• 智能卡系统组成
不论是简单的还是复杂的,一个完整的IC卡应用都离不开如下几个组成部分:
1. IC卡卡片
无论是接触卡、非接触卡还是双界面卡,卡内都包括了芯片、软件、数据等几个组成部分。
2. 读卡器
读卡器是对lC卡操作的最直接设备,根据IC卡操作模式的不同,读卡器也可以分为接触式读卡器、非接触式读卡器、双界面读卡器等不同形式,严格意义上的读卡器只包括了读卡头和设备驱动,读卡器和卡片的接口通常满足一定的国际规范,标准读卡器一般是通用的。
为了使用卡片,还需要有与IC卡配合工作的接口设备IFD(IntcrFaceDeVicel)或称为读写设备。IFD可以是一个由微处理器、显示器与I/O接口组成的独立设备,该接口设备通过IC卡上的8个触点向IC卡提供电源井与IC卡相互交换信息。IFD也可以是一个简单的接口电路,IC卡通过该电路与通用微机相连接。
无论是磁卡或IC卡,在卡上能存储的信息总是有限的,因此大部分信息需要存放在接口设备或计算机中。当用信用卡购物时,如在允许透支范围内,则可以先取走商品,事后再结算;如需一笔大款,则需经银行确认,授权于商店后,才能取走商品。由于银行、发放信用卡的公司以及商店不在同一处,因此需要经过通信线路和主机联系才能实现上述过程。
目前,IC卡座的触点和IC卡之间的接触方式大体有滑动式和下压式两种。其中滑动式卡座对IC卡触点的磨损较大,且IC卡的读写设备设计如果不合理,较易损坏IC卡,而一个设计良好的下压式卡座则几乎不磨损IC卡的触点,对IC卡具有较好的保护,可以确保IC卡长时间的可靠使用。当然,由于下压式卡座设计复杂、零部件多、加工精密,其价格要高出滑动式卡座许多。应用开发单位或发行单位可视不同的应用场合和类型合理选择不同类型的卡座。
3. 应用程序
应用程序是应用逻辑控制的核心,根据应用的不同,应用程序的规模、运行、形式都有很大区别。对于独立的脱机应用,应用程序一般较小,逻辑结构比较简单,程序可以和读卡器、机具合在一起,不需要额外增加PC机等辅助设备。对于一些复杂的应用,应用程序一般在PC平台上运行,有些还需要联网和后台主机进行交互。此外,一般的IC卡应用,最终的结果数据都需要进行汇总和分析,尤其是涉及到消费的金融应用,后台系统极为关键。一个基于卡的应用在IC卡内的表现形式分为软件和数据两个部分。软件就是代码,通常是应用逻辑控制在卡内的表现形式;数据通常是应用的核心,即包含一般的用户个人信息,也包含一些极其重要的用户资料,例如帐户密码、资金等。根据应用中包含的软件、数据情况,应用可以分为如下3种不同情况:
只有数据的应用:这类应用通常将卡片作为一种安全数据的载体,对于卡片只需要其提供基本的卡片操作,没有额外的逻辑控制需要在卡内完成。
只有代码的应用:这类应用比较少,一种情况是将卡片作为一种逻辑控制的载体,起到一种逻辑钥匙的作用。另外一种情况是,卡片内置了特殊的算法流程,例如加密算法、签名算法等,起到安全计算的作用。
既包含数据又包含代码的应用:这类应用是最多、最普遍的,其对卡片的要求较高,不仅在卡内保存应用数据,还要放置相应的逻辑控制代码。例如金融卡、加油卡、社保卡等。