一种改进的智能卡数据传输安全策略*
2014-09-13付青琴昂正全袁艳芳
付青琴,昂正全,袁艳芳
(1.国网电力科学研究院,江苏 南京 210003;2.北京航天飞行控制中心,北京 100094)
一种改进的智能卡数据传输安全策略*
付青琴1,昂正全2,袁艳芳1
(1.国网电力科学研究院,江苏 南京 210003;2.北京航天飞行控制中心,北京 100094)
针对传统智能卡进行数据传输时仅支持单一模式的缺点,提出一种改进的基于模式控制字的数据传输安全策略。此模式控制字支持多种数据传输模式,数据可以采用明文、密文、明文MAC、密文MAC中的任一种方式进行传输,并通过基本文件(包含透明文件、线性文件)的读、写模式控制字,来规定文件进行读、写操作需要满足的传输安全条件。同时,还提出使用禁止添加、或禁止更新这两种写属性来限制基本文件的写入方式。用户可以根据自己的需求,将同一文件的读命令,和写命令采用的传输方式设置成不一样,从而选择不同的数据传输方式,进而提高数据传输的灵活性和安全性。
智能卡;模式控制字;数据传输;安全策略
1 引言
在20世纪90年代,当智能卡还没有被广泛应用时,国内采用的存储介质大多都是存储卡,由于存储卡会带来存储数据不安全、硬件容易被攻击破坏等一系列缺点,在智能卡行业兴起后,已经逐渐被淘汰。智能卡技术从使用到现在已经经历了十多年,目前已经普遍应用在通信、银行、电力、社保等各行业,极大地方便了大家的生活。而为了确保用户数据的正确性和可靠性,智能卡数据的安全传输起到了至关重要的作用[1,2]。
传统的智能卡传输方法,只能采用单一方式进行数据交换。在应用使用前就需要确定好数据的传输方式,之后就不能再做更改。这样应用就不能进行灵活的变动。另外,由于传输模式的单一性,也给应用带来了安全性问题[3~9]。
本文采用一种新型的基于模式控制字方式的安全传输方法对智能卡的业务进行保护,使得芯片可以根据用户的要求,配置文件的多种读写方式和传输方式,从而提高了芯片的安全性。
2 传统智能卡数据传输方法
传统智能卡的数据传输方法如图1所示,该方法是终端向卡片传送预定义的单一模式数据内容,卡片接收到数据内容后,直接按照预定义的数据进行卡片内数据的操作,从而完成终端发送的命令。
Figure 1 Traditional smart card data transmission method图1 传统智能卡数据传输方法
这种数据传输方法的缺点主要有:
(1)采用预定义好的单一模式进行数据传输,卡片针对数据进行特定的处理,不利于应用的灵活处理。
(2)由于采用预定义好的单一模式进行数据传输,违法终端可通过分析有规律的数据,篡改数据后将数据返回卡片,降低了数据传输的安全性。
针对常用数据传输方法存在的上述两个缺点,本文对数据传输方法进行了重新设计,设计了一种新型的基于模式控制字方式的安全传输策略。
3 基于模式控制字方式的安全传输策略
由于传统数据传输方法的安全性不高,本文提出一种新型的基于模式控制字方式的安全传输策略,如图2所示。用户可以根据自己的需求配置数据的传输模式,从而提高了数据传输的灵活性和安全性。主要体现在以下几点:
(1)数据传输模式的多样性,可以采用明文、密文、明文MAC、密文MAC四种方式进行传输,具体采用何种方式,根据用户指定的模式控制字确定。
(2)用户可以根据自己的需要指定读命令模式控制字和写命令模式控制字,使同一文件可以采用不同的方式进行读和写命令的传输。
(3)在文件的读、写命令模式控制字中,定义了读、写操作需要的权限,只有权限通过,才能进行相应的读、写操作。
(4)在文件的写命令模式控制字中,定义了文件是否能够进行添加、更新操作,从而防止文件被恶意篡改。
Figure 2 Improved smart card data transmission method图2 改进的智能卡数据传输安全策略
在提出基本文件模式控制字之前,先讲述两个基本概念:
(1)智能卡的文件分为目录文件DF和基本文件EF两种。DF中包含一些控制信息,它可以成为EF或DF的父目录。EF是数据单位的集合,它不能成为任何文件的父目录。
(2)主控是在目录文件DF下,用来达到一定认证权限的密钥。一般认证此主控密钥后,即可以获得一定权限,以便进行卡内数据的安全操作。
本文提出的基本文件模式控制字分为两种,下面将分别讲述。
3.1 基本文件读命令模式控制字
关于基本文件读命令模式控制字的具体定义参见表1。
由表1可知,在基本文件读命令模式控制字中,定义了文件进行读操作时需要的操作权限和数据传输模式。
Table 1 Definition of file reading way表1 文件读方式定义
(1)b8:读操作时,是否需要认证父目录的主控。“1”需要认证,“0”不需要认证。
(2)b7:读操作时,是否需要认证当前目录的主控。“1”需要认证,“0”不需要认证。
(3)b6:“1”读取文件内容时,命令需要伴随校验码MAC,“0”命令执行不需要加MAC。
(4)b5:“1”读取文件内容时,读出的数据需要加密,“0”读出的数据不需要加密。
(5)b4~b1:保留字节,留待扩展。
3.2 基本文件写命令模式控制字
关于基本文件写命令模式控制字的具体定义参见表2。
由表2可知,在基本文件写命令模式控制字中,不仅定义了基本文件进行写操作时需要的操作权限和数据传输模式,而且对基本文件的添加、更新操作属性的要求进行了限制。
Table 2 Definition of file written way表2 文件写方式定义
(1)b8:写操作时,是否需要认证父目录的主控。“1”需要认证,“0”不需要认证。
(2)b7:写操作时,是否需要认证当前目录的主控。“1”需要认证,“0”不需要认证。
(3)b6:“1”文件添加或更新时,命令需要加校验码MAC,“0”命令执行不需要加MAC。
(4)b5:“1”文件添加或更新时,命令对数据需要加密,“0”命令对数据不需要加密。
(5)b4:“1”文件不能进行添加操作,“0” 文件可以进行添加操作。
(6)b3:“1”文件不能进行更新操作,“0” 文件可以进行更新操作。
(7)b2~b1:保留字节,留待扩展。
3.3 安全传输策略的使用方式
由上述基本文件的读、写命令模式控制字可以看出,基本文件的读、写操作权限可以有四种:
(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)。
命令具体采用何种模式进行数据传输,需要根据被存取对象的模式控制字来确定。如果模式不匹配,则认为此条命令无效。
针对基本文件的写操作,还有一些特殊的需求,在写命令模式控制中,规定了基本文件的添加、更新操作属性要求。可以有以下四种操作方式:
(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)。
用户如果不希望某些文件被改写,则可以使用禁止添加或禁止更新这两种写属性来限制基本文件的写入方式。
3.4 模式控制字的使用举例
下面通过具体实例的模式控制字的设置,对本论文的使用做进一步的描述:
(1)如果一个记录文件的读控制模式字设置为“0x60”,此模式字说明:用户希望在进行此记录文件的读操作时,先要认证当前目录的主控;主控认证通过后,命令采用“明文+MAC”的形式进行读。如果命令采用的形式不符合要求的话,则返回错误,从而对文件的使用进行了保护。
(2)如果一个透明文件的写控制模式字设置为“0xF4”,此模式字说明:用户希望在进行此透明文件的读操作时,不仅要认证当前目录的主控,而且还要认证其父目录的主控;主控认证通过后,命令采用“密文+MAC”的形式进行更新。如果命令采用的形式不符合要求的话,则返回错误,从而对文件的使用进行了保护。 对于此写控制模式字,此透明文件在芯片出厂前更新一次内容后,再也不允许进行任何的更新操作。如果有非法用户攻击此文件,想进行恶意的篡改,其更新操作也不可能成功,从而使用户根据自己的需求,保护一些特殊的文件,有效地增加了系统的安全性。
3.5 安全传输策略的实测结果
针对本文提出的模式控制字策略,我们进行了实际测试。
图3展示了基本文件的读、写模式控制字的配置。其中,框图中第一个字节代表读模式控制字,第二个字节代表写模式控制字。不同模式控制字的配置所代表的含义参考3.1节和3.2节。
Figure 3 Read and write mode control word configuration diagram of basic file图3 基本文件的读、写模式控制字配置图
Figure 4 Cipher write and read process of base file图4 基本文件的密文写、读过程
Figure 5 Plaintext MAC read and write process of base file图5 基本文件的明文MAC写、读过程
图4展示了基本文件0001,在读、写模式控制配置为0x50、0x54情况下的密文写、密文读的操作过程。其中,
(1)命令“04D68100F8 2145831DCCCFB42- 9151DD47275EA0929……”代表采用密文方式将明文数据“00112233……EEFF”写入0001文件。
(2)命令“04B08100F8”代表采用密文的方式读出0001文件的数据内容,读出的密文数据为“2145831DCCCFB429151DD47275EA0929……”,与写入的密文数据一致。
图5展示了基本文件0003,在读、写模式控制配置为0x60、0x68情况下的明文MAC写、明文MAC读的操作过程。其中,
(1)命令“04D6830032 5419…FBB278408674”代表采用明文MAC的方式将明文数据“5419…FBB2”写入0003文件;紧随明文数据后面的内容是4字节MAC。
(2)命令“04B0830009 75702B0404D6840032”代表采用明文MAC的方式读出0003文件的数据内容“5419…FBB2” ;紧随明文数据后面的内容是4字节MAC。
通过测试可以看出,我们通过模式控制字,可以方便地对文件进行读、写控制,从而达到预期的效果。
3.6 安全传输策略的优势比较
与传统数据传输方式相比较,本文所提出的安全传输策略优势如表3所示。从表3可以看出,本文提出的安全传输策略优势具有更高的安全性与适用性。
Table 3 Comparison of data transmission methods表3 数据传输方法比较
4 结束语
本文提出的一种新型的基于模式控制字方式的智能卡安全传输策略,使得卡片可以克服现有数据传输模式的单一性,可以采用明文、密文、明文加校验MAC、密文加校验MAC中的任一种进行传输,并可以将基本文件的读、写需要满足的安全条件在模式控制字中进行定义。与此同时,同一文件的读、写命令采用的方式可以独自定义,并且写属性还支持禁止添加和禁止更新操作的功能;使用户可以根据自己的需要,选择不同的传输方式,从而保证数据传输的安全性和灵活性。
[1] Minghua Technology. SmartCos-PK-manual Version 1.0[K].Shenzhen:Minghua Ao Han Science and Technology Co, LTD, 2000.(in Chinese)
[2] Wang Ai-ying.Smart card technology[M].Beijing:Tsinghua University Press, 2009.(in Chinese)
[3] Deng Zan. Smart card operating system safety management research[J]. Silicon Valley, 2010(2):50-51.(in Chinese)
[4] Liu Yu-zhen, Tu Hang, Zhang Huan-guo. Practical smart card operating system design and realization [J]. Journal of Wuhan University, 2000,46-3 (3):309-312.(in Chinese)
[5] Wang Ya-fei.Based smart card password authentication scheme[J]. Computer Application and Software, 2011, 28(9): 295-297.(in Chinese)
[6] Yang Li, Ma Jian-feng. Trusted smart card password mutual authentication scheme[J]. Journal of University of Electronic Science and Technology of China, 2011,40(1):128-133.(in Chinese)
[7] Roweis S.A sticker-based model for DNA computation[J].Journal of Computational Biolog,1998, 5(4):615-629.
[8] Adleman L. Molecular computation of solutions to combinatorial problems[J]. Science,1994,266(11):1021-1024.
[9] ISO/IEC 7816-4,Identification cards-Integrated circuit(s) cards with contacts-Interindustry commands for interchange
[S].Switzerland:International Organization for Standardization,1996.
附中文参考文献:
[1] 明华科技.SmartCos-PK-manual Version 1.0[K].深圳市明华澳汉科技股份有限公司, 2000.
[2] 王爱英.智能卡技术[M].北京:清华大学出版社, 2009.
[3] 邓赞.智能卡操作系统(COS)安全管理研究[J]. 硅谷,2010(2):50-51.
[4] 刘玉珍,涂航,张焕国,实用智能卡操作系统的设计与实现[J].武汉大学学报,2000,46-3(3):309-312.
[5] 王亚飞.一种基于智能卡口令认证方案的研究[J].计算机应用与软件,2011, 28(9):295-297.
[6] 杨力,马建峰.可信的智能卡口令双向认证方案[J].电子科技大学学报,2011,40(1):128-133.
FUQing-qin,born in 1982,MS,engineer,her research interest includes smart grid research.
昂正全(1982),男,安徽合肥人,硕士,工程师,研究方向为卫星测控研究。E-mail:witchlovelygg@163.com
ANGZheng-quan,born in 1982,MS,engineer,his research interest includes satellite TT&C.
袁艳芳(1980),女,山西晋中人,硕士,工程师,研究方向为智能电网研究。E-mail:yuanyanfang@sgchip.com
YUANYan-fang,born in 1980,MS,engineer,her research interest includes smart grid research.
Animprovedsecuritystrategyofsmartcarddatatransmission
FU Qing-qin1,ANG Zheng-quan2,YUAN Yan-fang1
(1.State Grid Electric Power Research Institute,Nanjing 210003;2.Beijing Aerospace Flight Control Center,Beijing 100094,China)
To overcome the shortcoming that only a single mode is supported when the traditional smart card transmits data,an improved security strategy based on mode control word for IC card data transmission is proposed.The mode control word supports multiple data transmission modes, while data can be transmitted in plain text,ciphertext, plaintext MAC,ciphertext MAC. Read and write mode control word of the basic file (including transparent file, linear file) is used to regulate transmission security conditions for reading and writing documents.Meanwhile, we propose to use the two write attributes ("prohibited append" or "prohibited update" ) to restrict the write operation of the basic file.According to their demands,users can configure different data transmission settings for read command and write command thus improving the flexibility and the security of data transmission.
IC card;mode control word;data transmission;security strategy
1007-130X(2014)11-2229-05
2013-02-25;
:2013-06-20
北京市科委项目资助(TF71-11-001)
TP311
:A
10.3969/j.issn.1007-130X.2014.11.029
付青琴(1982),女,湖北襄阳人,硕士,工程师,研究方向为智能电网研究。E-mail:fuqingqin@sgchip.com
通信地址:100192 北京市海淀区(清河小营)西小口路66号东升科技园B-3座
Address:Building B-3,Dongsheng Science and Technology Park,66 Xixiaokou Rd,Haidian District,Beijing 100192,P.R.China