生产准各发行给用户的智能卡的下一步骤是个人化,某些时候也被称为“个性化”。“个人化”一词具有广义的含义,意即所有赋予一特殊个人或特定卡的数据均已输人智能卡中。例如,可以是持卡人名字和地址,也可能是与卡有关的密钥。这件事的惟一实质是那些数据都是专属于一特定卡的。卡的个人化包括有电气和光学的两方面的要素,如图1所示。
图1 智能卡个人化的要素分类
在光学的和电气的个人化之间的基本区别是凸印的字符、及用激光刻印的应用于卡的文字或图形组成了个人化的光学部分;电气的个人化由向微控制器装入个人数据和向磁条写人数据。光学个人化的处理时间,依赖于所要求的特征,不能一般地规定。电气个人化则取决于数据量,通常约需5s至⒛s的时间。
名字和卡专有的以字符为基础的信息是用机器来实现的,参见图2与图3,其中的金属字符冲头从卡的背面以极高的速度和相当的力量的锤击而凸印在卡上。这是个比较简单的过程,但却很吵闹并引起震动,这里所说的机器通常和其余的处理设备在物理上是分开的。卡体中在覆盖薄箔下面的区域可用激光来使之变黑,因之激光刻印设备经常被用来取代机械凸印,这项技术对于在卡体上需要的黑白图形也是有用的。
图2模块化的个人化系统(Luchs 5 000)的图示(它包括了一个集成的激光标注部件)
图3 现代个人化系统(Data Card 9000)的图示(其中包括了集成的邮政处理)
关于芯片的数据写人到存储器中去,用的是和初始化相同的方式。然而,在它的内容中包含了秘密密钥,加密了的被保护的数据传输①经常被用来防止一个攻击者从数据线上窃听以取得任何利益。对于那些用于金融交易的卡,某些时候甚至还使用更加复杂的方法。这包括在个人化机中使用一个特殊的安全模块。把从卡发行者那里接收的加密了的个人数据进行再加密并直接写入智能卡中,这种方法的好处是个人化者并不了解卡中的秘密数据而且也没有可能利用对数据线的窃听而把它们探查出来。
智能卡个人化的技术越来越倾向于全面加密的自动安全处理,这就是说主要的工作可由服务费用不高的公司在非安全的设备中实现。今天,也有的个人化者从CD-ROM上接收卡专有数据来处理。在这种情况下,生产数据组和它相关的密钥是与微控制器中惟一的芯片号不可分割地链接在一起的。这使得个人化者不可能生产出智能卡的复制品,除非他能以某种方式操纵操作系统。然而,这一方法也有不利之处,在个人化过程中,如果任何一块芯片出了故障,某些被发送的数据组就无法使用了,因为失效的芯片的数据不能再被使用。如果采用了这种方法,个人化者必须经常向产生数据的一方,让他们知道那些芯片已确实被处理过了。对于今天普遍采用的个人化过程,这是不必要的,因为它很容易再生出一张故障卡的替代品。正因为如此卡生产者的个人化设施总是要在安全区之故。
遗憾地是,用在个人化领域中的加密过程和安全方法是个重大的秘密,我们不可能描述其特殊的应用,然而,图4所示之例为从加密观点看到的初始化过程和接在后面的个人化过程。这两种生产步骤都必须在分开的房间由不同的人们进行,以便使加密保护有效。
图4 数据传输和密钥有加密保护的(A)初始化和(B)
个人化的示意图(只给出了与加密有关的处理)
工作过程的说明如下。初始化时,一卡专用密钥(KD)用主密钥(KM)和惟一的芯片编号从安全模块中导出。这一密钥被作为明文送往卡中,并被存储起来。当然,还有其他一些数据必须在初始化之时写人到智能卡中去,但只有产生和存储卡专用密钥(KD)是惟一和加密有关的步骤。
接着就是卡的个人化。它既可接着初始化立即进行,也可在数周之后再进行。重要的因素是个人化必须和初始化完全分开进行,以防止在初始化时非法地从使用中获得一个KD,而在个人化时用来解密卡专用数据。
在个人化过程中,必需用公用密钥加密的个人化数据用安全模块对每一张卡解密。这是必需的,因为个人化数据发生器并不知道由半导体制造商产生的各个芯片的序列号。于是安全模块从接收自智能卡的卡序列号和主密钥(KM)计算出卡专用密钥(KD)。现在安全模块和智能卡有了一个以KD形式的共享秘密。它用来加密个人化数据,然后以加密的形式传送给智能卡,在卡中它们被解密并写入EEPROM的适当位置。这个过程对个人化处理提供了完整的加密保护。只要在初始化时写入卡中的密钥(KD)仍被保密,它就能保护个人化数据不被探查出来。
在结束个人化过程后,个人化机要对完工的智能卡运行几个质量控制测试。例如每张卡要用摄像机扫描,由一计算机对光学个人化进行评估,并用一生产数据库进行核查。有错误时,则此卡被扔入错卡箱中,而自动生产一新卡。通常,还要检查微控制器中的个人化数据。这在技术上是难以做到的,因为许多文件已不再允许访问了。从而在个人化机中为这些测试各有特殊的安全模块。这些模块含有秘密的主密钥,用它可对智能卡中的个人化密钥的正确性进行测试。
另一种方法是为每一单独的卡提供命令串和相应的响应串。于是个人化时把这些命令按正确的序列发送给智能卡,并将从卡接收的响应与命令的相应结果比较。如果它们不相配,智能卡未按预期运行,必定出现了一个个人化的错误。用这种方法不需要在个人化中设一特殊的安全模块来用于测试。
一旦智能卡被个人化后,就不可能逆转这一处理。这就是说一张错误个人化的智能卡是没有价值的。电气个人化较易出错,在对卡的大批量处理中发生的任何错误都将导致经济损失和大量的时间浪费。于是,有少数智能卡的操作系统允许在适当的鉴别后,删去整个个人化。对于有关的操作系统,智能卡在以后的行为就和在半导体制造后或完工时一样。这种能力有时用来测试卡,因为它使得卡中的软件可以修改而不必每次都毁掉它,操作系统中的这种机制偶而也用来激活合格的卡,甚至在需要时可对卡除去个人化。
作为惯例,智能卡个人化的典型批量为一万张或更大量时才着手进行。然而,在许多应用中,必须为个别用户生产专用的智能卡。例如为用户更换一张损坏或丢失了的欧陆卡,否则持卡人将不能从取款机取现金。随着对顾客友善程度的日益升高,对这类及时个人化设各的需求也在增长。它经常安装在大量个人化设各的旁边,经远程数据通信接收卡数据,使用已经初始化了的半成品智能卡。如果必要时,可以保证终用户(持卡人)能在⒉小时内收到一新卡。这种个人化设各的吞吐率如图4和图5所示。由图可知,为了这类卡的生产,该设各仅用于快速补卡,当然不适合用于大量生产智能卡。
图5 用一台桌上个人化机,单面印刷和双面印刷卡时的个人化吞吐率的图解
图6 一台桌上个人化机的示例,用于电气个人化并能以300dpi的分辨率
双面印刷(卡的进料箱在右手侧,好卡和废卡的料箱则在左侧)
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。