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