[实用新型]利用硬件加密模块实现嵌入式软件的代码保护的装置有效
申请号: | 201220172949.6 | 申请日: | 2012-04-23 |
公开(公告)号: | CN202854814U | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 韩东坡;高占东;金传恩;阎斌 | 申请(专利权)人: | 合肥科盛微电子科技有限公司 |
主分类号: | G06F21/46 | 分类号: | G06F21/46;G06F21/78 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 230000 安徽省合*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 利用 硬件 加密 模块 实现 嵌入式 软件 代码 保护 装置 | ||
技术领域
本发明涉及一种利用硬件模块来实现嵌入式软件代码保护的技术,主要是将需要保护的代码和数据信息进行加密保护,使之对外界是透明的,用以防止关键技术和信息的泄露。
背景技术
随着嵌入式系统软件的不断发展,一个完整的系统软件的开发工作通常不是完全由一个厂商来进行的,通常从上游到下游会涉及到很多厂商的参与。因此上下游的合作就变得尤为重要,因此离产品使用者最近的厂商在进行产品开发的时候都会用到前端厂商所提供的一些技术资料和相关文档,而这些资料中有些信息是涉及到产品开发过程中的关键数据和技术信息,因此提供给客户会存在很大的技术安全隐患。传统方式是向客户提供库文件,同时提供说明文档来说明库中存在的接口函数的具体信息,这种方式前期的准备工作会很繁琐。为了解决这一问题,本发明利用硬件加密模块来进行软件代码和关键数据方面的加密保护。并且采用分层级的方式来处理各个层次的用户需求,不同层级的用户可以根据自己的实际情况将核心数据信息加以保护,可以只提供给客户说明文档,介绍使用的步骤和流程即可,无需将这些信息完全透明的提供给客户。
发明内容
为了解决上述问题,本发明提供一种利用硬件加密模块对软件代码进行加密保护的方法,该方法包括以下步骤:
1)根据需要将需要保护的代码编译后的文件存放在相应的存储区域中,所述存储区域中设置有相应的密码存储区;
2)利用硬件加密模块将密码输入到密码存储区中,从而使所述存储区域进入加密状态;
3)在需要访问所述存储区域的时候,通过向硬件加密模块输入密码,从而获得访问所述存储区域的权限。
进一步的,所述硬件加密模块包括密码寄存器、身份验证模块和加密单元。并且其中密码寄存器用于存储用户输入的密码值;身份验证模块用于验证用户输入到密码寄存器的密码值与相应的存储区域的密码存储区的密码值是否一致;加密单元用于根据身份验证模块的验证结果确定是否允许用户访问相应的存储区域。
进一步的,所述身份验证模块包括:加密状态寄存器,用于存储表征所述存储区域是否进入加密状态的状态值;比对密码单元,用于比对密码寄存器与相应的存储区域的密码存储区内的密码值是否一致。
进一步的,所述加密单元包括总线加密控制单元,其用于限制通过总线访问存储器的相应存储区域的操作;控制寄存器,通过向该控制寄存器进行写操作,从而启动该总线加密控制单元。
进一步的,利用硬件加密模块将密码输入到密码存储区中,从而使所述存储区域进入加密状态的步骤包括:a)读取加密状态寄存器,判断所述存储器是否已经进入加密状态,如果未进入加密状态则进入步骤c),否则从步骤b)顺序执行;b)向密码寄存器写入密码值,所述比对密码单元比对密码寄存器的密码值以及相应存储区域内的密码存储区的密码值是否一致,并将比对结果传递给用户以及加密单元,如果比对结果为不一致,则结束加密过程,如果比对结果一致则加密单元中的总线加密控制单元不再限制对所述存储区域的访问,并且执行步骤c);c)向存储器中相应的存储区域的密码存储区写入密码,对加密单元的控制寄存器执行写入操作,从而启动总线加密控制单元,使存储器进入加密状态。
进一步的,通过向硬件加密模块输入密码,从而获得访问所述存储区域的权限的操作包括:a)将密码值写入密码寄存器;b)比对密码单元判断密码寄存器的值与相应的存储区域的密码存储区的密码值是否一致,如果比对结果为一致则允许通过总线访问相应的存储区域。
本发明还提供一种通过硬件加密模块对存储器的特定存储区域进行加密和解密的系统,所述特定存储区域包括与之对应的密码存储区用于存储密码以供访问该存储区域时比对,所述系统包括:
用户模块,用于向硬件加密模块写入密码,
硬件加密模块,接收用户模块写入的密码值,从而完成对存储区域的加密或解密;
其中,硬件加密模块包括密码寄存器、身份验证模块和加密单元,
密码寄存器用于存储用户模块输入的密码值;
身份验证模块用于验证用户模块输入到密码寄存器的密码值与相应的存储区域的密码存储区的密码值是否一致;
加密单元用于根据身份验证模块的验证结果确定是否允许用户访问相应的存储区域。
进一步的,所述身份验证模块包括:加密状态寄存器,用于存储表征所述存储区域是否进入加密状态的状态值;比对密码单元,用于比对密码寄存器与相应的存储区域的密码存储区内的密码值是否一致。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥科盛微电子科技有限公司,未经合肥科盛微电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201220172949.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于LED显示屏的快速连接机构
- 下一篇:可关闭式双腔气管导管连接管