一种嵌入式微处理器输出程序校验码的方法技术

技术编号:8834106 阅读:153 留言:0更新日期:2013-06-22 20:23
本发明专利技术公开了一种嵌入式微处理器输出程序校验码的方法,其特征在于,在嵌入式微处理器内部设置一个功能模块,功能模块用于计算用户程序校验码,并输出该校验码到外设,外设将接收到的校验码和预先备份的校验码对比,如果对比结果一致,则可判定微处理器中的用户程序为预先烧录的程序。这种方法可以确保程序校验码的真实性和唯一性,从而可以验证嵌入式微处理器中程序的唯一合法性。

【技术实现步骤摘要】

本专利技术属于计算机
,具体涉及。
技术介绍
现有技术中,针对程序校验码的输出主要有以下几种方式:(I)用户编写一段程序,通过一定的格式计算输出户程序校验码。该做法无法保证输出校验码是真实的程序校验码,而且无法验证。非法用户可以通过编写一段程序,不通过运算,而直接输出已知程序校验码。正因为如此,导致合法用户的产品很容易被仿制甚至加入作弊程序。(2)采用专用的代码管理系统或工具专用的代码管理系统或工具只是在程序写入时计算程序的校验码,并将校验码写入一个固定的代码区域,在输出的时候,读取已经写入的程序校验码,这种方式虽然能起到一定的保护作用,但是,非法用户可以用特定的工具将已写入的程序校验码改写,使输出的程序校验码非真实的用户程序校验码。
技术实现思路
本专利技术的目的是提供,这种方法可以确保程序校验码的真实性和唯一性,从而可以验证嵌入式微处理器中程序的唯一合法性。为实现上述专利技术目的,本专利技术采用了如下技术方案:,其特征在于,在嵌入式微处理器内部设置一个功能模块,功能模块用于计算用户程序校验码,并输出该校验码到外设,外设将接收到的校验码和预先备份的校验码对比,如果对比结果一致,则可判定微处理器中的用户程序为预先烧录的程序。进一步的,上述方法的具体步骤如下:(I)嵌入式微处理器上电复位后,将控制权交给所述功能模块,所述功能模块向外设发送输出校验码的请求;(2)外设接收到输出校验码的请求后,发送输出校验码指令给功能模块,并发送一串用于加密的随机数据;(3)功能模块接收到外设传送的随机数据和输出校验应答后,功能模块解密随机数据,并计算嵌入式微处理器内的用户程序区的校验码,然后将解密结果和计算得到的程序校验码发送给外设,发送完成后,功能模块将控制权交给嵌入式微处理器;(4)若功能模块未接收到外设传送的输出校验应答信号,则将控制权交给嵌入式微处理器;(5)外设接收到功能模块发送的解密结果和校验码后,先核实解密结果是否正确,如果解密结果正确,则判定功能模块发送的校验码是合法的;然后将接收到的合法的校验码和预先备份的校验码对比,若对比结果一致,则判定嵌入式微处理器中的用户程序为预先烧录的程序,若对比结果不一致,则判定嵌入式微处理器中的用户程序为改写后的程序。进一步的,所述功能模块是固化在嵌入式微处理器内核中的一部分,功能模块包括计算和输出用户程序校验码的模块和解密模块。所述功能模块还包括校验码生成和输出电路。优选的,所述校验码为CRC32校验码。优选的,所述用于加密的随机数据为256bit随机数据。优选的,所述功能模块和外设之间采用RS232串行接口连接,波特率为9600。 所述外设为检测显示设备。专利技术优点:本专利技术所述嵌入式微处理器输出程序校验码的方法,具有如下优点:功能模块作为微处理器内核的一部分,是固化在微处理器内核中的,微处理器生产之后,无法修改,且每次输出校验码之前都是重新计算一次程序校验码而非读取预先写入在某一地址的校验码,所有,只要程序代码一旦更改,计算的结果都不一样,可以确保程序校验码的真实性与唯一性。该方法可以起到验证微处理器中程序的唯一合法性。附图说明图1为本专利技术所述方法的流程图;图2为本专利技术的结构示意图。具体实施例方式以下结合附图及一优选实施例对本专利技术的技术方案作进一步的说明。实施例1:如图2所示:在嵌入式微处理器内核中设置一个功能模块A,功能模块A用于计算用户程序校验码(优先采用CRC32校验方式),并输出该校验码(优先使用RS232串行接口,9600波特率)功能模块A包含计算输出用户程序校验码的模块Al和解密模块A2。所述功能模块包括校验码生成和输出电路。如图1和图2所示,的具体步骤如下:(I)嵌入式微处理器上电复位后,将控制权交给所述功能模块,所述功能模块向外设发送输出校验码的请求;(2)外设B接收到输出校验码的请求后,发送输出校验码指令给功能模块A,并发送一串用于加密的随机数据A ;(3)功能模块A接收到外设传送的随机数据和输出校验应答后,功能模块A2解密随机数据,模块Al计算嵌入式微处理器内的用户程序区的校验码,然后将解密结果和计算得到的程序校验码发送给外设B,发送完成后,功能模块A将控制权交给嵌入式微处理器;(4)若功能模块A未接收到外设B传送的输出校验应答信号,则将控制权交给嵌入式微处理器;(5)外设B接收到功能模块发送的解密结果和校验码后,先核实解密结果是否正确,如果解密结果正确,则判定功能模块发送的校验码是合法的;然后将接收到的合法的校验码和预先备份的校验码对比,若对比结果一致,则判定嵌入式微处理器中的用户程序为预先烧录的程序,若对比结果不一致,则判定嵌入式微处理器中的用户程序为改写后的程序。由于功能模块A作为微处理器内核的一部分,是固化在微处理器内核中的,微处理器生产之后,无法修改,且每次输出校验码之前都是重新计算一次程序校验码而非读取预先写入在某一地址的校验码,所有,只要程序代码一旦更改,计算的接口都不一样,可以确保程序校验码的真实性与唯一性。该方法可以起到验证微处理器中程序的唯一合法性需要指出的是,以上所述者仅为用以解释本专利技术之较佳实施例,并非企图据以对本专利技术作任何形式上之限制,是以,凡有在相同之专利技术精神下所作有关本专利技术之任何修饰或变更,皆仍应包括在本专利技术意图保护之范畴。本文档来自技高网...

【技术保护点】
一种嵌入式微处理器输出程序校验码的方法,其特征在于,在嵌入式微处理器内部设置一个功能模块,功能模块用于计算用户程序校验码,并输出该校验码到外设,外设将接收到的校验码和预先备份的校验码对比,如果对比结果一致,则可判定微处理器中的用户程序为预先烧录的程序。

【技术特征摘要】
1.一种嵌入式微处理器输出程序校验码的方法,其特征在于,在嵌入式微处理器内部设置一个功能模块,功能模块用于计算用户程序校验码,并输出该校验码到外设,外设将接收到的校验码和预先备份的校验码对比,如果对比结果一致,则可判定微处理器中的用户程序为预先烧录的程序。2.根据权利要求1所述的嵌入式微处理器输出程序校验码的方法,其特征在于,具体步骤如下: (1)嵌入式微处理器上电复位后,将控制权交给所述功能模块,所述功能模块向外设发送输出校验码的请求; (2)外设接收到输出校验码的请求后,发送输出校验码指令给功能模块,并发送一串用于加密的随机数据; (3)功能模块接收到外设传送的随机数据和输出校验应答后,功能模块解密随机数据,并计算嵌入式微处理器内的用户程序区的校验码,然后将解密结果和计算得到的程序校验码发送给外设,发送完成后,功能模块将控制权交给嵌入式微处理器; (4)若功能模块未接收到外设传送的输出校验应答信号,则将控制权交给嵌入式微处理器; (5)外设接收到功能模块发送的解密结果和校验码后,先核实解密结...

【专利技术属性】
技术研发人员:荣金龙张会
申请(专利权)人:苏州苏灵仪表有限公司
类型:发明
国别省市:

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

1