"); //-->
刚开始接触CPU卡的时候,对于各种文件、应用的定义容易模糊不清,通常不能准确地界定什么是文件?什么是应用?DF和EF的区别真的就像计算机里的目录和文档那样吗?FID、AID、SFI这些概念都在什么时候派上用场?一个EF必须依存于某个DF吗?MF是必须存在的吗?脑海里会有无数个问号奔腾而来。
其实文件的本质就是一组一组的数据而已,对这些数据的操作(选择、读取、写入/更新)是通过特定的文件操作APDU命令来完成的。所以数据才是本真,文件只是表象。某一组数据该作为什么样的文件让外界来访问,是由卡片的COS决定的。
按照规范的约定DF指的是专用文件Dedicated File的缩写,DF的作用可以等同于计算机中的目录文件,EF则是基本信息文件Elementary File,也就是说通常情况下和应用相关的数据都会存放于EF中。
为了对文件进行访问,需要给文件分配一个特定的标识。无论是DF还是EF都会有对应的两个字节长ID标识,也就是所谓的FID。而DF还会有5-16个字节长的名字,也叫做AID。EF还会有一个5位长(范围从1到30)的短文件标识,就是SFI。按照7816规范的定义,以及根据7816派生出来的一些行业应用规范的定义基本上都是这样的。无论是FID还是AID以及SFI,在可以选择的路径范围内(这句话可能稍微有点绕,体会后也就自然明白了),不同的文件(包括DF和EF)的取值都不能相同。
在一张卡片里(这里说的是卡片而不是某个应用)有且仅有一个特殊的DF,称为主文件MF,这个MF的FID默认为3F00,相当于计算机中的根目录,而且在任何时候MF都可以被选择。如果某个DF下没有子DF,只有若干EF,那么这个DF也被称作ADF,反之如果某个DF下除了有EF之外,还有子DF,那么这个父级的DF也被称作DDF。
在卡片的使用过程中,对于DF的操作只有“选择”一种而已,但是对于EF的操作则有:选择、读、写三种形式。
在文件选择操作过程中,对于DF的选择可以通过FID或者AID来实现,而对于EF的选择只有FID的方式。能够被选择的文件(无论是DF还是EF)必须在可见的路径范围内(这句话也有点绕)。
至于对EF文件的读、写可以通过SFI的方式直接进行,也可以先通过FID选择某个EF,然后再进行读写。
要特别强调的一点:以上说的这些都是和某些应用规范细细相关的,也和COS的实现细细相关。换句话说,如果你自己写一个满足某个特定应用的COS,你完全可以按照自己的意愿来。比如把MF的FID定义为8F00,比如EF也可以增加AID,比如卡片在任何时候都可以选择各级DF及其下属的EF,等等。。。。。。
总之,既要熟悉规范,但是又不能把某个行业应用的规范奉为号令天下的圣旨。
规范并不是试图对复杂的公钥基础设施结构的全部实施作出规定,而旨在为各国提供一种实施办法,使其能够在若干领域(如主动认证、防非法浏览和访问控制等)做出选择,从而可逐渐实施更多的功能,而又不会与整个架构不相容。
谁拥有技术,谁就拥有话语权;而话语权就是规范的制定。在别人的基础上开发,不仅仅是遵守,更多的是方便,在全球化大背景之下,规范是必不可少的;当然按部就班肯定是不好的,在学会实用的情况下,勇于探索才是我们应该不懈追求的!
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
技术咨询,请高手指点!
全球OLED手机面板市场:出货量前三国内厂商占两席
让AI用视觉认识世界,豆包发布并开源VideoWorld视频生成模型
请问:44b0的bios如何从flash跳到sdrom中运行
廉价的USB单片机
单片机电路设计的一些难点
TV信号转VGA信号电路图
U盘电路原理图
贸泽电子推出在线汽车资源中心,助力工程师实现创新设计
ZL9101M数字电源模块简介
设计功率器件中的散热考虑
想不做光棍,进来看看!
采用运算放大器TAA861的恒流源
Nordic的nPM2100电源管理IC延长了原电池供电蓝牙低功耗产品的电池寿命
usb转232电路
e络盟丰富开关系列满足市场需求
俺飞机上的邻座
采用集成稳压电路的恒流源
开关电源式高压恒流源电路图1
由MIC2951构成的低漂移恒流源电路
如何选择一个电源模块
TMS320LF2407DSP典型用户板原理图
采用运算放大器和达林顿晶体管的恒流源
ZL9101M数字功率模块节省电路板空间、降低物料成本
【行业方案】UWB终端生产测试方案简介
USB转并口、串口电路图(ch341).
最贵「苹果税」或将终止
Intersil Zilker Labs电源导航软件
是德科技推出完整的LPDDR6解决方案
【实践分享】多通道相参信号测试,选对工具很重要!