實現(xiàn)mcu安全性的方法及電路的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及高安全性MCU (微控制器)技術(shù)領(lǐng)域,特別是涉及一種實現(xiàn)MCU安全性的方法。本發(fā)明還涉及一種實現(xiàn)MCU安全性的電路。
【背景技術(shù)】
[0002]一般MCU是沒有任何特殊的硬件安全保護。它們是基于設(shè)計非公開算法進行保護的,但是,對此可以通過分析燒錄器端口上的數(shù)據(jù)特性,使用示波器進行協(xié)議分析進行破解(參見圖1所示)。后來MCU是靠Fuse (熔絲)技術(shù)來保證MCU的安全性,但這個熔絲電路異于正常存儲器,在顯微鏡下很容易被定位并進行侵入式FIB (聚焦離子束)進行破解,也無法保證MCU的數(shù)據(jù)安全。破解的方法是通過顯微鏡追蹤高壓管腳,借此追蹤到熔絲電路,把熔絲電路的輸出接地或接電源,讓后面的安全電路失效?;蛘吒鼮楹唵蔚木褪菍τ谶@部分熔絲電路進行紫外光的照射,讓熔絲電路恢復成出廠狀態(tài)(參見圖2所示)。
[0003]現(xiàn)在越來越流行的MCU使用與存儲陣列相同布線布局的Fuse位,甚至把Fuse位做在存儲裝置內(nèi)部,這個安全Fuse位就很難被侵入者破解,但侵入者花更多時間,更高成本還是可以進行破解。比如現(xiàn)在TI以及Renesas的MCU使用安全密鑰來進行保護,這樣就極大的極高的增加了入侵者的破解成本。TI的MSP430就是使用中斷入口地址作為128位安全密鑰,如果輸入的密碼不準確,就進行存儲模塊的擦除來保護敏感信息的安全。
[0004]帶保護功能的JTAG (Joint Test Act1n Group聯(lián)合測試行為組織)調(diào)試接口,即可保證用戶MCU升級的需求,同時也保證了客戶敏感信息的安全性。
【發(fā)明內(nèi)容】
[0005]本發(fā)明要解決的技術(shù)問題是提供一種實現(xiàn)MCU安全性的方法,能夠增強超低功耗MCU的安全性,極高的增加入侵者的破解成本;為此,本發(fā)明還要提供一種實現(xiàn)MCU安全性的電路。
[0006]為解決上述技術(shù)問題,本發(fā)明的實現(xiàn)MCU安全性的方法,是采用如下技術(shù)方案實現(xiàn)的:MCU上電后,利用電源監(jiān)測電路把MCU芯片內(nèi)部的總復位信號置位“1”,然后,啟動MCU芯片內(nèi)部的RC OSC (RC振蕩電路),同時啟動上電復位自適應(yīng)電路;該上電復位自適應(yīng)電路立即讀取存放于Flash (閃存)安全位置的128位安全密鑰;并將該安全密鑰存放在密碼匹配電路,之后釋放所述總復位信號JTAG調(diào)制接口默認是關(guān)閉狀態(tài);
[0007]當MCU芯片工作后,所述密碼匹配電路開始工作,當外部輸入密碼時,所述密碼匹配電路對該密碼與其保存的安全密鑰進行匹配確認,當匹配確認為正確后,JTAG調(diào)制接口打開,否則進行全MCU芯片的擦除。
[0008]所述實現(xiàn)MCU安全性的電路,包括:
[0009]—復位寄存器,用于產(chǎn)生MCU芯片內(nèi)部總復位信號;
[0010]一電源監(jiān)測電路,在MCU芯片上電時,將所述復位寄存器置“1”,所述總復位信號有效;
[0011]一 MCU芯片內(nèi)部RC振蕩器,在所述總復位信號為“I”時,啟動工作,輸出時鐘信號;
[0012]一上電復位自適應(yīng)電路,在所述總復位信號為“I”時,啟動工作,讀取128位安全密鑰,并將讀取的安全密鑰存放到密碼匹配電路,然后釋放所述總復位信號,并關(guān)閉所述RC振蕩器,同時使MCU芯片正常啟動;
[0013]一 Flash,在其安全位置存放安全密鑰;
[0014]一 JTAG調(diào)試接口,其默認為關(guān)閉狀態(tài),在關(guān)閉狀態(tài)作為密碼輸入端口,輸入由外部輸入的密碼;
[0015]一密碼寄存器,用于寄存外部輸入的密碼;
[0016]一所述密碼匹配電路,對外部輸入的密碼與其保存的所述安全密鑰進行匹配,如果經(jīng)匹配確認正確后,輸出密碼匹配成功信號;
[0017]一密碼保護電路,在密碼匹配成功信號的控制下,使所述JTAG調(diào)試接口自動切換為調(diào)試端口,即JTAG調(diào)試接口打開;然后可以使用個人電腦PC,通過調(diào)試器,對MCU內(nèi)部電路進行調(diào)試;否則進行全MCU芯片的擦除。
[0018]本發(fā)明基于安全密鑰存放位置,上電復位自適應(yīng)電路,密碼保護電路,密碼匹配電路,帶保護功能的JTAG調(diào)試接口,來共同實現(xiàn)MCU的高安全性;通過這些硬件模塊以及系統(tǒng)軟件的配合使用,能實現(xiàn)MCU的超低功耗和高安全性完美結(jié)合。
[0019]用戶程序或敏感信息的高安全性,機密性,完整性是高安全性MCU的成敗關(guān)鍵。本發(fā)明能極大地增強MCU的安全性,極高的增加入侵者的破解成本,顯著提高高安全性MCU的市場競爭力。
【附圖說明】
[0020]下面結(jié)合附圖與【具體實施方式】對本發(fā)明作進一步詳細的說明:
[0021]圖1是現(xiàn)有的MCU安全密鑰存放位置(一)示意圖;
[0022]圖2是現(xiàn)有的MCU安全密鑰存放位置(二)示意圖;
[0023]圖3是本發(fā)明的MCU安全密鑰存放位置示意圖;
[0024]圖4是安全密鑰在Flash中的存放位置示意圖;
[0025]圖5是密碼匹配電路進行密碼匹配的示意圖;
[0026]圖6是實現(xiàn)MCU安全性的電路一實施例原理框圖。
【具體實施方式】
[0027]參見圖3所示,所述實現(xiàn)MCU高安全性的方法將安全密鑰等效成熔絲電路,并且把安全密鑰存放于Flash存儲器內(nèi)部位置,采用這種方法來保護敏感信息的安全。并且密碼保護電路的邏輯電路的布線使用MCU芯片而非電路板最底下的兩層金屬進行繞線,加強電路密碼保護。圖3中的圓點表示安全密鑰存放的區(qū)域,通過上電復位自適應(yīng)電路進行不同地址的讀取,將安全密鑰與主程序合并在一起,使入侵者根本無法找到安全密鑰所在位置。這樣,入侵者根本無法借助侵入式的FIB方法破解熔絲電路,如果使用紫外光照射,整體信息就會被破壞,失去破解意義。
[0028]圖4是安全密鑰在Flash中的存放位置示意圖,可以通過不同的硬件設(shè)計來決定安全密鑰存放的地址。圖4中的圓點表示安全密鑰存放的區(qū)域。
[0029]所述實現(xiàn)MCU高安全性的方法是這樣實現(xiàn)的,在MCU上電后,利用電源監(jiān)測電路把MCU芯片內(nèi)部的電路總復位信號置位“ I ”,然后,啟動MCU芯片內(nèi)部RC 0SC,同時啟動上電復位自適應(yīng)電路。這個上電復位自適應(yīng)電路,會立即通過預先設(shè)計規(guī)定的地址分別去讀取存放于Flash安全位置的128位安全密鑰;比如:128’hll2233445566778899AABBCCDDEEFF
00。并把該安全密鑰存于密碼匹配電路,之后,釋放所述總復位信號,即由上電復位自適應(yīng)電路將“總復位信號”置O。JTAG通道(B卩JTAG調(diào)試接口)默認是關(guān)閉狀態(tài)。在MCU芯片工作后,所述密碼匹配電路開始工作,當外部輸入密碼后,該密碼匹配電路對輸入的密碼與其保存的所述安全密鑰進行匹配確認,如果經(jīng)匹配確認正確后,JTAG通道打開,否則對全MCU芯片進行擦除。
[0030]為了實現(xiàn)MCU高安全性,首先通過上電復位自適應(yīng)電路,保證MCU芯片在上電不穩(wěn)定的情況下,處于復位狀態(tài),直到電源電壓穩(wěn)定后,MCU才開始運行程序,這是一種MCU安全性的設(shè)計。JTAG加密碼調(diào)試,是為了防止MCU被非法侵入做保護,這也是一種MCU安全性的設(shè)計。這二者之間是沒有任何聯(lián)系的。
[0031]因為MCU芯片在密碼匹配電路得到所有安全密鑰之后,才開始工作的。因此當JTAG需要進行調(diào)試時,必須先通過帶密碼保護功能的JTAG調(diào)試接口輸入密碼,當外部輸入的密碼正確后,JTAG通道打開,否則就做全MCU芯片擦除的動作。這樣的設(shè)計讓入侵者破解成本急速升高,不可能使用暴力密碼算法進行破解,因為錯誤的密碼就會把所有信息擦除,破解也就失敗了。一般密碼界認為128位密碼已經(jīng)屬于不能恢復的密碼長度。而在128位密碼保護下,就算破解者獲得了 90%的密碼信息的情況下,還需要破解不同位置的13位密碼,理論上需要可能的密碼個數(shù)為128 ! /(115!*13!) =2.12*1017?258次,破解者需要準備幾百臺機器,每秒