This page was saved using WebZIP 7.0.3.1030 offline browser on 06/17/20 18:47:46.
Address: http://solution.yktchina.com/2010-10/9476bbc92b524625add23fa3cc85c801.html
Title: 智能卡内核的文件系统设计方案 - 中国一卡通网  •  Size: 39818  •  Last Modified: Fri, 20 Jun 2014 06:38:25 GMT
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

智能卡内核的文件系统设计方案

来源:中国一卡通网  作者:车平跃  发布时间:2010-10-27 10:43:28  字体:[ ]

关键字:智能卡  IC卡  内核  文件系统  

摘   要:随着IC卡从简单的同步卡发展到异步卡,从简单的EPROM卡发展到内带微处理器的智能卡(又称CPU卡),对IC卡的各种要求越来越高。

    1 引言
 
    随着 IC 卡从简单的同步卡发展到异步卡,从简单的EPROM 卡发展到内带微处理器的智能卡(又称CPU 卡),对IC 卡的各种要求越来越高。而卡本身所需要的各种管理工作也越来越复杂,因此就迫切地需要有一种工具来解决这一矛盾,而内部带有微处理器的智能卡的出现,使得这种工具的实现变成了现实。人们利用它内部的微处理器芯片,开发了应用于智能卡内部的各种各样的操作系统。COS 的出现不仅大大地改善了智能卡的交互界面,使智能卡的管理变得容易;而且,更为重要的是使智能卡本身向着个人计算机化的方向迈出了一大步,为智能卡的发展开拓了极为广阔的前景。
 
    COS 的全称是Chip Operating System(片内操作系统),它一般是紧紧围绕着它所服务的智能卡的特点而开发的。由于不可避免地受到了智能卡内微处理器芯片的性能及内存容量的影响,因此,COS 在很大程度上不同于我们通常所能见到的微机上的操作系统(例如DOS、UNIX 等)。
 
    COS 的主要功能是控制智能卡同外界的信息交换,管理智能卡内的存储器并在卡内部完成各种命令的处理。其中,与外界进行信息交换是COS 最基本的要求。在交换过程中,COS 所遵循的信息交换协议目前包括两类:异步字符传输的T=0 协议以及异步分组传输的T=l 协议。这两种信息交换协议的具体内容和实现机制在IS0/IEC78l6-3 和IS0/IEC7816-3A3 标准中作了规定;而COS 所应完成的管理和控制的基中功能则是在ISO/IEC78l6-4 标准中作出规定的。在该国际标准中,还对智能卡的数据结构以及COS 的基本命令集作出了较为详细的说明。至于 IS0/IEC78l6-l 和2,则是对智能卡的物理参数、外形尺寸作了规定,它们与COS 的关系不是很密切。
 
    2 文件系统
 
    2.1 文件系统概述
 
    整张卡片包含3 种基本文件结构:
 
    MF(Master File)文件:是整个文件系统的最高级,可以包含若干的DF 和EF 文件,卡片中只能有一个MF 文件。它是在卡的个人化过程被首先建立起来,在卡的整个生命周期内一直保持有效,可存储卡片的公共数据信息并为各种应用服务。卡片复位后,自动选择MF 文件为当前文件。

    DF(Dedicated File)文件:是MF 或DF 的下一级,包含用户设置的系统信息和应用相关数据,在MF 下DF 的数量只取决与卡片容量和用户的应用,它也可以包含若干的DF。
 
    EF(Elementary File)文件:是文件结构的末端,只包含系统信息、内部数据或用户数据。EF 文件从存储内容上分为三类:密钥文件、工作基本文件和ATR 文件。文件系统结构图如下: 


图1 文件系统结构图

    2.2 文件结构 

    2.2.4 文件指针
 
文件指针共6 字节:2 字节的父目录指针+2 字节的子目录的指针+2 字节的EF 指针,所有指针都指向文件头的首地址,在卡片刚上电或选择了MF 之后,2 字节的父目录指针为空(00 00),2 字节的子目录的指针为MF 的首地址;在任意选择某个目录(按部分AID 选择下一个DF 除外)后,原来的子目录设置为父目录,新选择的目录设置为子目录,同时EF 指针置为空(00 00);在任意位置选择EF 文件后,都只设置EF 指针,不影响父目录和子目录指针。如果是按部分AID 选择下一个DF,则父目录不改变,只改变重新设置子目录和EF 指针。
 
    2.3 EF 文件 

    2.3.1 文件类型 

     2.3.2 循环文件
    假设已经建立一个记录数=10 的循环文件,如果没有写入任何记录,则当前记录指针=80。(bit7=1,表明当前记录未写满)
    如果追加了(Append Record)4 条记录,则当前记录指针=84。在成功选择这个文件后,内存记录指针CP=00,具体操作(读或更新)如下:
    如果操作第一条记录:则操作第4 条记录,操作成功后,设置CP=4。
    如果操作最后一条记录:则操作第1 条记录,操作成功后,设置CP=1。
    如果操作下一条记录:
    如果CP=00,则操作第4 条记录,操作成功后,设置CP=4。
    如果CP!=00,则操作第CP-1 条记录,当CP=1,返回错误状态码,否则操作成功后,设置CP=CP-1。
    如果操作上一条记录:
    如果CP=00,则操作第1 条记录,操作成功后,设置CP=1。
    如果CP!=00,则操作第CP+1 条记录,当CP=当前记录指针,返回错误状态码,否则操作成功后,设置CP=CP+1。
    如果假设又追加了10 条记录,则当前记录指针=04(在追加第7 条记录时,因为空间已满必须覆盖第1 条,写成功后同时设置当前记录指针最高位=0)在成功选择这个文件后,内存记录指针(CP)=00,具体操作如下:
    如果操作第一条记录:则操作第4 条记录,操作成功后,设置CP=4。
    如果操作最后一条记录:则操作第5 条(当前记录指针+1)记录,操作成功后,设置CP=5。
    如果操作下一条记录:
    如果CP=00,则操作第4 条记录,操作成功后,设置CP=4。
    如果CP!=00,则操作第CP-1 条记录,当CP=1,操作CP=10 的记录,操作成功后,设置CP=10(总记录数);当CP-1=当前记录指针,返回错误状态码。
    如果操作上一条记录:
    如果CP=00,则操作第5(当前记录指针+1)条记录,操作成功后,设置CP=5。
    如果CP!=00,则操作第CP+1 条记录,当CP=10(总记录数),操作CP=1 的记录,操作成功后,设置CP=1;当CP=当前记录指针,返回错误状态码。(以上返回的错误状态码=6A83)执行APPEND RECORD 命令时,将新记录写入当前记录指针+1 的位置(只在执行APPEND RECORD 命令成功后才修改当前记录指针),例如,如果当前文件为空(当前记录指针=80),那么写完新记录后,当前记录指针应为81,每次写完当前记录指针都加1。
    如果当前记录指针=8A(刚好写满文件),再写入新记录后,当前记录指针变为01。 

    2.3.3 定长记录文件
    假设已经建立一个记录数=10 的定长记录文件,如果没有写入任何记录,则最后记录指针=00,如果追加了4 条记录,则最后记录指针=4。在成功选择这个文件后,内存记录指针(CP)=00,具体操作如下:
    如果操作第一条记录:则操作第1 条记录,操作成功后,设置CP=1。
    如果操作最后一条记录:则操作第4 条记录,操作成功后,设置CP=4。
    如果操作下一条记录:
    如果CP=00,则操作第1 条记录,操作成功后,设置CP=1。
    如果CP!=00,则操作第CP+1 条记录,当CP=最后记录指针,返回错误状态码,
    否则操作成功后,设置CP=CP+1。
    如果操作上一条记录:
    如果CP=00,则操作第4 条记录,操作成功后,设置CP=4。
    如果CP!=00,则操作第CP-1 条记录,当CP=1,返回错误状态码,否则操作成功后,设置CP=CP-1。
    说明:定长文件全部写满后,不可再使用追加记录命令(Append Record),只能更新记录(Update Record),否则返回6A84。 

    2.3.4 密钥文件
    只在MF 下有且只有一个密钥文件。个人化卡阶段,密钥以明文方式写入,在任何情况下,密钥均无法被读出。密钥文件标识为‘0000’,文件类型为bin 记录。
 
    在密钥文件中可以存放多个密钥,每个密钥为一条LV 结构变长记录。记录中规定密钥的标识、属性及密钥本身等相关内容。CHV 个数存放在密钥文件第一个字节位置。 

    2.4 ATR 文件
 
    ATR(Answer To Reset)文件是为了便于修改ATR 值而设置的。如果不存在,则使用SIM COS 缺省值。如果建立ATR 文件,并有ATR 数据,则使用文件中的数据。ATR 文件是在MF 下,文件标识为‘2F01’的二进制文件,文件内容第一字节表示后续ATR 数据的长度。(00 表示空文件)。满足读条件时,可以使用Read Binary 读取;ATR文件只能在创建文件时更新,使用Update Binary 写入复位应答内容。为保证卡片安全,其更新权限设为NEVER[3]。ATR 复位信息格式如下表:

    2.5 文件类型相关命令

    3 总结
 
    智能卡中的“文件”概念与我们通常所说的“文件”是有区别的。尽管智能卡中的文件内存储的也是数据单元或记录,但它们都是与智能卡的具体应用直接相关的。一般而言,一个具体的应用必然要对应于智能卡中的一个文件,因此,智能卡中的文件不存在通常所谓的文件共享的情况。而且,这种文件不仅在逻辑广必须是完整的,在物理组织上也都是连续的。此外,智能卡中的文件尽管也可以拥有文件名,但对文件的标识依靠的是与卡中文件—一对应的文件标识符,而不是文件名。因为智能卡中的文件名是允许重复的,它在本质上只是文件的一种助记符,并不能完全代表整个文件。

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

需求意向: 咨询详细信息     如何采购     代理方式     合作方式     其它需求 *
您的姓名:
* 电话: * email: *
公司名称: *
留言内容: *
注:内容不能超出800字,有*号的为必填项,您所填写的联系信息我们保证只对你咨询的企业公布。
验 证 码: 如果看不清,可以点击这里换一个。*
 

推荐方案

论坛热帖