[发明专利]微控制器及其他嵌入式系统程序代码保护方法和装置有效
申请号: | 201410046230.1 | 申请日: | 2014-02-10 |
公开(公告)号: | CN103745140B | 公开(公告)日: | 2017-01-25 |
发明(设计)人: | 程青云;刘峰;潘竞;马果;江永林 | 申请(专利权)人: | 北京芯盈速腾电子科技有限责任公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 上海唯源专利代理有限公司31229 | 代理人: | 曾耀先 |
地址: | 100176 北京市大兴区北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 控制器 其他 嵌入式 系统 程序代码 保护 方法 装置 | ||
技术领域
本发明涉及计算机领域,尤其是指一种微控制器及其他嵌入式系统程序代码保护方法和装置。
背景技术
MCU(Micro Control Unit)中文名称为微控制器,又称单片微型计算机(Single Chip Microcomputer)或者单片机,是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时计数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。
一般说来,SOC称为系统级芯片,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。同时它又是一种技术,用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程。
微控制器(以下简称MCU)或其他嵌入式系统(以下简称SOC)常常存在多次开发的情况,举例来说,MCU/SOC芯片制造商提供给系统开发用户的开发程序库,或者系统开发商提供给用户的程序代码,都存在即要求保护代码不被读出又要求可以被CPU执行这些代码的需求。
如图1所示,通用的MCU/SOC系统的结构,一般由中央处理单元91(以下简称CPU)或者数字信号处理单元(以下简称DSP)、调试器92、直接通道存取单元93(以下简称DMA)总线、总线控制器94及程序存储器95及其他外部设备96、97等组成。其中,CPU、DMA与调试器92都是主动设备,可以发出指令,请求取得总线控制权。而程序存储器95及其他外部设备96、97等是从动设备,只能被主动设备操作,无法主动发起总线控制权请求。具体的程序执行的过程如下,首先整个系统上电,上电复位电路发出复位信号,程序指针复位为0,复位完成后释放复位信号,在时钟(也称为定时器)的驱动下,主动设备CPU从0地址开始执行,CPU发出读取0地址存储单元程序总线请求,总线控制器仲裁,赋予CPU总线控制权,存储单元地址译码器得到本设备读出请求,从存储单元读出0地址程序或数据返回总线,CPU取得指令,送入CPU执行单元执行,完成指令执行,程序指针增加或跳转,重复以上过程。
通用系统的程序一般放在程序存储器95中,一次开发,二次开发及多次开发的程序被存在程序存储器95中不同的位置,通用系统主动设备可以访问或擦写程序存储器95的任意位置,这样一次开发的程序,可能被二次或多次开发的程序读出来破译或者擦除毁坏,也存在二次开发的程序被其后续开发的程序读出来破译或擦除毁坏,也存在程序被调试器92、DMA等主动设备读出或擦除毁坏。
为了解决上述问题,目前行业内通常都采用传统的加密算法(比如AES,DES,RSA等)来直接加密程序本身,防止程序被读出来破译或擦除毁坏。但是,这种方法是将程序本身被加密存储于程序存储器中,那么每次执行,读写都要加解密,缺点在于:第一会增加硬件成本,第二增加执行,读写时间,降低CPU及系统的效率。
发明内容
有鉴于上述问题,本发明的目的在于,提供一种既能保护程序代码本身不被读出、跟踪或破解,又能使得已开发程序可以被调用与执行的微控制器程序代码保护方法。
为此,本发明提供了一种微控制器及其他嵌入式系统程序代码保护方法,包括以下步骤:
提供至少一中央处理单元,一总线控制器以及一程序存储器,所述中央处理单元通过所述总线控制器连接所述程序存储器;
将所述程序存储器分为复数个程序分区;
提供一密钥存储器,在所述密钥存储器中存储分别对应所述程序分区的复数个分区密钥,用于锁定所述程序分区中的程序。
本发明对程序存储器进行分区,程序开发者首先将已开发完成的程序编程入程序存储器的各个程序分区中,然后将密钥存储到密钥存储器的各个分区密钥中,重新上电启动该系统装置,这样各个程序分区以及其各自对应的分区密钥,都将被密钥锁定,只允许被密匙认可的设备执行此程序分区内的程序,其他任何操作如读、写、擦除都将被拒绝,同时此程序分区的密钥将不能被随意更改,且不能被任何主动设备或从动设备读出,保证了程序存储器的程序不会被破译或者擦除毁坏。
本发明微控制器及其他嵌入式系统程序代码保护方法的进一步改进在于,提供所述密钥存储器之后,还包括步骤:提供一密钥临时寄存器,在所述密钥临时寄存器中存储分别匹配所述分区密钥的复数个解锁密钥。
本发明微控制器及其他嵌入式系统程序代码保护方法的进一步改进在于,对所述程序分区进行解锁的方法,包括以下步骤:
在待解锁的程序分区相对应的解锁密钥中输入一密匙;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京芯盈速腾电子科技有限责任公司,未经北京芯盈速腾电子科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410046230.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:笔记本电脑强制身份认证装置
- 下一篇:一种在线电压安全性量化评估方法