发明内容
本发明的目的是克服现有数据传输模式的单一性,在模式控制字中提供一种全面的数据传传输模式,使得数据可以采用明文、密文、明文MAC、密文MAC中的任一种进行传输。
本发明的另一个目的就是将基本文件(包含透明文件、线性文件)的读写属性,及进行读写操作需要满足的安全条件在模式控制字中进行了扩展。
本发明的又一目的是可以使同一文件的读命令采用的传输方式,和写命令采用的方式不一样,使用户可以根据自己的需要,选择不同的传输方式。
本发明提出了一种智能卡的基于模式控制字方式的安全传输方法,使得用户可以根据自己的需求,配置数据的传输模式,从而提高了数据传输的安全性。
本发明的一种智能卡的基于模式控制字方式的安全传输方法,包括:
(1)将智能卡文件的读命令模式和写命令模式分为两种表示方法,智能卡对文件的读命令和写命令采用不同的数据传输方式进行;
(2)在智能卡文件的读命令和写命令模式的控制字中,智能卡对文件的读命令和写命令中采用明文、密文、明文加校验MAC、密文加校验MAC四种方式进行传输;
(3)在智能卡文件的写命令模式控制字中,增加文件的禁止添加和禁止更新操作的属性;
(4)在智能卡文件的读命令和写命令模式的控制字中,定义读命令和写命令操作需要满足的权限。
其中,
(1)智能卡的基本文件读命令模式控制字包括:
Bit7:P_MK,读操作时,是否需要认证父目录的主控;“1”需要认证,“0”不需要认证;
Bit6:C_MK,读操作时,是否需要认证当前目录的主控;“1”需要认证,“0”不需要认证;
Bit5:MAC,“1”读取文件内容时,命令需要伴随校验码MAC,“0”命令执行不需要加MAC;
Bit4:ENC,“1”读取文件内容时,读出的数据需要加密,“0”读出的数据不需要加密;
Bit3~Bit0:作为保留字段;
(2)智能卡的基本文件写命令模式控制字包括:
Bit7:P_MK,写操作时,是否需要认证父目录的主控,“1”需要认证,“0”不需要认证;
Bit6:C_MK,写操作时,是否需要认证当前目录的主控;“1”需要认证,“0”不需要认证;
Bit5:MAC,“1”文件添加或更新时,命令需要加校验码MAC,“0”命令执行不需要加MAC;
Bit4:ENC,“1”文件添加或更新时,命令对数据需要加密,“0”命令对数据不需要加密;
Bit3:DIS_A,“1”文件不能进行添加操作,“0”文件可以进行添加操作;
Bit2:DIS_U,“1”文件不能进行更新操作,“0”文件可以进行更新操作;
Bit1~Bit0:作为保留字段;
由上述智能卡的基本文件的读、写命令模式控制字的定义,基本文件的读、写操作权限有四种方式:
(1)不需要认证父目录,不需要认证当前目录,P_MK为0,C_MK为0;
(2)不需要认证父目录,需要认证当前目录,P_MK为0,C_MK为1;
(3)需要认证父目录,不需要认证当前目录,P_MK为1,C_ZK为0;
(4)需要认证父目录,需要认证当前目录,P_MK为1,C_MK为1;
在智能卡的安全操作权限得到满足后,使用基本文件指定的数据传输模式进行数据的传输时,终端与智能卡之间的数据传输模式分为四种模式:
(1)明文模式:MAC为0,ENC为0;
(2)密文模式:MAC为0,ENC为1;
(3)明文加校验MAC模式:MAC为1,ENC为0;
(4)密文加校验MAC模式:MAC为1,ENC为1。
读命令和写命令采用何种模式进行数据的传输需要根据被存取对象的模式控制字中来确定,如果模式不匹配,则认为此条命令无效。
其中,在写命令模式控制中,规定基本文件的添加、更新操作属性要求,以下面得四种操作方式进行:
(1)允许添加,允许更新,DIS_A为0,DIS_U为0;
(2)允许添加,禁止更新,DIS_A为0,DIS_U为1;
(3)禁止添加,允许更新,DIS_A为1,DIS_U为0;
(4)禁止添加,禁止更新,DIS_A为1,DIS_U为1。
本发明提出了文件模式控制字的概念,此控制字不仅指明数据的传输模式是采用明文、密文、明文MAC、密文MAC中的哪一种进行传输;而且确定了文件的读、修改和添加等安全属性的使用条件。
本发明的有益效果是:
1.数据传输模式的多样性,可以采用明文、密文、明文MAC、密文MAC四种方式进行传输,具体采用何种方式,根据用户的指定模式控制字确定。
2.用户可以根据自己的需要指定读命令模式控制字和写命令模式控制字,使同一文件,可以采用不同的方式进行读和写命令的传输。
3.在文件的读、写命令模式控制字中,定义了读、写操作需要的权限,只有权限通过,才能进行相应的读、写操作。
4.在文件的写命令模式控制字中,定义了文件是否能够进行添加、更新操作,从而防止文件被恶意篡改。
具体实施方式
依据本发明的方法的基本文件模式控制字分为以下两种
一、基本文件读命令模式控制字
关于基本文件读命令模式控制字的具体定义参见表1。
由表1可知,在基本文件读命令模式控制字中,定义了文件进行读操作时需要的操作权限和数据传输模式。
表1:
文件读方式定义:
二、基本文件写命令模式控制字。
关于基本文件写命令模式控制字的具体定义参见表2。
由表2可知,在基本文件写命令模式控制字中,不仅定义了基本文件进行写操作时需要的操作权限和数据传输模式,而且对基本文件的添加、更新操作属性的要求进行了限制。
表2:
文件写方式定义:
由上述基本文件的读、写命令模式控制字可以看出,基本文件的读、写操作权限可以有四种:
(1)不需要认证父目录,不需要认证当前目录(P_MK为0,C_MK为0);
(2)不需要认证父目录,需要认证当前目录(P_MK为0,C_MK为1);
(3)需要认证父目录,不需要认证当前目录(P_MK为1,C_MK为0);
(4)需要认证父目录,需要认证当前目录(P_MK为1,C_MK为1)。
在智能卡的安全操作权限得到满足后,还需使用基本文件指定的数据传输模式进行数据的传输,才能正确地读写数据。
本发明中终端与智能卡之间的数据传输有四种模式,分别为:
(1)明文模式(MAC为0,ENC为0);
(2)密文模式(MAC为0,ENC为1);
(3)明文加校验MAC模式(MAC为1,ENC为0);
(4)密文加校验MAC模式(MAC为1,ENC为1)。
命令具体采用何种模式进行数据的传输,需要根据被存取对象的模式控制字中来确定。如果模式不匹配,则认为此条命令无效。
针对基本文件的写操作,还有一些特殊的需求,在写命令模式控制中,规定了基本文件的添加、更新操作属性要求。可以有以下四种操作方式:
(5)允许添加,允许更新(DIS_A为0,DIS_U为0);
(6)允许添加,禁止更新(DIS_A为0,DIS_U为1);
(7)禁止添加,允许更新(DIS_A为1,DIS_U为0);
(8)禁止添加,禁止更新(DIS_A为1,DIS_U为1)。
用户如果不希望某些文件被改写,则可以使用禁止添加、或禁止更新这两种写属性来限制基本文件的写入方式。
下面通过具体实例的模式控制字的设置,解释其意义,对本发明的使用做进一步的描述:
1.如果一个记录文件的读控制模式字设置为“0x60”,此模式字说明:用户希望在进行此记录文件的读操作时,先要认证当前目录的主控;主控认证通过后,命令采用“明文+MAC”的形式进行读。如果命令采用的形式不符合要求的话,则返回错误,从而对文件的使用进行了保护。
2.如果一个透明文件的写控制模式字设置为“0xF4”,此模式字说明:用户希望在进行此透明文件的读操作时,不仅要认证当前目录的主控,而且还要认证其父目录的主控;主控认证通过后,命令采用“密文+MAC”的形式进行更新。如果命令采用的形式不符合要求的话,则返回错误,从而对文件的使用进行了保护。对于此写控制模式字,此透明文件在芯片出厂前更新一次内容后,再也不允许进行任何的更新操作。如果有非法用户攻击此文件,想进行恶意的篡改,其更新操作也不可能成功,从而使用户根据自己的需求,保护一些特殊的文件,有效的增加了系统的安全性。
上面已经根据特定的示例性实施例对本发明进行了描述。对本领域的技术人员来说在不脱离本发明的范围下进行适当的替换或修改将是显而易见的。示例性的实施例仅仅是例证性的,而不是对本发明的范围的限制,本发明的范围由所附的权利要求定义。