本发明涉及数据安全技术领域,特别是涉及一种OTP存储器数据保护方法、系统及OTP控制器。
背景技术:
在集成电路设计中需要多种类型的存储器,OTP(One Time Programmable,一次性可编程)存储器是常用的一种存储器。由于OTP存储器存储数据的非易失性和高可靠性,因此很多常用的高级芯片中都集成有OTP存储器模块。在芯片出厂时,OTP存储器中存储的内容全为一个预设值,用户可以根据需要将其中的某些单元写入数据,以实现对其“编程”的目的。
OTP存储器如图1所示包括数据和控制接口、OTP存储区域部分和封装外壳,OTP存储器部分封装在所述封装外壳内为OTP存储器存储编程数据的部分,所述数据和控制接口设置在所述封装外壳上并且与所述OTP控制器部分通信连接,用于实现外部OTP控制器与OTP存储器部分的通信。当需要读取OTP存储器中编程的数据时,通过数据和控制接口对OTP存储器进行读操作就可以实现,同理需要对OTP存储器内部进行编程时,也需要通过数据和控制接口来实现。
现有的对OTP存储器的提高和改进一般只实现在物理层面上,也就是提高和改变OTP存储器的制造工艺和方法以提高OTP内部编程数据的稳定性。但是针对OTP存储器内部编程数据的应用安全性并没有有效的保护方法去提升,造成了OTP存储器在应用中其内部已编程数据容易被攻击和篡改,使得OTP存储器内部的编程数据安全性较低。
技术实现要素:
本发明实施例中提供了一种OTP存储器数据保护方法、系统及OTP控制器,以解决现有应用中的OTP存储器内部编程数据安全性低的问题,同时设置访问权限,提高OTP存储器内部核心数据的保密性。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
一种OTP存储器数据保护方法,所述方法包括:
将OTP存储器划分为数据安全保护区域和数据安全配置区域,所述数据安全保护区域和数据安全配置区域通信连接;
将OTP存储器的数据接口划分为外部串口和外部并口,所述外部串口与所述OTP存储器内部整体区域设置有通信通道,所述外部并口与所述数据安全配置区域设置通信通道;
设置访问通道选择控制,在同一时刻内使得所述外部串口与所述OTP存储器整体区域或所述外部并口与所述数据安全配置区域建立通信连接,通过访问权限编程配置,控制访问所述数据安全保护区域以及数据安全配置区域。
优选地,所述将OTP存储器划分为数据安全保护区域和数据安全配置区域包括:
确定所述数据安全保护区域和数据安全配置区域分别需要的存储空间;
根据所述数据安全保护区域和数据安全配置区域需要的存储空间将所述OTP存储器划分为两部分。
优选地,所述将OTP存储器的数据接口划分为外部串口和外部并口,包括:
将所述OTP存储器的数据接口划分为对所述OTP存储器数据安全配置区域执行只读操作的第一数据接口和对所述OTP存储器整体区域执行编程和读取操作的第二数据接口;
建立所述第一数据接口与所述OTP存储器内部所述数据安全配置区域的通信通道,建立所述第二数据接口与所述OTP存储器内部整体区域的通信通道,其中,所述第一数据接口为所述外部并口,所述第二数据接口为所述外部串口。
优选地,所述设置访问通道选择控制,在同一时刻内使得所述外部串口与所述OTP存储器内部整体区域或所述外部并口与所述数据安全配置区域建立通信连接,包括:
在所述外部串口、所述外部并口与所述OTP存储器之间设置通道选择器;
根据所述通道选择器控制所述外部串口与所述OTP存储器内部整体区域或所述外部并口与所述OTP存储器内部数据安全配置区域建立通信。
优选地,还包括将所述数据安全配置区域根据配置和控制需求划分为多个子区域。
优选地,所述外部串口通过操作控制处理模块完成对OTP存储器内部整体区域的编程和读取操作或者所述外部并口通过操作控制处理模块完成对OTP存储器数据安全配置区域的只读操作。
优选地,所述根据所述通道选择器控制所述外部串口或所述外部并口与所述操作控制处理模块建立通信,包括:
获取所述通道选择器的选择控制标志位;
当所述选择控制标志位为0时,控制所述外部串口与所述操作控制处理模块建立通信;或者,
当所述选择控制标志位为1时,控制所述外部并口与所述操作控制处理模块建立通信。
一种OTP存储器数据保护系统,所述系统包括:
第一配置模块,用于将OTP存储器划分为数据安全保护区域和数据安全配置区域,所述数据安全保护区域和数据安全配置区域通信连接;
第二配置模块,用于将OTP存储器的数据接口划分为外部串口和外部并口,所述外部串口与所述OTP存储器内部整体区域设置有通信通道,外部并口与所述数据安全配置区域设置通信通道;
安全控制模块,用于设置访问通道选择控制,在同一时刻内使得所述外部串口与所述OTP存储器整体区域或所述外部并口与所述数据安全配置区域建立通信连接,通过访问权限编程配置,控制访问所述数据安全保护区域以及数据安全配置区域。
一种OTP控制器,包括:外部串口、外部并口、通信控制装置和OTP存储器接口,其中:
所述通信控制装置包括通道选择器和操作控制处理模块,所述通道选择器与所述操作控制处理模块通信连接;
所述外部串口与所述外部并口分别通过所述操作控制处理模块与所述OTP存储器通信连接;
所述操作控制处理模块与所述OTP存储器访问接口通信连接。
由以上技术方案可见,本发明实施例提供的一种OTP存储器数据保护方法、系统及OTP控制器,包括:将OTP存储器划分为数据安全保护区域和数据安全配置区域,所述数据安全保护区域和数据安全配置区域通信连接;将OTP存储器的数据接口划分为外部串口和外部并口,所述外部串口与所述OTP存储器内部整体区域设置有通信通道,外部并口与所述数据安全配置区域设置通信通道;设置访问通道选择控制,在同一时刻内使得所述外部串口与所述OTP存储器整体区域或所述外部并口与所述数据安全配置区域建立通信连接,通过访问权限编程配置,控制访问所述数据安全保护区域以及数据安全配置区域。本发明实施例通过将OTP存储器划分为不同的数据区域,设置访问权限实现了外部串口对OTP存储器的读写操作和外部并口对OTP存储器的读操作的相互独立,提高OTP存储器读取的稳定性,提升了数据的安全性和保密性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本传统的一种OTP存储器的结构示意图;
图2为本发明实施例提供的一种OTP存储器数据保护方法的流程示意图;
图3为本发明实施例提供的一种OTP存储器内部的处理流程示意图;
图4为本发明实施例提供的一种外部并口读数据选择的流程示意图;
图5为本发明实施例提供的一种OTP存储器数据保护系统的结构示意图;
图6为本发明实施例提供的一种OTP控制器的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
参见图2,为本发明实施例提供的一种OTP存储器数据保护方法的流程示意图,如图2所示,包括:
S101,将OTP存储器划分为数据安全保护区域和数据安全配置区域,所述数据安全保护区域和数据安全配置区域通信连接。确定所述数据安全保护区域和数据安全配置区域分别需要的存储空间;根据所述数据安全保护区域和数据安全配置区域需要的存储空间将所述OTP存储器划分为两部分。
在本发明实施例中,OTP控制器内部控制模块结构以及OTP存储区域划分针对OTP的编程和应用需求,具体地,所述数据安全配置区域根据配置和控制需求划分为多个子区域。OTP存储区域中,根据需要将划分为6大区域,其中区域数据安全保护区域为数据安全保护区域,存储芯片的核心保密数据;还一区域为数据安全配置区域,根据配置和控制需求将数据安全配置区域分为5块:AREA_FUNC_CONFIG区域:逻辑功能配置区域;AREA_LOCKED_STATUS_CONFIG区域:编程标志状态配置区域;AREA_SIF_READABILITY_CONFIG区域:外部串口读使能保护配置区域;AREA_HIF_READABILITY_CONFIG区域,外部并口读使能配置区域;最后AREA_RESERVED区域为预保留区域。OTP存储器的数据安全保护区域核心安全数据输出设置有一安全数据输出接口SECURITY_DATA,SECURITY_DATA为AERE_SECURITY区域编程数据输出专用数据接口,当通道选择器的标志位OTPSIF_DISABLE为1时,OTP控制器中操作控制处理模块OPERATION_CNTR产生独立的读数据安全保护区域请求,并将其读返回值组合输出。
S102,将OTP存储器的数据接口划分为外部串口和外部并口,所述外部串口与所述OTP存储器内部整体区域设置有通信通道,外部并口与所述数据安全配置区域设置通信通道。将所述OTP存储器的数据接口划分为对所述OTP存储器数据安全配置区域执行只读操作的第一数据接口和对所述OTP存储器整体区域执行编程和读取操作的第二数据接口;建立所述第一数据接口与所述OTP存储器内部所述数据安全配置区域的通信通道,建立所述第二数据接口与所述OTP存储器内部整体区域的通信通道,其中,所述第一数据接口为所述外部并口,所述第二数据接口为所述外部串口。
本实施例中提供两种外部接口访问OTP存储区域,分为外部串口和外部并口。针对OTP编程和应用两个不同阶段的需求,外部串口工作于编程阶段可对OTP存储区域的整个区域进行编程,可支持整个OTP区域读操作。而外部并口工作于应用阶段,则用户主机通过外部并口只能对OTP存储区域内部部分区域即所示数据安全配置区域进行读操作。操作控制处理模块OPERATION_CNTR为OTP控制器内部操作控制处理核心模块,其操作控制输出与OTP存储器接口模块通信,根据编程和读取操作请求,完成对OTP存储器操作地址指定区域的编程和读取操作。外部串口与外部并口通过一个通道选择器进行通路选择,当通道选择器的标志位OTPSIF_DISABLE为0时,外部并口请求无效,而其值为1时,外部串口通路切断。
为实现对数据安全保护区域以及AREA_FUNC_CONFIG区域的安全访问进行控制,保护上述两部分区域内部数据使用安全。外部串口只能在OTP编程阶段访问OTP存储区域,外部并口只能在OTP编程结束即OTP应用阶段访问OTP存储区域。本实施例用AREA_FUNC_CONFIG区域第一个地址AREA_FUNC_CONFIG1的BIT 0:通道选择器的标志位OTPSIF_DISABLE划分OTP编程阶段和OTP应用阶段。当OTP存储区域编程结束,通道选择器的标志位OTPSIF_DISABLE会被编程为1,此时外部串口会被禁止访问,同时访问接口会切换到外部并口。
S103,设置访问通道选择控制,在同一时刻内使得所述外部串口与所述OTP存储器整体区域或所述外部并口与所述数据安全配置区域建立通信连接,通过访问权限编程配置,控制访问所述数据安全保护区域以及数据安全配置区域。
所述外部串口通过操作控制处理模块完成对OTP存储器内部整体区域的编程和读取操作或者所述外部并口通过操作控制处理模块完成对OTP存储器数据安全配置区域的只读操作。在所述外部串口、所述外部并口与所述OTP存储器之间设置通道选择器;根据所述通道选择器控制所述外部串口与所述OTP存储器内部整体区域或所述外部并口与所述OTP存储器数据安全配置区域建立通信。获取所述通道选择器的选择控制标志位;当所述选择控制标志位为0时,控制所述外部串口与所述操作控制处理模块建立通信;或者,当所述选择控制标志位为1时,控制所述外部并口与所述操作控制处理模块建立通信。
为实现所述外部串口以及外部并口的访问区分以及区域限制,OTP控制器内部的处理流程为图3所示:
待OTP控制器内部系统的复位信号释放后,OTP控制器内部操作控制处理模块OPERATION_CNTR自动对地址AREA_FUNC_CONFIG1进行读操作,确定OTP使能配置通道选择器的标志位OTPSIF_DISABLE信号是否已经编程为1。若OTPSIF_DISABLE为0,则系统处于OTP系统编程阶段,将逐个对编程标志状态配置区域AREA_LOCKED_STATUS_CONFIG区域内部已分配地址区间进行读操作,确定安全配置区域内部AREA_FUNC_CONFIG各BIT编程状态。而后读外部并口读使能配置区域AREA_SIF_READABILITY_CONFIG区域内分配地址,确定外部串口读使能配置。待读操作完成,发出OTP外部并口准备OTPSIF_READY信号,可接受外部串口指令,对OTP存储区域进行编程和读取操作。若选择器的标志位OTPSIF_DISABLE已编程为1,OTP系统处于应用阶段,仅有外部并口读通路打开。依次对外部串口读使能保护配置区域AREA_HIF_READABILITY_CONFIG区域进行读操作,确定外部并口读安全使能配置。为防止安全数据区域内核心编程数据泄露,安全输出数据的产生和输出独立于外部并口的读操作,即外部并口不能访问安全数据区域内核心编程数据,数据的产生由内部读数据安全保护区域产生。最后,发出OTP外部串口准备OTPHIF_READY信号,CPU可通过外部并口对OTP存储区域部分特定区域即所述数据安全配置区域进行读操作。
在本实施例中,在OTP编程阶段,数据安全保护区域和AREA_FUNC_CONFIG区域的编程保护,由配置编程AREA_LOCKED_STATUS_CONFIG区域对应标志位实现。具体实现机制为:将AREA_LOCKED_STATUS_CONFIG区域划分为两个区域:区域AREA1为数据安全保护区域内各保密数据区间对应LOCKED_STATUS编程配置区域;区域AREA2为AREA_FUNC_CONFIG各配置功能LOCKED_STATUS编程配置区域。表1为AREA1区域中,SECURITY_LOCKED_STATUS各编程标志状态位分配示意表。各数据安全区域均产生各自独立的LOCKED_STATUS标志状态位。例如,当CHIPID编程完毕,SECURITY_LOCKED_STATUS地址中BIT 0:CHIPID_LOCKED编程为1,将CHIP ID区域锁住,任一比特位将不能再次修改。
表1.AREA2区域SECURITY_LOCKED_STATUS示意表
AREA_FUNC_CONFIG区域中,各逻辑功能配置地址上,对应于每个编程BIT,均在AREA2区域内开辟一对一LOCKED_STATUS状态BIT,用于标志该配置BIT不能二次编程或修改。在OTP控制器的编程请求控制中,地址是以字为单位,同时编程受BITMASK控制字的配置控制。当BITMASK中,某BIT值为0,则AREA_FUNC_CONFIG区域该BIT略过编程。同样地,LOCKED_STATUS也是以字为单位进行配置编程。表2和表3以AREA_FUNC_CONFIG区域地址AREA_FUNC_CONFIG1的配置和其在AREA_LOCKED_STATUS_CONFIG区域的编程为例说明其对应关系。外部串口通信接口OTP_SIF模块发出编程请求判断的流程为:首先判断待编程地址对应的LOCKED_STATUS地址是否有BIT已经编程为1。取LOCKED_STATUS值进行位或,若其值为0,则继续发出编程请求。若其值为1,则无有效编程请求发出,本次请求无效。若地址AREA_FUNC_CONFIG1_LOCKED中BIT 0已经编程为1,而BIT 1为0,再次发出编程该OTP地址请求,编程AREA_FUNC_CONFIG1中BIT 1。此时,编程请求由于BIT 0的LOCKED_STATUS状态已经编程为1,此次编程请求无效。对于此种情况,通过配置BITMASK寄存器,将BITMASK BIT 0配置为0,将BIT 0编程请求屏蔽,才能使得BIT 1编程请求有效发出。
表2.AREA_FUNC_CONFIG区域配置字AREA_FUNC_CONFIG1示意表
表3.AREA_LOCKED_STATUS区域配置AREA_FUNC_CONFIG1_LOCKED示意表
为配置和保护外部串口对AREA_FUNC_CONFIG以及数据安全保护区域进行安全读取,以及外部并口对AREA_FUNC_CONFIG区域进行安全读取,获取使能配置后的编程值,OTP控制器在安全配置区域内部AREA_SIF_READABILITY_CONFIG以及AREA_HIF_READABILITY_CONFIG区域设置一对一的读使能配置控制BIT。其中,在外部串口读使能配置AREA_SIF_READABILITY_CONFIG区域内部,划分两个独立区域:数据安全保护区域_SIF_READABILITY以及AREA_FUNC_SIF_READABILITY区域,用以实现对数据安全保护区域和AERA_FUNC_CONFIG区域的外部串口读使能进行相互独立的配置。具体示例如表4至表6所示:
表4.数据安全保护区域_SIF_READABILITY配置示意表
表5.AREA_FUNC_CONFIG_SIF_READABILITY配置示意表
表6.AREA_FUNC_CONFIG_HIF_READABILITY配置示意表
外部串口以及外部并口的安全读使能配置,用于提高读取区域的数据安全。在OTP编程阶段,由于外部串口对OTP存储区域任一地址可进行编程和读取操作,且读数据安全保护区域和安全配置AREA_FUNC_CONFIG区域互相独立,所以对外部串口读使能配置单独划分,单独配置。对AREA_FUNC_CONFIG地址区间的读使能控制为:编程配置该区域地址对应的外部串口读使能信号值,其进行位取反后值为SIF_readability,操作控制处理模块将OTP存储器接口模块读操作返回值组合成otp_readata,将otp_readata与SIF_readability进行位与操作,其运算处理值即为外部串口读AREA_FUNC_CONFIG对应读取值,根据各BIT的SIF_RDEN使能配置,实现BIT级读使能控制。而对于数据安全保护区域的读使能控制,则用其区域读使能配置标志信号SIF_RDEN信号作为选择信号,当SIF_RDEN为0时,输出读取值,当SIF_RDEN为1时,输出值恒为0。
而外部并口通过外部并口接口模块OTP_HIF的操作请求在OTP系统的应用阶段,OTP_HIF中仅能发出OTP存储区域读请求。由于在OTP应用阶段,OTP存储区域中核心安全数据对于外部CPU来说为不可见,因此基于OTP存储区域中的不同区域划分,将数据安全区域数据安全保护区域设置禁读区域。图4为一种外部并口读数据选择的流程示意图。其中,设置数据安全保护区域地址区域,地址标志为1。此时发出读数据安全保护区域请求,返回外部并口输出值将恒定为0。图4中,地址标志位为1表示读取地址处于AREA_FUNC_CONFIG区域内。
在本实施例中,读OTP存储区域返回读取值与外部并口读使能配置编程值进行位与操作,产生每个配置BIT读使能配置后的返回读取值。该外部并口读使能产生直中各BIT实现了并口读请求时,各逻辑配置BIT的读保护功能。同时,地址标志的设置,保护了数据安全保护区域不被非法读取,防止数据泄露。
由上述实施例可见,本发明实施例提供的一种OTP存储器数据保护方法,包括:将OTP存储器划分为数据安全保护区域和数据安全配置区域,数据安全保护区域和数据安全配置区域通信连接;将OTP存储器的数据接口划分为外部串口和外部并口,外部串口与OTP存储器内部整体区域设置有通信通道,外部并口与数据安全配置区域设置通信通道;设置访问通道选择控制,在同一时刻内使得外部串口或外部并口与OTP存储器建立通信连接,通过访问权限编程配置,控制访问数据安全保护区域以及数据安全配置区域。本发明实施例通过将OTP存储器划分为不同的数据区域,设置访问权限,以及实现了外部串口对OTP存储器的编程和读取操作和外部并口对OTP存储器的读操作的相互独立,同时,设置编程标志状态以及外部串口和外部并口的读取使能配置,提升了数据的安全性和保密性。
与本发明提供的一种OTP存储器数据保护方法的实施例相对应,本发明还提供了一种OTP存储器数据保护系统的实施例。
参见图5为本发明实施例提供的一种OTP存储器数据保护系统的结构示意图,所述系统包括:第一配置模块201、第二配置模块202和安全控制模块203。
所述第一配置模块201,用于将OTP存储器划分为数据安全保护区域和数据安全配置区域,所述数据安全保护区域和数据安全配置区域通信连接。
所述第一配置模块201包括:确定单元和划分单元,所述确定单元用于确定所述数据安全保护区域和数据安全配置区域分别需要的存储空间。所述划分单元用于根据所述数据安全保护区域和数据安全配置区域需要的存储空间将所述OTP存储器划分为两部分。
所述第二配置模块202,用于将OTP存储器的数据接口划分为外部串口和外部并口,所述外部串口与所述OTP存储器内部整体区域设置有通信通道,外部并口与所述数据安全配置区域设置通信通道。将所述OTP存储器的数据接口划分为对所述OTP存储器数据安全配置区域执行只读操作的第一数据接口和对所述OTP存储器整体区域执行编程和读取操作的第二数据接口;建立所述第一数据接口与所述OTP存储器内部所述数据安全配置区域的通信通道,建立所述第二数据接口与所述OTP存储器内部整体区域的通信通道,其中,所述第一数据接口为所述外部并口,所述第二数据接口为所述外部串口。
所述安全控制模块203,用于设置访问通道选择控制,在同一时刻内使得所述外部串口与所述OTP存储器整体区域或所述外部并口与所述数据安全配置区域建立通信连接,通过访问权限编程配置,控制访问所述数据安全保护区域以及数据安全配置区域。具体地,在所述外部串口、所述外部并口与所述数据安全配置区域之间设置通道选择器;根据所述通道选择器控制所述外部串口与所述OTP存储器内部整体区域或所述外部并口与所述数据安全配置区域建立通信。
所述安全控制模块203包括:获取单元和判断单元,所述获取单元用于获取所述通道选择器的选择控制标志位。所述判断单元用于当所述选择控制标志位为0时,控制所述外部串口与所述操作控制处理模块建立通信;或者,当所述选择控制标志位为1时,控制所述外部并口与所述操作控制处理模块建立通信。
与上述提供的OTP存储器数据保护方法及系统的实施例相对应,本发明还提供了一种OTP控制器的实施例。
参见图6为本发明实施例提供的一种OTP控制器的结构示意图,如图所示所述OTP存储器包括:外部串口、外部并口、通信控制装置和OTP存储器接口,其中:所述通信控制装置包括通道选择器和操作控制处理模块,所述通道选择器与所述操作控制处理模块通信连接;所述外部串口与所述外部并口分别通过所述通信控制装置与所述OTP存储器通信连接;所述操作控制处理模块与所述OTP存储器接口通信连接。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。