当前位置:首页 > 工业控制 > 工业控制
[导读]摘要:本文根据ISO7816国际标准,设计了智能卡文件类型及组织结构、文件访问及管理,同时详细设计了文件系统中文件分配表和文件管理指令,使其可以满足动态存储应用的需求。  0 引言  智能卡或称 IC 卡,英文名称为

摘要:本文根据ISO7816国际标准,设计了智能卡文件类型及组织结构、文件访问及管理,同时详细设计了文件系统中文件分配表和文件管理指令,使其可以满足动态存储应用的需求。

  0 引言

  智能卡或称 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)。

  应用数据区存放着应用的配置数据,并且都是以文件的形式存储的。应用数据区的 EEPROM 是 以页的形式动态分配给各个应用,每页大小为32 字节。每个文件的页地址信息由文件分配表详细记 录。应用代码区存放着应用的运行代码。应用代码区分为40 块,每块大小为4K。块和应用是一一对 应的关系,即每块对映一个应用。系统区:存放操作系统的信息以及用于管理应用及文件的一些系统 表:应用使用表,文件分配表,文件打开表,数据区使用表。文件打开表是用来防止读写冲突的,当 某文件正在被改写时,需要给该文件上锁,等对该文件操作完成后再对该文件解锁。

  数据区使用表记录了应用数据文件在数据区的存储情况,当一个应用要访问某一个数据文件时,需要查看该表,检查 该文件是否属于该应用,防止应用篡改其他应用的数据文件。操作系统的信息用超级块记录。交换区 就是当内存不足时,使用交换区来扩充内存。

  2 文件系统

  2.1 文件分配表

  该操作系统中,文件系统仅设计到应用数据区,和应用系统区以及应用代码去无关,所以文件系 统占32K 的EEPROM 空间。数据区是以页的形式分配给文件的,每页大小是32 字节,共设有1024 页。存储在系统区的文件分配表占用1K 空间。分配表如图2 所示:该表一共有1024 页(用十六进制 表示),第1 页代表数据区的前32 个字节,以后依次类推。当表项为FFFF,表示文件结束。当记录 为FFFE 时,该页可用。每页的表项记录该文件下一页的页码。如图所示。该文件占用的页码分别是 1,0xC,0xD,0x10,0x14。

  2.2 文件管理的指令

  1)SELECT FILE(选择文件):建立文件成功后,才能进行文件选择,面向对象文件管理系统要 求在文件被选中之后才可以进行存取处理。文件选择就是通知操作系统即将对哪个文件进行访问。新 文件的成功选择将导致前面的选择无效。这就意味着在任何时候被选中的文件只有一个。该文件系统 的支持根据文件的FID 进行文件的选择。

  2)CREATE FILE(创建文件):该命令允许在智能卡中建立EF、KEF、DF。在执行该命令之前, 必须先达到特定的安全状态。在创建时,判断创建地址是否有效,即CMB 块的相应地址。同时创建 时会影响目录树的结构,可能需要修改其父亲节点或者其兄弟节点,因此要检测所影响的结点是否可 以访问,如果需要修改的节点不可被访问,该命令则不能执行。对于EF 和KEF,他们都拥有文件体, 则根据其大小具体分配。在申请页面时,一次把所需要的页数全部分配给该文件,并且在文件分配表 里建立好映像。然后文件系统再根据文件分配表,把文件体写入EEPROM 中。

  3)DELETE FILE(删除文件):是把指定的智能卡的文件从存储器中删除,其释放的存储空间由 操作系统收回。文件系统的文件是存储在应用数据区,因此该命令的操作对象是数据区的文件,并不 涉及其他存储区域的数据。MF 为文件系统的根目录,是不可被删除的。

  KEF 为DF 中的密钥文件, 仅删除KEF 会对其上层DF 造成极大的安全隐患,因此不提供单纯的删除KEF 操作,把该操作是嵌 入在删除DF。该命令分为两类:删除DF 和删除EF。删除DF 函数仅删除没有子DF 文件的DF 文件, 如果所删除的DF 具有直接子DF 文件(可以有EF 文件),则DF 不能直接删除,需要首先删除子DF文件,然后再使用本函数删除。该操作会影响其父亲节点或兄弟节点以及子EF 节点,所以删除之前 需要查看文件打开表,检查这些文件是否可以访问,如果有不可以访问的节点,则退出返回相应的错 误信息。

  当然执行该操作之前,必须达到一定的要求安全状态。删除EF 时,操作对象是CMB 块中 的当前工作文件EF,因此要删除某EF 之前需要先选择该文件。如果当前工作文件地址无效,则返回 相应的错误信息。当然执行该操作之前,必须达到一定的要求安全状态并且该EF 具有可删除属性。

  4)VERIFY 命令用来把传送给智能卡的秘密对象和所存储的基准值相比较,根据比较结果,改 变CMB 块中的安全状态。该操作系统的密钥存储在密钥文件KEF 中,位于MF 的KEF 被用来作为 智能卡中所有应用通用的密钥,如果是DF 的KEF,则它仅可用于在DF 内的有关应用,即应用的专 用密钥。

  该命令的操作对象默认为CMB块中指向的当前所使用密钥文件。一般的密钥文件含有四个密钥, 分别是:(1)浏览密钥:满足该密钥后,可以读该目录下的所有EF 文件和子DF 头标。(2)更新密 钥:满足该密钥后,可以在该目录下的所有EF 文件中执行更新操作。(3)删除密钥:满足该密钥后, 可以在该目录下执行删除操作。(4)创建操作:满足该密钥后,可以在该目录下执行删除操作。因此, verify 函数就是判断其满足相应的密钥,然后改变CMB 块中的安全状态,使其可以执行后需操作。

  对于每一个密钥都有一个重试计数器。对于肯定的比较结果,它被赋予零,对于否定的比较结果, 它增量1。如果重试计数器达到对大值,则绝对没有任何可能再进行对密钥的进一步比较。为了保证 安全,先对计数器字段加一并写入到记录中。然后比较读出密钥和输入密钥是否匹配。匹配则将0 写 入到记录的计数器字段中,并将安全状态设置为OK 结果状态。否则将安全状态设置为NOK 结果状 态,并返回允许尝试的剩余次数或记录被锁。

  3 结论

  本文研究并设计动态多应用智能卡文件系统。利用文件分配表为每个文件建立映像,利用 CMB 块进行文件管理,设置文件访问机制保证了每个应用的读写安全,最后详细设计文件操作命令,使得 应用可以对文件进行建立,删除等操作。

  本文作者创新点:本文借鉴了DOS 系统的文件系统,设计了符合动态多应用智能卡要求的文件系统。

 

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭