以保护位元码对—程序进行加密保护的装置制造方法及图纸

技术编号:2861571 阅读:215 留言:0更新日期:2012-04-11 18:40
本发明专利技术提出一种以保护位元码对一程序进行加密保护的装置,该程序具有复数指令P(P为正整数),该装置包含一保护位元码产生装置、一第一保护位元码位置产生装置及一保护位元码插入装置。该保护位元码产生装置是依据该程序复数指令以产生复数个保护位元码,该复数个指令具有复数个位元I(I为正整数);该第一保护位元码位置产生装置依据执行该程序时处理器状态以产生该复数个保护位元码的复数个插入位置N(N为正整数);该保护位元码插入装置依据该第一保护位元码位置产生装置所产生的插入位置N,分别将该复数个保护位元码插入该程序复数指令第N-1与第N位元之中,以产生一加密的程序。

【技术实现步骤摘要】

本专利技术是关于处理器资料保护技术,尤指一种以保护位元码对一程序进行加密保护的装置。
技术介绍
在这重视智财权的时代,厂商为了保护其辛苦开发的程序、资料等相关的智慧财产,会于离线(off-line)时将该等资料、程序先进行一加密(encrypting)处理,再将加密后的资料予以储存至一非挥发性储存器或其他储存媒体,他人即使拿到存有该加密资料的非挥发性储存器或其他储存媒体,由于无法知道该加密处理的过程及处理方法,亦无法正确去还原该等资料、程序,由此而达到保护的目的。针对此种资料保护方式,于;美国USP6,408,073号专利公告中,使用一虚拟乱数产生器(Pseudo Random Generator)及依据一初始值(seed1/seed2),来对只读储存器(Read Only Memory,ROM)的资料(ROMdata)进行编码以产生编码资料(Encoded data),然而此种资料保护方式因使用乱数做加密处理的参数,需有同步的乱数产生器用以进行解码。需要非常多的乱数的样型(pattern),才能有效防止他人还原该等资料、程序,这意味著编码及解码的虚拟乱数产生器需要相当复杂的电路,此会增加许多成本。若使用较简单的编码及解码的虚拟乱数产生器,虽然可节省成本,但却容易被他人还原该等资料、程序,因此,公知处理器的条件指令处理方法设计仍有诸多缺失而有予以改进的必要。
技术实现思路
本专利技术的目的在于提供一种以保护位元码对一程序进行加密保护的装置,以避免公知技术使用复杂的虚拟乱数产生器,而达可节省成本的目的。同时,由于保护位元码的产生及去除硬件相当简易,以减少加密处理时间,而增进整体系统效率。依据本专利技术的一特色,提出一种以保护位元码对一程序进行加密保护的装置,该程序具有复数个指令,该装置包含一保护位元码产生装置、一第一保护位元码位置产生装置及一保护位元码插入装置。该保护位元码产生装置是依据该程序的复数指令以产生复数个保护位元码,每一指令具有I个位元(I为正整数)。该第一保护位元码位置产生装置依据执行该程序时处理器状态以产生每一保护位元码的插入位置N(N为正整数)。该保护位元码插入装置依据该第一保护位元码位置产生装置所产生的插入位置N,分别将每一保护位元码插入该程序对应指令的第N-1与第N位元之中,以产生一加密程序。依据本专利技术的另一特色,提出一种对一加密程序进行解密的装置,该加密程序将保护位元码插置于原始程序中而加密,该加密程序具有复数个指令,该装置包含一第二保护位元码位置产生装置及一保护位元码去除装置。该第二保护位元码位置产生装置依据执行该程序时的处理器状态以产生每一保护位元码的插入位置;该保护位元码去除装置是输入该程序,并依据该第二保护位元码位置产生装置所产生的每一插入位置N,以将该程序对应指令的第N位元去除。依据本专利技术的又一特色,提出一种对一加密程序进行解密的装置,该加密程序将两组保护位元码插置于原始程序中而加密,该加密程序具有复数个指令,其中一个字组可包含二个加密指令,该装置包含一第三保护位元码位置产生装置、一第四保护位元码位置产生装置、一第三保护位元码去除装置及一第四保护位元码去除装置。该第三保护位元码位置产生装置依据执行该程序时的处理器状态以产生每一保护位元码的第三插入位置;该第四保护位元码位置产生装置依据执行该程序时的处理器状态以产生每一保护位元码的第四插入位置;该第三保护位元码去除装置输入该加密程序的低半字组,并依据该第三保护位元码位置产生装置所产生的每一第三插入位置N1,以将该该程序的复数指令的第0至(K-1)位元的第N1位元去除;该第四保护位元码去除装置输入该加密程序的高半字组,并依据该第四保护位元码位置产生装置所产生的每一第四插入位置N2,以将该程序复数指令的第K至(2K-1)位元的第N2位元去除。附图说明图1本专利技术以保护位元码对一程序进行加密保护装置方块图。图2本专利技术第二保护位元码位置产生装置的电路图。图3-图4本专利技术第二保护位元码位置产生装置所产生插入位置的示意图。图5本专利技术保护位元码去除装置的电路图。图6本专利技术以保护位元码对一程序进行加密保护的装置另一实施例方块图具体实施方式图1显示本专利技术以保护位元码对一程序进行加密保护装置的方块图,其包含一保护位元码产生装置110、一第一保护位元码位置产生装置120、一保护位元码插入装置130、一第二保护位元码位置产生装置210及一保护位元码去除装置220。而被加密的程序具有复数的指令,每一个指令具有I个位元(I为正整数),而保护位元码具有P个位元(P正整数),在本实施例中,I为31位元,P为1位元,即I+P为32位元,亦可I为32位元,P为1位元。该保护位元码产生装置110依据该程序的每一个指令以分别产生相对应的保护位元码,该保护位元码可为同位检查位元(Parity bit)、错误更正码(Error Correction Code、ECC)或是指令执行时处理器模式的指示位元。该第一保护位元码位置产生装置120依据执行该程序时的处理器状态以产生每一保护位元码的插入位置N(N为正整数)。该保护位元码插入装置130是依据该第一保护位元码位置产生装置120所产生的插入位置N,分别将每一保护位元码插入该程序对应指令的第N-1与第N位元之中,以产生一加密程序。该第二保护位元码位置产生装置210依据执行该程序时处理器状态以产生该每一保护位元码的插入位置。该保护位元码去除装置220输入一加密程序,该加密程序是将保护位元码插置于原始程序中而予以加密,并依据该第二保护位元码位置产生装置210所产生的每一插入位置N,以将该加密程序的每一指令中的保护位元码去除。该第一保护位元码位置产生装置120及该第二保护位元码位置产生装置210是依据执行该程序时处理器状态以产生插入位置,图2为其电路图。每一第一及第二保护位元码位置产生装置包含一存取状态暂存器(Access Status Register、ASR)310、一程序状态暂存器(Program StatusRegister、PSR)320、一多工器330及复数个插入位置产生装置340-380。该存取状态暂存器(ASR)310为1位元,其值为1时,代表处理器存取资料区段,其值为0时,代表处理器存取程序区段。该程序状态暂存器(PSR)320为3位元,其值为1xx时,代表处理器重置后进入自动开机执行BIOS程序状态;其值为01x时,代表处理器处在作业系统核心(OSKernel)状态;其值为001时,代表处理器处在一特殊认证程序状态;其值为000时,代表处理器处在一个一般使用者程序状态。图2中的PPG_Mode讯号是用来选择该多工器330的输出讯号PBP与输入讯号之间的关系。该PPG_Mode讯号是由该存取状态暂存器(ASR)310及该程序状态暂存器(PSR)320所组合而成,亦即PPG_Mode={ASR,PSR[2:0])。当处理器存取资料区段时,该存取状态暂存器(ASR)310的值为1,PPG_Mode=1xxx,该多工器330会选择插入位置产生装置380输出做为该多工器330的输出讯号PBP。而当处理器重置后,进入自动开机执行BIOS程序状态时,该存取状态暂存器(ASR)310的值为0,该程序状态暂存器(PSR)320本文档来自技高网...

【技术保护点】
一种以保护位元码对一程序进行加密保护的装置,该程序具有复数个指令,每一指令具有I位元,该I为正整数,该装置包含:一保护位元码产生装置,依据该程序的复数个指令以产生对应的复数个保护位元码,每一保护位元码具有P个位元,该P为正整数; 一第一保护位元码位置产生装置,其依据执行该程序时处理器状态以产生每一保护位元码的插入位置N,该N为正整数;以及一保护位元码插入装置,依据该第一保护位元码位置产生装置所产生的插入位置N,分别将每一保护位元码插入该程序对应指令第N- 1与第N位元之中,以产生一加密程序。

【技术特征摘要】
1.一种以保护位元码对一程序进行加密保护的装置,该程序具有复数个指令,每一指令具有I位元,该I为正整数,该装置包含一保护位元码产生装置,依据该程序的复数个指令以产生对应的复数个保护位元码,每一保护位元码具有P个位元,该P为正整数;一第一保护位元码位置产生装置,其依据执行该程序时处理器状态以产生每一保护位元码的插入位置N,该N为正整数;以及一保护位元码插入装置,依据该第一保护位元码位置产生装置所产生的插入位置N,分别将每一保护位元码插入该程序对应指令第N-1与第N位元之中,以产生一加密程序。2.如权利要求1所述的装置,其特征在于,还包含一第二保护位元码位置产生装置,其依据执行该程序时处理器状态以产生每一保护位元码的插入位置N;以及一保护位元码去除装置,输入该程序,并依据该第二保护位元码位置产生装置所产生的插入位置N,以将该程序的对应指令第N位元去除。3.如权利要求2所述的装置,其特征在于,其中该第一及第二保护位元码位置产生装置依据执行该程序时处理器状态以产生插入位置,每一第一及第二保护位元码位置产生装置包含一位置状态暂存器,用以指示该处理器存取资料区段或是存取程序区段;一程序状态暂存器,用以指示该处理器所处状态;复数个插入位置产生装置,依据其预定的功能以产生插入位置;以及一多工器,其具有复数个输入端,以耦合至该复数个插入位置产生装置的输出端,并依据该位置状态暂存器及该程序状态暂存器,由复数个输入端中选择一插入位置以做为输出。4.如权利要求3所述的装置,其特征在于,其中该复数个插入位置产生装置可为一空装置,以表示无插入位置。5.如权利要求3所述的装置,其特征在于,其中该复数个插入位置产生装置可将一给定值经由函数运算以产生插入位置。6.如权利要求3所述的装置,其特征在于,其中该复数个插入位置产生装置可将一第一给定值减去经由函数运算的一第二给定值,以产生插入位置。7.如权利要求3所述的装置,其特征在于,其中该复数个插入位置产生装置可将一第一给定值与该处理器部分位址值结合后,再经由函数运算,以产生插入位置。8.如权利要求3所述的装置,其特征在于,其中该复数个插入位置产生装置可将该位置状态暂存器与该程序状态暂存器结合后,以产生插入位置。9.如权利要求3所述的装置,其特征在于,其中该复数个插入位置产生装置可将该位置状态暂存嚣与该程序状态暂存器结合后,再经由函数运算,以产生插入位置。10.如权利要求2所述的装置,其特征在于,其中该保护位元码去除装置还可依据该第二保护位元码位置产生装置所产生的插入位置N,而将该程序对应指令的第N位元移至最高位元处。11.如权利要求2所述的装置,其特征在于,其中该保护位元码去除装置还可依据该第二保护位元码位置产生装置所产生的插入位置N,而将该程序对应指令的第N位元移至最低位元处。12.如权利要求2所述的装置,其特征在于,其中该保护位元码去除装置还可依据该第二保护位元码位置产生装置所产生的插入位置N,而将该程序的对应指令直接输出。13.如权利要求3所述的装置,其特征在于,其中I+P=32。14.如权利要求3所述的装置,其特征在于,其中I=32。15.一种对一加密程序进行解密的装置,该加密程序将保护位元码插置于原始程序中而加密,该加密程序具有复数指令,该装置包含一第二保护位元码位置产生装置,其依据执行该程序时处理器状态以产生该复数个保护位元码的插入位置;以及一保护位元码去除装置,输入该程序,并依据该第二保护位元码位置产生装置所产生的插入位置N,以将该程序对应指令的第N位元去除。16.如权利要求15所述的装置,其特征在于,其中该第二保护位元码位置产生装置依据执行该程序时处理器状态以产生插入位置,该第二保护位元码位置产生装置包含一位置状态暂存器,用以指示该处理器存取资料区段或是存取程序区段;一程序状态暂存器,用以指示该处理器所处的状态;复数个插入位置产生装置,依据其预定的功能以产生插入位置;以及一多工器,其具有复数个输入端,以耦合至该复数个插入位置产生装置的输出端,并依据该位置状态暂存器及该程序状态暂存器,由复数个输入端中选择一插入位置以做为输出。17.如权利要求16所述的装置,其特征在于,其中该复数个插入位置产生装置可为一空装置,以表示无插入位置。18.如权利要求16所述的装置,其特征在于,其中该复数个插入位置产生装置可将一给定值经由函数运算以产生插入位置。19.如权利要求16所述的装置,其特征在于,其中该复数个插入位置产生装置可将一第一给定值减去经由函数运算的一第二给定值,以产生插入位置。20.如权利要求16所述的装置,其特征在于,其中该复数个插入位置产生装置可将一第一给定值与该处理器的部分位址值结合后,再经由函数运算,以产生插入位置。21.如权利要求16所述的装置,其特征在于,其中该复数个插入位置产生装置可将该位置状态暂存器与该程序状态暂存器结合后,以产生插入位置。22.如权利要求16所述的装置,其特征在于,其中该复数个插入位置产生装置可将该位置状态暂存器与该程序状态暂存器结合后,再经由函数运算,以产生插入位置。23.如权利要求16所述的装置,其特征在于,其中I+P=32。24.如权利要求16所述的装置,其特征在于,其中I=32。25.一种对一加密程序进行解密的装置,该加密程序将两组保护位元码插置于原始程序中而加密,该加密程序具有复数指令,其中一个字组可包含二个加密指令,该装置包含一第三保护位元码位置产生装置,其依据执行该程序时处理器状态以产生该复数个保护位元码的第三插入位置;一第四保护位元码位置产生装置,其依据执行该程序时处理器状态以产生该复数个保护位元码的第四插入位置;以及一第三保护位元码去除装置,输入该加密程序的低半字组,并依据该第三保护位元码位置产生装置所产生的第三插入位置N1,以将该程序对应指令的第0至(K-1)位元的笫N1位元去除;以及一第四保护位元码去除装置,输入该加密程序的高半字组,并依据该第四保护位元码位置产生装置所产生的第四插入位置N2,以将该程序对应指令的第K至(2K-1)位元的第N2位元去除。26.如权利要求25所述的装置,其特征在于,其中K=1...

【专利技术属性】
技术研发人员:梁伯嵩
申请(专利权)人:凌阳科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

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

1