本发明涉及soc芯片安全技术,尤其涉及一种在soc芯片中提高存储安全性的保护装置。
背景技术:
随着移动互联网和物联网快速发展,芯片安全的重要性日益提升。通常,安全芯片软件要求芯片支持可信和非可信两个世界,可信世界有独立的硬件资源,系统会将敏感和重要的数据放在可信世界的资源里,非可信世界放普通的数据和应用,而且非可信世界无法访问可信世界的资源。这些需求需要硬件支持,比如中断保护、外设保护、存储保护等。其中,存储保护是极其重要的一部分。
在现有技术中,针对直接访问的存储器已经有了很多的防护装置,比如ram的存储保护单元,这类保护单元的特点是存储单元的访问地址就是总线传过来的地址,保护单元只需对总线上地址进行鉴权,就可防止越权访问发生。另一些存储器不能直接用总线地址进行访问,而需要先将访问存储地址设置到存储控制器的特定寄存器内,再触发存储控制器对存储进行访问,比如flash控制器。目前,针对这类存储的保护,需要重新开发新的安全存储控制器,这会延长芯片开发时间。而随着芯片安全重要性日益提升,有大量普通芯片升级安全功能的需求,怎么加快升级过程成为一个重要的课题。
技术实现要素:
为了克服已有间接访问存储控制器的安全性较低的不足,本发明提供一种针对间接访问存储控制器的存储保护装置,只需将其加在总线和存储控制器之间就可以实现此类存储器的安全保护,无需修改存储控制器就可以原存储器控制模块增加安全功能。
本发明解决其技术问题所采用的技术方案是:
一种针对间接访问存储控制器的保护装置,所述保护装置包括:
总线监视单元,用于监测总线地址,检测出总线对存储控制器访问的操作类型;如果是窗口寄存器操作则更新对应的窗口寄存器,如果是控制寄存器操作则进行权限鉴别;如果是配置权限表操作,就进行表项配置;
窗口寄存器单元,用于存放不同访问类型的操作地址。
权限表单元,用于将存储空间划分为若干个存储保护区,并独立设置每个存储区的访问权限属性;
越权操作处理单元,用于处理发生权限违法访问时进行的后续操作。
进一步,通过间接存储器控制器访问存储器时,将目标地址先存到控制器指定的窗口寄存器,再配置控制器内对应触发寄存器才能触发存储控制器对存储进行访问。比如一些低速flash控制器,e2prom控制器,间接访问ddr控制器等。
再进一步,特定状态由权限指示输入位指示,该输入信号有效才能对保护装置进行使能和配置,包括各个表项地址范围和权限属性寄存器进行配置。
更进一步,所述总线监视单元中,检测到窗口寄存器操作会更新对应窗口寄存器,包括读窗口寄存器、写窗口寄存器和擦除窗口寄存器,每个操作可以有各自独立的窗口寄存器,或者多个操作共用同一个窗口寄存器。
所述总线监视单元中,检测到配置权限表就将总线值传到权限表单元里对应的权限表,即对安全区范围和属性进行配置。
所述总线监视单元中,检测到控制寄存器操作则把对应的窗口寄存器的值作为地址输入到权限表项进性鉴权。
所述权限表包含一个或多个表项,每个表项内容包括:表项使能位,地址范围和权限属性;表项使能位指示该表项是否有效;地址范围表示该表项保护的地址范围,包括基地址和地址段大小信息;权限属性表示该段地址的权限比如是否可读。是否可写,是否可擦除等。
如果发生请求违反了访问权限,所述越权处理单元进行以下一种或其中两种或三种处理:(1)返回总线错误;(2)向外发出指示信号,比如中断;(3)让这次请求无效而不做其它处理。
所述保护装置还包括用于表征整个保护装置启用保护功能的全局使能寄存器。
本发明的技术构思为:针对间接访问存储控制器的保护装置,连接总线与间接存储控制器之间。通过对窗口寄存器监控结合具体表项配置属性判断访问是否合法,防止越权访问,以达到保护存储器安全的目的。
本发明的有益效果主要表现在:提升安全性能。
附图说明
图1为本发明在soc芯片系统中的位置示意图;
图2为本发明各个组件的连接关系图;
图3为本发明中权限表项的具体内容示意图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图3,一种针对间接访问存储控制器的保护装置,所述保护装置包括:
总线监视单元,用于监测总线地址,检测出总线对存储控制器访问的操作类型;如果是窗口寄存器操作则更新对应的窗口寄存器,如果是控制寄存器操作则进行权限鉴别;如果是配置权限表操作,就进行表项配置;
窗口寄存器单元,用于存放不同访问类型的操作地址。
权限表单元,用于将存储空间划分为若干个存储保护区,并独立设置每个存储区的访问权限属性;
越权操作处理单元,用于处理发生权限违法访问时进行的后续操作。
进一步,通过间接存储器控制器访问存储器时,将目标地址先存到控制器指定的窗口寄存器,再配置控制器内对应触发寄存器才能触发存储控制器对存储进行访问。比如一些低速flash控制器,e2prom控制器,间接访问ddr控制器等。
再进一步,特定状态由权限指示输入位指示,该输入信号有效才能对保护装置进行使能和配置,包括各个表项地址范围和权限属性寄存器进行配置。
更进一步,所述总线监视单元中,检测到窗口寄存器操作会更新对应窗口寄存器,包括读窗口寄存器、写窗口寄存器和擦除窗口寄存器,每个操作可以有各自独立的窗口寄存器,或者多个操作共用同一个窗口寄存器。
所述总线监视单元中,检测到配置权限表就将总线值传到权限表单元里对应的权限表,即对安全区范围和属性进行配置。
所述总线监视单元中,检测到控制寄存器操作则把对应的窗口寄存器的值作为地址输入到权限表项进性鉴权。
所述权限表包含一个或多个表项,每个表项内容包括:表项使能位,地址范围和权限属性;表项使能位指示该表项是否有效;地址范围表示该表项保护的地址范围,包括基地址和地址段大小信息;权限属性表示该段地址的权限比如是否可读。是否可写,是否可擦除等。
如果发生请求违反了访问权限,所述越权处理单元进行以下一种或其中两种或三种处理:(1)返回总线错误;(2)向外发出指示信号,比如中断;(3)让这次请求无效而不做其它处理。
所述保护装置还包括用于表征整个保护装置启用保护功能的全局使能寄存器。
如图2所示,该装置包括:总线检测单元,用于监测总线地址,检测出总线对存储控制器访问的操作类型;如果是窗口寄存器操作则更新对应的窗口寄存器,如果是控制寄存器操作则进行权限鉴别;如果是配置权限表操作,就进行表项配置。窗口寄存器单元,用于各中操作的窗口地址。权限表单元,用于将存储空间划分为若干个存储保护区,并独立设置每个存储区的访问权限属性。越权操作处理单元,用于处理发生权限违法访问是进行的后续操作。