复杂可程序化逻辑组件的程序代码的保护系统及其方法

文档序号:6555949阅读:304来源:国知局
专利名称:复杂可程序化逻辑组件的程序代码的保护系统及其方法
技术领域
本发明涉及一种程序代码的保护系统及其方法,特别是涉及一种复杂可程序化逻辑组件的程序代码的保护系统及其方法。
背景技术
于嵌入式系统中,复杂可程序化逻辑组件(Complex Programmable LogicDevice;CPLD)里头往往储存有重要的程序信息,此程序信息通常为公司获利最主要的关键,可用来仿真硬件电路的运作,节省许多硬件花费,并且由于不需加装过多的硬件,可使得产品微小化。
因此,对于复杂可程序化逻辑组件(Complex Programmable Logic Device;CPLD)里头的程序代码,需配有一安全保护机制,可以避免有心人士窃取他人的产品,倘若拥有者的机器遗失了,被他人拾走,若无安全保护机制来保护,那么芯片里头的数据可以完全被他人使用,那么研发者的心血付诸流水,相当可惜。

发明内容
本发明的主要目的在于提供一种复杂可程序化逻辑组件的程序代码的保护系统及其方法,应用于嵌入式装置,使用者在装置上设定密码之后,系统可以将密码输入错误的次数记录下来,当输入密码错误的次数到达错误容忍值,或是并未输入密码即执行关机动作,便将复杂可程序化逻辑组件(CPLD)当中的程序代码抹除,达到一种保护的机制,藉以解决先前技术所存在的问题。
因此,为达上述目的,本发明所揭露的一种复杂可程序化逻辑组件的程序代码的保护系统,应用于嵌入式装置,此嵌入式装置预设有安全检验密码,使用者需正确输入安全检验密码才能启动嵌入式装置,此保护系统包含有复杂可程序化逻辑组件(Complex Programmable Logic Device;CPLD)、输入密码模块、计数模块、处理模块以及烧录/抹除模块。
复杂可程序化逻辑组件,是具有可执行的程序代码,此程序代码具有重要功能,为仿真硬件电路的程序代码。
输入密码模块,用以供使用者输入启动密码。
计数模块,用以计数使用者输入的启动密码不同于安全检验密码的次数,即计算输入密码错误的次数。
处理模块,当启动密码不同于安全检验密码的次数达错误容忍值时,即发出抹除讯号,此错误容忍值为默认值,例如设定为三,当使用者输入密码错误的次数到达三次时,处理模块即发出抹除讯号。
烧录/抹除模块,接收处理模块发送的抹除讯号,以将复杂可程序化逻辑组件当中的程序代码抹除。
另一方面,本发明的一种复杂可程序化逻辑组件的程序代码的保护方法,应用于预设有安全检验密码的嵌入式装置,此嵌入式装置中的复杂可程序化逻辑组件当中是具有可执行的程序代码,使用者需正确输入安全检验密码才能读取并执行该程序代码。
首先,使用者需输入启动密码,接着,检验使用者输入的启动密码是否与预设的安全检验密码相同,倘若不同,需计算输入的启动密码不同于安全检验密码的次数,当不同的次数到达一错误容忍值时,则抹除复杂可程序化逻辑组件当中的程序代码。
此外,当使用者并未正确输入密码,即欲将系统装置关闭,则延迟关机时间,以立即将复杂可程序化逻辑组件当中的程序代码抹除之后,再行关机。


图1为本发明的复杂可程序化逻辑组件的程序代码的保护系统架构图;图2为本发明的复杂可程序化逻辑组件的程序代码的保护方法流程图;图3为本发明的复杂可程序化逻辑组件的程序代码的保护系统初始化流程图。
具体实施例方式
请参阅图1,是为本发明的复杂可程序化逻辑组件的程序代码的保护系统架构图,应用于嵌入式装置,例如个人数字助理(Personal Digital Assistant;PDA),此嵌入式装置预设有一安全检验密码,使用者需正确输入安全检验密码才能启动嵌入式装置,此保护系统包含有复杂可程序化逻辑组件160、输入密码模块110、计数模块120、处理模块130以及烧录/抹除模块150。
复杂可程序化逻辑组件160,具有可执行的程序代码,此程序代码是可仿真硬件电路,包含有许多重要功能,如周期时间控制等等。
输入密码模块110,用以供使用者输入启动密码,此输入密码模块110可为一具有多个数字键的输入面板。
计数模块120,计算使用者输入的启动密码不同于安全检验密码的次数。
处理模块130,可为一系统单芯片(system on chip;soc),当使用者输入的启动密码不同于预设的安全检验密码的次数达一错误容忍值时,即发出一抹除讯号,例如,预设错误容忍值为三,那么使用者输入密码错误到达三次时,处理模块130便发出抹除讯号。
烧录/抹除模块150,可为接合测试行动组(Joint Test Action Group,JTAG)单元,用以接收处理模块130发出的抹除讯号,以将复杂可程序化逻辑组件当中的程序代码抹除,此烧录/抹除模块150可整合至复杂可程序化逻辑组件的中,即包含于复杂可程序化逻辑组件里头,此外,处理模块130与烧录/抹除模块150之间,可透过复数个通用输出输入端口(General Purpose Input/Output;GPIO)相连接并相互传递讯号,此复数个通用输出输入端口包含有至少四个脚位,此四个脚位包含有三个自处理模块130往烧录/抹除模块150的输出端口,一个自烧录/抹除模块150往处理模块130的输入端口。
除此的外,本发明的复杂可程序化逻辑组件的程序代码的保护系统,更可包含有电源供应模块180、开机/关机模块170、延迟模块190以及存储模块140。
电源供应模块180,用以供应保护系统的运作所需电源,可为一电池。
开机/关机模块170,用以供使用者操作以启动电源供应模块180或关闭电源供应模块180,此开机/关机模块170可为一按钮,使用者按下此按钮得以开启或是关闭装置的电源。
延迟模块190,用以延缓电源供应模块180关闭的时间,当使用者并未正确输入安全检验密码即操作开机/关机模块170欲关闭系统电源时,开机/关机模块170即发出一通知讯号至处理模块130,则处理模块130发出一延缓讯号至延迟模块190以及发出一抹除讯号至烧录/抹除模块150,透过延迟模块190以延缓电源供应模块180关闭的时间,使得烧录/抹除模块150得以实时将复杂可程序化逻辑组件160当中的程序代码抹除。
存储模块140,可为闪存(flash memory),里头储存有程序代码,此程序代码已加密,当此系统执行初始化动作时,即于复杂可程序化逻辑组件160里头,从未烧入程序代码,或关系统不稳及当机时,欲于复杂可程序化逻辑组件160中重新烧录程序代码,处理模块130自存储模块140中读取程序代码并将程序代码执行解密动作,再透过烧录/抹除模块150以将程序代码烧录至复杂可程序化逻辑组件160中。
于此,此系统中尚可包含有一备用电池,当电源供应模块180无法供应电源时,即以备用电池取代电源供应模块180的功能,以避免当电源供应模块180被取下时,系统无电力可执行抹除程序代码机制。
再请参考图2,是为本发明的复杂可程序化逻辑组件的程序代码的保护方法流程图,应用于预设有一安全检验密码的嵌入式装置,如个人数字助理(Personal Digital Assistant;PDA),此嵌入式装置中的复杂可程序化逻辑组件当中是具有可执行的程序代码,使用者需正确输入安全检验密码才能读取并执行程序代码。
首先,使用者输入启动密码(步骤210),接着判断启动密码是否与安全检验密码相同?(步骤 220),倘若启动密码与安全检验密码相同,便得以读取并执行程序代码(步骤230),倘若启动密码与安全检验密码不相同,那么便计算启动密码不同于安全检验密码的次数是否达错误容忍值?(步骤250),若使用者输入密码的错误已经达错误容忍值的话,即抹除复杂可程序化逻辑组件当中的程序代码(步骤270)。
此外,倘若启动密码与安全检验密码不相同,可侦测使用者是否执行关闭嵌入式装置动作?(步骤240),倘若尚未通过密码检验即欲关闭装置,则延缓嵌入式装置的关闭时间(步骤260),以使系统装置有足够的时间来抹除复杂可程序化逻辑组件当中的程序代码(步骤270)。
其中,抹除复杂可程序化逻辑组件当中的程序代码的步骤,可透过一接合测试行动组(Joint Test Action Group,JTAG)单元以执行,此接合测试行动组(Joint Test Action Group,JTAG)单元是可整合至复杂可程序化逻辑组件的中。
最后请参照图3,是为本发明的复杂可程序化逻辑组件的程序代码的保护系统初始化流程图,嵌入式装置具有一存储模块以储存程序代码,此存储模块可为闪存(flash memory),当系统执行初始化动作时,首先自存储模块中读取程序代码(步骤310),当中的程序代码为经过加密,接着,将程序代码解密(步骤320),最后,将解密后的程序代码烧录至复杂可程序化逻辑组件中(步骤330),如此即完成系统初始化的动作。
权利要求
1.一种复杂可程序化逻辑组件的程序代码的保护系统,应用于一嵌入式装置,该嵌入式装置预设有一安全检验密码,使用者需正确输入该安全检验密码才能启动该嵌入式装置,该保护系统包含有一复杂可程序化逻辑组件,是具有一可执行的程序代码;一输入密码模块,用以供使用者输入一启动密码;一计数模块,用以计数使用者输入的该启动密码不同于该安全检验密码的次数;一处理模块,当该启动密码不同于该安全检验密码的次数达一错误容忍值时,即发出一抹除讯号;一烧录/抹除模块,接收该抹除讯号以将该复杂可程序化逻辑组件当中的该程序代码抹除。
2.根据权利要求1所述的复杂可程序化逻辑组件的程序代码的保护系统,其特征在于,所述嵌入式装置是为一个人数字助理(Personal DigitalAssistant;PDA)。
3.根据权利要求1所述的复杂可程序化逻辑组件的程序代码的保护系统,其特征在于,所述烧录/抹除模块是为一接合测试行动组(Joint Test ActionGroup,JTAG)单元。
4.根据权利要求1所述的复杂可程序化逻辑组件的程序代码的保护系统,其特征在于,所述烧录/抹除模块是可整合至该复杂可程序化逻辑组件的中。
5.根据权利要求1所述的复杂可程序化逻辑组件的程序代码的保护系统,其特征在于,所述处理模块是为一系统单芯片(SOC)。
6.根据权利要求1所述的复杂可程序化逻辑组件的程序代码的保护系统,其特征在于,所述处理模块与该烧录/抹除模块之间,是利用复数个通用输出输入端口(General Purpose Input/Output;GPIO)相连接并相互传递讯号。
7.根据权利要求1所述的复杂可程序化逻辑组件的程序代码的保护系统,更包含有一电源供应模块,用以供应该保护系统的运作所需电源;一开机/关机模块,用以供使用者操作以启动该电源供应模块或关闭该电源供应模块;一延迟模块,用以延缓该电源供应模块关闭的时间;其中,当使用者并未正确输入该安全检验密码即操作该开机/关机模块欲关闭该保护系统时,该开机/关机模块即发出一通知讯号至该处理模块,则该处理模块发出一延缓讯号至该延迟模块以及发出一抹除讯号至该烧录/抹除模块,透过该延迟模块以延缓该电源供应模块关闭的时间,使得该烧录/抹除模块得以实时将该复杂可程序化逻辑组件当中的该程序代码抹除。
8.根据权利要求7所述的复杂可程序化逻辑组件的程序代码的保护系统,其特征在于,该保护系统更可包含有一备用电池,当该电源供应模块无法供应电源时,即以该备用电池取代该电源供应模块的功能。
9.根据权利要求1所述的复杂可程序化逻辑组件的程序代码的保护系统,其特征在于,该保护系统更包含有一存储模块,用以储存该程序代码。
10.根据权利要求9所述的复杂可程序化逻辑组件的程序代码的保护系统,其特征在于,所述存储模块是为一闪存(flash memory)。
11.根据权利要求10所述的复杂可程序化逻辑组件的程序代码的保护系统,其特征在于,当该保护系统执行一初始化动作时,该处理模块自该存储模块中读取该程序代码并将该程序代码执行解密动作,再透过该烧录/抹除模块以将该程序代码烧录至该复杂可程序化逻辑组件中。
12.根据权利要求11所述的复杂可程序化逻辑组件的程序代码的保护系统,其特征在于,当该复杂可程序化逻辑组件中未有该程序代码,或是当保护系统不稳及当机时,即可执行该初始化动作。
13.一种复杂可程序化逻辑组件的程序代码的保护方法,应用于一预设有一安全检验密码的嵌入式装置,该嵌入式装置中的一复杂可程序化逻辑组件当中是具有一可执行的程序代码,使用者需正确输入该安全检验密码才能读取并执行该程序代码,该方法包含有下列步骤输入一启动密码;计数输入的该启动密码不同于该安全检验密码的次数;当该启动密码不同于该安全检验密码的次数达一错误容忍值时,抹除该复杂可程序化逻辑组件当中的该程序代码。
14.根据权利要求13所述的复杂可程序化逻辑组件的程序代码的保护方法,其特征在于,所述嵌入式装置是为一个人数字助理(Personal DigitalAssistant;PDA)。
15.根据权利要求13所述的复杂可程序化逻辑组件的程序代码的保护方法,其特征在于,所述抹除该复杂可程序化逻辑组件当中的该程序代码的步骤,是透过一接合测试行动组(Joint Test Action Group,JTAG)单元以执行。
16.根据权利要求15所述的复杂可程序化逻辑组件的程序代码的保护方法,其特征在于,所述接合测试行动组(Joint Test Action Group,JTAG)单元是可整合至该复杂可程序化逻辑组件的中。
17.根据权利要求13所述的复杂可程序化逻辑组件的程序代码的保护方法,其特征在于,当并未正确输入该安全检验密码即欲关闭该嵌入式装置时,是延缓该嵌入式装置的关闭时间,使该复杂可程序化逻辑组件当中的该程序代码得以实时被抹除。
18.根据权利要求13所述的复杂可程序化逻辑组件的程序代码的保护方法,其特征在于,所述嵌入式装置具有一存储模块以储存该程序代码,当该嵌入式装置执行一初始化动作时,包含有下列步骤自该存储模块中读取该程序代码;将该程序代码解密;将解密后的该程序代码烧录至该复杂可程序化逻辑组件中。
19.根据权利要求18所述的复杂可程序化逻辑组件的程序代码的保护方法,其特征在于,当该复杂可程序化逻辑组件中未有该程序代码,或是当保护系统不稳及当机时,即可执行该初始化动作。
20.根据权利要求18所述的复杂可程序化逻辑组件的程序代码的保护方法,其特征在于,所述存储模块是为一闪存(flash memory)。
全文摘要
一种复杂可程序化逻辑组件的程序代码的保护系统及其方法,应用于嵌入式装置,此嵌入式装置预设有安全检验密码,需正确输入安全检验密码才能读取及运作复杂可程序化逻辑组件中的程序代码,使用者输入启动密码后,计数模块会计算启动密码与安全检验密码不同的次数,当不同的次数达到一错误容忍值时,处理模块即发出抹除讯号至烧录/抹除模块,以将复杂可程序化逻辑组件当中的程序代码抹除,或是当并未正确输入密码即欲关闭系统时,通过延迟模块将电源供应模块延迟关闭,以使得烧录/抹除模块得以实时将复杂可程序化逻辑组件当中的程序代码抹除。
文档编号G06F21/00GK101063993SQ200610035260
公开日2007年10月31日 申请日期2006年4月28日 优先权日2006年4月28日
发明者刘宪丞 申请人:佛山市顺德区顺达电脑厂有限公司, 神达电脑股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1