智能卡操作系统的完工命令

时间:2008-11-21

  制造智能卡微处理器时,只有其ROM是编程了的,除了芯片编号和卡专用密钥之外,EEPROM仍是空的。把卡体和微控制器组装起来产生一张智能卡时,在ROM中编码的操作系统必须用驻留在EEPROM中的部分予以补充。这个被称做智能卡的完工,只有在它完工之后,智能卡才含有有全部功能完整的操作系统。

  这里有一个比较简单的装人程序在ROM中,以便把操作系统的这些部分写入EEPROM,它可用来把数据写人 EEPROM,接着来一个密钥验证。EEPROM是线性编址的,可以是字节接着字节,也可以是页面接着页面,都直 接使用物理地址。

  一旦所有数据都以此方式输入至EEPROM中,操作系统就从纯ROM的操作状况转变了,从这点开始,过程和程 序也在EEPROM中运行。这个转变可用一条命令来实行,其执行条件已被满足,接着是一个关于所有扩充了的 EEPROM数据的先验的代码和的比较。代码和保证所有数据均已正确存在EEPROM之中。完工并不包括特别复杂 的功能或授权过程,因为这些必定要依赖于操作系统中的ROM的部分,即使是这里的错误也不能使智能 卡完工,这样的一个错误将费去大量时间,并且也要付出昂贵的资金。

  在本节的其余部分,将用一个例子来说明使智能卡操作系统完工的三条重要的命令,这些命令随操作系 统和芯片制造商而变化很大。这里我们只能解释基本的功能,参见表1~表3,实际上所有的智能卡都使用 这样的步骤,或以类似的步骤使操作系统完工。

  表1 COMPAFIE KEY的功能

  表2 WRITE DATA的功能

  表3 COMPLETION END的功能

  COMPARE KEY命令验证送至卡的口令和一个在芯片制造时由生产商存在ROM和EEPROM中的基准口令。这个密 钥(口令)是卡专用的而且十分长,大约为32字节。如果比较成功,则接受后继的装人命令,参见图1。否 则,将重试计数器加1,一旦重试计数器达到其预定值(通常是3),则封锁任何对卡的进一步访问。此时卡 只能被送去回收再生,因为它惟一能做的事就是产生一个ATR。

  当用COMPARE KEY成功地验证了装入的口令之后,就可用WRITE DATA命令把所有必须的数据写人EEPROM之中 。此刻有可能对整个EEPROM逐个字节寻址并写人,这就是说,除操作系统数据之外,也可将完整的应用装人 其中。顺便说明,这也是通常所用的以极小的存储量把应用装人智能卡的方法,因为它们没有足够大的空间 来满足CREATE FILE命令及其相关的状态机。

  如果智能卡的ROM是如此之小,以致没有足够的空间来容纳对EEPROM的测试命令,则可用此命令去模拟测试 命令的基本功能。对存储器中的某个特定位置重复地写人,直到卡出现了写错,如果写循环的总数已达 到,则可能的写入/擦除循环数就知道了。这也正是从EEPROM的测试命令所期待的在质量保证意义上的重要结果。


图1 产生芯片专用口令的一种可能方式(以核定操作系统的完工)

  在使用一条或相继的WRITE DATA命令把所有数据都写入EEPROM后,则对EEPROM的内容进行测试以了解其内 容是否正确,而完工的步骤即将结束。此时所用之命令为COMPLETION END(完工结束)。成功地执行命令后 ,通常将启动一个卡复位,重新启动操作系统并使之达到一个新的状态。

  图2进一步说明了上述智能卡完工时的命令序列。这一过程在完工时由一状态机管理,所以只有列出的命 令才能被执行,而且还必须准确地按所列出的顺序执行,此状态机如图3中所述。


图2 典型完工过程举例

  图3   控制智能卡操作系统完工的状态机

  欢迎转载,信息来源维库电子市场网(www.dzsc.com


  
上一篇:DRAM的读/写操作
下一篇:智能卡的硬件测试命令

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料