智能卡读和写命令智能卡读和写命令
读和写类命令主要用于智能卡安全地存储数据。使用这些命令有可能把数据写人有关的BF并在以后重行读 回。
EF具有特定的访问条件,只有被授权的用户才可能读出这些文件,信息在卡内的存储受到了保护以防止 未授权
的访问。 由于存在着不同数据结构的Ⅲ,就有了对于这些文件不同的读和写命令。遗憾地是,这并不完全
相应于一 个面向对象的文件管理结构。在纯粹的面向对象的设计中,操作系统必须构造得使对象本身可以决定
其访问 机制。这不是智能卡文件的情况,这种不协调可回溯到从历史上出现的命令被相继地结合到现行标准的
日子 。智能卡的先驱是存储卡,只有一个存储区,能够经区距(offset)和长度参数读写。从外部看来,这个
读和写类命令主要用于智能卡安全地存储数据。使用这些命令有可能把数据写人有关的BF并在以后重行读 回。EF具有特
定的访问条件,只有被授权的用户才可能读出这些文件,信息在卡内的存储受到了保护以防止 未授权的访问。
由于存在着不同数据结构的Ⅲ,就有了对于这些文件不同的读和写命令。遗憾地是,这并不完全相应于一 个面向对象的文
件管理结构。在纯粹的面向对象的设计中,操作系统必须构造得使对象本身可以决定其访问 机制。这不是智能卡文件的情
况,这种不协调可回溯到从历史上出现的命令被相继地结合到现行标准的日子 。智能卡的先驱是存储卡,只有一个存储区,
能够经区距(offset)和长度参数读写。从外部看来,这个存 储器可以看作是有透明结构的单个文件,第1张智能卡也基本上
是按同样的方式构造的,对透明文件的读写 访问的定义就起源于那个时候。另外,专门修改了的命令则用于有数据结构的文
件类型。它们较晚才被定义 ,这就是为什么含有两种不同类型的访问的缘故。
于是,必须把这类命令区分为访问透明结构的EF的命令和访问其余文件结构的命令。这些文件结构是:循 环的、线性固
定和线性可变的。不同的标准有的规定(如用于电子钱包的EN 1546)也可用读取其他结构类 型文件的读命令来读取透明结
构的文件。在任何情况下,都有可能以此种方式去获得关于文件内部结构的额 外数据。
透明的EF的逻辑结构是无定形的,这就是说它们不具有内部结构。它们表现为线性可编址的可访问字节的 存储器。
READ BINARY命令用于读,而两条命令WRITE BINAY和UPDATE BINARY则用于写。这些命令的功能已 列举在表1至表2
中。
表1 按照ISO/IEC 7816-4的READ BINARY的功能
表2 按照ISO/IEC 7816-4的WRITE BINARY的功能
表3 按照ISO/IEC 7816-4的UPDATE BINARY的功能
WRITE BlNARY和UPDATE BINARY的根本区别关系到卡的EEPROM取得的状态,EEPROM稳定的状态是EEPROM的
存储单元采取其最低能量状态时的位逻辑状态。由于逻辑单元都是小电容,就是说在稳定状态时它们不含有电荷,通常这是逻
辑0状态。为了把一位从0态复位为1态,它必须被清除,从而使电容中重存了电荷。
WRITE BINARY命令仅能用于把该位从非稳定的状态即1的情况,复位为0的情况即稳定的状态。在这个例子中WRITE
BINARY执行输人数据和文件内容的逻辑与(AND)操作。另一方面,如果芯片的稳定状态被用来表示1之值,则硒TtITE
BINARY命令必须实行—个命令数据和文件数据的逻辑或(OR)操作。命令数据和文件数据的逻辑相互作用总是在WRITE命
令中使EEPROM达到其稳定状态。此外,取决于文件,Ⅷ盯Ⅲ BINARY命令可能支持写一次,读多次WORM(Write
Once,Read Multiple)写访问。
相反,UPDATE BINARY命令是一条真正向文件写人的命令。文件中数据的原有状态不会影响执行了UPDATE BINARY
命令后的文件内容,因此,UPDATE BINARY可以看成是和用ERASE清除数据后接着执行WRITE BINARY是一样的。