以对位址线进行混淆处理来保护资料的装置及方法

文档序号:6751360阅读:159来源:国知局
专利名称:以对位址线进行混淆处理来保护资料的装置及方法
技术领域
本发明是关于处理器的技术领域,尤指一种于处理器中对位址线进行混淆处理来保护资料的装置及方法。
背景技术
在这重视智财权的时代,厂商为了保护其辛苦开发的程序、资料等相关的智慧财产,会于离线(off-line)时将该等资料、程序先进行一混淆(scrambling)处理,再将混淆后的资料予以储存至一非挥发性存储器或其他储存媒体,他人即使拿到存有该混淆资料的非挥发性存储器或其他储存媒体,由于无法知道该混淆处理的过程及处理方法,亦无法正确去还原该等资料、程序,藉此而达到保护的目的。
针对此种资料保护方式,于美国第USP6,408,073号专利案公告中,使用一虚拟乱数产生器(Pseudo Random Generator)及依据一初始值(seed1/seed2),来对唯读存储器(Read Only Memory,ROM)的资料(ROMdata)进行编码以产生编码资料(Encoded data),然而此种资料保护方式因使用乱数做混淆处理的参数,需有同步的乱数产生器用以进行解码,而乱数产生与执行顺序相关,因为执行有一定顺序,故只能循序读出,不能随机读出,难以应付程序执行中动态分支跳跃,因此不能直接在此ROM上执行程序,图1为一段范例程序码,其程序码事先利用乱数顺序以加密后储存于一ROM,该段程序码所储存的位址是由1F00_0000H至1F00_0020H,若一处理器直接执行此段程序码,会在条件式分支上出现问题,例如当该处理器执行到位于1F00_000C的指令3时,若指令3为bz1F00_0020H,此时若根据零旗标(zero flag)的值,决定该处理器跳跃到1F00_0020H位址处继续执行,此时会产生一问题,因为1F00_0020H位址处所储存的资料是将指令#8用虚拟乱数产生器(Pseudo RandomGenerator)20所产生的一数值78编码后的结果,可是虚拟乱数产生器(Pseudo Random Generator)此时产生的却是60,而该处理器采用60来对储存于1F00_0020H位址处的资料做解码,会产生错误而无法正确执行,甚至会使该处理器当机,因此,采用乱数产生器或虚拟乱数产生器来做混淆处理仅能用于ROM的保护,不能用于如RAM或Flash等随机读存存储器的资料保护。
针对采用乱数产生器或虚拟乱数产生器来做混淆处理仅能用于ROM的保护的限制,于美国第USP5,943,283号专利案公告中,是使用一位址混淆处理装置以将顺序的输入位址转换成非顺序的实际位址,而达到对储存在RAM或Flash等随机读存存储器的资料的保护,然而此种资料保护方法,若储存的资料中,某段资料本身有明显易见的顺序性(如处理器的启动(Boot-up Strap)程序,或是常用的函数表格),容易由资料排列位置方式猜出所使用混淆处理方法,而被破解,因此,现有资料保护方法的设计仍有诸多缺失而有予以改进的必要。
鉴于以上原因,发明人本着积极发明的精神,亟思一种可以解决上述问题的「以对位址线进行混淆处理来保护资料的装置及方法」,几经研究实验终于完成此项发明。

发明内容
本发明的目的是在提供一种以对位址线进行混淆处理来保护资料的装置及方法,以避免现有技术容易由资料排列方式猜出所使用混淆处理方法的问题,而达到资料保护的目的。
依据本发明的一特色,是提出一种于处理器中以对处理器核心位址线进行混淆处理来保护资料的装置,该处理器核心执行该处理器的指令,并利用一位址汇流排及一资料汇流排以存取资料,该存取资料是分别储存于一第一资料区及一第二资料区,该第一资料区是储存重要资料,该装置包含一冗余区域设定装置、一冗余区域映射规则装置、一区域检查装置、一位址映射装置及一多工器。该冗余区域设定装置是用以设定该第一资料区的位址及一对应于该第一资料区的冗余区域的位址;该冗余区域映射规则装置用以提供将该第一资料区位址转换成冗余区域位址的规则;该区域检查装置是耦合至该冗余区域设定装置及该位址汇流排,以将该冗余区域设定装置所储存的位址与该位址汇流排的位址进行比对,以产生一比对结果信号;该位址映射装置是耦合至该冗余区域映射规则装置及该位址汇流排,以将该位址汇流排的位址转换为冗余区域的位址;该多工器是由该比对结果信号及一切换控制信号所控制,以当该比对结果为相符且当该切换控制信号为真时,输出该冗余区域的位址,否则输出该位址汇流排的位址。
依据本发明的另一特色,是提出一种于处理器中以对处理器核心位址线进行混淆处理来保护资料的方法,该处理器核心执行该处理器的指令,并利用一位址汇流排及一资料汇流排以存取资料,该存取资料是分别储存于一第一资料区域及一第二资料区域,该第一资料区域是储存重要资料,该方法包含下列步骤(A)将该第一资料区复制到一冗余区域;(B)纪录该第一资料区的位址及该冗余区域的位址;(C)提供将该第一资料区位址转换成冗余区域域位址的规则;(D)当该处理器核心欲存取资料时,比对该第一资料区位址或该冗余区域位址与该位址汇流排的位址,而产生一比对结果信号;(E)依据该规则而将该位址汇流排的位址转换为该冗余区域位址;(F)依据该比对结果信号及一切换控制信号来选择输出的位址,其中,当该比对结果为相符且当该切换控制信号为真时,输出该冗余区域的位址,否则输出该位址汇流排的位址。
一种于处理器中以对处理器核心位址线进行混淆处理来保护资料的装置,该处理器核心执行该处理器的指令,并利用一位址汇流排及一资料汇流排以存取资料,该存取资料的部分或全部是储存于一第一资料区,该装置包含一冗余区域设定装置,其是用以设定该第一资料区的位址及一对应于该第一资料区的冗余区域的位址;一冗余区域映射规则装置,用以提供将该第一资料区位址转换成冗余区域位址的规则;一区域检查装置,是耦合至该冗余区域设定装置及该位址汇流排,以将该冗余区域设定装置所储存的位址与该位址汇流排的位址进行比对,以产生一比对结果信号;
一位址映射装置,是耦合至该冗余区域映射规则装置及该位址汇流排,以将该位址汇流排的位址转换为冗余区域的位址;以及一多工器,是由该比对结果信号及一切换控制信号所控制,以当该比对结果为相符且当该切换控制信号为一特定逻辑状态时,输出该冗余区域的位址,否则输出该位址汇流排的位址。
所述的装置,其中,该特定逻辑状态为逻辑真。
所述的装置,其中,该特定逻辑状态为逻辑假。
所述的装置,其中,该存取资料中,不属于第一资料区的部分,储存于一第二资料区,多工器当该比对结果为不相符时,输出该第二资料区的位址。
所述的装置,其中,该切换控制信号是由一乱数产生器或由该处理器核心所产生。
所述的装置,其更包含一种子产生装置,用以随机产生一种子;以及一位址混淆处理装置,其耦合至该多工器的输出,以依据该种子而对该多工器的输出位址进行位址混淆处理。
所述的装置,其中,该位址混淆处理装置是依据全部或部分的位址以产生一经混淆处理的位址。
所述的装置,其中,该位址混淆处理装置依据该位址汇流排上的(a-r)条位址线以产生一经混淆处理的位址,当中,a为该位址汇流排全部位址线的数目,2r为该处理器中一快取存储器的一快取线(cache line)的所包含的字组数目。
所述的装置,其中,该位址汇流排上的位址线数目q等于该混淆处理后的位址线数目p。
所述的装置,其中,该位址汇流排上的位址线数目q不等于该混淆处理后的位址线数目p。
一种于处理器中以对处理器核心位址线进行混淆处理来保护资料的方法,该处理器核心执行该处理器的指令,并利用一位址汇流排及一资料汇流排以存取资料,该存取资料的部分或全部是储存于一第一资料区,该方法包含下列步骤
(A)将该第一资料区复制到一冗余区域;(B)纪录该第一资料区的位址及该冗余区域的位址;(C)提供将该第一资料区位址转换成冗余区域域位址的规则;(D)当该处理器核心欲存取资料时,比对该第一资料区位址或该冗余区域位址与该位址汇流排的位址,而产生一比对结果信号;(E)依据该规则而将该位址汇流排的位址转换为该冗余区域位址;以及(F)依据该比对结果信号及一切换控制信号来选择输出的位址,其中,当该比对结果为相符且当该切换控制信号为一特定逻辑状态时,输出该冗余区域的位址,否则输出该位址汇流排的位址。
所述的的方法,其中,该特定逻辑状态为逻辑真。
所述的的方法,其中,该特定逻辑状态为逻辑假。
所述的方法,其中,更包含(G)随机产生一种子;以及(H)依据该种子而对步骤(F)的输出位址进行位址混淆处理。
所述的方法,其中,步骤(H)是依据全部或部分的位址以产生一经混淆处理的位址。
所述的方法,其中,步骤(H)依据该位址汇流排上的(a-r)条位址线以产生一经混淆处理的位址,当中,a为该位址汇流排全部位址线的数目,2r为该处理器中一快取存储器的一快取线(cache line)的所包含的字组数目。
所述的方法,其中,于步骤(H)中,该位址汇流排上的位址线数目q等于该混淆处理后的位址线数目p,亦即q=p。
所述的方法,其中,于步骤(H)中,该位址汇流排上的位址线数目q大于或小于于该混淆处理后的位址线数目p,亦即q>p或q<p。
所述的方法,其中,当该处理器核心欲写出资料时,是对该第一资料区及该复数个冗余区域同时进行资料写入动作。
由于本发明设计新颖,能提供产业上利用,且确有增进功效,故依法申请发明专利。


图1是一程序经由一虚拟乱数产生器依据一初始值进行编码的示意图;图2是本发明一种于处理器中以对处理器核心位址线进行混淆处理来保护资料的装置的电路图;图3是本发明中第一资料区及冗余资料区读取时的示意图;图4是本发明中第一资料区、冗余资料区及第二资料区存放时的示意图。
具体实施例方式
图2显示本发明的于处理器中以对处理器核心310位址线进行混淆处理来保护资料的装置,其中,处理器核心201是执行处理器的指令,并利用一位址汇流排203及一资料汇流排202以存取资料,而存取资料是分别储存于存储器202的一第一资料区310及一第二资料区330,其中,该第一资料区310是用以储存重要资料。
前述以对处位址线进行混淆处理来保护资料的装置包含一冗余区域设定装置210、一冗余区域映射规则装置220、一区域检查装置230、一位址映射装置240、一多工器250、一乱数产生器260、一逻辑及闸270、一种子产生装置280及一位址混淆处理装置290。
前述冗余区域设定装置210是用以设定该第一资料区310的位址及一对应于该第一资料区310的冗余区域320的位址,例如将位于位址00000H~0FFFFH的第一资料区310复制一份到位于位址F0000H~FFFFFH的冗余区域320,而第二资料区330位址由10000H至EFFFFH,此时,可以设定该冗余区域设定装置210中需检测的位址为0xxxxH(第一资料区310位址)与FxxxxH(冗余区域320位址),其中‘x’表示don’t care。
该区域检查装置230是耦合至该冗余区域设定装置210及该位址汇流排203,以将该冗余区域设定装置210所储存的位址与该位址汇流排203的位址进行比对,以产生一比对结果信号231,若该处理器核心201欲读取位址0ABCDH的内容,因为该区域检查装置230发现此一位址与该冗余区域设定装置210中设定者相合(0XXXXH,第一资料区310位址),因此设定比对结果信号231为真(1)。反之,若该处理器核心201欲读取位址23456H的内容,则由于该区域检查装置230发现此一位址与该冗余区域设定装置210中设定者不相合,因此设定比对结果信号231为伪(0)。
该冗余区域映射规则装置220用以提供将该第一资料区310位址转换成冗余区域320位址的规则,例如将位址转换方式设定将位址线第19~16位元反相,即可将第一资料区310位址转换成冗余区域320位址。
该位址映射装置240是耦合至该冗余区域映射规则装置220及该位址汇流排203,以将该位址汇流排203的第一资料区310位址转换成冗余区域320位址,例如,当该处理器核心201欲读取位址0ABCDH的资料,该位址映射装置240则将该位址转换成FABCDH。
该多工器250是耦合至该处理器核心201的位址汇流排203及该位址映射装置240的输出位址,并由该比对结果信号231及一切换控制信号261所控制,以决定输出该处理器核心201的位址汇流排203的位址或该位址映射装置240的输出位址。
若该处理器核心201欲读取位址0ABCDH的资料,该区域检查装置230比对结果为相符,当该切换控制信号261为真时,该逻辑及闸270的输出为真(1),该多工器250则输出该位址映射装置240的输出位址FABCDH,此时表示该处理器核心201将由FABCDH位址处存取资料。当该切换控制信号261为伪(0),即使该区域检查装置230比对结果为相符,该逻辑及闸270的输出仍为伪(0),故该多工器250输出该处理器核心201的位址汇流排203的位址0ABCDH。
若该处理器核心201欲读取位址23456H的资料时,该区域检查装置230比对结果为不相符时(0),该逻辑及闸270的输出为伪(0),故该多工器250输出该处理器核心201的位址汇流排203的位址23456H,此时即为位于该第二资料区330中的位址。
前述的切换控制信号261可由一乱数产生器260或由该处理器核心201所产生,以增加存取第一资料区310及冗余区域320存取时的不确定性。
该种子产生装置280用以随机产生一种子,该位址混淆处理装置290耦合至该多工器的输出,以依据该种子而对该多工器250的输出位址进行位址混淆处理,其中,该位址混淆处理装置290可依据全部或部分的位址以产生一经混淆处理的位址。
该位址混淆处理装置290可依据该位址汇流排上的(a-r)条位址线以产生一经混淆处理的位址,当中,a为该位址汇流排全部位址线的数目,2r为该处理器中一快取存储器的一快取线(cache line)的所包含的字组数目。
由于实际存储器的位址线远较该处理器所使用的位址线少,故该位址汇流排上的位址线数目q大于或等于该混淆处理后的位址线数目p。
图3及图4是前述以对处位址线进行混淆处理来保护资料的工作范例示意图,于图3中,第一资料区和冗余资料区的内容完全相同。若该处理器核心201需要第一资料区310中的程序码或资料,读取第一资料区310或冗余区域320的内容均可,因此可依据切换控制信号261在这两区中任意读取所需的资料或程序码,并不妨碍该处理器核心201读取程序码或资料的正确性。因为该处理器核心201读取时的位址,可以完全不同,因而提高该处理器核心201读取位址的不确定性。也因此即使由外界检索其工作时对此存储装置所读取的位址,也会发现每次执行位址方式不同,因此可以动态地保护程序码或资料。
在图4中,第一资料区被复制成第一资料区310和冗余区域320两区段,内容完全相同,而第二资料区330并未进行复制工作。第一资料区310、冗余区域320及第二资料区330再经过位址混淆处理,以增加储存时位址的乱度。用冗余区域320可协助位址混淆处理时位址的乱度,而让他人更不易破解保护。因为原先经过位址混淆处理后,该处理器核心201执行程序的顺序会乱跳。但若是该处理器核心201每次执行同一功能的程序码时(像是Bootstrap),其读取指令码的位址跳跃方式均相同,容易由跳跃方式的规则性中反推出所使用的位址混淆处理时的方法,而加以破解保护。因此若是加上冗余区域320的机制,可以让每次执行同一段程序码时,位址跳跃的方式不同,使得不易反推出位址混淆处理时的方法而破解保护。在此处,可以将较重要的程序码置放于第一资料区310,提高该处执行混乱程度以进行保护,此方法可以同时防止静态破解与动态破解。
由上述的说明可知,本发明的技术使用冗余区域320及一乱数产生器260或由该处理器核心201所产生的切换控制信号261,以增加存取第一资料区310及冗余区域320存取时的不确定性,同时又使用该位址混淆处理装置290,更增加存取时的位址不确定性,可解决现有技术容易由资料排列位置方式猜出所使用混淆处理方法的问题,而达到资料保护的目的。
综上所述,本发明无论就目的、手段及功效,均显示其迥异于现有技术的特征,实为一极具实用价值的发明。但应注意的是,上述诸多实施例仅是为了便于说明而举例而已,本发明所主张的权利范围自应以申请专利的权利要求为准,而非仅限于上述实施例。
权利要求
1.一种于处理器中以对处理器核心位址线进行混淆处理来保护资料的装置,该处理器核心执行该处理器的指令,并利用一位址汇流排及一资料汇流排以存取资料,该存取资料的部分或全部是储存于一第一资料区,其特征在于,该装置包含一冗余区域设定装置,其是用以设定该第一资料区的位址及一对应于该第一资料区的冗余区域的位址;一冗余区域映射规则装置,用以提供将该第一资料区位址转换成冗余区域位址的规则;一区域检查装置,是耦合至该冗余区域设定装置及该位址汇流排,以将该冗余区域设定装置所储存的位址与该位址汇流排的位址进行比对,以产生一比对结果信号;一位址映射装置,是耦合至该冗余区域映射规则装置及该位址汇流排,以将该位址汇流排的位址转换为冗余区域的位址;以及一多工器,是由该比对结果信号及一切换控制信号所控制,以当该比对结果为相符且当该切换控制信号为一特定逻辑状态时,输出该冗余区域的位址,否则输出该位址汇流排的位址。
2.如权利要求1所述的装置,其特征在于,所述该特定逻辑状态为逻辑真。
3.如权利要求1所述的装置,其特征在于,所述该特定逻辑状态为逻辑假。
4.如权利要求所述的装置,其特征在于,所述该存取资料中,不属于第一资料区的部分,储存于一第二资料区,多工器当该比对结果为不相符时,输出该第二资料区的位址。
5.如权利要求1所述的装置,其特征在于,所述该切换控制信号是由一乱数产生器或由该处理器核心所产生。
6.如权利要求1所述的装置,其特征在于,其更包含一种子产生装置,用以随机产生一种子;以及一位址混淆处理装置,其耦合至该多工器的输出,以依据该种子而对该多工器的输出位址进行位址混淆处理。
7.如权利要求6所述的装置,其特征在于,所述该位址混淆处理装置是依据全部或部分的位址以产生一经混淆处理的位址。
8.如权利要求7所述的装置,其特征在于,所述该位址混淆处理装置依据该位址汇流排上的(a-r)条位址线以产生一经混淆处理的位址,当中,a为该位址汇流排全部位址线的数目,2r为该处理器中一快取存储器的一快取线(cache line)的所包含的字组数目。
9.如权利要求9所述的装置,其特征在于,所述该位址汇流排上的位址线数目q等于该混淆处理后的位址线数目p。
10.如权利要求7所述的装置,其特征在于,所述该位址汇流排上的位址线数目q不等于该混淆处理后的位址线数目p。
11.一种于处理器中以对处理器核心位址线进行混淆处理来保护资料的方法,其特征在于,该处理器核心执行该处理器的指令,并利用一位址汇流排及一资料汇流排以存取资料,该存取资料的部分或全部是储存于一第一资料区,该方法包含下列步骤(A)将该第一资料区复制到一冗余区域;(B)纪录该第一资料区的位址及该冗余区域的位址;(C)提供将该第一资料区位址转换成冗余区域域位址的规则;(D)当该处理器核心欲存取资料时,比对该第一资料区位址或该冗余区域位址与该位址汇流排的位址,而产生一比对结果信号;(E)依据该规则而将该位址汇流排的位址转换为该冗余区域位址;以及(F)依据该比对结果信号及一切换控制信号来选择输出的位址,其中,当该比对结果为相符且当该切换控制信号为一特定逻辑状态时,输出该冗余区域的位址,否则输出该位址汇流排的位址。
12.如权利要求11所述的的方法,其特征在于,所述该特定逻辑状态为逻辑真。
13.如权利要求11所述的的方法,其特征在于,所述该特定逻辑状态为逻辑假。
14.如权利要求11所述的方法,其特征在于,更包含(G)随机产生一种子;以及(H)依据该种子而对步骤(F)的输出位址进行位址混淆处理。
15.如权利要求14所述的方法,其特征在于,步骤(H)是依据全部或部分的位址以产生一经混淆处理的位址。
16.如权利要求15所述的方法,其特征在于,步骤(H)依据该位址汇流排上的(a-r)条位址线以产生一经混淆处理的位址,当中,a为该位址汇流排全部位址线的数目,2r为该处理器中一快取存储器的一快取线(cacheline)的所包含的字组数目。
17.如权利要求15所述的方法,其特征在于,于步骤(H)中,该位址汇流排上的位址线数目q等于该混淆处理后的位址线数目p,亦即q=p。
18.如权利要求15所述的方法,其特征在于,于步骤(H)中,该位址汇流排上的位址线数目q大于或小于于该混淆处理后的位址线数目p,亦即q>p或q<p。
19.如权利要求11所述的方法,其特征在于,当该处理器核心欲写出资料时,是对该第一资料区及该复数个冗余区域同时进行资料写入动作。
全文摘要
本发明提出一种以对位址线进行混淆处理来保护资料的装置及方法,其包含一冗余区域设定装置、一冗余区域映射规则装置、一区域检查装置、一位址映射装置及一多工器。区域检查装置是将冗余区域设定装置所储存的位址与位址汇流排的位址进行比对,以产生一比对结果信号;位址映射装置是将该位址汇流排的位址转换为冗余区域的位址;多工器是当该比对结果为相符且当一切换控制信号为真时,输出该冗余区域的位址,否则输出该位址汇流排的位址。
文档编号G11C8/00GK1570853SQ0313308
公开日2005年1月26日 申请日期2003年7月23日 优先权日2003年7月23日
发明者梁伯嵩 申请人:凌阳科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1