文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2015.07.014
中文引用格式: 張海峰,侯戰(zhàn)斌,陳奎林. 一種低功耗高安全雙界面智能卡芯片的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2015,41(7):50-53.
英文引用格式: Zhang Haifeng,Hou Zhanbin,Chen Kuilin. A design and implementation of low-power and high-security chip for dual-interface smart card[J].Application of Electronic Technique,2015,41(7):50-53.
0 引言
雙界面CPU卡是一種同時(shí)支持接觸式與非接觸式兩種通信方式的CPU卡,接觸接口和非接觸接口共用一個(gè)CPU進(jìn)行控制,接觸模式和非接觸模式自動(dòng)選擇。在一張卡片上同時(shí)擁有接觸式與非接觸式兩種界面,這就避免了持卡者要對(duì)兩張各自僅帶有接觸式界面或非接觸式界面的電子錢包分別進(jìn)行充值的麻煩,為人們的生活帶來(lái)極大的便利。在消費(fèi)交易過(guò)程中,其非接觸接口可以為消費(fèi)過(guò)程提供更加快捷的方式;而在對(duì)卡片進(jìn)行充值時(shí),接觸接口則更為安全。
1 芯片的核心電路結(jié)構(gòu)
雙界面CPU卡是基于雙界面芯片設(shè)計(jì)的,按一定規(guī)格封裝而成。根據(jù)ISO/IEC 7816和ISO/IEC 14443-A協(xié)議規(guī)定,本文設(shè)計(jì)的一種低功耗高安全雙界面芯片同時(shí)兼有接觸式和非接觸式通信接口。
如圖1,芯片主要由CPU、接觸通信接口、非接觸通信接口、存儲(chǔ)器以及加密模塊組成。同時(shí)還包括時(shí)鐘、復(fù)位、功耗管理、初始化等系統(tǒng)模塊和上下電復(fù)位管理、電源管理、電壓調(diào)節(jié)器、傳感器等模擬模塊。
其中CPU內(nèi)核采用高性能的8位R8051XC2,指令與標(biāo)準(zhǔn)8051兼容,內(nèi)置3個(gè)16位Time和DMA協(xié)處理器。通過(guò)Bank擴(kuò)展機(jī)制,可以使存儲(chǔ)空間突破64 KB的限制,最大可訪問(wèn)8 MB。CPU的主要功能是對(duì)接受的命令進(jìn)行解析后實(shí)現(xiàn)對(duì)存儲(chǔ)器數(shù)據(jù)的訪問(wèn)和處理。128 kB Flash作為程序存儲(chǔ)區(qū),可提供靈活、強(qiáng)大的片上操作系統(tǒng)(COS)開(kāi)發(fā)空間,也方便將來(lái)軟件應(yīng)用程序的升級(jí),同時(shí)可通過(guò)配置相應(yīng)寄存器控制8 KB EEPROM作為程序補(bǔ)丁區(qū)。32 KB EEPROM、6 KB XRAM和280 B RF Buffer作為外部數(shù)據(jù)存儲(chǔ)區(qū),提供了強(qiáng)大的數(shù)據(jù)處理能力,4 KB external SFR可方便將來(lái)硬件寄存器的改版升級(jí)。通過(guò)MMU單元,可方便實(shí)現(xiàn)程序存儲(chǔ)器、外部數(shù)據(jù)存儲(chǔ)器和內(nèi)部數(shù)據(jù)存儲(chǔ)器的地址映射和權(quán)限管理。
1.1 非接觸接口單元
非接觸接口單元以ISO/IEC 14443-3 TYPE A為通信協(xié)議,主要包含三個(gè)部分:射頻模擬前端電路、數(shù)字基帶電路和存儲(chǔ)器。如圖2所示。
射頻模擬前端電路RF_AFE從13.56 MHz近場(chǎng)中獲取能量,產(chǎn)生電源和13.56 MHz時(shí)鐘信號(hào),并對(duì)數(shù)據(jù)進(jìn)行調(diào)制和解調(diào)。數(shù)字基帶電路連接射頻前端電路和存儲(chǔ)器,是這兩個(gè)模塊的接口,在CPU指令控制下完成射頻通信。數(shù)字基帶電路包括時(shí)鐘產(chǎn)生模塊、復(fù)位產(chǎn)生模塊、解碼模塊、編碼模塊、收發(fā)控制模塊、防碰撞模塊、CRC 校驗(yàn)?zāi)K等。時(shí)鐘產(chǎn)生模塊的輸入為模擬前端電路產(chǎn)生的13.56 MHz方波,通過(guò)分頻處理產(chǎn)生各個(gè)模塊需要的頻率,同時(shí)這個(gè)模塊還要完成時(shí)鐘的同步功能。解碼模塊和編碼模塊分別對(duì)接收信號(hào)和發(fā)射信號(hào)的數(shù)據(jù)幀進(jìn)行解碼和編碼, 編碼模塊采用曼徹斯特碼編碼器對(duì)發(fā)送信號(hào)進(jìn)行編碼,解碼模塊通過(guò)改進(jìn)米勒碼解碼器對(duì)接收信號(hào)進(jìn)行解碼;控制單元?jiǎng)t主要完成PICC主狀態(tài)機(jī)控制,判斷接收的幀類型,對(duì)發(fā)送及接收數(shù)據(jù)進(jìn)行奇偶檢驗(yàn),同時(shí)實(shí)現(xiàn)對(duì)各組成模塊的狀態(tài)轉(zhuǎn)移控制及對(duì)RF buffer的讀寫(xiě)控制。另外,CRC校驗(yàn)?zāi)K用于對(duì)接收信號(hào)和發(fā)送信號(hào)的代碼實(shí)現(xiàn)CRC-16校驗(yàn)功能;考慮到上層COS命令的現(xiàn)場(chǎng)應(yīng)用,存儲(chǔ)器采用280 B的寄存器組實(shí)現(xiàn)。
1.2 電源管理單元
電源管理是指對(duì)接觸電源和非接觸RF電源進(jìn)行統(tǒng)一管理,輸出一路恒定電源。芯片在正常應(yīng)用情況下,只會(huì)有單一界面工作的需求,不會(huì)雙界面同時(shí)工作。如表1所示,電源輸出采用接觸優(yōu)先的策略,即只要有接觸電源存在,輸出電源就會(huì)選擇接觸電源;只有在接觸電源不存在的情況下,輸出電源才會(huì)選擇RF電源。
1.3 芯片的復(fù)位管理
在電源上下電過(guò)程中,要求產(chǎn)生復(fù)位信號(hào)。具體復(fù)位管理如表2。
根據(jù)電源管理和復(fù)位管理的方式,雙界面的模式判斷流程如圖3所示。
2 芯片的高安全性
2.1 芯片安全防護(hù)機(jī)制
非接觸接口單元以ISO/IEC 14443-3 TYPE A為通信協(xié)議,主要包含三個(gè)部分:射頻模擬前端電路、數(shù)字基帶電路和存儲(chǔ)器。
如表3,對(duì)芯片安全的攻擊可分為三種基本類型:物理攻擊、擾亂攻擊和側(cè)信道攻擊。
針對(duì)以上攻擊方法,該芯片采取如下防范策略。
物理攻擊防范方面:
(1)采用多層電路設(shè)計(jì),將包含敏感數(shù)據(jù)的層隱藏在較不敏感的層之下,使得微探針技術(shù)的使用受到一定限制。
(2)減小芯片形體尺寸:使攻擊者無(wú)法使用光學(xué)顯微鏡來(lái)分析芯片的電路結(jié)構(gòu)。
(3)頂層傳感器保護(hù)網(wǎng):在芯片的表面加上一層格狀的帶有保護(hù)信號(hào)的激活網(wǎng)絡(luò),當(dāng)入侵行為發(fā)生時(shí),該信號(hào)中斷,通過(guò)控制電路使內(nèi)存中相應(yīng)內(nèi)容清零。
(4)鎖存電路:在芯片的微處理器中設(shè)置鎖存位。當(dāng)出現(xiàn)異常情況時(shí),它會(huì)發(fā)出鎖存信號(hào),立即清除芯片中的敏感數(shù)據(jù)。
擾亂攻擊的防范方面:
(1)加入監(jiān)測(cè)電路,集成高低電壓檢測(cè)報(bào)警、高低頻率檢測(cè)報(bào)警、溫度檢測(cè)報(bào)警、光檢測(cè)報(bào)警,當(dāng)外界環(huán)境異常時(shí),可發(fā)出警告標(biāo)志,使芯片對(duì)自身數(shù)據(jù)進(jìn)行防護(hù)。
(2)引入Double check電路,對(duì)加密算法多次運(yùn)算結(jié)果對(duì)比,正確則輸出,錯(cuò)誤則不輸出。
側(cè)信道攻擊的防范方面:
(1)采用平衡電路降低信號(hào)能量,設(shè)置金屬防護(hù)以抑制電磁發(fā)射。
(2)執(zhí)行并行隨機(jī)處理來(lái)加大幅值噪聲水平以干擾芯片工作時(shí)泄露的功耗信息分析。
(3)隨機(jī)中斷處理引入不同的時(shí)鐘頻率和時(shí)間噪聲。
2.2 存儲(chǔ)器的安全訪問(wèn)機(jī)制
程序存儲(chǔ)器分為應(yīng)用程序區(qū)、Bootloader區(qū)和EEPROM補(bǔ)丁程序區(qū)。在Bootloader區(qū)運(yùn)行期間,可下載應(yīng)用程序,而在應(yīng)用模式下,為保護(hù)應(yīng)用程序區(qū)和EEPROM補(bǔ)丁程序區(qū)的程序安全,其訪問(wèn)權(quán)限可配置為不可寫(xiě)入,防止芯片在異常狀態(tài)中對(duì)應(yīng)用程序造成意外的篡改,而B(niǎo)ootloader區(qū)硬件控制為不可寫(xiě)入,只能在CP測(cè)試階段通過(guò)硬件的BIST接口寫(xiě)入,既能防止應(yīng)用程序意外跳轉(zhuǎn)到Bootloader區(qū),對(duì)應(yīng)用程序進(jìn)行破壞,又能從源頭上保證程序的安全性。對(duì)于數(shù)據(jù)存儲(chǔ)區(qū),也可以配置為不可寫(xiě)入,目的是保護(hù)關(guān)鍵數(shù)據(jù),防止芯片在異常狀態(tài)中對(duì)數(shù)據(jù)造成意外篡改。此外,對(duì)CPU訪問(wèn)權(quán)限出錯(cuò)的情況,程序會(huì)進(jìn)入異常狀態(tài),將相應(yīng)的出錯(cuò)標(biāo)志位置位并進(jìn)入中斷處理程序或直接進(jìn)入復(fù)位狀態(tài)。
在電路結(jié)構(gòu)上,為了進(jìn)一步對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行加密,采用了地址、數(shù)據(jù)擾動(dòng)技術(shù),結(jié)構(gòu)如圖4所示?;驹硎峭ㄟ^(guò)一個(gè)線性的邏輯映射把CPU要訪問(wèn)的存儲(chǔ)器地址變換成不連續(xù)及混亂的地址,這樣就可以使攻擊者不能分辨和分析程序是在順序執(zhí)行或跳轉(zhuǎn),也不能根據(jù)地址來(lái)猜測(cè)數(shù)據(jù)類型。而CPU在讀取這些數(shù)據(jù)的時(shí)候,通過(guò)一個(gè)線性的逆變換就可以得到真正的數(shù)據(jù)。這種變換和逆變換是由硬件電路完成的,因此對(duì)CPU是透明的,所以對(duì)軟件的開(kāi)發(fā)沒(méi)有影響。同理,寫(xiě)入或讀出存儲(chǔ)器的數(shù)據(jù)也是經(jīng)過(guò)變換加密的。
2.3 芯片設(shè)計(jì)的安全性
系統(tǒng)層級(jí)上,采用32 MHz高精度內(nèi)部時(shí)鐘振蕩器,保證芯片工作時(shí)不受外部時(shí)鐘的干擾。芯片內(nèi)部的真隨機(jī)數(shù)發(fā)生器(符合FIPS140-2和NIST SP800-22),基于電阻在通電后產(chǎn)生電熱噪聲的隨機(jī)分布特性,利用噪聲隨機(jī)性產(chǎn)生數(shù)據(jù)作為數(shù)據(jù)源,具有性能良好、隨機(jī)度高的特點(diǎn)。復(fù)用成熟IP CRC(Cyclical Redundancy Check,循環(huán)冗余碼校驗(yàn))可用于數(shù)據(jù)的完整性校驗(yàn),而看門(mén)狗計(jì)數(shù)器(Watch Dog Timer,WDT)也可防止程序跑飛,保證芯片運(yùn)行的安全。
芯片的加密模塊采用DES/3DES分組密碼加密算法,通過(guò)分組、移位、查表和交換等操作,使智能卡數(shù)據(jù)安全性更高。同時(shí)芯片也集成了由中國(guó)密碼管理局編制的商用密碼分組標(biāo)準(zhǔn)對(duì)稱加密算法SM1模塊,與軟件實(shí)現(xiàn)方式相比,具有加密速度快、加密安全性能高等優(yōu)點(diǎn),使得該芯片能滿足多數(shù)國(guó)家安全認(rèn)證要求。同時(shí),這些加密算法引入了隨機(jī)噪聲、隨機(jī)掩碼和隨機(jī)等待三者相結(jié)合的防側(cè)信道攻擊技術(shù),保證芯片加密運(yùn)算時(shí)的安全性。
3 芯片的低功耗
為減小芯片功耗,本文設(shè)計(jì)的PMU(功耗管理模塊)很好地從系統(tǒng)層級(jí)上實(shí)現(xiàn)了芯片的低功耗管理。在DES、SM1等功耗較大模塊工作時(shí),會(huì)關(guān)閉其他不相關(guān)工作模塊。在芯片Standby狀態(tài)下及非接觸模式接收、發(fā)送數(shù)據(jù)過(guò)程中,將關(guān)閉CPU、DES、SM1、CRC等數(shù)字模塊,同時(shí)也逐級(jí)關(guān)閉VR、FLASH、EEPROM和OSC等模擬模塊。
在電路結(jié)構(gòu)上,采用門(mén)控時(shí)鐘技術(shù)和控制電路節(jié)點(diǎn)跳變方法降低芯片的功耗,以門(mén)控時(shí)鐘取代原始時(shí)鐘,同時(shí)控制電路系統(tǒng)內(nèi)部各觸發(fā)器和鎖存器輸出的跳變次數(shù)。動(dòng)態(tài)控制時(shí)鐘的低功耗技術(shù),可保證芯片在射頻電磁場(chǎng)中具備優(yōu)異的通信穩(wěn)定性和可靠性。
4 結(jié)果分析
本文根據(jù)ISO/IEC7816和ISO/IEC 14443-A協(xié)議,完成基于CPU的、集接觸與非接觸接口為一體的低功耗高安全芯片的設(shè)計(jì)及樣品測(cè)試,并通過(guò)了全部邏輯功能驗(yàn)證,包括程序加載過(guò)程、IO接口通信、FLASH/EEPROM/SRAM讀寫(xiě)操作、DES/3DES/SM1加解密、隨機(jī)數(shù)產(chǎn)生、CRC校驗(yàn)、以及安全機(jī)制防護(hù)等。
在采用HHNEC的0.13 μm工藝條件下,包括CPU及DMA協(xié)處理器、通信接口、時(shí)鐘、復(fù)位、功耗管理、硬件加解密、存儲(chǔ)訪問(wèn)控制等所有邏輯電路,其綜合后規(guī)模約8萬(wàn)門(mén),芯片面積約為8.08 mm2,正常工作平均功耗約2 mA,滿足智能卡封裝對(duì)芯片面積的要求。
(1)邏輯綜合結(jié)果
邏輯綜合結(jié)果如表4所示。
(2)RF測(cè)試結(jié)果
RF測(cè)試結(jié)果如表5所示。
(3)DIP40陶封芯片功能驗(yàn)證
RF陶封芯片功能驗(yàn)證結(jié)果如表6所示。
(4)功耗測(cè)試結(jié)果
功耗測(cè)試結(jié)果如表7所示。
5 結(jié)論
本文設(shè)計(jì)的一種低功耗高安全雙界面智能卡芯片,通過(guò)流片加工及樣品驗(yàn)證,可完全滿足協(xié)議對(duì)雙界面芯片性能的要求,構(gòu)筑了完善的智能卡安全體系結(jié)構(gòu),實(shí)現(xiàn)了芯片面積、速度和功耗之間較好的平衡。
其高安全性、兼容性及超低功耗設(shè)計(jì)可完全作為POS機(jī)等移動(dòng)設(shè)備近距離支付通訊的載體,可很好地應(yīng)用于城市一卡通領(lǐng)域和金融領(lǐng)域,實(shí)現(xiàn)公交、水電、煤氣等小額非接觸支付以及電子錢包存折應(yīng)用,同時(shí)還可作為數(shù)據(jù)的安全存儲(chǔ)和身份認(rèn)證產(chǎn)品,用于企業(yè)員工管理等。
參考文獻(xiàn)
[1] ISO/IEC 14443-1-2/-3/-4,ISO/IEC 10373-6,ISO/IEC 7816-3/-4/-5/-6.
[2] 閔昊.智能卡領(lǐng)域的一大技術(shù)進(jìn)步——雙界面卡[J].安防科技,2003(6).
[3] MAYES K,MARKANTONAKIS K.Smart cards,tokens,security and applications[M].Springer,2008.
[4] SHELFER K M,PROCACCINO J D.Smart card evolution[J].Communications of the ACM,2002,45(7).
[5] Zhang Xinfang.For mobile payment development based on smart card technology[J].China Financial,2013(3):35.
[6] Wen Zhang,Yue Chen.Measures for dual-interface IC card security[J].China ITS Journal,2012(11):76.