一种智能卡安全文件系统的生成方法_2

文档序号:8259441阅读:来源:国知局
优选,目录的选择方法为:
根目录选择采用默认方式,第一个目录控制项中存放根目录的相关信息,且为文件系统的根;除根目录外,任何一个目录一定是另一个目录的子目录或同级目录,任何一个文件一定是某一目录下的文件,根据目录与目录的相互隶属关系,采用目录标识符或者目录名,从当前目录控制项的NDLHP指针指向的目录控制项开始,到NDLTP指针指向的目录控制项终止,在其目录链表中查找相同目录标识符或者目录名;若查找到相同目录标识符或者目录名,则被选择的目录存在,将选中目录控制项中的各参数作为目录访问条件,且该目录成为当前目录,否则所要选择的目录不存在于当前目录的子目录中。
[0014]作为优选,文件的选择方法具体为:
当选择某一目录后,则可进行相应的文件选择;以当前目录控制项中文件链首指针开始,到文件链尾指针终止,依次将各文件控制项中的文件标识符与选择文件命令中给出的文件标识符相比较,若相等则所要选择的文件存在并选中该文件,将文件控制项中的相关控制参数作为文件访问控制条件,否则所要选择的文件不存在于当前目录下。
[0015]作为优选,目录的删除方法具体为:
第一步,选择要删除的目录,并判断该目录是否包含下级目录或是否为同层目录的最后一个目录,若不是则禁止执行删除目录操作,否则执行下一步;
第二步,依据文件链首指针和文件链尾指针,依次修改各文件控制块为空,即将文件控制项中除文件控制项首地址外其余各控制参数设置为FFH,并重新计算CRC校验码;
第三步,以目录控制块中目录数据首地址为起始地址,对偏移量为目录申请空间大小的数据存储区执行擦除操作,擦除该目录下所有文件存储的数据;
第四步,释放该目录申请的数据存储空间,即将该目录申请的存储器空间(SDAS)释放给父目录的目录剩余空间首地址(PDRSHA),即pdrsha=pdrsha- sdas ;
第五步,释放子目录控制项和文件控制项,依据下级目录链首指针和下级目录链尾指针,将下级目录链尾指针指向被删除目录的上一个目录控制项首地址,且上个目录的同级目录设置为空,即NDLTP =被删除子目录的上一个DCFA,NDLTP — PDP=空;同时将删除目录的控制项除DCFA外其余各参数设置为FFH,并重新计算所有修改过参数的目录控制项的CRC校验码,至此,该目录删除完毕。
[0016]作为优选,文件删除方法具体为:
第一步,选择要删除的文件,并判断该文件是该目录的最后一个文件,若不是则禁止执行删除文件操作,否则执行下一步;
第二步,释放文件占用的数据存储空间,以文件控制项中文件首地址为起始地址,文件存储空间为偏移量,对文件存储的数据存储空间进行擦除操作,并将文件存储空间释放到目录的剩余空间地址中,即drsha=drsha -删除文件的fss ;
第三步,释放文件控制项,依据目录控制项中文件链首指针和文件链尾指针,修改文件链尾指针指向被删除文件的上一个文件控制项,同时上一个文件控制项中的文件链指针设置为空,即FLTP=被删除文件的上一个文件控制项首地址,TLTP — FLP=空;被删除文件的文件控制项除FCFA外其余各参数设置为FFH,所有修改过的目录控制项和文件控制项重新计算CRC校验码,至此,目录下最后一个文件删除完成。
[0017]本发明具有如下积极效果:
本发明实现了满足智能卡文件系统不同应用功能管理需求,且灵活构建多级目录与任意数量文件的前提下,增强智能卡文件系统的安全性和提高智能卡数据存储器的利用率。
[0018]本发明通过集中动态设置目录控制项和文件控制项的参数,在数据存储器空间允许的前提下能满足智能卡多级目录隶属关系和任意文件数量的需要,提高了文件系统的安全性、灵活性、可扩展性和可操控性,便于文件系统控制参数的备份。文件数据存储空间的管理粒度以智能卡CPU的字长为最小单位,改善了文件系统的查找与读写速度,提高了数据存储器的利用率,同时构建起不同应用之间、各文件之间的“防火墙”功能,能有效抵御存储器溢出攻击对文件系统安全性的威胁。
【附图说明】
[0019]图1为本发明目录控制项的数据结构示意图。
[0020]图2为本发明文件控制项的数据结构示意图。
[0021]图3为本发明的目录所属文件链及与数据存储器的对应关系图。
[0022]图4为本发明的多级目录隶属关系原理图。
【具体实施方式】
[0023]如图1所示,目录控制项由目录控制项首地址(DCFA)、目录标识符(DirlD)、同级目录指针(PDP)、下级目录链首指针(NDLHP)、下级目录链尾指针(NDLTP)、目录剩余空间首地址(DRSHA)、文件链首指针(FLHP)、文件链尾指针(FLTP)、目录数据首地址(DDHA)、目录申请空间(DAS)、目录其他控制参数(DOCP)和CRC校验码组成。
[0024]目录标识符由2字节组成,根目录标识符规定为3R)0,目录标识符是查找目录是否存在的参数之一,每个目录必须有一个目录标识符,且同级目录的目录标识符不能相同。同级目录指针指向同级目录的目录控制项,当该指针为空时表明该目录控制项是同级目录控制链中最后一个,因此,根目录的目录控制项中同级目录指针永远为空。下级目录链首指针指向该目录的第一个下级目录控制项的首地址,该指针为空时,表明该目录没有下级目录。下级目录链尾指针指向本目录最后一个下级目录控制项的首地址,下级目录链尾指针指向的目录控制项中的同级目录指针一定为空。文件链首指针指向本目录下第一个文件的文件控制项首地址,文件链尾指针指向本目录下最后一个文件的文件控制项首地址,目录申请空间为本目录下所有文件数据存储空间之和,目录剩余空间首地址为已分配给创建文件和目录后还余下的文件数据存储区首地址,该目录在未创建任何目录和文件时,目录剩余空间首地址等于目录数据首地址(DRSHA=DDHA),目录下第一个文件控制项中的文件数据首地址为该文件数据在数据存储空间首地址,也是本目录的目录数据首地址,上述指针和地址根据存储器寻址方式和智能卡性能确定其长度。其他控制参数包括目录名长度和目录名、目录创建权限、目录删除权限、目录访问权限、目录创建时间等,根据目录的具体应用需要确定其参数数量和各参数的长度,2字节的CRC校验码是对目录控制项前面所有字节运算得到的校验码。
[0025]如图2所示,文件控制项由文件控制项首地址(FCFA)、文件标识符(FID)、文件链指针(FLP)、文件类型(FT)、文件数据首地址(FDFA)、文件存储空间(FSS)、读操作权限(RP)、写操作权限(WP)、文件其他控制参数(FOCP)和CRC码组成。其中,文件标识符由2字节组成,它是查找文件的唯一参数即文件名,同一目录下的文件标识符不能相同。文件链指针指向本目录下的下一个文件控制项首地址,构成本目录下所有文件控制项的前后关系。文件数据首地址指向本文件数据在数据存储空间的第一个字节地址,也是文件访问智能卡数据存储器的上界。文件存储空间定义了文件需要存储的数据量,与文件数据首地址结合规定了文件访问智能卡数据存储器的下界,文件访问智能卡数据存储器的上界与下界共同构成了同层文件之间数据访问的“防火墙”。文件类型规定文件存储数据的结构,一般有二进制文件、定长记录文件、变长记录文件、循环文件、密钥文件等类型。读操作权限和写操作权限规定对文件数据进行读写操作时,智能卡操作系统所处的安全状态。其他控制参数根据文件功能与类型不同进行定义,如记录数、记录号、记录指针、删除权限、终止权限、记录长度、创建时间、最后修改时间等。2字节的CRC校验码是对文件控制项前面所有字节运算得到的校验码。
[0026]本发明基于目录控制项和文件控制项,通过构建目录与目录之间的隶属关系以及文件从属于目录的方法,完成智能卡操作系统中文件系统组织与管理。卡预初始化时,根据目录数量和文件数量,在文件控制区创建相应数量的目录控制项表和文件控制项表,为创建具体应用的目录控制链表和相应的文件控制链表做准备,同时也是构建目录与目录之间、目录与文件之间隶属关系的基础。
[0027]如图3所示,文件隶属于目录,目录控制项中的文件链首指针和链尾指针分别指向本目录下第一个文件和最后一个文件的文件控制项首地址,而隶属于该目录的所有文件控制项通过第一个文件控制项的文件链指针依次指向下一个文件的文件控制项首地址。因而,通过目录控制项中的文件链首指针、文件链尾指针与文件控制项中的文件链指针,将目录下的所有文件链接在一起,即通过目录控制项和该目录下的文件控制项,能定位该目录下的每一个文件,而实现对指定文件的快速查找。文件控制项通过文件数据首地址和文件存储空间两个参数与智能卡的数据存储器地址相关联,这两个参数唯一确定了某文件数据在智能卡数据存储中的起始地址和存储空间大小,也构成了文件与文件之间数据访问控制的“防火墙”。
[0028]在目录下创建文件时,首先判断目录下没有同名文件存在并查找到一个空的文件控制项,然后判断目录剩余空间能否满足文件数据存储空间的需要,若目录剩余空间小于文件数据存储空间,则禁止该目录下本次文件的创建;否则,在该目录下创建一个文件,若创建的文件为该目录的第一个文件,则目录控制项中的文件链首指针和文件链尾指针同时指向文件控制项的首地址,其他文件创建时文件链尾指针指向的文件控制项的文件链指针指向创建文件控制项首
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1