付青琴,昂正全,袁艷芳
(1.國網電力科學研究院,江蘇 南京 210003;2.北京航天飛行控制中心,北京 100094)
一種改進的智能卡數據傳輸安全策略*
付青琴1,昂正全2,袁艷芳1
(1.國網電力科學研究院,江蘇 南京 210003;2.北京航天飛行控制中心,北京 100094)
針對傳統智能卡進行數據傳輸時僅支持單一模式的缺點,提出一種改進的基于模式控制字的數據傳輸安全策略。此模式控制字支持多種數據傳輸模式,數據可以采用明文、密文、明文MAC、密文MAC中的任一種方式進行傳輸,并通過基本文件(包含透明文件、線性文件)的讀、寫模式控制字,來規定文件進行讀、寫操作需要滿足的傳輸安全條件。同時,還提出使用禁止添加、或禁止更新這兩種寫屬性來限制基本文件的寫入方式。用戶可以根據自己的需求,將同一文件的讀命令,和寫命令采用的傳輸方式設置成不一樣,從而選擇不同的數據傳輸方式,進而提高數據傳輸的靈活性和安全性。
智能卡;模式控制字;數據傳輸;安全策略
在20世紀90年代,當智能卡還沒有被廣泛應用時,國內采用的存儲介質大多都是存儲卡,由于存儲卡會帶來存儲數據不安全、硬件容易被攻擊破壞等一系列缺點,在智能卡行業興起后,已經逐漸被淘汰。智能卡技術從使用到現在已經經歷了十多年,目前已經普遍應用在通信、銀行、電力、社保等各行業,極大地方便了大家的生活。而為了確保用戶數據的正確性和可靠性,智能卡數據的安全傳輸起到了至關重要的作用[1,2]。
傳統的智能卡傳輸方法,只能采用單一方式進行數據交換。在應用使用前就需要確定好數據的傳輸方式,之后就不能再做更改。這樣應用就不能進行靈活的變動。另外,由于傳輸模式的單一性,也給應用帶來了安全性問題[3~9]。
本文采用一種新型的基于模式控制字方式的安全傳輸方法對智能卡的業務進行保護,使得芯片可以根據用戶的要求,配置文件的多種讀寫方式和傳輸方式,從而提高了芯片的安全性。
傳統智能卡的數據傳輸方法如圖1所示,該方法是終端向卡片傳送預定義的單一模式數據內容,卡片接收到數據內容后,直接按照預定義的數據進行卡片內數據的操作,從而完成終端發送的命令。

Figure 1 Traditional smart card data transmission method圖1 傳統智能卡數據傳輸方法
這種數據傳輸方法的缺點主要有:
(1)采用預定義好的單一模式進行數據傳輸,卡片針對數據進行特定的處理,不利于應用的靈活處理。
(2)由于采用預定義好的單一模式進行數據傳輸,違法終端可通過分析有規律的數據,篡改數據后將數據返回卡片,降低了數據傳輸的安全性。
針對常用數據傳輸方法存在的上述兩個缺點,本文對數據傳輸方法進行了重新設計,設計了一種新型的基于模式控制字方式的安全傳輸策略。
由于傳統數據傳輸方法的安全性不高,本文提出一種新型的基于模式控制字方式的安全傳輸策略,如圖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 數據傳輸方法比較
本文提出的一種新型的基于模式控制字方式的智能卡安全傳輸策略,使得卡片可以克服現有數據傳輸模式的單一性,可以采用明文、密文、明文加校驗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