本發(fā)明涉及數(shù)據(jù)安全技術(shù)領(lǐng)域,特別是涉及一種OTP存儲(chǔ)器數(shù)據(jù)保護(hù)方法、系統(tǒng)及OTP控制器。
背景技術(shù):
在集成電路設(shè)計(jì)中需要多種類型的存儲(chǔ)器,OTP(One Time Programmable,一次性可編程)存儲(chǔ)器是常用的一種存儲(chǔ)器。由于OTP存儲(chǔ)器存儲(chǔ)數(shù)據(jù)的非易失性和高可靠性,因此很多常用的高級(jí)芯片中都集成有OTP存儲(chǔ)器模塊。在芯片出廠時(shí),OTP存儲(chǔ)器中存儲(chǔ)的內(nèi)容全為一個(gè)預(yù)設(shè)值,用戶可以根據(jù)需要將其中的某些單元寫(xiě)入數(shù)據(jù),以實(shí)現(xiàn)對(duì)其“編程”的目的。
OTP存儲(chǔ)器如圖1所示包括數(shù)據(jù)和控制接口、OTP存儲(chǔ)區(qū)域部分和封裝外殼,OTP存儲(chǔ)器部分封裝在所述封裝外殼內(nèi)為OTP存儲(chǔ)器存儲(chǔ)編程數(shù)據(jù)的部分,所述數(shù)據(jù)和控制接口設(shè)置在所述封裝外殼上并且與所述OTP控制器部分通信連接,用于實(shí)現(xiàn)外部OTP控制器與OTP存儲(chǔ)器部分的通信。當(dāng)需要讀取OTP存儲(chǔ)器中編程的數(shù)據(jù)時(shí),通過(guò)數(shù)據(jù)和控制接口對(duì)OTP存儲(chǔ)器進(jìn)行讀操作就可以實(shí)現(xiàn),同理需要對(duì)OTP存儲(chǔ)器內(nèi)部進(jìn)行編程時(shí),也需要通過(guò)數(shù)據(jù)和控制接口來(lái)實(shí)現(xiàn)。
現(xiàn)有的對(duì)OTP存儲(chǔ)器的提高和改進(jìn)一般只實(shí)現(xiàn)在物理層面上,也就是提高和改變OTP存儲(chǔ)器的制造工藝和方法以提高OTP內(nèi)部編程數(shù)據(jù)的穩(wěn)定性。但是針對(duì)OTP存儲(chǔ)器內(nèi)部編程數(shù)據(jù)的應(yīng)用安全性并沒(méi)有有效的保護(hù)方法去提升,造成了OTP存儲(chǔ)器在應(yīng)用中其內(nèi)部已編程數(shù)據(jù)容易被攻擊和篡改,使得OTP存儲(chǔ)器內(nèi)部的編程數(shù)據(jù)安全性較低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例中提供了一種OTP存儲(chǔ)器數(shù)據(jù)保護(hù)方法、系統(tǒng)及OTP控制器,以解決現(xiàn)有應(yīng)用中的OTP存儲(chǔ)器內(nèi)部編程數(shù)據(jù)安全性低的問(wèn)題,同時(shí)設(shè)置訪問(wèn)權(quán)限,提高OTP存儲(chǔ)器內(nèi)部核心數(shù)據(jù)的保密性。
為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例公開(kāi)了如下技術(shù)方案:
一種OTP存儲(chǔ)器數(shù)據(jù)保護(hù)方法,所述方法包括:
將OTP存儲(chǔ)器劃分為數(shù)據(jù)安全保護(hù)區(qū)域和數(shù)據(jù)安全配置區(qū)域,所述數(shù)據(jù)安全保護(hù)區(qū)域和數(shù)據(jù)安全配置區(qū)域通信連接;
將OTP存儲(chǔ)器的數(shù)據(jù)接口劃分為外部串口和外部并口,所述外部串口與所述OTP存儲(chǔ)器內(nèi)部整體區(qū)域設(shè)置有通信通道,所述外部并口與所述數(shù)據(jù)安全配置區(qū)域設(shè)置通信通道;
設(shè)置訪問(wèn)通道選擇控制,在同一時(shí)刻內(nèi)使得所述外部串口與所述OTP存儲(chǔ)器整體區(qū)域或所述外部并口與所述數(shù)據(jù)安全配置區(qū)域建立通信連接,通過(guò)訪問(wèn)權(quán)限編程配置,控制訪問(wèn)所述數(shù)據(jù)安全保護(hù)區(qū)域以及數(shù)據(jù)安全配置區(qū)域。
優(yōu)選地,所述將OTP存儲(chǔ)器劃分為數(shù)據(jù)安全保護(hù)區(qū)域和數(shù)據(jù)安全配置區(qū)域包括:
確定所述數(shù)據(jù)安全保護(hù)區(qū)域和數(shù)據(jù)安全配置區(qū)域分別需要的存儲(chǔ)空間;
根據(jù)所述數(shù)據(jù)安全保護(hù)區(qū)域和數(shù)據(jù)安全配置區(qū)域需要的存儲(chǔ)空間將所述OTP存儲(chǔ)器劃分為兩部分。
優(yōu)選地,所述將OTP存儲(chǔ)器的數(shù)據(jù)接口劃分為外部串口和外部并口,包括:
將所述OTP存儲(chǔ)器的數(shù)據(jù)接口劃分為對(duì)所述OTP存儲(chǔ)器數(shù)據(jù)安全配置區(qū)域執(zhí)行只讀操作的第一數(shù)據(jù)接口和對(duì)所述OTP存儲(chǔ)器整體區(qū)域執(zhí)行編程和讀取操作的第二數(shù)據(jù)接口;
建立所述第一數(shù)據(jù)接口與所述OTP存儲(chǔ)器內(nèi)部所述數(shù)據(jù)安全配置區(qū)域的通信通道,建立所述第二數(shù)據(jù)接口與所述OTP存儲(chǔ)器內(nèi)部整體區(qū)域的通信通道,其中,所述第一數(shù)據(jù)接口為所述外部并口,所述第二數(shù)據(jù)接口為所述外部串口。
優(yōu)選地,所述設(shè)置訪問(wèn)通道選擇控制,在同一時(shí)刻內(nèi)使得所述外部串口與所述OTP存儲(chǔ)器內(nèi)部整體區(qū)域或所述外部并口與所述數(shù)據(jù)安全配置區(qū)域建立通信連接,包括:
在所述外部串口、所述外部并口與所述OTP存儲(chǔ)器之間設(shè)置通道選擇器;
根據(jù)所述通道選擇器控制所述外部串口與所述OTP存儲(chǔ)器內(nèi)部整體區(qū)域或所述外部并口與所述OTP存儲(chǔ)器內(nèi)部數(shù)據(jù)安全配置區(qū)域建立通信。
優(yōu)選地,還包括將所述數(shù)據(jù)安全配置區(qū)域根據(jù)配置和控制需求劃分為多個(gè)子區(qū)域。
優(yōu)選地,所述外部串口通過(guò)操作控制處理模塊完成對(duì)OTP存儲(chǔ)器內(nèi)部整體區(qū)域的編程和讀取操作或者所述外部并口通過(guò)操作控制處理模塊完成對(duì)OTP存儲(chǔ)器數(shù)據(jù)安全配置區(qū)域的只讀操作。
優(yōu)選地,所述根據(jù)所述通道選擇器控制所述外部串口或所述外部并口與所述操作控制處理模塊建立通信,包括:
獲取所述通道選擇器的選擇控制標(biāo)志位;
當(dāng)所述選擇控制標(biāo)志位為0時(shí),控制所述外部串口與所述操作控制處理模塊建立通信;或者,
當(dāng)所述選擇控制標(biāo)志位為1時(shí),控制所述外部并口與所述操作控制處理模塊建立通信。
一種OTP存儲(chǔ)器數(shù)據(jù)保護(hù)系統(tǒng),所述系統(tǒng)包括:
第一配置模塊,用于將OTP存儲(chǔ)器劃分為數(shù)據(jù)安全保護(hù)區(qū)域和數(shù)據(jù)安全配置區(qū)域,所述數(shù)據(jù)安全保護(hù)區(qū)域和數(shù)據(jù)安全配置區(qū)域通信連接;
第二配置模塊,用于將OTP存儲(chǔ)器的數(shù)據(jù)接口劃分為外部串口和外部并口,所述外部串口與所述OTP存儲(chǔ)器內(nèi)部整體區(qū)域設(shè)置有通信通道,外部并口與所述數(shù)據(jù)安全配置區(qū)域設(shè)置通信通道;
安全控制模塊,用于設(shè)置訪問(wèn)通道選擇控制,在同一時(shí)刻內(nèi)使得所述外部串口與所述OTP存儲(chǔ)器整體區(qū)域或所述外部并口與所述數(shù)據(jù)安全配置區(qū)域建立通信連接,通過(guò)訪問(wèn)權(quán)限編程配置,控制訪問(wèn)所述數(shù)據(jù)安全保護(hù)區(qū)域以及數(shù)據(jù)安全配置區(qū)域。
一種OTP控制器,包括:外部串口、外部并口、通信控制裝置和OTP存儲(chǔ)器接口,其中:
所述通信控制裝置包括通道選擇器和操作控制處理模塊,所述通道選擇器與所述操作控制處理模塊通信連接;
所述外部串口與所述外部并口分別通過(guò)所述操作控制處理模塊與所述OTP存儲(chǔ)器通信連接;
所述操作控制處理模塊與所述OTP存儲(chǔ)器訪問(wèn)接口通信連接。
由以上技術(shù)方案可見(jiàn),本發(fā)明實(shí)施例提供的一種OTP存儲(chǔ)器數(shù)據(jù)保護(hù)方法、系統(tǒng)及OTP控制器,包括:將OTP存儲(chǔ)器劃分為數(shù)據(jù)安全保護(hù)區(qū)域和數(shù)據(jù)安全配置區(qū)域,所述數(shù)據(jù)安全保護(hù)區(qū)域和數(shù)據(jù)安全配置區(qū)域通信連接;將OTP存儲(chǔ)器的數(shù)據(jù)接口劃分為外部串口和外部并口,所述外部串口與所述OTP存儲(chǔ)器內(nèi)部整體區(qū)域設(shè)置有通信通道,外部并口與所述數(shù)據(jù)安全配置區(qū)域設(shè)置通信通道;設(shè)置訪問(wèn)通道選擇控制,在同一時(shí)刻內(nèi)使得所述外部串口與所述OTP存儲(chǔ)器整體區(qū)域或所述外部并口與所述數(shù)據(jù)安全配置區(qū)域建立通信連接,通過(guò)訪問(wèn)權(quán)限編程配置,控制訪問(wèn)所述數(shù)據(jù)安全保護(hù)區(qū)域以及數(shù)據(jù)安全配置區(qū)域。本發(fā)明實(shí)施例通過(guò)將OTP存儲(chǔ)器劃分為不同的數(shù)據(jù)區(qū)域,設(shè)置訪問(wèn)權(quán)限實(shí)現(xiàn)了外部串口對(duì)OTP存儲(chǔ)器的讀寫(xiě)操作和外部并口對(duì)OTP存儲(chǔ)器的讀操作的相互獨(dú)立,提高OTP存儲(chǔ)器讀取的穩(wěn)定性,提升了數(shù)據(jù)的安全性和保密性。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,對(duì)于本領(lǐng)域普通技術(shù)人員而言,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本傳統(tǒng)的一種OTP存儲(chǔ)器的結(jié)構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例提供的一種OTP存儲(chǔ)器數(shù)據(jù)保護(hù)方法的流程示意圖;
圖3為本發(fā)明實(shí)施例提供的一種OTP存儲(chǔ)器內(nèi)部的處理流程示意圖;
圖4為本發(fā)明實(shí)施例提供的一種外部并口讀數(shù)據(jù)選擇的流程示意圖;
圖5為本發(fā)明實(shí)施例提供的一種OTP存儲(chǔ)器數(shù)據(jù)保護(hù)系統(tǒng)的結(jié)構(gòu)示意圖;
圖6為本發(fā)明實(shí)施例提供的一種OTP控制器的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
參見(jiàn)圖2,為本發(fā)明實(shí)施例提供的一種OTP存儲(chǔ)器數(shù)據(jù)保護(hù)方法的流程示意圖,如圖2所示,包括:
S101,將OTP存儲(chǔ)器劃分為數(shù)據(jù)安全保護(hù)區(qū)域和數(shù)據(jù)安全配置區(qū)域,所述數(shù)據(jù)安全保護(hù)區(qū)域和數(shù)據(jù)安全配置區(qū)域通信連接。確定所述數(shù)據(jù)安全保護(hù)區(qū)域和數(shù)據(jù)安全配置區(qū)域分別需要的存儲(chǔ)空間;根據(jù)所述數(shù)據(jù)安全保護(hù)區(qū)域和數(shù)據(jù)安全配置區(qū)域需要的存儲(chǔ)空間將所述OTP存儲(chǔ)器劃分為兩部分。
在本發(fā)明實(shí)施例中,OTP控制器內(nèi)部控制模塊結(jié)構(gòu)以及OTP存儲(chǔ)區(qū)域劃分針對(duì)OTP的編程和應(yīng)用需求,具體地,所述數(shù)據(jù)安全配置區(qū)域根據(jù)配置和控制需求劃分為多個(gè)子區(qū)域。OTP存儲(chǔ)區(qū)域中,根據(jù)需要將劃分為6大區(qū)域,其中區(qū)域數(shù)據(jù)安全保護(hù)區(qū)域?yàn)閿?shù)據(jù)安全保護(hù)區(qū)域,存儲(chǔ)芯片的核心保密數(shù)據(jù);還一區(qū)域?yàn)閿?shù)據(jù)安全配置區(qū)域,根據(jù)配置和控制需求將數(shù)據(jù)安全配置區(qū)域分為5塊:AREA_FUNC_CONFIG區(qū)域:邏輯功能配置區(qū)域;AREA_LOCKED_STATUS_CONFIG區(qū)域:編程標(biāo)志狀態(tài)配置區(qū)域;AREA_SIF_READABILITY_CONFIG區(qū)域:外部串口讀使能保護(hù)配置區(qū)域;AREA_HIF_READABILITY_CONFIG區(qū)域,外部并口讀使能配置區(qū)域;最后AREA_RESERVED區(qū)域?yàn)轭A(yù)保留區(qū)域。OTP存儲(chǔ)器的數(shù)據(jù)安全保護(hù)區(qū)域核心安全數(shù)據(jù)輸出設(shè)置有一安全數(shù)據(jù)輸出接口SECURITY_DATA,SECURITY_DATA為AERE_SECURITY區(qū)域編程數(shù)據(jù)輸出專用數(shù)據(jù)接口,當(dāng)通道選擇器的標(biāo)志位OTPSIF_DISABLE為1時(shí),OTP控制器中操作控制處理模塊OPERATION_CNTR產(chǎn)生獨(dú)立的讀數(shù)據(jù)安全保護(hù)區(qū)域請(qǐng)求,并將其讀返回值組合輸出。
S102,將OTP存儲(chǔ)器的數(shù)據(jù)接口劃分為外部串口和外部并口,所述外部串口與所述OTP存儲(chǔ)器內(nèi)部整體區(qū)域設(shè)置有通信通道,外部并口與所述數(shù)據(jù)安全配置區(qū)域設(shè)置通信通道。將所述OTP存儲(chǔ)器的數(shù)據(jù)接口劃分為對(duì)所述OTP存儲(chǔ)器數(shù)據(jù)安全配置區(qū)域執(zhí)行只讀操作的第一數(shù)據(jù)接口和對(duì)所述OTP存儲(chǔ)器整體區(qū)域執(zhí)行編程和讀取操作的第二數(shù)據(jù)接口;建立所述第一數(shù)據(jù)接口與所述OTP存儲(chǔ)器內(nèi)部所述數(shù)據(jù)安全配置區(qū)域的通信通道,建立所述第二數(shù)據(jù)接口與所述OTP存儲(chǔ)器內(nèi)部整體區(qū)域的通信通道,其中,所述第一數(shù)據(jù)接口為所述外部并口,所述第二數(shù)據(jù)接口為所述外部串口。
本實(shí)施例中提供兩種外部接口訪問(wèn)OTP存儲(chǔ)區(qū)域,分為外部串口和外部并口。針對(duì)OTP編程和應(yīng)用兩個(gè)不同階段的需求,外部串口工作于編程階段可對(duì)OTP存儲(chǔ)區(qū)域的整個(gè)區(qū)域進(jìn)行編程,可支持整個(gè)OTP區(qū)域讀操作。而外部并口工作于應(yīng)用階段,則用戶主機(jī)通過(guò)外部并口只能對(duì)OTP存儲(chǔ)區(qū)域內(nèi)部部分區(qū)域即所示數(shù)據(jù)安全配置區(qū)域進(jìn)行讀操作。操作控制處理模塊OPERATION_CNTR為OTP控制器內(nèi)部操作控制處理核心模塊,其操作控制輸出與OTP存儲(chǔ)器接口模塊通信,根據(jù)編程和讀取操作請(qǐng)求,完成對(duì)OTP存儲(chǔ)器操作地址指定區(qū)域的編程和讀取操作。外部串口與外部并口通過(guò)一個(gè)通道選擇器進(jìn)行通路選擇,當(dāng)通道選擇器的標(biāo)志位OTPSIF_DISABLE為0時(shí),外部并口請(qǐng)求無(wú)效,而其值為1時(shí),外部串口通路切斷。
為實(shí)現(xiàn)對(duì)數(shù)據(jù)安全保護(hù)區(qū)域以及AREA_FUNC_CONFIG區(qū)域的安全訪問(wèn)進(jìn)行控制,保護(hù)上述兩部分區(qū)域內(nèi)部數(shù)據(jù)使用安全。外部串口只能在OTP編程階段訪問(wèn)OTP存儲(chǔ)區(qū)域,外部并口只能在OTP編程結(jié)束即OTP應(yīng)用階段訪問(wèn)OTP存儲(chǔ)區(qū)域。本實(shí)施例用AREA_FUNC_CONFIG區(qū)域第一個(gè)地址AREA_FUNC_CONFIG1的BIT 0:通道選擇器的標(biāo)志位OTPSIF_DISABLE劃分OTP編程階段和OTP應(yīng)用階段。當(dāng)OTP存儲(chǔ)區(qū)域編程結(jié)束,通道選擇器的標(biāo)志位OTPSIF_DISABLE會(huì)被編程為1,此時(shí)外部串口會(huì)被禁止訪問(wèn),同時(shí)訪問(wèn)接口會(huì)切換到外部并口。
S103,設(shè)置訪問(wèn)通道選擇控制,在同一時(shí)刻內(nèi)使得所述外部串口與所述OTP存儲(chǔ)器整體區(qū)域或所述外部并口與所述數(shù)據(jù)安全配置區(qū)域建立通信連接,通過(guò)訪問(wèn)權(quán)限編程配置,控制訪問(wèn)所述數(shù)據(jù)安全保護(hù)區(qū)域以及數(shù)據(jù)安全配置區(qū)域。
所述外部串口通過(guò)操作控制處理模塊完成對(duì)OTP存儲(chǔ)器內(nèi)部整體區(qū)域的編程和讀取操作或者所述外部并口通過(guò)操作控制處理模塊完成對(duì)OTP存儲(chǔ)器數(shù)據(jù)安全配置區(qū)域的只讀操作。在所述外部串口、所述外部并口與所述OTP存儲(chǔ)器之間設(shè)置通道選擇器;根據(jù)所述通道選擇器控制所述外部串口與所述OTP存儲(chǔ)器內(nèi)部整體區(qū)域或所述外部并口與所述OTP存儲(chǔ)器數(shù)據(jù)安全配置區(qū)域建立通信。獲取所述通道選擇器的選擇控制標(biāo)志位;當(dāng)所述選擇控制標(biāo)志位為0時(shí),控制所述外部串口與所述操作控制處理模塊建立通信;或者,當(dāng)所述選擇控制標(biāo)志位為1時(shí),控制所述外部并口與所述操作控制處理模塊建立通信。
為實(shí)現(xiàn)所述外部串口以及外部并口的訪問(wèn)區(qū)分以及區(qū)域限制,OTP控制器內(nèi)部的處理流程為圖3所示:
待OTP控制器內(nèi)部系統(tǒng)的復(fù)位信號(hào)釋放后,OTP控制器內(nèi)部操作控制處理模塊OPERATION_CNTR自動(dòng)對(duì)地址AREA_FUNC_CONFIG1進(jìn)行讀操作,確定OTP使能配置通道選擇器的標(biāo)志位OTPSIF_DISABLE信號(hào)是否已經(jīng)編程為1。若OTPSIF_DISABLE為0,則系統(tǒng)處于OTP系統(tǒng)編程階段,將逐個(gè)對(duì)編程標(biāo)志狀態(tài)配置區(qū)域AREA_LOCKED_STATUS_CONFIG區(qū)域內(nèi)部已分配地址區(qū)間進(jìn)行讀操作,確定安全配置區(qū)域內(nèi)部AREA_FUNC_CONFIG各BIT編程狀態(tài)。而后讀外部并口讀使能配置區(qū)域AREA_SIF_READABILITY_CONFIG區(qū)域內(nèi)分配地址,確定外部串口讀使能配置。待讀操作完成,發(fā)出OTP外部并口準(zhǔn)備OTPSIF_READY信號(hào),可接受外部串口指令,對(duì)OTP存儲(chǔ)區(qū)域進(jìn)行編程和讀取操作。若選擇器的標(biāo)志位OTPSIF_DISABLE已編程為1,OTP系統(tǒng)處于應(yīng)用階段,僅有外部并口讀通路打開(kāi)。依次對(duì)外部串口讀使能保護(hù)配置區(qū)域AREA_HIF_READABILITY_CONFIG區(qū)域進(jìn)行讀操作,確定外部并口讀安全使能配置。為防止安全數(shù)據(jù)區(qū)域內(nèi)核心編程數(shù)據(jù)泄露,安全輸出數(shù)據(jù)的產(chǎn)生和輸出獨(dú)立于外部并口的讀操作,即外部并口不能訪問(wèn)安全數(shù)據(jù)區(qū)域內(nèi)核心編程數(shù)據(jù),數(shù)據(jù)的產(chǎn)生由內(nèi)部讀數(shù)據(jù)安全保護(hù)區(qū)域產(chǎn)生。最后,發(fā)出OTP外部串口準(zhǔn)備OTPHIF_READY信號(hào),CPU可通過(guò)外部并口對(duì)OTP存儲(chǔ)區(qū)域部分特定區(qū)域即所述數(shù)據(jù)安全配置區(qū)域進(jìn)行讀操作。
在本實(shí)施例中,在OTP編程階段,數(shù)據(jù)安全保護(hù)區(qū)域和AREA_FUNC_CONFIG區(qū)域的編程保護(hù),由配置編程AREA_LOCKED_STATUS_CONFIG區(qū)域?qū)?yīng)標(biāo)志位實(shí)現(xiàn)。具體實(shí)現(xiàn)機(jī)制為:將AREA_LOCKED_STATUS_CONFIG區(qū)域劃分為兩個(gè)區(qū)域:區(qū)域AREA1為數(shù)據(jù)安全保護(hù)區(qū)域內(nèi)各保密數(shù)據(jù)區(qū)間對(duì)應(yīng)LOCKED_STATUS編程配置區(qū)域;區(qū)域AREA2為AREA_FUNC_CONFIG各配置功能LOCKED_STATUS編程配置區(qū)域。表1為AREA1區(qū)域中,SECURITY_LOCKED_STATUS各編程標(biāo)志狀態(tài)位分配示意表。各數(shù)據(jù)安全區(qū)域均產(chǎn)生各自獨(dú)立的LOCKED_STATUS標(biāo)志狀態(tài)位。例如,當(dāng)CHIPID編程完畢,SECURITY_LOCKED_STATUS地址中BIT 0:CHIPID_LOCKED編程為1,將CHIP ID區(qū)域鎖住,任一比特位將不能再次修改。
表1.AREA2區(qū)域SECURITY_LOCKED_STATUS示意表
AREA_FUNC_CONFIG區(qū)域中,各邏輯功能配置地址上,對(duì)應(yīng)于每個(gè)編程BIT,均在AREA2區(qū)域內(nèi)開(kāi)辟一對(duì)一LOCKED_STATUS狀態(tài)BIT,用于標(biāo)志該配置BIT不能二次編程或修改。在OTP控制器的編程請(qǐng)求控制中,地址是以字為單位,同時(shí)編程受BITMASK控制字的配置控制。當(dāng)BITMASK中,某BIT值為0,則AREA_FUNC_CONFIG區(qū)域該BIT略過(guò)編程。同樣地,LOCKED_STATUS也是以字為單位進(jìn)行配置編程。表2和表3以AREA_FUNC_CONFIG區(qū)域地址AREA_FUNC_CONFIG1的配置和其在AREA_LOCKED_STATUS_CONFIG區(qū)域的編程為例說(shuō)明其對(duì)應(yīng)關(guān)系。外部串口通信接口OTP_SIF模塊發(fā)出編程請(qǐng)求判斷的流程為:首先判斷待編程地址對(duì)應(yīng)的LOCKED_STATUS地址是否有BIT已經(jīng)編程為1。取LOCKED_STATUS值進(jìn)行位或,若其值為0,則繼續(xù)發(fā)出編程請(qǐng)求。若其值為1,則無(wú)有效編程請(qǐng)求發(fā)出,本次請(qǐng)求無(wú)效。若地址AREA_FUNC_CONFIG1_LOCKED中BIT 0已經(jīng)編程為1,而B(niǎo)IT 1為0,再次發(fā)出編程該OTP地址請(qǐng)求,編程AREA_FUNC_CONFIG1中BIT 1。此時(shí),編程請(qǐng)求由于BIT 0的LOCKED_STATUS狀態(tài)已經(jīng)編程為1,此次編程請(qǐng)求無(wú)效。對(duì)于此種情況,通過(guò)配置BITMASK寄存器,將BITMASK BIT 0配置為0,將BIT 0編程請(qǐng)求屏蔽,才能使得BIT 1編程請(qǐng)求有效發(fā)出。
表2.AREA_FUNC_CONFIG區(qū)域配置字AREA_FUNC_CONFIG1示意表
表3.AREA_LOCKED_STATUS區(qū)域配置AREA_FUNC_CONFIG1_LOCKED示意表
為配置和保護(hù)外部串口對(duì)AREA_FUNC_CONFIG以及數(shù)據(jù)安全保護(hù)區(qū)域進(jìn)行安全讀取,以及外部并口對(duì)AREA_FUNC_CONFIG區(qū)域進(jìn)行安全讀取,獲取使能配置后的編程值,OTP控制器在安全配置區(qū)域內(nèi)部AREA_SIF_READABILITY_CONFIG以及AREA_HIF_READABILITY_CONFIG區(qū)域設(shè)置一對(duì)一的讀使能配置控制BIT。其中,在外部串口讀使能配置AREA_SIF_READABILITY_CONFIG區(qū)域內(nèi)部,劃分兩個(gè)獨(dú)立區(qū)域:數(shù)據(jù)安全保護(hù)區(qū)域_SIF_READABILITY以及AREA_FUNC_SIF_READABILITY區(qū)域,用以實(shí)現(xiàn)對(duì)數(shù)據(jù)安全保護(hù)區(qū)域和AERA_FUNC_CONFIG區(qū)域的外部串口讀使能進(jìn)行相互獨(dú)立的配置。具體示例如表4至表6所示:
表4.數(shù)據(jù)安全保護(hù)區(qū)域_SIF_READABILITY配置示意表
表5.AREA_FUNC_CONFIG_SIF_READABILITY配置示意表
表6.AREA_FUNC_CONFIG_HIF_READABILITY配置示意表
外部串口以及外部并口的安全讀使能配置,用于提高讀取區(qū)域的數(shù)據(jù)安全。在OTP編程階段,由于外部串口對(duì)OTP存儲(chǔ)區(qū)域任一地址可進(jìn)行編程和讀取操作,且讀數(shù)據(jù)安全保護(hù)區(qū)域和安全配置AREA_FUNC_CONFIG區(qū)域互相獨(dú)立,所以對(duì)外部串口讀使能配置單獨(dú)劃分,單獨(dú)配置。對(duì)AREA_FUNC_CONFIG地址區(qū)間的讀使能控制為:編程配置該區(qū)域地址對(duì)應(yīng)的外部串口讀使能信號(hào)值,其進(jìn)行位取反后值為SIF_readability,操作控制處理模塊將OTP存儲(chǔ)器接口模塊讀操作返回值組合成otp_readata,將otp_readata與SIF_readability進(jìn)行位與操作,其運(yùn)算處理值即為外部串口讀AREA_FUNC_CONFIG對(duì)應(yīng)讀取值,根據(jù)各BIT的SIF_RDEN使能配置,實(shí)現(xiàn)BIT級(jí)讀使能控制。而對(duì)于數(shù)據(jù)安全保護(hù)區(qū)域的讀使能控制,則用其區(qū)域讀使能配置標(biāo)志信號(hào)SIF_RDEN信號(hào)作為選擇信號(hào),當(dāng)SIF_RDEN為0時(shí),輸出讀取值,當(dāng)SIF_RDEN為1時(shí),輸出值恒為0。
而外部并口通過(guò)外部并口接口模塊OTP_HIF的操作請(qǐng)求在OTP系統(tǒng)的應(yīng)用階段,OTP_HIF中僅能發(fā)出OTP存儲(chǔ)區(qū)域讀請(qǐng)求。由于在OTP應(yīng)用階段,OTP存儲(chǔ)區(qū)域中核心安全數(shù)據(jù)對(duì)于外部CPU來(lái)說(shuō)為不可見(jiàn),因此基于OTP存儲(chǔ)區(qū)域中的不同區(qū)域劃分,將數(shù)據(jù)安全區(qū)域數(shù)據(jù)安全保護(hù)區(qū)域設(shè)置禁讀區(qū)域。圖4為一種外部并口讀數(shù)據(jù)選擇的流程示意圖。其中,設(shè)置數(shù)據(jù)安全保護(hù)區(qū)域地址區(qū)域,地址標(biāo)志為1。此時(shí)發(fā)出讀數(shù)據(jù)安全保護(hù)區(qū)域請(qǐng)求,返回外部并口輸出值將恒定為0。圖4中,地址標(biāo)志位為1表示讀取地址處于AREA_FUNC_CONFIG區(qū)域內(nèi)。
在本實(shí)施例中,讀OTP存儲(chǔ)區(qū)域返回讀取值與外部并口讀使能配置編程值進(jìn)行位與操作,產(chǎn)生每個(gè)配置BIT讀使能配置后的返回讀取值。該外部并口讀使能產(chǎn)生直中各BIT實(shí)現(xiàn)了并口讀請(qǐng)求時(shí),各邏輯配置BIT的讀保護(hù)功能。同時(shí),地址標(biāo)志的設(shè)置,保護(hù)了數(shù)據(jù)安全保護(hù)區(qū)域不被非法讀取,防止數(shù)據(jù)泄露。
由上述實(shí)施例可見(jiàn),本發(fā)明實(shí)施例提供的一種OTP存儲(chǔ)器數(shù)據(jù)保護(hù)方法,包括:將OTP存儲(chǔ)器劃分為數(shù)據(jù)安全保護(hù)區(qū)域和數(shù)據(jù)安全配置區(qū)域,數(shù)據(jù)安全保護(hù)區(qū)域和數(shù)據(jù)安全配置區(qū)域通信連接;將OTP存儲(chǔ)器的數(shù)據(jù)接口劃分為外部串口和外部并口,外部串口與OTP存儲(chǔ)器內(nèi)部整體區(qū)域設(shè)置有通信通道,外部并口與數(shù)據(jù)安全配置區(qū)域設(shè)置通信通道;設(shè)置訪問(wèn)通道選擇控制,在同一時(shí)刻內(nèi)使得外部串口或外部并口與OTP存儲(chǔ)器建立通信連接,通過(guò)訪問(wèn)權(quán)限編程配置,控制訪問(wèn)數(shù)據(jù)安全保護(hù)區(qū)域以及數(shù)據(jù)安全配置區(qū)域。本發(fā)明實(shí)施例通過(guò)將OTP存儲(chǔ)器劃分為不同的數(shù)據(jù)區(qū)域,設(shè)置訪問(wèn)權(quán)限,以及實(shí)現(xiàn)了外部串口對(duì)OTP存儲(chǔ)器的編程和讀取操作和外部并口對(duì)OTP存儲(chǔ)器的讀操作的相互獨(dú)立,同時(shí),設(shè)置編程標(biāo)志狀態(tài)以及外部串口和外部并口的讀取使能配置,提升了數(shù)據(jù)的安全性和保密性。
與本發(fā)明提供的一種OTP存儲(chǔ)器數(shù)據(jù)保護(hù)方法的實(shí)施例相對(duì)應(yīng),本發(fā)明還提供了一種OTP存儲(chǔ)器數(shù)據(jù)保護(hù)系統(tǒng)的實(shí)施例。
參見(jiàn)圖5為本發(fā)明實(shí)施例提供的一種OTP存儲(chǔ)器數(shù)據(jù)保護(hù)系統(tǒng)的結(jié)構(gòu)示意圖,所述系統(tǒng)包括:第一配置模塊201、第二配置模塊202和安全控制模塊203。
所述第一配置模塊201,用于將OTP存儲(chǔ)器劃分為數(shù)據(jù)安全保護(hù)區(qū)域和數(shù)據(jù)安全配置區(qū)域,所述數(shù)據(jù)安全保護(hù)區(qū)域和數(shù)據(jù)安全配置區(qū)域通信連接。
所述第一配置模塊201包括:確定單元和劃分單元,所述確定單元用于確定所述數(shù)據(jù)安全保護(hù)區(qū)域和數(shù)據(jù)安全配置區(qū)域分別需要的存儲(chǔ)空間。所述劃分單元用于根據(jù)所述數(shù)據(jù)安全保護(hù)區(qū)域和數(shù)據(jù)安全配置區(qū)域需要的存儲(chǔ)空間將所述OTP存儲(chǔ)器劃分為兩部分。
所述第二配置模塊202,用于將OTP存儲(chǔ)器的數(shù)據(jù)接口劃分為外部串口和外部并口,所述外部串口與所述OTP存儲(chǔ)器內(nèi)部整體區(qū)域設(shè)置有通信通道,外部并口與所述數(shù)據(jù)安全配置區(qū)域設(shè)置通信通道。將所述OTP存儲(chǔ)器的數(shù)據(jù)接口劃分為對(duì)所述OTP存儲(chǔ)器數(shù)據(jù)安全配置區(qū)域執(zhí)行只讀操作的第一數(shù)據(jù)接口和對(duì)所述OTP存儲(chǔ)器整體區(qū)域執(zhí)行編程和讀取操作的第二數(shù)據(jù)接口;建立所述第一數(shù)據(jù)接口與所述OTP存儲(chǔ)器內(nèi)部所述數(shù)據(jù)安全配置區(qū)域的通信通道,建立所述第二數(shù)據(jù)接口與所述OTP存儲(chǔ)器內(nèi)部整體區(qū)域的通信通道,其中,所述第一數(shù)據(jù)接口為所述外部并口,所述第二數(shù)據(jù)接口為所述外部串口。
所述安全控制模塊203,用于設(shè)置訪問(wèn)通道選擇控制,在同一時(shí)刻內(nèi)使得所述外部串口與所述OTP存儲(chǔ)器整體區(qū)域或所述外部并口與所述數(shù)據(jù)安全配置區(qū)域建立通信連接,通過(guò)訪問(wèn)權(quán)限編程配置,控制訪問(wèn)所述數(shù)據(jù)安全保護(hù)區(qū)域以及數(shù)據(jù)安全配置區(qū)域。具體地,在所述外部串口、所述外部并口與所述數(shù)據(jù)安全配置區(qū)域之間設(shè)置通道選擇器;根據(jù)所述通道選擇器控制所述外部串口與所述OTP存儲(chǔ)器內(nèi)部整體區(qū)域或所述外部并口與所述數(shù)據(jù)安全配置區(qū)域建立通信。
所述安全控制模塊203包括:獲取單元和判斷單元,所述獲取單元用于獲取所述通道選擇器的選擇控制標(biāo)志位。所述判斷單元用于當(dāng)所述選擇控制標(biāo)志位為0時(shí),控制所述外部串口與所述操作控制處理模塊建立通信;或者,當(dāng)所述選擇控制標(biāo)志位為1時(shí),控制所述外部并口與所述操作控制處理模塊建立通信。
與上述提供的OTP存儲(chǔ)器數(shù)據(jù)保護(hù)方法及系統(tǒng)的實(shí)施例相對(duì)應(yīng),本發(fā)明還提供了一種OTP控制器的實(shí)施例。
參見(jiàn)圖6為本發(fā)明實(shí)施例提供的一種OTP控制器的結(jié)構(gòu)示意圖,如圖所示所述OTP存儲(chǔ)器包括:外部串口、外部并口、通信控制裝置和OTP存儲(chǔ)器接口,其中:所述通信控制裝置包括通道選擇器和操作控制處理模塊,所述通道選擇器與所述操作控制處理模塊通信連接;所述外部串口與所述外部并口分別通過(guò)所述通信控制裝置與所述OTP存儲(chǔ)器通信連接;所述操作控制處理模塊與所述OTP存儲(chǔ)器接口通信連接。
本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于裝置或系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置及系統(tǒng)實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
需要說(shuō)明的是,在本文中,諸如“第一”和“第二”等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上所述僅是本發(fā)明的具體實(shí)施方式,使本領(lǐng)域技術(shù)人員能夠理解或?qū)崿F(xiàn)本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。