集成电路卡的数据操作方法及装置的制作方法

文档序号:6583969阅读:262来源:国知局
专利名称:集成电路卡的数据操作方法及装置的制作方法
技术领域
本发明涉及一种数据操作方法及装置,特别涉及一种集成电路卡的数据操作方法及装置。
背景技术
集成电路卡从接口方式上分,可以分为接触式集成电路卡、非接触式集成电路及复合卡。从器件技术上分,可分为非加密存储卡、加密存储卡。非加密卡没有安全性,可以任意改写出卡内的数据,加密存储卡在普通存储卡的基础上加了逻辑加密电路,成了加密存储卡。逻辑加密存储卡由于采用密码控制逻辑来控制对EEPROM的访问和改写,在使用之前需要校验密码才可以进行写操作,所以对芯片本身来说是安全的,但在应用上是不安全的。它有如下不安全性因素1、密码在线路上是明文传输的,易被截取;2、对于系统商来说,密码及加密算法都透明的;3、逻辑加密卡是无法认证应用是否合法的。假设有人伪造了银行ATM机,你无法知道它的合法性,当您插入信用卡,输入密码的时候,信用卡的密码就被截获了。再如在互联网上购物,如果用逻辑加密卡,购物者同样无法确定网上商店的合法性。
正是由于逻辑加密卡使用上的不安全因素,促使人们考虑发展带操作系统的集成电路卡,可以做到对人、对卡、对系统的三方的合法性认证。

发明内容
本发明的目的是提供一种集成电路卡的数据操作方法及装置,应用在集成电路卡上,可做到对人、对卡、对系统的三方的合法性认证。
一种集成电路卡的数据操作方法,包括以下步骤初始化步骤,初始化集成电路卡的工作区,集成电路卡的工作区主要用于临时工作数据的暂存;计算步骤,计算存储器中的系统控制信息的完整性,存储器主要存储应用程序和数据,系统控制信息包括但不限于起始地址、终止地址、卡片状态、操作系统的版本号、程序控制字节、CRC校验;完整性判断步骤,判断系统控制信息的完整性;程序控制步骤,对系统控制信息中的程序控制字节进行判断,决定或者执行存储器中的应用程序,或者准备相应协议的复位信息;复位响应判断步骤,判断是否建立复位响应文件;取响应数据步骤,取复位响应文件中的复位响应数据;发送步骤,发送复位响应数据;恢复步骤,恢复备份数据;协议判断步骤,判断通讯协议是否为T=0;传输步骤,卡接受由接口设备传输过来的命令头,命令头包括但不限于指令类型、指令代码、参数;指令判断步骤,判断是否特殊指令;状态判断步骤,判断卡片状态是否正确;清标志步骤,清工作标志;协议处理步骤,如果是T=0协议,则返回指令代码,发送应答数据;如果是T=1协议,则延时,设置节点地址的值和设置协议控制字节的值,发送应答数据;协议设置步骤,判断通讯协议标志,设置通讯协议类型;返回复位响应判断步骤。
一种集成电路卡的数据操作装置,包括以下装置初始化装置,初始化集成电路卡的工作区,集成电路卡的工作区主要用于临时工作数据的暂存;计算装置,计算存储器中的系统控制信息的完整性,存储器主要存储应用程序和数据,系统控制信息包括但不限于起始地址、终止地址、卡片状态、操作系统的版本号、程序控制字节、CRC校验;完整性判断装置,判断系统控制信息的完整性;程序控制装置,对系统控制信息中的程序控制字节进行判断,决定或者执行存储器中的应用程序,或者准备相应协议的复位信息;复位响应判断装置,判断是否建立复位响应文件;取响应数据装置,取复位响应文件中的复位响应数据;发送装置,发送复位响应数据;恢复装置,恢复备份数据;协议判断装置,判断通讯协议是否为T=0;
传输装置,卡接受由接口设备传输过来的命令头,命令头包括但不限于指令类型、指令代码、参数;指令判断装置,判断是否特殊指令;状态判断装置,判断卡片状态是否正确;清标志装置,清工作标志;协议处理装置,如果是T=0协议,则返回指令代码,发送应答数据;如果是T=1协议,则延时,设置节点地址的值和设置协议控制字节的值,发送应答数据;协议设置装置,判断通讯协议标志,设置通讯协议类型;返回复位响应判断装置。
本发明所述的数据操作方法及装置应用于集成电路卡,保证了卡的安全性。


图1至5为本发明所述的数据操作方法的流程图;图6为本发明所述的数据操作方法的文件结构图;图7为本发明所述的集成电路卡的硬件结构图。
具体实施例方式
如图7所示,EEPROM用于存放用户数据;ROM中用于存放集成电路卡的数据操作系统,而RAM区中用于存放数据操作时的中间变量。
如图1至7所示,一种集成电路卡的数据操作方法,包括以下步骤初始化步骤,初始化集成电路卡的工作区,集成电路卡的工作区主要用于临时工作数据的暂存;计算步骤,计算存储器中的系统控制信息的完整性,存储器主要存储应用程序和数据,系统控制信息包括但不限于起始地址、终止地址、卡片状态、操作系统的版本号、程序控制字节、CRC校验;完整性判断步骤,判断系统控制信息的完整性;程序控制步骤,对系统控制信息中的程序控制字节进行判断,决定或者执行存储器中的应用程序,或者准备相应协议的复位信息;复位响应判断步骤,判断是否建立复位响应文件;取响应数据步骤,取复位响应文件中的复位响应数据;发送步骤,发送复位响应数据;恢复步骤,恢复备份数据;协议判断步骤,判断通讯协议是否为T=0;传输步骤,卡接受由接口设备传输过来的命令头,命令头包括但不限于指令类型、指令代码、参数;指令判断步骤,判断是否特殊指令;状态判断步骤,判断卡片状态是否正确;清标志步骤,清工作标志;协议处理步骤,如果是T=0协议,则返回指令代码,发送应答数据;如果是T=1协议,则延时,设置节点地址的值和设置协议控制字节的值,发送应答数据;协议设置步骤,判断通讯协议标志,设置通讯协议类型;
返回复位响应判断步骤。
所述的完整性判断步骤,如果不完整,则锁卡并更新存储器中的系统控制信息,然后执行程序控制步骤;所述的程序控制步骤中执行存储器中的应用程序一般为集成电路卡使用者自己设定的加密程序。
所述的复位响应判断步骤,如果不建立复位响应文件,则将复位响应设置为芯片的序列号,然后执行发送步骤。
所述的协议判断步骤,如果通讯协议为T=1,则执行如下步骤接收地址步骤,接收节点地址;第一接收判断步骤,判断接收是否正确;第一超时判断步骤,判断是否超时;接收控制字节步骤,接收协议控制字节;第二接收判断步骤,判断接收是否正确;第二超时判断步骤,判断是否超时;接收长度步骤,接收数据域的长度;第三接收判断步骤,判断接收是否正确;第三超时判断步骤,判断是否超时;接收数据步骤,接收数据;接收校验步骤,接收校验和;校验判断步骤,判断校验和是否正确;然后返回指令判断步骤;所述的第一接收判断步骤,如果接收不正确,则置错误标志,然后返回接收控制步骤。
所述的第二接收判断步骤,如果接收不正确,则置错误标志,然后返回接收长度步骤。
所述的第三接收判断步骤,如果接收不正确,则置错误标志,然后返回接收数据步骤。
所述的校验判断步骤,如果校验和不正确,则置错误标志,然后返回接收指令判断步骤。
所述的指令判断步骤,如果不是特殊指令,则执行如下步骤查找步骤,查找命令类型表;查找判断步骤,判断查找是否成功;取命令表步骤,根据程序控制字节判断命令表的存放位置,相应的取EEPROM或ROM中的命令表;查找命令判断步骤,判断查找命令是否成功;命令类型判断步骤,判断命令类型是否成功;命令处理步骤,如果是T=0的协议,则返回指令代码,并判断是否接收数据,是则接收数据,否则直接执行命令判断步骤;命令判断步骤,判断是否满足执行条件;执行命令步骤,执行相应命令;返回复位响应判断步骤。
所述的查找判断步骤,如果查找不成功,则置错误代码,并返回复位响应判断步骤。
所述的查找命令判断步骤,如果查找不成功,则置错误代码,并返回复位响应判断步骤。
所述的命令类型判断步骤,如果不成功,则置错误代码,并返回复位响应判断步骤。
一种集成电路卡的数据操作装置,包括以下装置初始化装置,初始化集成电路卡的工作区,集成电路卡的工作区主要用于临时工作数据的暂存;计算装置,计算存储器中的系统控制信息的完整性,存储器主要存储应用程序和数据,系统控制信息包括但不限于起始地址、终止地址、卡片状态、操作系统的版本号、程序控制字节、CRC校验;完整性判断装置,判断系统控制信息的完整性;程序控制装置,对系统控制信息中的程序控制字节进行判断,决定或者执行存储器中的应用程序,或者准备相应协议的复位信息;复位响应判断装置,判断是否建立复位响应文件;取响应数据装置,取复位响应文件中的复位响应数据;发送装置,发送复位响应数据;恢复装置,恢复备份数据;协议判断装置,判断通讯协议是否为T=0;传输装置,卡接受由接口设备传输过来的命令头,命令头包括但不限于指令类型、指令代码、参数;指令判断装置,判断是否特殊指令;状态判断装置,判断卡片状态是否正确;清标志装置,清工作标志;协议处理装置,如果是T=0协议,则返回指令代码,发送应答数据;如果是T=1协议,则延时,设置节点地址的值和设置协议控制字节的值,发送应答数据;
协议设置装置,判断通讯协议标志,设置通讯协议类型;返回复位响应判断装置。
所述的完整性判断装置,如果不完整,则锁卡并更新存储器中的系统控制信息,然后执行程序控制装置;所述的程序控制装置中执行存储器中的应用程序一般为集成电路卡使用者自己设定的加密程序。
所述的复位响应判断装置,如果不建立复位响应文件,则将复位响应设置为芯片的序列号,然后执行发送装置。
所述的协议判断装置,如果通讯协议为T=1,则执行如下装置;接收地址装置,接收节点地址;第一接收判断装置,判断接收是否正确;第一超时判断装置,判断是否超时;接收控制字节装置,接收协议控制字节;第二接收判断装置,判断接收是否正确;第二超时判断装置,判断是否超时;接收长度装置,接收数据域的长度;第三接收判断装置,判断接收是否正确;第三超时判断装置,判断是否超时;接收数据装置,接收数据;接收校验装置,接收校验和;校验判断装置,判断校验和是否正确;然后返回指令判断装置;所述的第一接收判断装置,如果接收不正确,则置错误标志,然后返回接收控制装置。
所述的第二接收判断装置,如果接收不正确,则置错误标志,然后返回接收长度装置。
所述的第三接收判断装置,如果接收不正确,则置错误标志,然后返回接收数据装置。
所述的校验判断装置,如果校验和不正确,则置错误标志,然后返回接收指令判断装置。
所述的指令判断装置,如果不是特殊指令,则执行如下装置查找装置,查找命令类型表;查找判断装置,判断查找是否成功;取命令表装置,根据程序控制字节判断命令表的存放位置,相应的取EEPROM或ROM中的命令表;查找命令判断装置,判断查找命令是否成功;命令类型判断装置,判断命令类型是否成功;命令处理装置,如果是T=0的协议,则返回指令代码,并判断是否接收数据,是则接收数据,否则直接执行命令判断装置;命令判断装置,判断是否满足执行条件;执行命令装置,执行相应命令;返回复位响应判断装置。
所述的查找判断装置,如果查找不成功,则置错误代码,并返回复位响应判断装置。
所述的查找命令判断装置,如果查找不成功,则置错误代码,并返回复位响应判断装置。
所述的命令类型判断装置,如果不成功,则置错误代码,并返回复位响应判断装置。
上述的数据操作方法及装置应用于集成电路卡是以文件方式来管理的,如图6所示,文件结构包括主控文件(Master,MF),主控文件是整个文件系统的根,可看作根目录,每个集成电路卡有且只有一个主控文件,它是在卡的个人化过程中首先被建立起来的,在卡的整个生命周期内一直存在并保持有效,可存储卡的公共住处并为各种应用服务;由个人化建立起来的主控文件包括文件控制参数以及文件安全属性等信息;在物理上,主控文件占有存储空间包括MF文件头的大小以及MF所管理的EF和DF的存储空间;专用文件(Dedicated File,DF),在MF下针对不同的应用建立起来的一种文件,是位于MF之下的含有EF的一种文件结构(可看作文件目录),它存储了某个应用的全部数据以及与应用操作相关的安全数据;DF由创立文件命令建立,它的大小在建立后没有被确定,随其下建文件的空间大小而改变,对DF的建立操作由MF的安全属性控制;在DF下面不可再建立了DF,只能建立EF;为了保证各个DF的相互独立,只能从文件系统的MF层次选择一个DF,对DF下的数据进行的操作由各当前进系统的安全状态控制;基本文件(Elementary File,EF),基本文件存储了各种应用的数据和管理信息,它存在于MF或DF下;整个文件系统的空间在MF、DF和EF建立时被分配和确定,以后在物理上不会发生变化,当访问EF时,必须先选择相应的MF或DF;可以从文件系统的任何位置选择MF。
所述的基本文件从存储内容上分为两类安全基本文件和工作基本文件;安全基本文件(Secret Elementary File,SEF)的内容包括用于用记识别和与加密有关的保密数据(个人识别码、密钥等),卡将利用这些数据进行安全管理,SEF要在MF或DF建立后,才能建立,安全基本文件的内容不可被读出,但可使用专门的方法来写入或修改,在MF和每个DF下只能建立1个安全基本文件;工作基本文件(Working Elementary File,WEF)包含了应用的实际数据,其内容不被卡解释,在符合WEF的读、修改安全属性时,可对其内容进行读取、修改,工作文件的个数和大小受到MF或DF所拥有空间的限制。
所述的基本文件的结构包括二进制结构,二进制文件为一个数据单元序列,数据以字节为单位进行读写,其中的数据结构则由应用解释;线性定长记录文件结构,这种结构以固定的长度来处理每条记录;通过逻辑上连续的记录号,可访问这类记录,记录号的范围是1至254,记录长度最长为249字节;每次访问只对一条记录进行操作,而且必须严格遵守记录长度的规定,
线性这长记录文件结构,在这类结构中,每条记录的垂度可以各不相同;仍然是以记录号为访问各条记录。在读记录时,操作与线性定长记录的相同,写记录时可以与原记录长度不同,但不能超过原记录长度;添加记录时,记录的长度不能超过最大记录长度(249字节)的规定;循环定长记录文件结构,一类特殊的定长记录文件结构;在逻辑上,这类文件可看作一个环形记录队列,记录按照先进先出的原则存储;添加记录时,最新一次写入的记录的记录为1,上一次写入的记录的记录号为2,依次类推;记录的个数与预留的记录的记录空间大小以及记录的长度相关,记录个数=记录空间大小整除记录长度;此外还有一些只能特殊使用的文件类型,如ATR、钱包文件、存折文件、密钥文件等,但其文件结构也不超出以上四种文件的类型。
所述的文件组织如下主控文件含有但不限于下列数据文件名,文件标识符,所属文件的管理权限,所属专用文件的链表,所属基本文件的链表,卡片的可用空间地址,卡片的状态;专用文件含有不限于下列数据文件名,文件标识符,所属文件的管理权限,所属专用文件的链表,下一个专用文件的链表,所属基本文件的链表,专用文件的状态;基本文件含有但不限于下列数据文件名,文件标识符,基本文件的安全条件,基本文件的状态,文件长度或记录数和记录长度,记录指针;各文件间与指针的形式实现相互间的联系。
我们以一套系统的发卡的过程来解释上述的方法及装置1、根密钥卡及其认证卡生成流程根密钥卡生成流程根密钥卡发卡流程描述校验生产商认证卡的PIN00 20 00 00 02 XX XX用生产商认证卡鉴别每一张IC卡的有效性,建立MF文件80 E0 00 00 0X XX XX XX XX XX XX创建复位应答文件给根密钥卡分配10字节序列号,第一字节为卡片类型,根密钥卡类型为01,后9个字节为序列号,每张卡片具有唯一序列号,序列号由00 00 00 00 00 00 00 00 01开始分配。
80 E0 02 00 07 00 01 04 0F F0 00 0A00 D6 00 00 0A 86 38 XX XXMF下创建KEY文件,安装和更新密钥的形式为密文+MAC,文件类型为C580 E0 02 00 00 07 00 02 C5 F0 11 10 00在生产商传输密钥的控制下装载根密钥卡的主控密钥。
使用密钥生产商传输密钥;加密数据主控密钥的密钥信息;MAC初始值4字节随机数+00 00 00 00。
主控密钥由特殊算法生成。
在主控密钥的控制下装载根密钥。
使用密钥主控密钥;加密数据根密钥的密钥信息;MAC初始值4字节随机数+00 00 00 00。
根密钥由特殊算法生成。
在主控密钥的控制下装载外部认证密钥。
使用密钥主控密钥;加密数据外部认证密钥的密钥信息;MAC初始值4字节随机数+00 00 00 00。
外部认证密钥由特殊算法生成。
在主控密钥的控制下装载应用维护密钥。
使用密钥主控密钥;加密数据应用维护密钥的密钥信息;MAC初始值4字节随机数+00 00 00 00。
应用维护密钥由特殊算法生成。
在主控密钥的控制下装载传输密钥。
使用密钥主控密钥;加密数据传输密钥的密钥信;MAC初始值4字节随机数+00 00 00 00。
在MF下创建二进制文件0003,文件类型为00,并将根密钥卡的发卡信息写入保存。
80 E0 02 00 07 00 03 00 11 11 00 2000 D6 00 00 0X XXXXXXXXXXXMF创建结束。
80 E0 00 01 02 3F 00根密钥认证卡生成流程根密钥认证卡发卡流程描述用生产商认证卡鉴别每一张IC卡的有效性,建立MF文件80 E0 00 00 0X XX XX XX XX XX XX创建复位应答文件给根密钥认证卡分配10字节序列号,第一字节为卡片类型,根密钥认证卡类型为02,后9个字节为序列号,每张卡片具有唯一序列号,序列号由00 00 00 00 00 00 00 00 01开始分配。
80 E0 02 00 07 00 01 04 0F F0 00 0A00 D6 00 00 0A 86 38 XX XXMF下创建KEY文件,安装和更新密钥的形式为密文+MAC,文件类型为C580 E0 02 00 00 07 00 02 C5 F0 11 10 00在生产商传输密钥的控制下装载根密钥认证卡的主控密钥。
使用密钥生产商传输密钥;加密数据主控密钥的密钥信息;MAC初始值4字节随机数+00 00 00 00。
在主控密钥的控制下装载PIN、SPIN(由系统安全管理员输入)。
使用密钥主控密钥;加密数据PIN、SPIN的密钥信息;MAC初始值4字节随机数+00 00 00 00。
在主控密钥的控制下装载内部认证密钥。使用密钥主控密钥;加密数据内部认证密钥的密钥信息;MAC初始值4字节随机数+00 00 00 00。内部认证密钥值与根密钥卡外部认证密钥值相同。在主控密钥的控制下装载MAC加密密钥。使用密钥主控密钥;加密数据MAC加密密钥的密钥信息;MAC初始值4字节随机数+00 00 00 00。MAC加密密钥值与根密钥卡传输密钥值相同。MF创建结束80 E0 00 01 02 3F 002、主密钥卡及其认证卡生成流程主密钥卡生成流程主密钥卡发卡流程描述校验生产商认证卡的PIN00 20 00 00 02 XX XX从生产商认证卡读取传输代码根密钥卡与根密钥认证卡相互认证根密钥认证卡校验PIN 00 20 00 00 02 XXXX根密钥卡取随机数00 84 00 00 04根密钥认证卡内部认证00 88 00 00 08随机数+00 00 00 00根密钥卡外部认证00 82 00 02 08 XXXXXXX替换根密钥卡的传输密钥根密钥卡取随机数00 84 00 00 04根密钥认证卡DES初始化80 1A 08 01 00DES计算80 FA 00 00 18 XXXXXXXXXXDES初始化80 1A 08 01 00MAC计算80 FA 00 02 0X XXXXXXXXXX根密钥卡修改密钥84 D4 0E 01 0X XXXXXXXXX替换根密钥认证卡的MAC加密密钥根密钥认证卡取随机数00 84 00 00 04根密钥认证卡DES初始化80 1A 08 01 00DES计算80 FA 00 00 18 XXXXXXXXXXDES初始化80 1A 08 01 00
MAC计算80 FA 00 02 0X XXXXXXXXXX根密钥认证卡修改密钥84 D4 08 01 0X XXXXXXXXX建立MF文件,鉴别每一张IC卡的有效性80 E0 00 00 0X XX XX XX XX XX XX创建复位应答文件给主密钥卡分配10字节序列号,第一字节为卡片类型,主密钥卡类型为03,后9个字节为序列号,每张卡片具有唯一序列号,序列号由00 00 00 00 00 00 00 00 01开始分配。
80 E0 02 00 07 00 01 04 0F F0 00 0A00 D6 00 00 0A 86 38 XX XXMF下创建KEY文件,安装和更新密钥的形式为密文+MAC,文件类型为C580 E0 02 00 00 07 00 02 C5 F0 11 10 00在生产商传输密钥的控制下装载主密钥卡的主控密钥。
使用密钥生产商传输密钥;加密数据主控密钥的密钥信息;MAC初始值4字节随机数+00 00 00 00。
主控密钥由特殊算法生成。
通过根密钥对城市ID分散得到主密钥卡的主密钥,并在主控密钥的控制下装入KEY文件。
密钥导出使用OUT KEY命令,导出方式为密文分散导出方式(P1=21),控制密钥为根密钥卡中的传输密钥。
在主控密钥的控制下装载外部认证密钥。
使用密钥主控密钥;加密数据外部认证密钥的密钥信息;MAC初始值4字节随机数+00 00 00 00。
外部认证密钥由特殊算法生成。
在主控密钥的控制下装载应用维护密钥。
使用密钥主控密钥;加密数据应用维护密钥的密钥信息;MAC初始值4字节随机数+00 00 00 00。
应用维护密钥由特殊算法生成。
在主控密钥的控制下装载传输密钥。
使用密钥主控密钥;加密数据传输密钥的密钥信息;MAC初始值4字节随机数+00 00 00 00。
在MF下创建二进制文件0003,文件类型为00,并将主密钥卡的发卡信息写入保存。
80 E0 02 00 07 00 03 00 11 11 00 2000 D6 00 00 0X XXXXXXXXXXXMF创建结束。
80 E0 00 01 02 3F 00
主密钥认证卡生成流程主密钥认证卡发卡流程描述用生产商认证卡鉴别每一张IC卡的有效性,建立MF文件80 E0 00 00 0X XX XX XX XX XX XX创建复位应答文件给主密钥认证卡分配10字节序列号,第字节为卡片类型,主密钥认证卡类型为04,后9个字节为序列号,每张卡片具有唯一序列号,序列号由00 00 00 00 00 00 00 00 01开始分配。
80 E0 02 00 07 00 01 04 0F F0 00 0A00 D6 00 00 0A 86 38 XX XXMF下创建KEY文件,安装和更新密钥的形式为密文+MAC,文件类型为C580 E0 02 00 00 07 00 02 C5 F0 11 10 00在生产商传输密钥的控制下装载主密钥认证卡的主控密钥。
使用密钥生产商传输密钥;加密数据主控密钥的密钥信息;MAC初始值4字节随机数+00 00 00 00。
在主控密钥的控制下装载PIN、SPIN(由系统安全管理员输入)。
使用密钥主控密钥;加密数据PIN、SPIN的密钥信息;MAC初始值4字节随机数+00 00 00 00。
在主控密钥的控制下装载内部认证密钥。
使用密钥主控密钥;加密数据内部认证密钥的密钥信息;MAC初始值4字节随机数+00 00 00 00。内部认证密钥值与根密钥卡外部认证密钥值相同。在主控密钥的控制下装载MAC加密密钥。使用密钥主控密钥;加密数据MAC加密密钥的密钥信息;MAC初始值4字节随机数+00 00 00 00。MAC加密密钥值与主密钥卡传输密钥值相同。MF创建结束80 E0 00 01 02 3F 00。3、PSAM卡生成流程PSAM卡生成流程PSAM卡发卡流程描述校验生产商认证卡的PIN00 20 00 00 02 XX XX生产商认证卡读取传输代码根密钥卡与根密钥认证卡相互认证。根密钥认证卡校验PIN 00 20 00 00 02 XXXX根密钥卡取随机数00 84 00 00 04根密钥认证卡内部认证00 88 00 00 08随机数+00 00 00 00根密钥卡外部认证00 82 00 02 08 XXXXXXX替换根密钥卡的传输密钥。根密钥卡取随机数00 84 00 00 04根密钥认证卡DES初始化80 1A 08 01 00DES计算80 FA 00 00 18 XXXXXXXXXX
DES初始化80 1A 08 01 00MAC计算80 FA 00 02 0X XXXXXXXXXX根密钥卡修改密钥84 D4 0E 01 0X XXXXXXXXX替换根密钥认证卡的MAC加密密钥。
根密钥认证卡取随机数00 84 00 00 04根密钥认证卡DES初始化80 1A 08 01 00DES计算80 FA 00 00 18 XXXXXXXXXXDES初始化80 1A 08 01 00MAC计算80 FA 00 02 0X XXXXXXXXXX根密钥认证卡修改密钥84 D4 08 01 0X XXXXXXXXX建立MF文件,鉴别每一张IC卡的有效性。
80 E0 00 00 0X XX XX XX XX XX XX创建复位应答文件给PSAM卡分配10字节序列号,每张卡片具有唯一序列号,序列号由00 00 00 00 00 00 00 00 00 01开始分配。
80 E0 02 00 07 00 01 04 0F F0 00 0A00 D6 00 00 0A XX XX XX XXMF下创建KEY文件,安装和更新密钥的形式为密文+MAC,文件类型为C580 E0 02 00 00 07 00 02 C5 F0 0F 10 00在生产商传输密钥的控制下装载主密钥卡的主控密钥。
使用密钥生产商传输密钥;加密数据主控密钥的密钥信息;
MAC初始值4字节随机数+00 00 00 00。
主控密钥由特殊算法生成。
在主控密钥的控制下装载维护密钥。
使用密钥主控密钥;加密数据维护密钥的密钥信息;MAC初始值4字节随机数+00 00 00 00。
维护密钥由特殊算法生成。
在MF下创建卡片公共信息文件,写入卡片公共信息。
80 E0 02 00 07 00 15 00 0F 0F 00 0E00 D6 00 00 0X XXXXXXXXXXX在MF下创建终端信息文件,写入终端机编号。
80 E0 02 00 07 00 16 00 0F 0F 00 0600 D6 00 00 0X XXXXXXXXXXX在MF下创建DIR文件,写入应用名称。
80 E0 02 00 07 00 03 03 0F 0F 00 C800 E2 00 00 0X XXXXXXXXXXX创建ADF文件80 E0 01 00 0X XXXXXXXXXXXX创建ADF下的KEY文件80 E0 02 00 07 00 01 C5 0F 11 10 00在主控密钥的控制下装载应用主控密钥。
使用密钥主控密钥;加密数据应用主控密钥的密钥信息;MAC初始值4字节随机数+00 00 00 00。
应用主控密钥由特殊算法生成。
在应用主控密钥的控制下装载应用维护密钥。
使用密钥应用主控密钥;加密数据应用维护密钥的密钥信息;MAC初始值4字节随机数+00 00 00 00。
应用维护密钥由特殊算法生成。
通过根密钥卡直接导入根密钥。
密钥导出使用OUT KEY命令,导出方式为密文直接导出方式(P1=61),控制密钥为根密钥卡中的传输密钥。
创建应用公共信息文件,写入应用公共信息。
80 E0 02 00 07 00 17 00 0F 0F 00 1900 D6 00 00 0X XXXXXXXXXXX创建终端应用交易序号文件。
80 E0 02 00 07 00 18 00 0F 0F 00 04DF创建结束。
80 E0 01 01 02 3F 00MF创建结束。
80 E0 00 01 02 3F 00
权利要求
1.一种集成电路卡的数据操作方法,包括以下步骤初始化步骤,初始化集成电路卡的工作区,集成电路卡的工作区主要用于临时工作数据的暂存;计算步骤,计算存储器中的系统控制信息的完整性,存储器主要存储应用程序和数据,系统控制信息包括但不限于起始地址、终止地址、卡片状态、操作系统的版本号、程序控制字节、CRC校验;完整性判断步骤,判断系统控制信息的完整性;程序控制步骤,对系统控制信息中的程序控制字节进行判断,决定或者执行存储器中的应用程序,或者准备相应协议的复位信息;复位响应判断步骤,判断是否建立复位响应文件;取响应数据步骤,取复位响应文件中的复位响应数据;发送步骤,发送复位响应数据;恢复步骤,恢复备份数据;协议判断步骤,判断通讯协议是否为T=0;传输步骤,卡接受由接口设备传输过来的命令头,命令头包括但不限于指令类型、指令代码、参数;指令判断步骤,判断是否特殊指令;状态判断步骤,判断卡片状态是否正确;清标志步骤,清工作标志;协议处理步骤,如果是T=0协议,则返回指令代码,发送应答数据;如果是T=1协议,则延时,设置节点地址的值和设置协议控制字节的值,发送应答数据;协议设置步骤,判断通讯协议标志,设置通讯协议类型;返回复位响应判断步骤。
2.根据权利要求1所述的集成电路卡的数据操作方法,其所述的完整性判断步骤,如果不完整,则锁卡并更新存储器中的系统控制信息,然后执行程序控制步骤;
3.根据权利要求1所述的集成电路卡的数据操作方法,其所述的程序控制步骤中执行存储器中的应用程序一般为集成电路卡使用者自己设定的加密程序。
4.根据权利要求1所述的集成电路卡的数据操作方法,其所述的复位响应判断步骤,如果不建立复位响应文件,则将复位响应设置为芯片的序列号,然后执行发送步骤。
5.根据权利要求1所述的集成电路卡的数据操作方法,其所述的协议判断步骤,如果通讯协议为T=1,则执行如下步骤接收地址步骤,接收节点地址;第一接收判断步骤,判断接收是否正确;第一超时判断步骤,判断是否超时;接收控制字节步骤,接收协议控制字节;第二接收判断步骤,判断接收是否正确;第二超时判断步骤,判断是否超时;接收长度步骤,接收数据域的长度;第三接收判断步骤,判断接收是否正确;第三超时判断步骤,判断是否超时;接收数据步骤,接收数据;接收校验步骤,接收校验和;校验判断步骤,判断校验和是否正确;然后返回指令判断步骤;
6.根据权利要求5所述的集成电路卡的数据操作方法,其所述的第一接收判断步骤,如果接收不正确,则置错误标志,然后返回接收控制步骤。
7.根据权利要求5所述的集成电路卡的数据操作方法,其所述的第二接收判断步骤,如果接收不正确,则置错误标志,然后返回接收长度步骤。
8.根据权利要求5所述的集成电路卡的数据操作方法,其所述的第三接收判断步骤,如果接收不正确,则置错误标志,然后返回接收数据步骤。
9.根据权利要求5所述的集成电路卡的数据操作方法,其所述的校验判断步骤,如果校验和不正确,则置错误标志,然后返回接收指令判断步骤。
10.根据权利要求1所述的集成电路卡的数据操作方法,其所述的指令判断步骤,如果不是特殊指令,则执行如下步骤查找步骤,查找命令类型表;查找判断步骤,判断查找是否成功;取命令表步骤,根据程序控制字节判断命令表的存放位置,相应的取EEPROM或ROM中的命令表;查找命令判断步骤,判断查找命令是否成功;命令类型判断步骤,判断命令类型是否成功;命令处理步骤,如果是T=0的协议,则返回指令代码,并判断是否接收数据,是则接收数据,否则直接执行命令判断步骤;命令判断步骤,判断是否满足执行条件;执行命令步骤,执行相应命令;返回复位响应判断步骤。
11.根据权利要求10所述的集成电路卡的数据操作方法,其所述的查找判断步骤,如果查找不成功,则置错误代码,并返回复位响应判断步骤。
12.根据权利要求10所述的集成电路卡的数据操作方法,其所述的查找命令判断步骤,如果查找不成功,则置错误代码,并返回复位响应判断步骤。
13.根据权利要求10所述的集成电路卡的数据操作方法,其所述的命令类型判断步骤,如果不成功,则置错误代码,并返回复位响应判断步骤。
14.根据权利要求1所述的集成电路卡的数据操作方法,其文件结构包括主控文件(Master,MF),主控文件是整个文件系统的根,可看作根目录,每个集成电路卡有且只有一个主控文件,它是在卡的个人化过程中首先被建立起来的,在卡的整个生命周期内一直存在并保持有效,可存储卡的公共住处并为各种应用服务;由个人化建立起来的主控文件包括文件控制参数以及文件安全属性等信息;在物理上,主控文件占有存储空间包括MF文件头的大小以及MF所管理的EF和DF的存储空间;专用文件(Dedicated File,DF),在MF下针对不同的应用建立起来的一种文件,是位于MF之下的含有EF的一种文件结构(可看作文件目录),它存储了某个应用的全部数据以及与应用操作相关的安全数据;DF由创立文件命令建立,它的大小在建立后没有被确定,随其下建文件的空间大小而改变,对DF的建立操作由MF的安全属性控制;在DF下面不可再建立DF,只能建立EF;为了保证各个DF的相互独立,只能从文件系统的MF层次选择一个DF,对DF下的数据进行的操作由各当前系统的安全状态控制;基本文件(Elementary File,EF),基本文件存储了各种应用的数据和管理信息,它存在于MF或DF下;整个文件系统的空间在MF、DF和EF建立时被分配和确定,以后在物理上不会发生变化,当访问EF时,必须先选择相应的MF或DF;可以从文件系统的任何位置选择MF。
15.根据权利要求14所述的集成电路卡的数据操作方法,其所述的基本文件从存储内容上分为两类安全基本文件和工作基本文件;安全基本文件(Secret Elementary File,SEF)的内容包括用于识别和与加密有关的保密数据(个人识别码、密钥等),卡将利用这些数据进行安全管理,SEF要在MF或DF建立后,才能建立,安全基本文件的内容不可被读出,但可使用专门的方法来写入或修改,在MF和每个DF下只能建立1个安全基本文件;工作基本文件(Working Elementary File,WEF)包含了应用的实际数据,其内容不被卡解释,在符合WEF的读、修改安全属性时,可对其内容进行读取、修改,工作文件的个数和大小受到MF或DF所拥有空间的限制。
16.根据权利要求14所述的集成电路卡的数据操作方法,其所述的基本文件的结构包括二进制结构,二进制文件为一个数据单元序列,数据以字节为单位进行读写,其中的数据结构则由应用解释;线性定长记录文件结构,这种结构以固定的长度来处理每条记录;通过逻辑上连续的记录号,可访问这类记录,记录号的范围是1至254,记录长度最长为249字节;每次访问只对一条记录进行操作,而且必须严格遵守记录长度的规定,线性定长记录文件结构,在这类结构中,每条记录的长度可以各不相同;仍然是以记录号来访问各条记录。在读记录时,操作与线性定长记录的相同,写记录时可以与原记录长度不同,但不能超过原记录长度;添加记录时,记录的长度不能超过最大记录长度(249字节)的规定;循环定长记录文件结构,一类特殊的定长记录文件结构;在逻辑上,这类文件可看作一个环形记录队列,记录按照先进先出的原则存储;添加记录时,最新一次写入的记录的记录为1,上一次写入的记录的记录号为2,依次类推;记录的个数与预留的记录的记录空间大小以及记录的长度相关,记录个数=记录空间大小整除记录长度;此外还有一些只能特殊使用的文件类型,如ATR、钱包文件、存折文件、密钥文件等,但其文件结构也不超出以上四种文件的类型。
17.根据权利要求14所述的集成电路卡的数据操作方法,其所述的文件组织如下主控文件含有但不限于下列数据文件名,文件标识符,所属文件的管理权限,所属专用文件的链表,所属基本文件的链表,卡片的可用空间地址,卡片的状态;专用文件含有不限于下列数据文件名,文件标识符,所属文件的管理权限,所属专用文件的链表,下一个专用文件的链表,所属基本文件的链表,专用文件的状态;基本文件含有但不限于下列数据文件名,文件标只符,基本文件的安全条件,基本文件的状态,文件长度或记录数和记录长度,记录指针;各文件间以指针的形式实现相互间的联系。
18.一种集成电路卡的数据操作装置,其特征在于包括以下装置初始化装置,初始化集成电路卡的工作区,集成电路卡的工作区主要用于临时工作数据的暂存;计算装置,计算存储器中的系统控制信息的完整性,存储器主要存储应用程序和数据,系统控制信息包括但不限于起始地址、终止地址、卡片状态、操作系统的版本号、程序控制字节、CRC校验;完整性判断装置,判断系统控制信息的完整性;程序控制装置,对系统控制信息中的程序控制字节进行判断,决定或者执行存储器中的应用程序,或者准备相应协议的复位信息;复位响应判断装置,判断是否建立复位响应文件;取响应数据装置,取复位响应文件中的复位响应数据;发送装置,发送复位响应数据;恢复装置,恢复备份数据;协议判断装置,判断通讯协议是否为T=0;传输装置,卡接受由接口设备传输过来的命令头,命令头包括但不限于指令类型、指令代码、参数;指令判断装置,判断是否特殊指令;状态判断装置,判断卡片状态是否正确;清标志装置,清工作标志;协议处理装置,如果是T=0协议,则返回指令代码,发送应答数据;如果是T=1协议,则延时,设置节点地址的值和设置协议控制字节的值,发送应答数据;协议设置装置,判断通讯协议标志,设置通讯协议类型;返回复位响应判断装置。
19.根据权利要求18所述的集成电路卡的数据操作装置,其特征在于所述的完整性判断装置,如果不完整,则锁卡并更新存储器中的系统控制信息,然后执行程序控制装置;
20.根据权利要求18所述的集成电路卡的数据操作装置,其特征在于所述的程序控制装置中执行存储器中的应用程序一般为集成电路卡使用者自己设定的加密程序。
21.根据权利要求18所述的集成电路卡的数据操作装置,其特征在于所述的复位响应判断装置,如果不建立复位响应文件,则将复位响应设置为芯片的序列号,然后执行发送装置。
22.根据权利要求18所述的集成电路卡的数据操作装置,其特征在于所述的协议判断装置,如果通讯协议为T=1,则执行如下装置接收地址装置,接收节点地址;第一接收判断装置,判断接收是否正确;第一超时判断装置,判断是否超时;接收控制字节装置,接收协议控制字节;第二接收判断装置,判断接收是否正确;第二超时判断装置,判断是否超时;接收长度装置,接收数据域的长度;第三接收判断装置,判断接收是否正确;第三超时判断装置,判断是否超时;接收数据装置,接收数据;接收校验装置,接收校验和;校验判断装置,判断校验和是否正确;然后返回指令判断装置;
23.根据权利要求22所述的集成电路卡的数据操作装置,其特征在于所述的第一接收判断装置,如果接收不正确,则置错误标志,然后返回接收控制装置。
24.根据权利要求22所述的集成电路卡的数据操作装置,其特征在于所述的第二接收判断装置,如果接收不正确,则置错误标志,然后返回接收长度装置。
25.根据权利要求22所述的集成电路卡的数据操作装置,其特征在于所述的第三接收判断装置,如果接收不正确,则置错误标志,然后返回接收数据装置。
26.根据权利要求22所述的集成电路卡的数据操作装置,其特征在于所述的校验判断装置,如果校验和不正确,则置错误标志,然后返回接收指令判断装置。
27.根据权利要求18所述的集成电路卡的数据操作装置,其特征在于所述的指令判断装置,如果不是特殊指令,则执行如下装置查找装置,查找命令类型表;查找判断装置,判断查找是否成功;取命令表装置,根据程序控制字节判断命令表的存放位置,相应的取EEPROM或ROM中的命令表;查找命令判断装置,判断查找命令是否成功;命令类型判断装置,判断命令类型是否成功;命令处理装置,如果是T=0的协议,则返回指令代码,并判断是否接收数据,是则接收数据,否则直接执行命令判断装置;命令判断装置,判断是否满足执行条件;执行命令装置,执行相应命令;返回复位响应判断装置。
28.根据权利要求27所述的集成电路卡的数据操作装置,其特征在于所述的查找判断装置,如果查找不成功,则置错误代码,并返回复位响应判断装置。
29.根据权利要求27所述的集成电路卡的数据操作装置,其特征在于所述的查找命令判断装置,如果查找不成功,则置错误代码,并返回复位响应判断装置。
30.根据权利要求27所述的集成电路卡的数据操作装置,其所述的命令类型判断装置,如果不成功,则置错误代码,并返回复位响应判断装置。
31.根据权利要求18所述的集成电路卡的数据操作装置,其文件结构包括;主控文件(Master,MF),主控文件是整个文件系统的根,可看作根目录,每个集成电路卡有且只有一个主控文件,它是在卡的个人化过程中首先被建立起来的,在卡的整个生命周期内一直存在并保持有效,可存储卡的公共住处并为各种应用服务;由个人化建立起来的主控文件包括文件控制参数以及文件安全属性等信息;在物理上,主控文件占有存储空间包括MF文件头的大小以及MF所管理的EF和DF的存储空间;专用文件(Dedicated File,DF),在MF下针对不同的应用建立起来的一种文件,是位于MF之下的含有EF的一种文件结构(可看作文件目录),它存储了某个应用的全部数据以及与应用操作相关的安全数据;DF由创立文件命令建立,它的大小在建立后没有被确定,随其下建文件的空间大小而改变,对DF的建立操作由MF的安全属性控制;在DF下面不可再建立了DF,只能建立EF;为了保证各个DF的相互独立,只能从文件系统的MF层次选择一个DF,对DF下的数据进行的操作由各当前进系统的安全状态控制;基本文件(Elementary File,EF),基本文件存储了各种应用的数据和管理信息,它存在于MF或DF下;整个文件系统的空间在MF、DF和EF建立时被分配和确定,以后在物理上不会发生变化,当访问EF时,必须先选择相应的MF或DF;可以从文件系统的任何位置选择MF。
32.根据权利要求31所述的集成电路卡的数据操作方法,其所述的基本文件从存储内容上分为两类安全基本文件和工作基本文件;安全基本文件(Secret Elementary File,SEF)的内容包括用于用记识别和与加密有关的保密数据(个人识别码、密钥等),卡将利用这些数据进行安全管理,SEF要在MF或DF建立后,才能建立,安全基本文件的内容不可被读出,但可使用专门的方法来写入或修改,在MF和每个DF下只能建立1个安全基本文件;工作基本文件(Working Elementary File,WEF)包含了应用的实际数据,其内容不被卡解释,在符合WEF的读、修改安全属性时,可对其内容进行读取、修改,工作文件的个数和大小受到MF或DF所拥有空间的限制。
33.根据权利要求31所述的集成电路卡的数据操作方法,其所述的基本文件的结构包括二进制结构,二进制文件为一个数据单元序列,数据以字节为单位进行读写,其中的数据结构则由应用解释;线性定长记录文件结构,这种结构以固定的长度来处理每条记录;通过逻辑上连续的记录号,可访问这类记录,记录号的范围是1至254,记录长度最长为249字节;每次访问只对一条记录进行操作,而且必须严格遵守记录长度的规定,线性这长记录文件结构,在这类结构中,每条记录的垂度可以各不相同;仍然是以记录号为访问各条记录。在读记录时,操作与线性定长记录的相同,写记录时可以与原记录长度不同,但不能超过原记录长度;添加记录时,记录的长度不能超过最大记录长度(249字节)的规定;循环定长记录文件结构,一类特殊的定长记录文件结构;在逻辑上,这类文件可看作一个环形记录队列,记录按照先进先出的原则存储;添加记录时,最新一次写入的记录的记录为1,上一次写入的记录的记录号为2,依次类推;记录的个数与预留的记录的记录空间大小以及记录的长度相关,记录个数=记录空间大小整除记录长度;此外还有一些只能特殊使用的文件类型,如ATR、钱包文件、存折文件、密钥文件等,但其文件结构也不超出以上四种文件的类型。
34.根据权利要求31所述的集成电路卡的数据操作方法,其所述的文件组织如下主控文件含有但不限于下列数据文件名,文件标识符,所属文件的管理权限,所属专用文件的链表,所属基本文件的链表,卡片的可用空间地址,卡片的状态;专用文件含有不限于下列数据文件名,文件标识符,所属文件的管理权限,所属专用文件的链表,下一个专用文件的链表,所属基本文件的链表,专用文件的状态;基本文件含有但不限于下列数据文件名,文件标识符,基本文件的安全条件,基本文件的状态,文件长度或记录数和记录长度,记录指针;各文件间与指针的形式实现相互间的联系。
全文摘要
本发明提供了一种集成电路卡的数据操作方法及装置,应用在集成电路卡上,可做到对人、对卡、对系统的三方的合法性认证,保证了卡的安全性。
文档编号G06F12/00GK1471050SQ0212654
公开日2004年1月28日 申请日期2002年7月23日 优先权日2002年7月23日
发明者韩业勤 申请人:深圳市明华澳汉科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1