[发明专利]用于提高SOC芯片系统安全的存储保护控制器及方法有效
申请号: | 201110444179.6 | 申请日: | 2011-12-27 |
公开(公告)号: | CN102592083A | 公开(公告)日: | 2012-07-18 |
发明(设计)人: | 王良清;陶玉茂 | 申请(专利权)人: | 深圳国微技术有限公司 |
主分类号: | G06F21/00 | 分类号: | G06F21/00;G06F21/22;G06F12/14 |
代理公司: | 深圳市康弘知识产权代理有限公司 44247 | 代理人: | 胡朝阳;孙洁敏 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 提高 soc 芯片 系统安全 存储 保护 控制器 方法 | ||
技术领域
本发明涉及SOC芯片安全技术,尤其是涉及一种在SOC芯片中提高程序代码运行安全的存储保护控制器,以及提高SOC芯片系统安全的方法。
背景技术
SOC(System on Chip)芯片在信息社会的各个领域中应用广泛,其主要功能包括对用户保密数据的安全存储、安全程序功能权限设置、电子签名、身份鉴别以及数据加解密等。
正因为SOC芯片中数据的重要性,各种针对SOC芯片的攻击手段层出不穷。软件攻击通常利用安全芯片的标准接口协议、加密算法以及这些算法本身的安全漏洞实现攻击。软件攻击中,最常见的攻击主要是程序篡改、堆栈攻击、跳转攻击、中断攻击,或者通过调试接口跟踪程序执行过程等。攻击者通过软件攻击破坏安全软件采取的安全措施,获取保密信息,或达到其它目的。因此保证程序的合法性和完整性是软件安全的重要措施。
如图1所示,保密数据、安全程序、普通程序分别存储在SOC芯片中不同的地址空间;系统安全要求“处理器对保密数据的访问操作,必须在完整执行安全程序的过程中进行,且要保证访问后保密数据不被泄漏”。为了防止处理器在访问保密数据过程中存在数据泄漏的情况,“安全程序”内包含系统安全环境配置过程:
首先,在安全程序的起始,会进行系统安全环境配置,例如关闭调试接口,关闭中断等操作,防止攻击者通过调试接口或允许中断服务程序跟踪或破坏安全程序的执行,防止安全程序的安全设置操作或清除操作被跳过。
其次,在安全程序的结尾,会清除内部相关状态和寄存器,确保保密数据未残留在系统未保护的区域,造成数据泄漏。
因此,如果处理器不是完整执行“安全程序”,很有可能导致上述的“安全程序”的系统安全环境配置过程没有进行或者配置不完全,或者清除操作未完全执行从而导致数据泄漏。
申请号为200510070869.4的中国专利申请,提供了一种存储器数据保护的方法,其将存储空间分为可信区与非可信区,针对处于不同的存储空间的代码设置不同的访问属性。但该技术方案存在如下缺陷:可信区与非可信区之间的代码调用关系没有进行限制;非可信区的程序代码可以通过跳转到可信区执行取得更高访问权限,从而获取保密数据。
申请号为201010215652.9的中国专利申请,提供了一种保证程序完整性的嵌入式系统及其实现方法,通过检测存储器指定区域的内容,使用标准散列函数计算得到该区域内容的散列值,与预设的散列值进行对比,如果二者不一致,则表明程序被篡改。但该技术方案也有一定的局限性:首先,每次散列运算需要把指定区域的内容全部读出,实时性较差,在校验的过程中存在被攻击的可能性;其次,该技术方案需要读取程序内容,会对系统效率有一定的影响。
因此,为了增强SOC芯片中的软件安全,有必要采取一些保障软件运行安全的方法,即保障安全程序运行的安全操作和特殊访问权限,又要预防攻击者采用跳转等攻击方式破坏安全程序的执行。
发明内容
本发明提出一种提高程序代码运行安全的存储保护控制器及对应的方法,通过对存储保护区域的访问属性进行个性化配置,防止不同代码空间的非法跳转,以解决目前SOC芯片存在易于受到攻击而安全性不高的技术问题。
本发明采用如下技术方案实现:一种用于提高SOC芯片系统安全的存储保护控制器,其包括:
代码空间配置单元,用于将处理器的程序代码空间划分为若干个代码空间;
代码空间关系配置单元,用于设定每个代码空间对应的入口地址;
存储保护区域配置单元,用于将存储空间划分为若干个存储保护区域,并独立设置处理器分别在不同代码空间执行程序时各个存储保护区域的访问权限属性;
跳转保护单元,用于判断处理器的程序指针是否发生跳转,并判断跳转是否异常,如果异常则产生跳转异常指示;
存储保护单元,用于监视当前总线对存储空间的访问是否异常,如果异常,则阻止该总线访问,避免处理器的程序指针从一个代码空间异常跳转到另一个代码空间执行程序,防止对存储保护区域的异常访问。
其中,所述存储保护控制器还包括总线监视器,用于提取当前总线访问存储空间的地址、总线主设备编号及其附加信息。
其中,所述SOC芯片系统具有多个处理器,每个处理器的代码空间具有单独设定的入口地址。
其中,每个代码空间具有其它代码空间跳转到该代码空间的可编程的许可位,以及其它代码空间跳转到该代码空间的入口地址的子许可配置位。
另外,本发明还提出一种用于提高SOC芯片系统安全的方法,其包括步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳国微技术有限公司,未经深圳国微技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110444179.6/2.html,转载请声明来源钻瓜专利网。