微处理器及其数据保密方法

文档序号:9564777阅读:294来源:国知局
微处理器及其数据保密方法【
技术领域
】[0001]本发明为一种微处理器及其数据保密方法,指一种应用于电子产品中保护微处理器的数据的方法及装置。【
背景技术
】[0002]微处理器(MicrocontrollerUnit)通常包含有中央处理单元(CPU)、存储器(RAM及ROM)、输出输入端口(I/O)、模拟数字转换单元(A/D)等,可搭配各种电子产品,具有不同的记忆与运算功能。各家厂商可通过多种可能的方式将主程序代码写入微处理器中,以执行所需的功能,一般而言,为了达到不同的功能,各家厂商需要投入研发资源以开发不同的程序代码,为了保护程序代码不被有心人士盜取,现有技术的微处理器上设有保密机制。[0003]现有技术的微处理器中,在写入主程序代码的同时,可同时于功能选项表(Codeopt1n)中选择是否将主程序代码加以保密,存储器中具有预设地址用来储存保护位值。在微处理器尚未被使用过时,保护位值中的预设数据代表不保密的指令;当使用者选择将主程序代码加以保密时,保护位值将会写入代表保密指令的数据。例如一微处理器中预设三个地址来储存保护位值,而假设代表不保密指令的数据为[1][0][1],则通常代表保密指令的数据就为[1][0][1]以外的数据,如[0][0][0]、[0][0][1]、[0][1][0]等,则当使用者选择保密时,将会写入[0][0][0]、[0][0][1]、或[0][1][0]等数据于预设地址中,当使用者选择不保密时,将会写入[1][0][1]于预设地址中。当使用者选择保密时,若使用者通过外部装置(例如烧录器等)要求读取该微处理器的主程序代码时,该微处理器将不会输出主程序代码于该外部装置,以达到对主程序代码保密的效果。[0004]但当使用者通过外部装置要求读取功能选项表的程序代码时,该外部装置将会在显示保护位值时,仅显示与真实数据相异的错误数据或预设的特定数据,以防止他人获得保护位值的真实数据,进而避免他人通过原始出厂的微处理器获得代表不保密指令的保护位值,而利用来将已写入主程序代码的微处理器修改为不保密状态,达到盜取主程序代码的目的。现有技术中,夕卜部装置读取该功能选项表时,该微处理器仍会输出该功能选项表中所有地址的真实值给外部装置,并藉由该外部装置来将保护位值的数据改变后再显示。例如保护位值为[1][0][1],则该微处理器输出的值仍为[1][0][1],但经外部装置处理后所显示的值则可能为[*][*][*]、[0][0][0]、[-][-][-]等错误数据,则他人无法于外部装置的显示内容中得知保护位值的真实数据;但若他人不通过外部装置的显示内容,而由微处理器的输出端直接通过仪器测量该微处理器所输出的数据,则仍能取得保护位值的真实数据。因此,现有技术的微处理器的保密机制有其疏漏之处。【
发明内容】[0005]有鉴于此,本发明发展一种微处理器及其数据保密方法,以解决现有技术中通过仪器仍能测量得知保护位的真实值的缺点。[0006]为达到上述的发明目的,本发明所采用的技术手段为设计一种微处理器的数据保密方法,该微处理器包含一中央处理单元及一存储器,该存储器具有至少一预设地址,各个预设地址用来储存有一保护位值,所述数据保密方法包括:[0007]a.根据一外部装置的要求读取该存储器;[0008]b.判断该要求所欲读取的地址是否对应该至少一预设地址;以及[0009]c.若是,输出一读取结果给该外部装置,其中该读取结果包括至少一特定位值,在该读取结果中该至少一特定位值代表该至少一预设地址的数据,且该至少一特定位值不同于该至少一预设地址的保护位值。[0010]再者,本发明设计一种微处理器,包括:[0011]—存储器,具有至少一预设地址,各个预设地址用来储存一保护位值;[0012]一中央处理单元,与该存储器连接;其中该中央处理单元于收到读取该存储器的指令时,该中央处理单元判断所欲读取的地址是否对应该至少一预设地址,若是,则输出一读取结果,该读取结果包括至少一特定位值,在该读取结果中该至少一特定位值代表该至少一预设地址的数据,且该至少一特定位值不同于该至少一预设地址的保护位值。[0013]进一步而言,本发明设计一种微处理器的数据保密方法,该微处理器包含一中央处理单元及一存储器,所述数据保密方法包括:当该中央处理单元收到读取该存储器的一功能选项指令表的一读取指令时,将该功能选项指令表中的至少一预设地址的数据予以改变后再输出,其中各个预设地址用来储存一保护位值。[0014]本发明的优点在于,通过该微处理器输出时就不输出保护位值的真实数据,而改为输出特定值,则无论外部装置所得到的值、或在微处理器的输出接口所测量到的值,均非保护位的真实数据,而能确实的防止他人取得保护位的真实值。[0015]进一步而言,该存储器包括一预设区段,该预设区段包括数多个该预设地址,该些预设区段储存有一组保护位参数,该保护位参数由数多个该保护位值所构成,该步骤c输出的该读取结果包括一组特定参数来代表该预设区段的数据,且该特定参数不同于该组保护位参数。藉此,来将与保护位值位于相同区段内的其他位值一并输出为特定值,更进一步让读取者无法判断保护位值的地址。【附图说明】[0016]图1为本发明的微处理器与外部装置连接的方块图;[0017]图2A至图2C为本发明的存储器的位示意图;[0018]图3为本发明的数据保密方法的流程图。[0019]其中,附图标记:[0020]10微处理器11中央处理单元[0021]12存储器13连接端口[0022]20外部装置【具体实施方式】[0023]以下配合图式及本发明的较佳实施例,进一步阐述本发明为达成预定发明目的所采取的技术手段。[0024]请参阅图1及图2A所示,本发明的微处理器10包含有一中央处理单元11及一存储器12。该中央处理单元11通过一连接端口13与一外部装置20相连接,该中央处理器11中可具有一上查表(lookuptable)或一标志信息(flagtag)。该存储器12与该中央处理单元11相连接,该存储器12具有数多个地址121,该数多个地址121中包含有至少一个预设地址1211,该至少一预设地址1211的位置信息可储存于该中央处理器的上查表或标志信息中,各该预设地址1211中分別储存有一保护位值,该保护位值供该中央处理单元11判断是否依照外部装置20的要求来输出其程序信息,亦即对主程序代码的保密指令由该保护位值所组成。该保护位值的数量越多及/或该预设地址1211所位在的行数越分散,则该保护位值被猜测出真实值的难度越高,进而代表保密程度越高,例如图2A表示位在同一行的三个保护位值,图2B表示位在二相异行的五个保护位值,图2C表示位在三相异行的六个保护位值,则就保密程度而言,图2C所示的保密程度为较佳。[0025]请参阅图1至图3所示,本发明的数据保密方法包含以下步骤:[0026]根据一外部装置20的要求读取该存储器12(S1):该外部装置20可能为烧录器等可读写微处理器10的存储器12的内部数据的装置,该外部装置20可能要求读取该存储器12中的所有地址或指定地址。[0027]判断该要求所欲读取的地址121是否对应该至少一预设地址当前第1页1 2 
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1