微波EDA网,见证研发工程师的成长!
首页 > 微波射频 > 射频工程师文库 > 多功能智能卡文件系统设计

多功能智能卡文件系统设计

时间:05-23 来源:RFID世界网 点击:

引言

  智能卡或称 IC 卡,英文名称为SMART Card 或 Integrated CircuitCard。它是由一个集成电路芯片嵌 于塑料基片中封装而成。卡中的集成电路包括中央处理器(CPU) ,闪存(EEPROM)、随机存储器 (RAM)、只读存储器(ROM) 等[1]。动态多应用智能卡允许一张卡片上可以同时容纳多个应用,并且在 不同的场合使用不同的应用,同时应用本身还可以根据需要随时下载到卡中或从卡中删除。这给供卡 方、发卡方和持卡方都带来了好处。动态多应用智能卡将是智能卡未来发展的总趋势。

  1 智能卡文件系统的设计模型

  1.1 文件的类型及组织结构

  本系统遵守ISO/IEC 781* 标准所定义文件标准。根据标准,可以支持专用文件(DF)和基本 文件(EF)两种文件。卡内的文件的逻辑组织结构由下列专用文件的结构化分级组成,在根处的DF 称为主文件(MF)。该MF 是必备的。其他DF 是任选的。定义两种类型的EF:1)内部 EF(KEF)。 存储那些预期由卡解释的数据。如密钥。2)工作EF(WEF)。存储那些预期不由卡解释的数据。

  EF 结构有以下几种,

  1)透明结构。指的是二进制的或杂乱无章的结构。换句话说,一个透明文 件根本没有内部结构。该结构的文件可以通过使用偏移值进行读出和写入。READ BINARY 和 UPDATE BINARY 命令可用于这些方面。

  2)记录结构。是基于链接固定长度的记录文件结构,这种 结构的数据可以自由存储,存取的最小单位是一个记录。该操作系统支持线性定长记录结构,并且记 录长度必须为4 个字节的偶数倍数,并且小于一页大小,这样就防止一条记录跨页存储。

  文件的逻辑组织结构如图 1 所示。文件系统是一个树型结构,根目录为MF。 MF(主文件)是 特殊的文件,是文件系统的根,在卡片中唯一存在,相当于DOS 的根目录。EF(基本文件)建在DF 下,存储应用的各种数据和管理信息。DF(专有文件)一般仅相当于DOS 的子目录,但主文件MF 的一个DF 则代表了一个应用。MF 下和应用的根DF 下都有一KEF,用于存储密钥或PIN。MF 下的 DF 中建立的EF 和DF 都只能由该应用使用,其他应用不能访问。

  智能卡中的目录文件(MF 和 DF)仅由文件头标组成,EF 文件是由文件头标和文件体两部分组 成的。文件头中包含文件的标识、大小、访问权限和其他基本信息。文件头的长度是一定的。EF 的 文件体就是各种卡片应用所需的数据元。其大小是在文件创建时就确定的。

  1.2 文件访问以及文件管理

  所有EF 文件头中都含有属性字段,指明此文件的特殊信息。属性字段占两字节,字段中的每一 比特位代表一种属性。它们在创建时确定,不允许更改。目前只使用了前三个比特位,分别是:

  1)可删除属性。此属性位为1 表示可以被删除,0 表示不可被删除。

  2)可写属性。此属性位为1 表示可以被修改,0 则表明此文件为只读文件。

  3)可读属性。此属性位为1 表明此文件可以被浏览,0 表示不可以被浏览。

  应用要对文件访问需要达到一定的安全状态。当该应用的进程现有状态满足所需要状态,并且符 合和该文件的属性要求时,该进程才能访问文件。当前进程的安全状态是由其是否满足当前目录文件 下的KEF 中的相应密钥决定的。在MF 下仅有DF(应用目录),没有EF 文件,其KEF 则只含有创 建密钥,读密钥,删除密钥。而一般的KEF 文件中含有四个密钥,分别是读密钥,写密钥, 创建密 钥,删除密钥。

  为了方便文件管理,有一些典型变量要保存在 RAM 中,把这些变量封装成一个结构体CMB, 放在进程的PCB 中。一个 CMB 块包含如下变量:1)mfhead。此变量总指向最高层MF 文件头地址。 2)mfsecurity。此变量表明MF 达到的安全状态。其初始值在进程建立时赋值。3)dfsecurity。此变量 表明现行选择的DF 达到的安全状态。其初值在进程建立时赋值。4)currentdf、 currentwef。这两个 变量分别为当前DF、当前WEF 文件头地址。在进程时它们的值为NULL,在进程运行过程中由 SELECT 命令显式赋值。5)currentrecord_adr。此变量在当前WEF 为记录结构时使用,它指向当前使 用记录号, 如为透明文件,无效地址。在进程建立或者重新选择WEF 时,其值被赋为0。由记录结构 WEF 读、写命令更改。6)currentef_kef。此变量为当前DF 下KEF 文件头地址。当创建进程时,就 会创建一个CMB 块,其 currentdf 被赋为当时正在访问的DF,安全状态被赋为0。如果 currentdf 为 0 时,表示当前的工作目录为MF。

  1.3 EEPROM 的划分该智能卡的EEPROM 大小为 256K,其中分为应用数据区(32K),应用代码去(160K),系统区 (16K)以及交换区(48K)。

应用数据区存放

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top