亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種存儲(chǔ)器數(shù)據(jù)保護(hù)的方法

文檔序號(hào):6598084閱讀:222來(lái)源:國(guó)知局

專(zhuān)利名稱(chēng)::一種存儲(chǔ)器數(shù)據(jù)保護(hù)的方法
技術(shù)領(lǐng)域
:本發(fā)明涉及嵌入式soc集成電路設(shè)計(jì)領(lǐng)域,尤其是一種存儲(chǔ)器數(shù)據(jù)保護(hù)的方法。
背景技術(shù)
:隨著嵌入式技術(shù)的發(fā)展,32位處理器CPU內(nèi)核的普及,其運(yùn)算能力越來(lái)越高,大量的軟件以及核心算法,都需要在CPU中運(yùn)行。在32位CPU中運(yùn)行的算法,多為通用的C程序編程,可移植性很高,如果泄露,會(huì)造成較嚴(yán)重的后果。在設(shè)計(jì)SOC芯片時(shí),需要有一套完整的機(jī)制來(lái)保護(hù)軟件算法和數(shù)據(jù)不被誤刪除,不被泄露,同時(shí)需要加密,并且不影響原先的各項(xiàng)功能。這一套對(duì)存儲(chǔ)器數(shù)據(jù)保護(hù)的技術(shù)簡(jiǎn)稱(chēng)MPU(MemoryProtectUnit)技術(shù)?,F(xiàn)有的SOC設(shè)計(jì),很少能夠?qū)Υ鎯?chǔ)器數(shù)據(jù)進(jìn)行保護(hù),即使有,一般通過(guò)應(yīng)用軟件解決,無(wú)法從根本上保護(hù)。有些專(zhuān)業(yè)安全領(lǐng)域,需要進(jìn)行存儲(chǔ)器數(shù)據(jù)保護(hù),一般會(huì)采用片上ROM工藝或內(nèi)嵌FLASH等,將存儲(chǔ)器片內(nèi)化。這種方法相比片外的存儲(chǔ)器有一定的效果,安全性能有明顯的提高,但還是可以用程序?qū)⑵瑑?nèi)的數(shù)據(jù)拷貝出來(lái)。
發(fā)明內(nèi)容針對(duì)上述SOC芯片中存儲(chǔ)器數(shù)據(jù)保護(hù)不全的問(wèn)題,本發(fā)明提出一種存儲(chǔ)器數(shù)據(jù)保護(hù)的方法,應(yīng)用該方法的SOC芯片硬件電路上有邏輯電路能夠防止片內(nèi)存儲(chǔ)器數(shù)據(jù)被讀出,在進(jìn)行Flash寫(xiě)、擦除等操作時(shí),有相應(yīng)的電路進(jìn)行保護(hù)。同時(shí),上位機(jī)PC通過(guò)外部通信接口輸入權(quán)限校驗(yàn)碼來(lái)控制存儲(chǔ)器保護(hù)單元,達(dá)到對(duì)內(nèi)嵌FLASH的數(shù)據(jù)保護(hù)。權(quán)限校驗(yàn)碼的設(shè)置可以防止片內(nèi)數(shù)據(jù)在異常情況被誤刪誤擦,達(dá)到真正的安全芯片等級(jí)。本發(fā)明提供一套完整的存儲(chǔ)器數(shù)據(jù)保護(hù)方法,解決其技術(shù)問(wèn)題采用的技術(shù)方案為在處理器CPU與存儲(chǔ)器之間,構(gòu)建一套嚴(yán)密的數(shù)據(jù)保護(hù)機(jī)制,達(dá)到存儲(chǔ)器數(shù)據(jù)絕對(duì)安全。該方法包括如下步驟1、將存儲(chǔ)器分為六個(gè)區(qū)域,設(shè)置為序列號(hào)存放區(qū)、配置參數(shù)區(qū)、只執(zhí)行算法區(qū)、程序區(qū)、保護(hù)數(shù)據(jù)區(qū)和開(kāi)放數(shù)據(jù)區(qū),除了開(kāi)放數(shù)據(jù)區(qū),每個(gè)區(qū)域都設(shè)有不同的權(quán)限校驗(yàn)碼,只有權(quán)限校驗(yàn)碼匹配正確后才能進(jìn)行寫(xiě)入操作,其中;序列號(hào)存放區(qū)存放芯片唯一序列號(hào),只能寫(xiě)入一次;配置參數(shù)區(qū)存放每個(gè)區(qū)域的配置參數(shù),寫(xiě)入時(shí)需要輸入權(quán)限校驗(yàn)碼;只執(zhí)行算法區(qū)非特定情況下只能執(zhí)行程序和寫(xiě)入數(shù)據(jù),寫(xiě)入時(shí)需要輸入權(quán)限校驗(yàn)碼;程序區(qū)用于讀、寫(xiě)和執(zhí)行程序,寫(xiě)入時(shí)需要輸入權(quán)限校驗(yàn)碼;保護(hù)數(shù)據(jù)區(qū)用于讀寫(xiě)數(shù)據(jù),寫(xiě)入時(shí)需要輸入權(quán)限校驗(yàn)碼;開(kāi)放數(shù)據(jù)區(qū)用于讀寫(xiě)數(shù)據(jù),寫(xiě)入時(shí)不需要輸入權(quán)限校驗(yàn)碼;2、存儲(chǔ)器中的數(shù)據(jù)讀寫(xiě)操作前需先經(jīng)過(guò)存儲(chǔ)器保護(hù)單元,通過(guò)權(quán)限校驗(yàn)碼來(lái)控制存儲(chǔ)器保護(hù)單元是否開(kāi)啟對(duì)存儲(chǔ)器的相關(guān)區(qū)域的操作權(quán)限。作為優(yōu)選,所述的權(quán)限校驗(yàn)碼通過(guò)外部通信接口(如USB、串口等)輸入,用完即丟3作為優(yōu)選,存儲(chǔ)器內(nèi)數(shù)據(jù)可以實(shí)時(shí)加解密和配置密鑰,對(duì)存儲(chǔ)器中的數(shù)據(jù)進(jìn)行加密,加/解密模塊由寄存器控制是否開(kāi)啟,當(dāng)開(kāi)啟加/解密功能時(shí),配置密鑰,密鑰寄存器只能寫(xiě)入,不能讀出。對(duì)存儲(chǔ)區(qū)中的數(shù)據(jù)可以實(shí)時(shí)加解密而不影響整個(gè)系統(tǒng)的性能。作為優(yōu)選,配置存儲(chǔ)器中六個(gè)區(qū)域的大小,根據(jù)不同的應(yīng)用需求配置不同的容量參數(shù),程序區(qū)、保護(hù)數(shù)據(jù)區(qū)和開(kāi)放數(shù)據(jù)區(qū)的大小是可以重新通過(guò)配置寄存器進(jìn)行調(diào)整。作為優(yōu)選,在只執(zhí)行算法區(qū)中,在非特定情況,只能執(zhí)行程序和寫(xiě)入數(shù)據(jù),讀取數(shù)據(jù)是有限制的。當(dāng)前程序位于只執(zhí)行算法區(qū)內(nèi)時(shí),若要用到只執(zhí)行算法區(qū)的數(shù)據(jù),可以讀取數(shù)據(jù);當(dāng)前程序位于只執(zhí)行算法區(qū)外時(shí),則不能讀取數(shù)據(jù)。這樣能夠使軟件編程更方便,只執(zhí)行算法區(qū)內(nèi)的程序的參數(shù)變量都可以編譯在只執(zhí)行區(qū)內(nèi)部空間。作為優(yōu)選,只執(zhí)行算法區(qū)的保護(hù)機(jī)制當(dāng)需要更新只執(zhí)行算法區(qū)內(nèi)程序時(shí),必須將整個(gè)只執(zhí)行算法區(qū)全部擦除,再寫(xiě)入,而且只能通過(guò)芯片內(nèi)ROM程序中的更新函數(shù)來(lái)完成。作為優(yōu)選,更新只執(zhí)行算法區(qū)內(nèi)程序時(shí),在一次硬件復(fù)位后,設(shè)定為只有一次寫(xiě)入權(quán)限,當(dāng)寫(xiě)完后,將權(quán)限校驗(yàn)碼換成其他的值后無(wú)法再進(jìn)行寫(xiě)入,這樣限定數(shù)據(jù)更新功能,一定程度增加該區(qū)段的數(shù)據(jù)安全。作為優(yōu)選,序列號(hào)存放區(qū)存放的序列號(hào)在芯片生產(chǎn)過(guò)程就寫(xiě)入,并且永遠(yuǎn)不能擦除,每個(gè)芯片都有各自的序列號(hào)。芯片啟動(dòng)后就會(huì)讀出序列號(hào),只有序列號(hào)正確,程序才能運(yùn)行,這樣可以保證每個(gè)芯片的程序只能在對(duì)應(yīng)的芯片內(nèi)運(yùn)行,無(wú)法被復(fù)制到其它芯片中運(yùn)行。序列號(hào)存放區(qū)開(kāi)啟寫(xiě)操作后只允許一次寫(xiě)入操作,之后關(guān)閉寫(xiě)入通道,達(dá)到類(lèi)似OTP功能。本發(fā)明有益的效果是1.分區(qū)管理和權(quán)限校驗(yàn)技術(shù)使不同地存儲(chǔ)器地址段擁有不同的保護(hù)級(jí)別,分區(qū)大小可以由寄存器重新定義,保護(hù)過(guò)程有用戶(hù)參與。2.在只執(zhí)行算法區(qū)只能運(yùn)行程序和寫(xiě)入數(shù)據(jù),非特定情況下無(wú)法讀程序,有效地保護(hù)了存儲(chǔ)器內(nèi)數(shù)據(jù)的安全。3.存儲(chǔ)器中的數(shù)據(jù)可以以密文形式存在,而且密鑰可以配置,保護(hù)了存儲(chǔ)器內(nèi)數(shù)據(jù)安全。4.每個(gè)芯片具有單獨(dú)的序列號(hào),其相應(yīng)的配套軟件只能在固定芯片中運(yùn)行,在安全領(lǐng)域應(yīng)用非常廣泛。附圖1是存儲(chǔ)器數(shù)據(jù)保護(hù)單元系統(tǒng)應(yīng)用圖;附圖2是存儲(chǔ)器數(shù)據(jù)保護(hù)單元內(nèi)部結(jié)構(gòu)圖;附圖3FLASH讀/寫(xiě)流程圖。具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明本實(shí)施例以AS500安全芯片為例,說(shuō)明本專(zhuān)利技術(shù)的實(shí)施應(yīng)用。AS500是一款加密應(yīng)用SOC芯片,內(nèi)嵌有FLASH(即存儲(chǔ)器),上位機(jī)PC通過(guò)USB口輸入權(quán)限校驗(yàn)碼來(lái)控制存儲(chǔ)器保護(hù)單元,達(dá)到對(duì)內(nèi)嵌FLASH的數(shù)據(jù)保護(hù)。AS500的內(nèi)部ROM程序負(fù)責(zé)整個(gè)數(shù)據(jù)保護(hù)機(jī)制的軟件部分,通過(guò)USB口,ROM程序會(huì)將PC中用戶(hù)的權(quán)限校驗(yàn)碼傳入到存儲(chǔ)器保護(hù)單元的寄存器中,通過(guò)校驗(yàn)開(kāi)啟相應(yīng)的區(qū)域操作權(quán)限。如圖1所示,在芯片AS500中,CPU1和存儲(chǔ)器保護(hù)單元2、FLASH控制器3、內(nèi)嵌FALSH4、SRAM5、USB控制器6之間通過(guò)總線BUS7通訊;上位機(jī)PC8通過(guò)USBBUS9與USB控制器6相連;FLASH控制器3掛在BUS7上,CPU1可以對(duì)其進(jìn)行配置;CPU1在對(duì)內(nèi)嵌FALSH4進(jìn)行數(shù)據(jù)讀寫(xiě)前需先通過(guò)BUS7連接存儲(chǔ)器保護(hù)單元2,再到內(nèi)嵌FALSH4。上位機(jī)PC8通過(guò)權(quán)限校驗(yàn)碼來(lái)控制存儲(chǔ)器保護(hù)單元2是否開(kāi)啟對(duì)內(nèi)嵌FALSH4相關(guān)區(qū)域的操作權(quán)限。如附圖2所示,存儲(chǔ)器數(shù)據(jù)保護(hù)單元2包含地址判斷邏輯21、寄存器組22、校驗(yàn)?zāi)K23、數(shù)據(jù)保護(hù)主控制器24和加/解密模塊25。其中,地址判斷邏輯21對(duì)訪問(wèn)地址譯碼,判斷該訪問(wèn)處于內(nèi)嵌FALSH4哪個(gè)區(qū);寄存器組22控制各模塊工作;校驗(yàn)?zāi)K23負(fù)責(zé)管理內(nèi)嵌FALSH4分區(qū)操作權(quán)限控制;數(shù)據(jù)保護(hù)主控制器24負(fù)責(zé)對(duì)接內(nèi)嵌FALSH4;加/解密模塊25負(fù)責(zé)對(duì)內(nèi)嵌FALSH4數(shù)據(jù)加/解密。地址總線201由24位地址總線組成;寄存器總線202包含2組32位總線;分區(qū)總線203包含6位控制信號(hào);存儲(chǔ)器總線204包含24位地址總線和32位數(shù)據(jù)總線;CPU控制總線205為BVCI控制總線;寄存器總線206包含1組32位總線;校驗(yàn)總線207包含4位控制信號(hào);CPU控制信號(hào)組208包含3根控制信號(hào);數(shù)據(jù)總線209為32位數(shù)據(jù)總線;寄存器總線210包含1組32位總線;CPU數(shù)據(jù)總線211為BVCI數(shù)據(jù)總線。根據(jù)CPU對(duì)存儲(chǔ)器訪問(wèn)的特點(diǎn),將存儲(chǔ)器分為六個(gè)區(qū)域,每個(gè)區(qū)有不同的操作權(quán)限,如下表所示<table>tableseeoriginaldocumentpage5</column></row><table>R-只讀W-只寫(xiě)E-只執(zhí)行序列號(hào)存放區(qū)存放芯片唯一序列號(hào),只能寫(xiě)入一次;配置參數(shù)區(qū)存放每個(gè)區(qū)域的配置參數(shù),寫(xiě)入時(shí)需要輸入權(quán)限校驗(yàn)碼;只執(zhí)行算法區(qū)非特定情況下只能執(zhí)行程序、寫(xiě)入數(shù)據(jù),寫(xiě)入時(shí)需要輸入權(quán)限校驗(yàn)碼;程序區(qū)用于讀、寫(xiě)和執(zhí)行程序,寫(xiě)入時(shí)需要輸入權(quán)限校驗(yàn)碼;保護(hù)數(shù)據(jù)區(qū)用于讀寫(xiě)數(shù)據(jù),寫(xiě)入時(shí)需要輸入權(quán)限校驗(yàn)碼;開(kāi)放數(shù)據(jù)區(qū)用于讀寫(xiě)數(shù)據(jù),寫(xiě)入時(shí)不需要輸入權(quán)限校驗(yàn)碼;存儲(chǔ)器中每種類(lèi)別的區(qū)域的大小可根據(jù)不同的需求進(jìn)行調(diào)整,不同的應(yīng)用需求可以配置不同的容量參數(shù),程序區(qū)、保護(hù)數(shù)據(jù)區(qū)和開(kāi)放數(shù)據(jù)區(qū)的大小是可以重新通過(guò)配置寄存器來(lái)調(diào)整。除了開(kāi)放數(shù)據(jù)區(qū),每個(gè)區(qū)都設(shè)有不同的權(quán)限校驗(yàn)碼,只有權(quán)限校驗(yàn)碼匹配正確后才能進(jìn)行寫(xiě)入操作,保證數(shù)據(jù)的安全,防止被誤改或誤擦除。權(quán)限校驗(yàn)碼不存放在內(nèi)部存儲(chǔ)器中,而是通過(guò)外部通信接口如USB、串口等方式輸入,用完即丟棄。每個(gè)芯片具有單獨(dú)的序列號(hào),系列號(hào)存放區(qū)開(kāi)啟寫(xiě)操作后只允許一次寫(xiě)入操作,寫(xiě)入后關(guān)閉相應(yīng)寫(xiě)入通道使其無(wú)法再寫(xiě)入,也不能被覆蓋或誤刪。序列號(hào)在芯片生產(chǎn)過(guò)程就寫(xiě)入,并且永遠(yuǎn)不能擦除,每個(gè)芯片都有各自的序列號(hào),這樣可以保證每個(gè)芯片的程序只能在對(duì)應(yīng)的芯片內(nèi)運(yùn)行,無(wú)法被復(fù)制到其它芯片中運(yùn)行。存儲(chǔ)器中的只執(zhí)行算法區(qū),只能執(zhí)行程序和寫(xiě)入數(shù)據(jù),一般情況下,無(wú)法讀取其中的數(shù)據(jù)。當(dāng)需要更新只執(zhí)行算法區(qū)內(nèi)程序時(shí),必須將整個(gè)只執(zhí)行算法區(qū)全部擦除,再寫(xiě)入,而且只能通過(guò)芯片內(nèi)ROM程序中的更新函數(shù)來(lái)完成。更新只執(zhí)行算法區(qū)內(nèi)程序時(shí),在一次硬件復(fù)位后,設(shè)定為只有一次寫(xiě)入權(quán)限,當(dāng)寫(xiě)完后,將權(quán)限校驗(yàn)碼換成其他的值后無(wú)法再進(jìn)行寫(xiě)入,這樣限定數(shù)據(jù)更新功能,一定程度增加該區(qū)段的數(shù)據(jù)安全。只執(zhí)行算法區(qū)是重點(diǎn)保護(hù)對(duì)象,客戶(hù)定制的程序需要存放于此,要保證絕對(duì)安全,任何方法無(wú)法將其程序讀出來(lái),且該程序運(yùn)行不受任何限制。在數(shù)據(jù)保護(hù)主控制器24中有一塊邏輯電路CPU行為解碼邏輯接收來(lái)自處理器方面的幾位控制信號(hào),CPU1工作時(shí)通過(guò)控制信號(hào)告訴數(shù)據(jù)保護(hù)主控制器24當(dāng)前CPU1處于取值模式還是數(shù)據(jù)操作模式,以及判斷是否處于JTAG模式。如果是數(shù)據(jù)操作模式,當(dāng)前的指令處于芯片的哪個(gè)存儲(chǔ)空間等。有了CPU1行為解碼邏輯,數(shù)據(jù)保護(hù)主控制器24就會(huì)根據(jù)當(dāng)前處理器的運(yùn)行狀態(tài)來(lái)控制內(nèi)嵌FLASH4,做到相應(yīng)的數(shù)據(jù)保護(hù)功能。只執(zhí)行算法區(qū)的保護(hù)效果為當(dāng)CPU1處于取指狀態(tài),只執(zhí)行算法區(qū)執(zhí)行程序工作正常;當(dāng)CPU1處于讀取數(shù)據(jù)狀態(tài),如果CPU1正運(yùn)行在內(nèi)嵌FLASH4的只執(zhí)行算法區(qū),則可以正常讀取數(shù)據(jù),如果CPU1正運(yùn)行在其他地址空間,則不能讀取只執(zhí)行算法區(qū)的數(shù)據(jù),讀取的數(shù)據(jù)為全0。存儲(chǔ)器中對(duì)重要數(shù)據(jù)的保護(hù),防止數(shù)據(jù)被誤刪除,主要通過(guò)保護(hù)數(shù)據(jù)區(qū)實(shí)現(xiàn),此區(qū)域的數(shù)據(jù)寫(xiě)入時(shí)需要外部權(quán)限校驗(yàn)碼。可以對(duì)存儲(chǔ)器中的數(shù)據(jù)進(jìn)行加密,加/解密模塊25可以由寄存器控制是否開(kāi)啟,當(dāng)開(kāi)啟加/解密功能時(shí),密鑰是可以配置的,密鑰寄存器只能寫(xiě)入,不能讀出。加/解密模塊25由寄存器組22控制,可以開(kāi)啟或者關(guān)閉加解密功能。當(dāng)開(kāi)啟加/解密功能時(shí),加解密邏輯需要用到一個(gè)32位的密鑰,不同的芯片默認(rèn)有一個(gè)隨機(jī)的密鑰,此密鑰也可以由用戶(hù)配置,該寄存器是只有寫(xiě)操作權(quán)限,用戶(hù)無(wú)法讀取該密鑰。可以做到每個(gè)芯片中的數(shù)據(jù)為密文,而且每個(gè)芯片的加密密鑰不一樣。寄存器組22控制整個(gè)存儲(chǔ)器保護(hù)模塊的功能,以下是寄存器組22定義<table>tableseeoriginaldocumentpage6</column></row><table><table>tableseeoriginaldocumentpage7</column></row><table>以下是每個(gè)寄存器的具體描述寄存器FLASH_ENCRYPT存儲(chǔ)密鑰。表1FLASH_ENCRYPT寄存器<table>tableseeoriginaldocumentpage7</column></row><table>寄存器FLASH_DATAPRO存儲(chǔ)保護(hù)數(shù)據(jù)區(qū)的起始地址表3FLASH_DATAPRO寄存器<table>tableseeoriginaldocumentpage8</column></row><table>寄存器FLASH_DATAOPEN存儲(chǔ)開(kāi)放區(qū)的起始地址表4FLASH_DATAOPEN寄存器<table>tableseeoriginaldocumentpage8</column></row><table>寄存器FLASH_DATAPRO和寄存器FLASH_OPEN可以重新定義分區(qū)的地址范圍,提供更安全的數(shù)據(jù)保護(hù)。如圖3所示,內(nèi)嵌FLASH4讀流程為1)用戶(hù)通過(guò)寄存器組22來(lái)設(shè)置加/解密模塊25,配置是否開(kāi)啟加/解密功能和配置密鑰;2)CPUl讀取內(nèi)嵌FLASH4空間的數(shù)據(jù);3)地址判斷邏輯對(duì)CPUl訪問(wèn)的內(nèi)嵌FLASH4地址解析判斷當(dāng)前CPUl訪問(wèn)內(nèi)嵌FLASH4的區(qū)域;4)數(shù)據(jù)保護(hù)主控制器24根據(jù)地址判斷邏輯的解析結(jié)果判斷是否從存儲(chǔ)器控制器3取數(shù)據(jù),如果CPUl訪問(wèn)的是保密區(qū)域,數(shù)據(jù)保護(hù)主控制器24會(huì)直接返回?cái)?shù)據(jù)0給CPUl;5)若數(shù)據(jù)允許訪問(wèn),數(shù)據(jù)經(jīng)過(guò)加/解密模塊25傳回給CPU1。內(nèi)嵌FLASH4寫(xiě)流程為1)用戶(hù)通過(guò)寄存器組22設(shè)置加/解密模塊25,配置是否開(kāi)啟加/解密功能和配置密鑰;2)用戶(hù)通過(guò)PC8從USBBUS9輸入權(quán)限校驗(yàn)碼并將權(quán)限校驗(yàn)碼寫(xiě)入校驗(yàn)寄存器;3)校驗(yàn)?zāi)K23讀取校驗(yàn)寄存器中的值進(jìn)行校驗(yàn),當(dāng)校驗(yàn)寄存器中的值與校驗(yàn)?zāi)K23內(nèi)部的值一致,則開(kāi)啟相應(yīng)的內(nèi)嵌FLASH4區(qū)域操作權(quán)限;4)CPUl對(duì)內(nèi)嵌FLASH4空間進(jìn)行寫(xiě)操作;5)—方面數(shù)據(jù)經(jīng)過(guò)加/解密模塊25傳給數(shù)據(jù)保護(hù)主控制器24;另一方面,地址判斷邏輯解析CPUl發(fā)起寫(xiě)操作的內(nèi)嵌FLASH4的地址;6)數(shù)據(jù)保護(hù)主控制器24將寫(xiě)入數(shù)據(jù)發(fā)送給存儲(chǔ)器控制器3,存儲(chǔ)器控制器3將數(shù)據(jù)寫(xiě)入內(nèi)嵌FLASH4空間。寫(xiě)入操作時(shí),除了開(kāi)放數(shù)據(jù)區(qū)不需要操作權(quán)限校驗(yàn),其他區(qū)都有一個(gè)權(quán)限校驗(yàn)碼匹配過(guò)程才能進(jìn)行寫(xiě)操作。由于序列號(hào)存放區(qū)比較重要,如果該區(qū)被覆蓋或誤刪會(huì)導(dǎo)致內(nèi)部程序無(wú)法運(yùn)行甚至芯片不能啟動(dòng),因此該區(qū)的權(quán)限校驗(yàn)碼不對(duì)外開(kāi)放。在芯片生產(chǎn)階段就寫(xiě)入序列號(hào),而且寫(xiě)入后關(guān)閉相應(yīng)寫(xiě)入通道使其無(wú)法再寫(xiě)入,之后再也不能被覆蓋或誤刪,達(dá)到類(lèi)似OTP功能。除上述實(shí)施例外,本發(fā)明還可以有其他實(shí)施方式。凡采用等同替換或等效變換形成的技術(shù)方案,均落在本發(fā)明要求的保護(hù)范圍。權(quán)利要求一種存儲(chǔ)器數(shù)據(jù)保護(hù)的方法,其特征在于該方法包括如下步驟(1)、將存儲(chǔ)器分為六個(gè)區(qū)域,設(shè)置為序列號(hào)存放區(qū)、配置參數(shù)區(qū)、只執(zhí)行算法區(qū)、程序區(qū)、保護(hù)數(shù)據(jù)區(qū)和開(kāi)放區(qū),除了開(kāi)放數(shù)據(jù)區(qū),每個(gè)區(qū)域都設(shè)有不同的權(quán)限校驗(yàn)碼,只有權(quán)限校驗(yàn)碼匹配正確后才能進(jìn)行寫(xiě)入操作,其中;序列號(hào)存放區(qū)存放芯片唯一序列號(hào),只能寫(xiě)入一次;配置參數(shù)區(qū)存放每個(gè)區(qū)域的配置參數(shù),寫(xiě)入時(shí)需要輸入權(quán)限校驗(yàn)碼;只執(zhí)行算法區(qū)非特定情況下只能執(zhí)行程序和寫(xiě)入數(shù)據(jù),寫(xiě)入時(shí)需要輸入權(quán)限校驗(yàn)碼;程序區(qū)用于讀、寫(xiě)和執(zhí)行程序,寫(xiě)入時(shí)需要輸入權(quán)限校驗(yàn)碼;保護(hù)數(shù)據(jù)區(qū)用于讀寫(xiě)數(shù)據(jù),寫(xiě)入時(shí)需要輸入權(quán)限校驗(yàn)碼;開(kāi)放數(shù)據(jù)區(qū)用于讀寫(xiě)數(shù)據(jù),寫(xiě)入時(shí)不需要輸入權(quán)限校驗(yàn)碼;(2)、存儲(chǔ)器的數(shù)據(jù)寫(xiě)操作前需先經(jīng)過(guò)存儲(chǔ)器保護(hù)單元,通過(guò)權(quán)限校驗(yàn)碼來(lái)控制存儲(chǔ)器保護(hù)單元是否開(kāi)啟對(duì)存儲(chǔ)器的相關(guān)區(qū)域的操作權(quán)限。2.根據(jù)權(quán)利要求1所述的存儲(chǔ)器數(shù)據(jù)保護(hù)的方法,其特征在于所述的權(quán)限校驗(yàn)碼通過(guò)外部通信接口輸入,用完即丟棄。3.根據(jù)權(quán)利要求1所述的存儲(chǔ)器數(shù)據(jù)保護(hù)的方法,其特征在于對(duì)存儲(chǔ)器中的數(shù)據(jù)進(jìn)行加密,加/解密模塊由寄存器控制是否開(kāi)啟,當(dāng)開(kāi)啟加/解密功能時(shí),配置密鑰,密鑰寄存器只能寫(xiě)入,不能讀出。4.根據(jù)權(quán)利要求1所述的存儲(chǔ)器數(shù)據(jù)保護(hù)的方法,其特征在于配置存儲(chǔ)器中六個(gè)區(qū)域的大小,根據(jù)不同的應(yīng)用需求配置不同的容量參數(shù),程序區(qū)、保護(hù)數(shù)據(jù)區(qū)和開(kāi)放數(shù)據(jù)區(qū)的大小通過(guò)配置寄存器進(jìn)行調(diào)整。5.根據(jù)權(quán)利要求l所述的存儲(chǔ)器數(shù)據(jù)保護(hù)的方法,其特征在于在只執(zhí)行算法區(qū)中,當(dāng)前程序位于只執(zhí)行算法區(qū)內(nèi)時(shí),可以讀取只執(zhí)行算法區(qū)內(nèi)的數(shù)據(jù);當(dāng)前程序位于只執(zhí)行算法區(qū)外時(shí),不能讀取只執(zhí)行算法區(qū)內(nèi)的數(shù)據(jù)。6.根據(jù)權(quán)利要求要求1或5所述的存儲(chǔ)器數(shù)據(jù)保護(hù)的方法,其特征在于當(dāng)需要更新只執(zhí)行算法區(qū)內(nèi)程序時(shí),必須將整個(gè)只執(zhí)行算法區(qū)全部擦除,再寫(xiě)入,而且只能通過(guò)芯片內(nèi)ROM程序中的更新函數(shù)來(lái)完成。7.根據(jù)權(quán)利要求要求6所述的存儲(chǔ)器數(shù)據(jù)保護(hù)的方法,其特征在于更新只執(zhí)行算法區(qū)內(nèi)程序時(shí),在一次硬件復(fù)位后,設(shè)定為只有一次寫(xiě)入權(quán)限,當(dāng)寫(xiě)完后,將權(quán)限校驗(yàn)碼換成其他的值后無(wú)法再進(jìn)行程序更新。全文摘要本發(fā)明涉及一種存儲(chǔ)器數(shù)據(jù)保護(hù)的方法,將存儲(chǔ)器分為六個(gè)區(qū)域,設(shè)置為序列號(hào)存放區(qū)、配置參數(shù)區(qū)、只執(zhí)行算法區(qū)、程序區(qū)、保護(hù)數(shù)據(jù)區(qū)和開(kāi)放數(shù)據(jù)區(qū),除了開(kāi)放數(shù)據(jù)區(qū),每個(gè)區(qū)域都設(shè)有不同的權(quán)限校驗(yàn)碼,只有權(quán)限校驗(yàn)碼匹配正確后才能進(jìn)行寫(xiě)入操作,存儲(chǔ)器中的數(shù)據(jù)讀寫(xiě)操作前需先經(jīng)過(guò)存儲(chǔ)器保護(hù)單元,通過(guò)權(quán)限校驗(yàn)碼來(lái)控制存儲(chǔ)器保護(hù)單元是否開(kāi)啟對(duì)存儲(chǔ)器的相關(guān)區(qū)域的操作權(quán)限。本發(fā)明有益的效果在處理器CPU與存儲(chǔ)器之間,構(gòu)建一套嚴(yán)密的數(shù)據(jù)保護(hù)機(jī)制,達(dá)到存儲(chǔ)器數(shù)據(jù)絕對(duì)安全;能夠防止片內(nèi)存儲(chǔ)器數(shù)據(jù)被讀出,在進(jìn)行Flash寫(xiě)、擦除等操作時(shí),有相應(yīng)的電路進(jìn)行保護(hù)。上位機(jī)通過(guò)外部通信接口輸入權(quán)限校驗(yàn)碼來(lái)控制存儲(chǔ)器保護(hù)單元,達(dá)到對(duì)內(nèi)嵌FLASH的數(shù)據(jù)保護(hù)。文檔編號(hào)G06F12/14GK101788958SQ20101010844公開(kāi)日2010年7月28日申請(qǐng)日期2010年2月4日優(yōu)先權(quán)日2010年2月4日發(fā)明者張飛飛,李兆亮,賀曉明,邱柏云,錢(qián)志恒申請(qǐng)人:杭州晟元芯片技術(shù)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1