范偉力,胡楊川,朱 翔
(1.成都三零嘉微電子有限公司,四川 成都 610041;2.保密通信重點實驗室,四川 成都 610041)
當(dāng)前,信息技術(shù)已經(jīng)逐漸被應(yīng)用于社會各個領(lǐng)域,深刻影響著人類的各項活動,也給信息安全帶來了嚴峻挑戰(zhàn)。安全芯片作為信息系統(tǒng)安全性的基礎(chǔ)保障手段,是確保信息系統(tǒng)安全性的基礎(chǔ)元器件和構(gòu)建安全環(huán)境的重要支撐。正因為如此,安全芯片自身的安全對整個信息系統(tǒng)至關(guān)重要,也一直是相關(guān)研究人員關(guān)注的焦點。目前,針對安全芯片的各種攻擊方法和手段在研究中不斷被提出和深入發(fā)展,對安全芯片的威脅越來越大,因此對安全芯片防護技術(shù)的研究任重道遠[1]。
根據(jù)對安全芯片攻擊侵入程度的不同,攻擊手段可以分為侵入式攻擊(Invasive Attacks)、非侵入式攻擊(Non-invasive Attacks)和半侵入式攻擊(Semi-Invasive Attacks)3 種[2]。
針對以上3 種攻擊,常見安全芯片中均設(shè)計有相應(yīng)的防護電路,盡可能提高攻擊者的攻擊難度和時間成本。為提升高安全領(lǐng)域中安全芯片的防護能力,可在安全芯片中加入自毀電路設(shè)計,在安全芯片離開安全環(huán)境處于失控狀態(tài)一定時間后啟用自毀電路,以物理方式徹底破壞芯片中的關(guān)鍵電路和敏感數(shù)據(jù),從而實現(xiàn)更高的安全性。
本文提出了一種用于安全芯片的無線自毀電路,可在安全芯片離開安全可控的工作環(huán)境后,自動啟動安全芯片的物理自毀操作。
圖1 是安全芯片的無線自毀原理示意圖。安全芯片上集成有無線自毀電路和片上炸藥。無線自毀電路的天線集成在芯片封裝管殼上。安全芯片無線管控端部署在芯片所在的主機殼內(nèi)或可通過電磁波覆蓋芯片的鄰近區(qū)域。
正常情況下,安全芯片處于無線管控端電磁波覆蓋范圍內(nèi),其無線自毀電路周期性地自動和無線管控端進行認證。當(dāng)安全芯片離開管控區(qū)域后,無線管控電路因無法完成認證,判定安全芯片已失控并輸出自毀信號引爆片上炸藥,從而完成安全芯片物理自毀操作。
圖1 安全芯片的無線自毀原理
安全芯片上的無線自毀電路和安全芯片無線管控端之間采用800/900 MHz 射頻信號通信,無線信道的物理層和訪問控制層參考國標《信息技術(shù)射頻識別800/900 MHz 空中接口協(xié)議》(GB/T 29768—2013),命令格式為自定義[3]。
圖2 是無線自毀電路的總體架構(gòu),由控制子電路、調(diào)制/解調(diào)子電路、存儲器、認證子電路、隨機數(shù)子電路、使能狀態(tài)熔絲、時鐘子電路、上電復(fù)位子電路以及天線等部分組成??刂谱与娐坟撠?zé)控制、調(diào)度其他子電路;調(diào)制/解調(diào)子電路接收射頻信號完成解調(diào)以及發(fā)送射頻信號的調(diào)制;存儲器存儲工作需要的配置數(shù)據(jù);認證子電路負責(zé)認證數(shù)據(jù)包的解析和封包;隨機數(shù)子電路在認證流程和自毀信號產(chǎn)生過程中使用;使能狀態(tài)熔絲用于使能無線自毀電路;時鐘子電路和上電復(fù)位子電路產(chǎn)生無線自毀電路的工作時鐘和復(fù)位信號。
圖2 無線自毀電路總體架構(gòu)
無線自毀電路的工作流程如圖3 所示。當(dāng)芯片上電后,無線自毀電路的上電復(fù)位子電路完成全電路的復(fù)位。無線自毀電路檢查使能狀態(tài)位是否有效,若有效進入下一工作流程,且計時器開始計時,否則電路停止工作。計時器計滿一定時間后,無線自毀電路主動發(fā)起和無線管控端之間的認證。若認證通過,認證失敗計數(shù)器清零并返回等待計時狀態(tài),等待下一次認證;若認證失敗,認證失敗計數(shù)器加1,并判斷認證失敗次數(shù)是否超過設(shè)定閾值。當(dāng)失敗次數(shù)未超過設(shè)定閾值,無線自毀電路返回等待計時狀態(tài);否則,輸出自毀信號。
圖3 無線自毀電路工作流程
為防止攻擊方關(guān)閉無線自毀電路使能,使能狀態(tài)位由熔絲實現(xiàn)。在安全芯片完成密碼資源初裝并放置在正常工作區(qū)域后,再熔斷熔絲激活無線自毀功能。
按照總體設(shè)計要求,解調(diào)/調(diào)制子電路應(yīng)支持國標《信息技術(shù)射頻識別800/900 MHz 空中接口協(xié)議》(GB/T 29768—2013)中規(guī)定的ASK 調(diào)制方式。
解調(diào)/調(diào)制子電路結(jié)構(gòu)如圖4 所示。無線自毀電路采用反向散射調(diào)制原理返回數(shù)據(jù)到無線管控端,M1和C1完成調(diào)制功能。MODIN 信號通過控制M1的通斷來控制電容C1是否并聯(lián)至芯片的輸入端。解調(diào)/調(diào)制子電路通過這種方式改變了芯片的輸入阻抗,達到反向散射調(diào)制的目的[4]。
C2、C3、C4、C5和D1、D2、D3、D4構(gòu)成的二級迪克遜電荷泵完成包絡(luò)檢測功能,R1為電荷泵負載電阻,檢測出的包絡(luò)信號再通過R2和C6組成的低通濾波器過濾掉高頻信號。包絡(luò)信號經(jīng)過由C7和M2構(gòu)成的微分器,在包絡(luò)上升時,微分器產(chǎn)生一個正的階躍,在包絡(luò)下降時產(chǎn)生負階躍。經(jīng)過微分器后的信號幅度較為穩(wěn)定。這種設(shè)計不僅使比較器對信號強度的變化有很強的適應(yīng)性,而且會對不同調(diào)制深度的信號表現(xiàn)出更好的靈敏度和可靠性。
圖4 調(diào)制/解調(diào)子電路
C0和R0用于調(diào)整天線端口上的阻抗,便于匹配天線。
為滿足國標《信息技術(shù)射頻識別800/900 MHz空中接口協(xié)議》的物理層定義要求,時鐘子電路的頻率典型值設(shè)計為1.28 MHz,且要求頻率偏差小于±10%。
時鐘子電路結(jié)構(gòu)如圖5 所示?;诠暮途鹊恼壑锌紤],時鐘子電路采用電流源控制的環(huán)形振蕩器結(jié)構(gòu),通過調(diào)整電流源的電流大小和溫度系數(shù),達到降低時鐘子電路功耗,并提升時鐘精度的目的。
上電復(fù)位子電路結(jié)構(gòu)如圖6 所示。上電過程中,隨著電源的升高,節(jié)點A 與節(jié)點B 的電壓隨之升高。節(jié)點B 的電壓VB經(jīng)過反相器的延遲輸出后,產(chǎn)生節(jié)點D 的電壓VD。VD與電源之間存在壓差,且該壓差也是晶體管MP10的Vgs。當(dāng)該Vgs足夠大時,晶體管MP10導(dǎo)通。電源通過導(dǎo)通的晶體管MP10為電容C2充電。當(dāng)電容C2上的電壓VE不斷增大時,晶體管MN6開始導(dǎo)通,使得輸出電壓VF降低。由反相器反向后,電路的輸出端產(chǎn)生了上電復(fù)位信號的上升沿。充電結(jié)束后,電容C2通過MN5放電,調(diào)節(jié)MN5的尺寸,使電容C2放電的速度比充電慢。當(dāng)電容C2上的電壓逐漸降低時,晶體管MN6進入截止狀態(tài),輸出電壓VF升高,此時電路的輸出端得到了上電復(fù)位信號的下降沿。
圖5 時鐘子電路
圖6 上電復(fù)位子電路
掉電過程中,隨著VDD 電壓的降低,A 點和B點電壓被拉低,B點較A點之前變低。經(jīng)過反相器后,C 點較D 點之前變高。當(dāng)D 點變高時,E 點上的電容C2被放電。當(dāng)VDD 達到地電位時,C 點和D 點被PMOS 鉗位到Vthp電平,E 點電壓被PMOS 鉗位到2Vthp電平。由于MOS 器件的亞閾值導(dǎo)電特性,E 點電壓還將進一步降低,直至達到地電位。
隨機數(shù)子電路結(jié)構(gòu)如圖7 所示。隨機數(shù)產(chǎn)生采用振蕩器采樣原理,高頻時鐘使用已有的1.28 MHz時鐘,在低頻振蕩器中引入電阻熱噪聲生成帶噪聲的低頻時鐘[5]。使用低頻時鐘對高頻時鐘進行采樣產(chǎn)生隨機數(shù),低頻時鐘頻率約30 kb/s,高/低頻時鐘比約40。
認證子電路的認證流程如圖8 所示。當(dāng)無線自毀電路上電復(fù)位完成后,由認證子電路發(fā)起認證,發(fā)送自身ID和隨機數(shù)RN給管控設(shè)備。管控設(shè)備用根密鑰RK和無線自毀電路ID產(chǎn)生對應(yīng)認證密鑰AK,管控設(shè)備使用AK加密RN,并將加密結(jié)果EAK(RN)發(fā)送給無線自毀電路。無線自毀電路收到管控設(shè)備發(fā)來的密文后,使用內(nèi)置的認證密鑰AK進行解密,得到RN’。無線自毀電路比較RN和RN’,若二者一致則認證通過,否則認證失敗。認證過程采用SM7 輕量級分組算法。
圖7 隨機數(shù)子電路
圖8 認證子電路認證流程
圖9 為控制電路結(jié)構(gòu)圖,由有限狀態(tài)機、命令處理、命令返回、認證計數(shù)和自毀信號輸出組成。有限狀態(tài)機實現(xiàn)電路工作狀態(tài)控制;命令處理模塊完成空中接口命令的解析;命令返回模塊完成空中接口返回數(shù)據(jù)的發(fā)送;認證計數(shù)模塊完成認證失敗計數(shù),其溢出閾值可由用戶根據(jù)安全策略進行配置;自毀信號輸出模塊用于產(chǎn)生觸發(fā)芯片自毀的控制信號。
圖9 控制電路
為防止攻擊者切斷自毀信號線破壞安全芯片的自毀功能,自毀信號采用9 bit 總線。產(chǎn)生原理如下:由隨機數(shù)子電路產(chǎn)生8 bit 隨機數(shù)RNG[7:0]對其進行按位異或運算得到結(jié)果^RNG[7:0];當(dāng)未檢測到安全芯片失控時,輸出9 bit 自毀控制信號EN_SD[8:0]={^RNG[7:0],RNG[7:0]};當(dāng)檢測到安全芯片失控時,輸出9 bit 自毀控制信號EN_SD[8:0]={~(^RNG[7:0]),RNG[7:0]}。自毀引爆電路接收到EN_SD[8:0]后,對其進行按位異或得到結(jié)果SD_RESULT。當(dāng)SD_RESULT=1 時,自毀引爆電路啟動。在后端設(shè)計時,使用底層金屬走線連接EN_SD[8:0]信號,并進行亂序處理。
無線自毀電路采用SMIC 130 nm CMOS 工藝實現(xiàn),使用華大九天的ALPS 仿真器對全電路網(wǎng)表進行晶體管級仿真。圖10 是空中接口調(diào)制/解調(diào)數(shù)據(jù)波形,可見一次認證流程耗時約1 ms。
圖11 是自毀信號輸出波形,波形從上到下依次為自毀信號總線值和9 根輸出線的波形。當(dāng)連續(xù)認證失敗次數(shù)超過設(shè)定閾值時,自毀信號輸出值變?yōu)?5C 和0B9,其按位異或結(jié)果均為1,代表自毀信號有效。
圖10 空中接口調(diào)制/解調(diào)數(shù)據(jù)波形
圖11 自毀信號輸出波形
無線自毀電路的版圖采用SMIC 130 nm CMOS工藝實現(xiàn),版圖面積約為840 μm×900 μm,如圖12 所示。版圖中,模擬部分位于左側(cè)位置,數(shù)字部分位于右側(cè)位置,存儲器位于右上角。左上角和左下角為兩個天線PAD,右側(cè)從上到下為電源、地、自毀信號輸出和使能信號,其中自毀信號采用亂序排布,并使用最底層金屬M1輸出。無線自毀電路采用四層金屬布線,建議安全芯片在集成無線自毀電路時,在其上部覆蓋頂層金屬進行保護。
圖12 無線自毀電路版圖
本文提出的無線自毀電路,采用800/900 MHz射頻信號實現(xiàn)和無線管控端之間的通信,無線信道的物理層和訪問控制層參考國標《信息技術(shù)射頻識別800/900 MHz 空中接口協(xié)議》(GB/T 29768—2013)。無線自毀電路可在安全芯片離開無線管控端覆蓋的電磁環(huán)境后,自動啟動安全芯片的物理自毀操作。無線自毀電路已采用SMIC 130 nm CMOS工藝實現(xiàn),并可根據(jù)安全芯片的工藝需要進行工藝遷移。該電路在安全芯片處于失控情況下可引爆片上炸藥,以物理方式徹底破壞安全芯片中的關(guān)鍵電路和敏感數(shù)據(jù),大大提升了安全芯片的安全性。