|
智能IC卡中的硬件资源十分丰富,其功能也各不相同,见表3-1。其中EEPROM是提供用户的最主要的应用资源。
智能IC卡硬件功能说明
|
硬件资源 |
说明 |
主要功能 |
|
MPU |
微处理器 |
系统的中央运算、处理、管理 |
|
CAU |
加密运算协处理器 |
执行有关加、解密运算 |
|
ROM |
只读存储器 |
存储操作系统程序 |
|
RAM |
随机存储器 |
临时工作数据的暂存 |
|
EEPROM |
电擦除存储器 |
应用程序、数据的存储 |
|
I/O |
通讯接口 |
通讯传输 |
|
SL |
安全逻辑 |
内部资源的硬件保护 |
|
··· |
硬件资源管理的目的就是由它统一组织、协调、指挥这些硬件的运行,为高层应用提供相应程序接口,使高层应用编程更容易、实现更简单、可靠。它类似于PC机上的BIOS(基本输入输出接口)功能,但比它的管理层次更高。下面重点介绍用户存储器的组织管理。
一、用户存储器的数据结构
按ISO/IEC 7816标准,用户存储器的数据结构有线性固定结构(Linear
Fixed)、线性可变结构(Linear Variable)、环形结构(Cyclic)、透明结构(Transparent)四种,见图3-2。用户可以根据应用数据的特点、更新速率等因素,决定选用哪种数据结构。
图2
数据组织结构
1、线性固定结构
典型结构如定长度记录,其中每一记录的存储位置均由一个唯一的记录号标识,可以随机读写。按有关ISO/IEC标准,记录号的范围为1~253。
2、线性可变结构
如可变长度记录,其中每一记录的存储位置均由一个唯一的记录号标识,可以随机读写。按有关ISO/IEC标准,记录号的范围为1~254。
3、环形结构
这种结构类似首尾环起来的定长度记录,不允许随机写。其中记录以某一固定顺序存放,因为记录数量有限,若超过限制数量,新写入的数据将覆盖掉旧的数据。
4、透明结构
二进制数据使用这种数据结构时,一般由用户寻址、管理该数据,操作系统只负责存储空间的分配。透明数据结构适用于声音、图像等超文本(HyperText)信息的存储。
二、用户存储器的文件组织形式
按ISO/IEC 7816标准规定,智能IC卡中的数据在用户存储器中以树型文件结构的形式组织存放。文件分成三种层次级别:一是主文件(Master
File),形成文件系统的根,类似于DOS中的根目录;二是专用文件(Dedicated
File),在主文件之下,类似于DOS中的目录;三是子专有文件(Child-DF),在DF之下的专有文件类似于DOS中的子目录。当然,DF之下还可以有DF,这主要依赖于用户存储器的大小。此外,还有元文件(Elementary
File),主要存储实际应用数据和相应的系统管理信息,元文件可以存在于任何一个文件层次上。智能IC卡文件的树型结构见图3-3。
图3 智能IC卡树型组织文件
在智能IC卡的文件结构中,主文件只能有一个并且随操作系统一起生成,用户无法控制;在文件存取过程中,不能越层存取,若想读写子专有文件下的元文件必须经过其高层文件层次;某一专有文件的大小在申请生成时预定且不可修改,也有的操作系统可以在使用中动态修改该专有文件大小,当然其前提是有足够的存储空间。
三、文件类型及其特性
智能IC卡操作系统的文件有三种层次级别。每一层次级别的文件还分不同的种类,具有不同的用途。
1、主文件
系统中必须存在唯一一个主文件,主文件组成智能IC卡文件系统的根。主文件中含有系统文件控制信息及可分配的存储空间,其下可以建立各种文件。
虽然系统允许在根下直接生成各种应用文件,但最佳的文件组织方法是每一种应用均分配一个专有文件,在相应应用的专有文件下再具体组织安排各种应用数据。这样做的优点是不同应用之间相互干扰小、便于应用设计、安全性更高等,有利于“一卡多用”。主文件一般用来存储不同应用之间的共享数据,如卡序列号、持卡人数据等信息。
在初始化时,主文件还可以被赋予一些安全特性,如禁止使用操作系统的某些命令等。这样做的目的是为了在从IC卡生产到最终应用的环节过多时的安全管理,便于跨部门甚至跨行业的“一卡多用”的安全实施。
智能IC卡一旦插入读写设备,主文件就立即被激活直到卡被拔出。在卡的生存期内,主文件不能被删除。
2、专有文件
专有文件含有文件控制信息及可分配的存储空间,其下可以建立各种文件。
一个专有文件将被用来存储某一应用的所有数据。每一应用的应用顺序均由该专有文件的状态机控制,使不同应用之间具有较强的独立性并且更安全。
专有文件在用户存储器中占据一块静态存储器,一旦专有文件建立,其存储器的大小就不能变动,但在该专有文件下的元文件则可以重新分配所使用存储器大小,可以被删除。专有文件下还可以再建立专有文件。此时,较高层的专有文件称为父专有文件(Parent-DF),较低层的称为子专有文件(Child-DF)。
父专有文件无论在逻辑上(操作系统管理)还是在物理上(用户存储器)均相互隔离。不同的专有文件均可使用主文件下的公共资源。父专有文件的建立一般分成两个步骤:先逻辑创建,即在操作系统中作一创建登记;再物理创建;实际分配一定数量的用户存储器。分步创建的优点是可以独立于时间和存储器位置生成具体应用。某一具体的父专有文件不能在其它专有文件或主文件中删除,该父专有文件的删除条件在其应用控制文件(ACF)中定义,只有满足该条件才删除。该父专有文件被删除之后,其下的子专有文件、元文件也同时被删除,释放的存储器块可由其它父专有文件使用。
子专有文件可以是某一子应用,子专用文件可有其自已的应用控制文件。某一具体的子专有文件不能在其它专有文件或主文件中删除。该子专有文件的删除条件在应用控制文件中定义,只有满足该条件才可删除。该子专有文件被删除之后,其下的专有文件(若还有)、元文件也同时被删除,释放的存储器块可由其它子专有文件使用。
3、元文件
元文件含有实际应用数据或文件控制信息,其下不可建立任何文件。
元文件分为三类:一类存储实际的应用数据,称为工作元文件(WEF);另一类存储相应的系统管理信息,称为系统管理元文件(SMEF);在ISO/IEC
7816标准中还定义有一种公共元文件(PEF)。
工作元文件(Working Elementary File)具有以下特性:
-
存储应用数据;
-
若条件满足可被读、写、删除等;
-
可以存在于任何文件结构;
-
可以是任何一种文件结构;
-
具有内部数据校验(如检查和)措施。
系统管理元文件(System
Management EF)有以下两种。
1、内部保密文件(Internal
Secret Files, ISF)具有以下特性:
存储系统或应用保密数据,如加密密钥、个人密码等;
-
可被输入、修改、覆盖,但不可读;
-
不能部分删除;
-
可以存在于任何文件层次;
-
文件结构可为线性可变结构。
2、应用控制文件(Application
Control Files, ACF)具有以下特性:
-
存储应用状态机棗应用顺序控制数据;
-
不能删除;
-
每一文件层次必须有一ACF;
-
文件结构可为线性可变结构。
公共元文件(Public
EF)主要用于存储系统或应用的公共数据,可以无条件存取。
四、文件属性
每一种文件均具有相应属性(Attributs),智能IC卡的文件属性一般有4种:
1、文件名/文件标识
每一文件可以通过其文件名或文件标识来寻址。按ISO/IEC
7816标准,文件类型不同,文件标识的编码也不相同。正确识别、寻址一个文件需要一个从主文件或当前专有文件到该文件的完整的标识路径。从主文件开始的路径称为绝对路径(Absolute
Path),可以唯一确定某一文件,这一点和DOS操作系统中的有关概念十分相似。
在ISO/IEC 7816标准中规定,每一文件均由一个2字节长的文件标识参考确定,但在专有文件中也可以使用文件名来标识该文件,主要是为了便于应用设计人员设计该卡,特别是将父专有文件以文件名来标识,更容易区分、理解“一卡多用”。此外,在某一张卡上文件名一定要能唯一确定某一文件。其实,以名字命名该文件时操作系统同时在内部也自动分配给它一个标识,并通过标识来管理该文件。
不同文件类型的标识具有不同的编码。按ISO/IEC
7816标准,文件标识的第一个字节为文件限定符(File
Qualifier),主要用于区别文件类型(如主文件、专有文件等);第二个字节为文件索引(File
Index)。其中规定:
-
主文件:其标识确定为“3F00
H”(十六进制);
-
父专有文件(在标准中没有作具体规定):一般的操作系统中,文件名最长为8字节字符串(第一个字节不能为“20
H”),若文件名不足8字节长,操作系统将在其后以“20
H”补足剩余字节,所有父专有文件的名字不能相同;
-
子专有文件:子专有文件的文件标识为2字节。同一父专有文件下的子专有文件的标识不能相同,但不同父专有文件下的子专有文件的标识则可以相同;
-
元文件:文件标识为2字节。其中第一个字节为文件限定符,第二个字节为文件索引,在ISO/IEC
7816中都没有作十分明确的规定,其目的是为整个系统设计留有选择的余地。一般文件限定符可以根据情况自定,当然最好不与标准冲突。文件索引也可自定,一种典型的编码格式见表3-2。
表3-2一种元文件的典型编码
|
Bg
b7 b6 b5 b4
b3 b2 b1 b0 |
定义 |
|
× × |
文件类型 |
|
0 0
0.1
1.0
1 1 |
WEF
ACF
ISF
无用 |
|
× × |
文件层次 |
|
0.0
0.1
1.0
1 1
|
MF
Parent-DF
Child-DF
无用 |
|
× ×
× × |
文件索引号 |
|
|
1-15 |
2、安全状态
它主要用于定义不同命令在不同状态下(由某一应用的状态机决定)对该文件的存取权限。
3、操作模式
操作模式用于定义文件的静态存取特性,主要有以下几种特性:
可删除性(Erasable);
读/写特性(R/W);
存取特性(Access);
一次写入、多次读出特性(WORM);
只读特性(RO);
只写特性(WO);
可计算性(Compute):定义该文件是否可被某些命令存取执行。
4、注释
注释含有某一文件的简短的说明信息,如版本号等。
在ISO/IEC 7816标准中,对诸如文件属性等的定义十分简单,很不具体。其目的就是给系统设计人员保留充分的发挥空间。当具体设计某一IC卡的应用系统时,必须按智能IC卡的供应商的技术说明书操作。 |