芯片读取方法及加密方法

文档序号:6437800阅读:1081来源:国知局
专利名称:芯片读取方法及加密方法
技术领域
本发明是有关一种加密方法,特别是一种存储器的加密方法。
背景技术
就微控制器而言,储存于只读存储器(ROM)内的固件乃为微控制器中最有价值的设计。为了抢占市场占有率,不肖业者利用盗取他人ROM中的固件,即可轻易仿冒微控制器及其相应的芯片,意图节省开发时间及研发成本。此举对设计原创者而言可谓心血被恶意瓢窃且侵害其智能财产权。通常,为防范固件被窃取,一般是通过物理手段控制一或多个金属或复晶硅熔丝, 又或者通过烧录方式控制ROM中一或多个具有固定地址的位,以致能/除能ROM的安全性防护机制。上述防护机制是通过控制固定地址、长度、或内容来达到ROM的保护,然而,一旦竞争者撷取到此种安全性防护机制的规则性,即可非常轻易的复制或通过还原工程 (reverse engineering)破解ROM的安全性防护机制,进而读取固件内的完整内容。

发明内容
本发明的目的为提供一种芯片读取方法,包括根据一芯片的一原始码以及一规则决定一校验码,其中,该校验码具有一校验预设长度;以及比对一外部装置中的一资料与该校验码,其中,若部分该资料与该校验码相同,则释出该原始码给该外部装置。本发明还提供一种芯片加密方法,包括一芯片的一原始码根据一规则产生一校验码;以及比对该校验码与一外部资料。
以下结合附图和具体实施例对本发明的技术方法进行详细的描述,以使本发明的特征和优点更为明显,其中

图1所示为根据本发明一实施例的微控制器示意图。图2所示为根据本发明一实施例图1中所示的只读存储器的加密方法流程图。
具体实施例方式以下将对本发明的实施例给出详细的说明。虽然本发明将结合实施例进行阐述, 但应理解这并非意指将本发明限定于这些实施例。相反地,本发明意在涵盖由后附申请专利范围所界定的本发明精神和范围内所定义的各种变化、修改和均等物。此外,在以下对本发明的详细描述中,为了提供针对本发明的完全的理解,提供了大量的具体细节。然而,于本技术领域中具有通常知识者将理解,没有这些具体细节,本发明同样可以实施。在另外的一些实例中,对于大家熟知的方法、程序、元件和电路未作详细描述,以便于凸显本发明的主旨。
图1所示为根据本发明一实施例的微控制器10示意图。微控制器10包括接口总线处理器14、只读存储器(ROM)读/写控制器16、安全性校验码处理器18、及只读存储器 20。在一实施例中,当一外部装置12(例如,测试器或写入器)与微控制器10的芯片耦接,且欲从微控制器10中的只读存储器20读出资料(例如,原始码)或写入资料至只读存储器20时,总线38将来自外部装置12的读出/写入指令传递至接口总线处理器14,接着通过只读存储器(ROM)读/写控制器16对只读存储器20分别进行读/写的控制。在一实施例中,若只读存储器读/写控制器16接收到来自外部装置12的指令为将资料写入只读存储器20,则只读存储器读/写控制器16进入写入模式26,以将来自接口总线处理器14的欲写入的资料36写入只读存储器20。又,在一实施例中,若只读存储器读/写控制器16接收到来自外部装置12的指令为从只读存储器20读取资料,则只读存储器读/写控制器16进入读取模式M,通过一安全性校验码处理器18比对外部装置12的身分。若安全性校验码处理器18判断外部装置12的身分为具有原始码的固件原创者或被授权者,则由加密机制22将只读存储器20内的资料加密,并输出加密后的资料34至接口总线处理器14,再通过总线38传送至外部装置12。本领域熟悉此技术者可知,本实施例中的加密机制22包含可执行对资料加密或对资料不加密两种方式。反之,若安全性校验码处理器18判断外部装置12的身分为非原创者或非被授权的,则略过只读存储器20,直接输出非正确资料32至外部装置12。有利之处在于,由于在过程中,微控制器10并不会在总线38上输出或显示任何错误的警示,仅是输出非正确资料至外部装置12,因此,不具有原始码的非原创者或非被授权者并不会意识到所取得的资料为正确与否。如此,增加了仿冒者(copy cat)破解微控制器10的只读存储器20内容的困难度。另外,本领域熟悉此技术者可知,本实施例中的只读存储器20可为一次性编程 (One Time Programmable, OTP)只读存储器,但并不以此为限,可为其它只读存储器的态样,例如闪存(Flash ROM)、电子擦除式可编程只读存储器(EEPROM)等等。图2所示为根据本发明一实施例图1中所示的只读存储器20的加密方法流程图。 图2将结合图1进行描述。在步骤202中,对微控制器10的芯片供电。在步骤204中,输入一密码及一指令以指示微控制器10进入只读存储器释出资料模式(ROM Dump Mode)。在步骤206中,微控制器10确认所输入的密码是否正确,若为错误,则直接进入步骤224,释出微控制器10的芯片识别码且输出非正确的资料,接着进入步骤2 对微控制器10的芯片断电(Power off) 0在步骤206中,若所输入的密码正确,则进入只读存储器释出资料模式。在本发明一实施例中,芯片的原始码在经过编译(compile)完成之后,会产生一组序号,并且依据此组序号以及一内建于微控制器10的规则建立只读存储器20中的校验码。举例说明,当原始码的14字节(byte)例如是AB ! 58cd$~Gd*68,若取码规则为读取第1、第6及第11码,则表示校验码内容即为此原始码的第1、第6及第11码,也就是Acd, 而校验码长度为三个字节。熟悉此领域者可知,取码规则并不局限于本发明中所述的三个单位的取码实施例,可由芯片设计者自行设计内容及长度,且取码的单位亦不局限于字节,亦可是四字节(nibble)或是字符组(word),亦或是包含多个字符组的地址,但并不以此为限。当一外部装置12(例如,一读取器)欲将只读存储器20中的原始码取出时,使用者必需向外部装置12提供与只读存储器20中的原始码相同的原始码。在步骤208中,微控制器10根据取码规则读取外部装置12的第1、第6、及第11码的该组序号。在步骤210 中,释出只读存储器20中相对应于此特定地址(即校验码中第1或第6或第11码)的校验码,并在步骤212中进行比对。若经比对后发现,读取到的外部装置12的部分序号与只读存储器20中的相对应地址的校验码相符,则进入步骤216,判断此比对步骤是否已执行一预设次数。若比对次数尚未达到此预设次数,则重复执行步骤208-212直至比对次数达到预设次数。举例说明,若只读存储器20中的校验码的长度为8个字节,根据内建规则,可逐一字节地与外部装置12 进行比对,比对八次,抑或一次比对八个字节则仅需比对一次即可。在一实施例中,比对次数是根据取码规则决定的,因此,比对预设次数可由原始码的原创者根据安全性等级进行设定。经比对后,一旦确定外部装置12的部分序号与只读存储器20中的相对应地址的校验码相符,则可判断外部装置12的身分为具有原始码的原创者或被授权者。相对地,若在步骤212中经比对后发现,外部装置12的部分序号与相对应地址的校验码不符,则代表外部装置12的身分为非原创者或非被授权者,此时,在步骤214中,微控制器10纪录发生一错误事件但不采取任何行动,比对步骤(步骤208至步骤216)继续进行直至比对完成,流程进入至步骤218。不论比对结果是否符合,皆会进行至步骤218,在步骤218中,若比对结果为成功,则释出芯片识别码(步骤220)且在步骤222中允许释出只读存储器20内的加密资料 34(示于图1)。若比对结果为失败,则进入步骤224,释出芯片识别码及非正确资料32(示于图1)。最后进入步骤2 对微控制器10的芯片断电。如前所述,本发明提供了一种只读存储器加密方法。本发明所揭露的方法中,外部装置欲读写微控制器内的只读存储器时,必须拥有与只读存储器的原始码相同的原始码, 经过安全性校验码处理器比对无误后方能读取。换言之,校验码内容由编译后的原始码依据内建取码规则决定的,且随着原始码的改变更动的。如此,可防止他人窃取只读存储器的原始码。更甚的是,在比对过程中,是统接口不透露任何校验结果,必须等到完整无误的校验码比对完毕(校验码长度由设计者预设),才能进入只读存储器释出资料模式取得完整的原始码。若比对失败,也可得到非正确的只读存储器资料,欲窃取原始码的人并无法得知自己取得的是非正确资料。有利之处在于,本发明可与已知利用熔丝或烧录位的保护机制并存,可大幅增加破解只读存储器20内容的困难度、降低破解意愿,并有效保障只读存储器内固件原创者的智能财产权。上文具体实施方式
和附图仅为本发明的常用实施例。显然,在不脱离权利要求书所界定的本发明精神和发明范围的前提下可以有各种增补、修改和替换。本领域技术人员应该理解,本发明在实际应用中可根据具体的环境和工作要求在不背离发明准则的前提下在形式、结构、布局、比例、材料、元素、元件及其它方面有所变化。因此,在此披露的实施例仅用于说明而非限制,本发明的范围由后附权利要求及其合法等同物界定,而不限于此前的描述。
权利要求
1.一种芯片读取方法,包括根据一芯片的一原始码以及一规则决定一校验码;以及比对一外部装置中的一资料与该校验码,其中,若该资料与该校验码相同,则释出该原始码给该外部装置。
2.如权利要求1所述的芯片读取方法,其中,该校验码具有一校验预设长度。
3.如权利要求1所述的芯片读取方法,其中,该比对步骤包括 比对一或多个单位的该资料与该校验码。
4.如权利要求3所述的芯片读取方法,还包括持续比对该一或多个单位的资料与该校验码,直至完成所有该校验码的比对。
5.如权利要求3或4所述的芯片读取方法,其中,该单位为一字节。
6.如权利要求3或4所述的芯片读取方法,其中,该单位为一四字节。
7.如权利要求3或4所述的芯片读取方法,其中,该单位为一字符组。
8.如权利要求1所述的芯片读取方法,其中,该原始码是储存在该芯片的一只读存储器中。
9.如权利要求8所述的芯片读取方法,其中,该只读存储器为一一次性可编程只读存储器。
10.如权利要求8所述的芯片读取方法,其中,该只读存储器为一闪存。
11.如权利要求8所述的芯片读取方法,其中,该只读存储器为一电子擦除式可编程只读存储器。
12.如权利要求1所述的芯片读取方法,其中,该规则内建于该芯片中。
13.如权利要求1所述的芯片读取方法,其中,该资料依该规则由该外部装置所具有的该原始码产生。
14.一种芯片加密方法,包括一芯片的一原始码根据一规则产生一校验码;以及比对该校验码与一外部资料。
15.如权利要求14所述的芯片加密方法,其中,该比对步骤包括比对一或多个单位的该外部资料与该校验码。
16.如权利要求15所述的芯片加密方法,还包括持续比对该一或多个单位的该外部资料与该校验码直至完成所有该校验码的比对。
17.如权利要求15或16所述的芯片加密方法,其中,该单位为一字节。
18.如权利要求15或16所述的芯片加密方法,其中,该单位为一四字节。
19.如权利要求15或16所述的芯片加密方法,其中,该单位为一字符组。
20.如权利要求14所述的芯片加密方法,其中,该比对步骤通过该芯片中的一比对电路实现。
21.如权利要求14所述的芯片加密方法,其中,该外部资料依该规则由一外部装置所具有的一原始码产生。
全文摘要
一种芯片读取方法及加密方法。芯片读取方法包括根据一芯片的一原始码以及一规则决定一校验码,其中,该校验码具有一校验预设长度;以及比对一外部装置中的一资料与该校验码,其中,若部分该资料与该校验码相同,则释出该原始码给该外部装置。
文档编号G06F21/00GK102426638SQ20111035204
公开日2012年4月25日 申请日期2011年11月9日 优先权日2011年11月9日
发明者林建良 申请人:松翰科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1