当前位置: 首页 > 专利查询>何波专利>正文

一种对程序执行器的程序信息的保护方法技术

技术编号:2848069 阅读:203 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种对程序执行器的程序信息的保护方法,它不依赖于防止客户的程序信息被读出,增加了破解成本,延长了破解所需时间,有效防止客户的程序信息被轻易破解。其技术方案为:(1)在程序执行器中增设客户标识区,客户标识区中存储对应不同客户的客户标识信息,并通过技术手段确保任何客户无法在客户标识区中写入其他客户的客户标识信息;(2)所述客户标识信息确定一种与之一一对应的由汇编程序到机器码程序的编译方法;(3)程序执行器根据客户标识信息解释并执行客户的机器码程序,且解释方法与步骤(2)中的编译方法匹配。本发明专利技术可应用于保护程序执行器的程序信息。

【技术实现步骤摘要】

本专利技术涉及,可适用于通称为微控制器(MCU)、微处理器(μP或MPU)、数字信号处理器(DSP)、中央处理器(CPU)、图形处理器(GPU)的程序执行器,以及用于片上系统(System On Chip)的嵌入式程序执行器。
技术介绍
目前各种程序执行器得到了广泛的应用,如微控制器(MCU)、微处理器(μP或MPU)、数字信号处理器(DSP)、中央处理器(CPU)、图形处理器(GPU)以及用于片上系统(System On Chip)的嵌入式微处理器。通常在这些程序执行器的应用中,需要利用非挥发的存储器如掩膜只读存储器(Mask ROM)、可编程只读存储器(PROM)、一次可编程只读存储器(OTP ROM)、电可擦写只读存储器(EEPROM)、闪存(Flash)或磁盘、光盘、磁带等来存放程序执行器读取的二进制机器码形式的程序信息。非挥发的存储器存放机器码程序的优点是这些信息在掉电的情况下可以长期保存而不丢失。图1示出了现有技术中客户在程序执行器上开发程序的流程。请参见图1,S11客户从芯片制造商或者供应商处获得程序执行器;S12客户在计算机上编写的程序源码在计算机中被编译成二进制机器码程序,该源码可以是汇编代码或C程序代码等;S13客户将二进制机器码程序写入上述程序执行器的非挥发存储器中,该非挥发存储器可以设计在程序执行器芯片内部,也可以设置在片外与该执行器电性连接。经过上述步骤,二进制机器码程序就能在程序执行器上顺利运行了。接着参见图2A和图2B,图1所示的流程以框图的形式示出。其中图2A示出了客户程序存储器设计在片内的框图结构,图2B示出了客户程序存储器设计在片外的框图结构。如图2A所示,计算机上的编译器21将源码编译成二进制机器码程序,该机器码程序被写入到位于芯片23A片内的客户程序存储器22A中。芯片23A运行该存储器22A中的机器码程序。类似地,如图2B所示,源码经编译器21编译成二进制机器码程序后写入到位于芯片23B外并与之电性连接的存储器22B中。芯片23B运行该存储器22B中的机器码程序。但是,不管非挥发存储器设计在片内还是片外,最终总是实现在某种物理材料上的(如硅片),所以任何具有相关技术背景的技术人员都能借助某些物理或化学的方法,以较低的成本读出非挥发存储器中存放的程序信息。为了描述方便,下文中把在未获授权情况下企图读取他人程序执行器产品中程序信息的人称为破解者。如果破解者读出存储于存储器22A或22B(图2A或图2B中示出)中的二进制机器码程序,即可通过采购相同的程序执行器并写入该二进制机器码程序来实现快速仿制。而且,汇编指令集和该程序执行器的二进制机器码指令集之间的转换方式是公开且通用的,因此破解者还可以通过反汇编客户的二进制机器码程序来获取对应的汇编代码,从而获得程序的设计思想和算法,也可进一步在此基础上对程序进行改进。为此,人们开发了很多对机器码程序信息的保护方法,这些方法的指导思想都是采用各种手段防止二进制机器码程序从存储器22A或22B(图2A或图2B中示出)中被读出或加大破解者读出二进制机器码程序的时间和成本。例如,设置加密位进行保护,在完成向存储器写入二进制机器码程序后使能加密位以防止信息被读出。一个简单的方法即可令该保护机制失效破解者可以打开集成电路封装,然后用某些特定的方法(如聚焦离子束(FIB))控制加密位信号,从而达到读取二进制机器码程序的目的。因此,采用加密位的方法增加的破解成本不大,防止破解的效果一般。
技术实现思路
本专利技术的目的在于解决上述问题,提供了,它不依赖于防止客户的程序信息被读出,很大程度上增加了破解成本,也大大延长了破解所需的时间,能有效地防止客户的程序信息在脱离制造商和客户控制的情况下被轻易破解。本专利技术的技术方案为,用于在所述程序执行器脱离制造商和客户控制的情况下保护客户基于所述程序执行器开发的程序信息,其中,所述保护方法包括(1)在所述程序执行器中增设客户标识区,所述客户标识区中存储对应不同客户的客户标识信息,并通过技术手段确保任何客户无法在客户标识区中写入其他客户的客户标识信息;(2)所述客户标识信息确定一种与之一一对应的由汇编程序到机器码程序的编译方法,且该编译方法无须公开,可仅由制造商和对应的客户掌握;(3)所述程序执行器根据客户标识信息解释并执行客户的机器码程序,且所述解释方法与步骤(2)中的编译方法匹配,类似的,该解释方法也无须公开,可仅由制造商和对应的客户掌握。上述的对程序执行器的程序信息的保护方法,其中,步骤(1)中,所述技术手段是指所述客户标识区采用一次可编程只读存储器实现,由制造商在所述客户标识区预设客户对应的客户标识信息。上述的对程序执行器的程序信息的保护方法,其中,步骤(1)中,所述技术手段是指,首先由制造商提供给客户对应的客户标识配置号,再由客户自行向程序执行器输入该客户标识配置号,所述客户标识配置号经程序执行器处理后生成客户标识信息并存入所述客户标识区。该处理功能的具体内容无须公开可仅由制造商掌握,而提供给每个客户的客户标识配置号可仅由制造商和对应的客户掌握。上述的对程序执行器的程序信息的保护方法,其中,所述处理功能包括具备一定复杂度的校验、运算、或者校验与运算的组合以增加破解的难度,而实现该处理功能的主体可以是在程序执行器中新增的一块硬件电路或内嵌的一段程序或者它们的组合。上述的对程序执行器的程序信息的保护方法,其中,步骤(2)中,所述编译方法是指由客户开发的汇编程序生成机器码程序的方法,若客户的原始程序设计采用的是高级程序语言,则需先将其转换成汇编程序再编译得到机器码程序。上述的对程序执行器的程序信息的保护方法,其中,步骤(3)中,所述程序执行器有一套统一的内部机器码指令集,所述解释方法是首先根据客户标识信息将客户的机器码程序转换成符合内部机器码指令集的二进制机器码程序,然后程序执行器根据该内部机器码指令集执行所述二进制机器码程序。上述的对程序执行器的程序信息的保护方法,其中,所述机器码程序的转换过程由一块新增的译码电路实现,所述译码电路根据不同的客户标识信息表现出不同的译码功能。所述译码电路的具体内容仅由制造商掌握。上述的对程序执行器的程序信息的保护方法,其中,步骤(3)中,所述程序执行器具有多套机器码指令集,每套机器码指令集对应一个客户标识信息,所述程序执行器根据客户标识信息选择对应的机器码指令集,然后根据该机器码指令集解释及执行客户的机器码程序。上述的对程序执行器的程序信息的保护方法,其中,所述编译方法和解释方法是静态的,编译和解释的行为不随时间的变化而变化。上述的对程序执行器的程序信息的保护方法,其中,所述编译方法和解释方法是动态的,编译和解释的行为在不同的条件下是不同的。本专利技术对比现有技术有如下的有益效果本专利技术通过客户标识信息来控制二进制机器码程序的编译和解释方式。破解者即使读出客户标识信息和二进制机器码程序,由于无法向程序执行器写入他人的客户标识信息,因此无法获得可执行该机器码程序的程序执行器,也不可能实现快速仿制。又由于无法获得与客户标识信息对应的编译或者解释方法,因此也无法读懂这些机器码程序或对机器码程序进行反汇编,从而无法获取他人的设计思想和算法,当然也不可能对该机器码程序进行改进本文档来自技高网
...

【技术保护点】
一种对程序执行器的程序信息的保护方法,用于在所述程序执行器脱离制造商和客户控制的情况下保护客户基于所述程序执行器开发的程序信息,其特征在于,所述保护方法包括:(1)在所述程序执行器中增设客户标识区,所述客户标识区中存储对应不同客户的 客户标识信息,并通过技术手段确保任何客户无法在客户标识区中写入其他客户的客户标识信息;(2)所述客户标识信息确定一种与之一一对应的由汇编程序到机器码程序的编译方法;(3)所述程序执行器根据客户标识信息解释并执行客户的机器码程 序,且所述解释方法与步骤(2)中的编译方法匹配。

【技术特征摘要】
1一种对程序执行器的程序信息的保护方法,用于在所述程序执行器脱离制造商和客户控制的情况下保护客户基于所述程序执行器开发的程序信息,其特征在于,所述保护方法包括(1)在所述程序执行器中增设客户标识区,所述客户标识区中存储对应不同客户的客户标识信息,并通过技术手段确保任何客户无法在客户标识区中写入其他客户的客户标识信息;(2)所述客户标识信息确定一种与之一一对应的由汇编程序到机器码程序的编译方法;(3)所述程序执行器根据客户标识信息解释并执行客户的机器码程序,且所述解释方法与步骤(2)中的编译方法匹配。2根据权利要求1所述的对程序执行器的程序信息的保护方法,其特征在于,步骤(1)中,所述技术手段是指所述客户标识区采用一次可编程只读存储器实现,由制造商在所述客户标识区预设客户对应的客户标识信息。3根据权利要求1所述的对程序执行器的程序信息的保护方法,其特征在于,步骤(1)中,所述技术手段是指,首先由制造商提供给客户对应的客户标识配置号,再由客户自行向程序执行器输入该客户标识配置号,所述客户标识配置号经程序执行器处理后生成客户标识信息并存入所述客户标识区。4根据权利要求3所述的对程序执行器的程序信息的保护方法,其特征在于,所述处理功能包括具备一定复杂度的校验、运算、或者校验与运算的组合以增加破解的难度,而实现该处理功能的主体可以是在程序执行器中新增的一块硬件电路或内嵌的一段程序或者它们的组合。5根据权利要...

【专利技术属性】
技术研发人员:何波王涛
申请(专利权)人:何波王涛
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1