一种防破解芯片、系统及其使用方法与流程

文档序号:11717781阅读:603来源:国知局
一种防破解芯片、系统及其使用方法与流程

本发明为打印领域,具体涉及一种防破解芯片、系统及其使用方法。



背景技术:

随着办公自动化的普及,打印设备已经是办公活动中不可缺少的设备,在打印过程中,需要打印机主机和如墨盒之类的耗材。目前耗材普遍使用了芯片作为耗材的信息和使用量的介质,芯片上往往存储着芯片运行所需要的软件数据及其配置数据。

在芯片的使用过程中,若有不法厂商尝试对芯片进行破解,例如采用fib的方法对芯片进行线路修改和破解,就能得到芯片上存储的程序数据和配置数据,从而破解软件,仿制芯片,威胁芯片信息安全,同时也给芯片厂商带来了损失。



技术实现要素:

本发明的目的是提供一种防破解芯片、系统及其使用方法,芯片的软件数据和配置数据存储在单独的存储单元一中,在进入bootload程序时会预先清除存储单元一中的数据,避免破解过程中的信息泄露。

本发明的上述技术目的是通过以下技术方案得以实现的:一种防破解芯片,包含mcu内核单元和接口通信单元,

还包含存储单元;

所述存储单元包含非易失性存储单元和易失性存储单元;

所述非易失性存储单元包含存储单元一和存储单元二,所述存储单元一存储有芯片的软件数据和配置数据,所述存储单元二存储有芯片的bootload程序;

当芯片进入所述存储单元二中的bootload程序之后,会自动清除所述存储单元一中的数据。

作为本发明的优选,所述存储单元一使用flash存储器,所述存储单元二使用rom存储器。

作为本发明的优选,所述存储单元一中存储的数据可被加入程序标记和bootload程序运行标记。

作为本发明的优选,当所述存储单元一中的存储数据有bootload程序运行标记时,芯片进入bootload程序。

作为本发明的优选,当所述存储单元一中的存储数据没有程序标记时,芯片进入bootload程序。

作为本发明的优选,当所述存储单元一中的存储数据无bootload程序运行标记且具有程序标记时,程序跳入到所述存储单元一中存储的程序中运行。

一种防破解墨盒,墨盒体上安装有所述的一种防破解芯片。

一种防破解系统,包含写读码设备和所述的一种防破解芯片。

作为本发明的优选,所述写读码设备和所述防破解芯片之间采用i2c协议进行通信连接。

作为本发明的优选,在芯片进入bootload程序后,所述写读码设备会对该种防破解芯片发送清除命令,所述存储单元一中的数据会被清除。

作为本发明的优选,在所述写读码设备对该种防破解芯片发送清除命令后,该种防破解芯片会对清除是否成功进行校验,并将校验结果发送给所述写读码设备。

作为本发明的优选,当所述校验结果为清除成功,所述写读码设备会向所述存储单元一发送烧录命令进行写码;若所述校验结果为清除不成功,所述写读码设备会重发清除命令。

一种防破解系统的使用方法,包含如下步骤:

步骤一、上电步骤;

步骤二、bootload程序调用步骤;

所述mcu内核单元进入所述存储单元二中,读取bootload程序;

步骤三、存储单元一认证步骤;

bootload程序读取所述存储单元一中的数据,检测是否有程序标记,检测是否有bootload程序运行标记;

步骤四、进入bootload程序步骤;

当步骤三中的检测结果是没有检测到程序标记,或,也存在bootload程序运行标记,则进入bootload程序;

步骤五、清除步骤;

所述写读码设备发送清除命令,对所述存储单元一中的数据进行清除;

步骤六、写码步骤;

所述写读码设备对芯片进行写码编程。

作为本发明的优选,在步骤五,清除步骤之后,还存在清除校验步骤,在该步骤中,程序会对所述存储单元一中的数据是否清除成功进行校验。

作为本发明的优选,清除校验步骤中,若清除不成功,则会重启清除步骤,直到清除成功,才会进入步骤六,写码步骤。

作为本发明的优选,在进入步骤五,清除步骤之前,进行系统初始化步骤,在该步骤中,芯片硬件初始化、芯片内部rom和sram进行检测。

综上所述,本发明具有如下有益效果:

1、在芯片中,bootload程序和芯片内部软件数据分别独立存储,独立操作。

2、芯片上电后,调用bootload程序,对存储单元一中的数据进行读取,从而判断是否进入bootload程序。

3、进入bootload程序之后,会对存储单元一中的数据自动在第一时间进行清除,从而保证即使被不法厂商破解,也不会泄露芯片中的重要数据,大大提升芯片安全性。

附图说明

图1是实施例1的硬件连接示意图;

图2是实施例1中bootload程序流程图;

图3是实施例1中写码程序流程图。

具体实施方式

以下结合附图对本发明作进一步详细说明。

本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。

实施例1,如图1所示:一种防破解芯片,包含mcu内核单元和接口通信单元,还包含存储单元;存储单元可包含非易失性存储单元和易失性存储单元;非易失性存储单元包含存储单元一和存储单元二,存储单元一存储有芯片的软件数据和配置数据,存储单元二存储有芯片的bootload程序;当芯片进入存储单元二中的bootload程序之后,会自动清除存储单元一中的数据。

其中,芯片中的接口通信单元与写读码设备发生数据交互。非易失性存储单元被分成了两部分,分别是存储单元一和存储单元二。两者存储的数据不同,其中,存储单元一可以采用flash,flash中存储有芯片的软件数据和配置数据,这些数据是芯片的关键数据,安全性和重要性程度都较高,而存储单元二可以采用rom,其中存储着的是芯片的bootload程序。

易失性存储单元为sram,主要用于存储临时性的数据,如接口通信单元通信的数据或芯片程序运行中产生的数据。

mcu内核单元为通用的mcu内核,如msp430、cortex-m0等,用于芯片内部控制和运算。

芯片在写码前,如图1所示,芯片和写读码设备连接,芯片和写读码设备之间可采用i2c协议通信,芯片一上电,首先执行的就是存储在rom中,即存储单元二中的bootload程序。这里即步骤一的上电步骤和步骤二的bootload程序调用步骤。

随后进入步骤三,存储单元一认证步骤。bootload程序的流程顺序,如图2所示,首先要看写读码设备,是否向芯片发送bootload程序的命令,一般的,这个命令可以设置在芯片上电后的1ms内向芯片发送强制进入bootload程序命令,如果发送,则芯片内部的bootload程序寄存器就会产生bootload程序运行标记。芯片上电的1ms后,bootload程序会检测bootload程序寄存器当中是否有bootload程序运行标记,若有,则进入bootload程序。

若写读码设备没有在指定时间发送强制进入bootload程序的命令,则就不会产生bootload程序运行标记,此时,就需要读取存储单元一中的数据,即读取flash数据,并检测flash数据中是否有芯片软件标记,若有,则跳至flash中执行,若无,则同样进入bootload程序。

综上所述,在步骤三,即存储单元一认证步骤中,会对存储单元一中的数据标记进行校验,会产生三种校验情况。情况一,存储单元一中存在bootload程序运行标记,则进入bootload程序。情况二,存储单元一中没有bootload程序运行标记,有程序标记,则跳至flash中执行。情况三,存储单元一中没有bootload程序运行标记,亦无程序标记,则进入bootload程序。

若是进入bootload程序后,本技术方案为了安全方面的设计,首先是进行系统初始化步骤,即芯片硬件初始化、芯片内部rom和sram进行检测。若芯片硬件初始化成功,芯片内部rom和sram亦无出错信息,则bootload程序等待写读码设备发送指令。等收到flash的清除命令后,bootload程序就会启动芯片内部的flash清除功能。flash清除完成后,bootload程序会读取flash数据并校验flash清除是否成功,若还能读取到数据,即标示没有清除成功,则写读码设备会进行flash清除命令的重发。

以上是步骤五的清除步骤和清除校验步骤,到了本步骤可以看出,在进入bootload程序后,首先进行的步骤就是对flash进行擦除,从而第一时间清空flash中的重要数据,则写读码设备就无法读取flash在擦除前的数据。即使不法厂商通过fib等方式对芯片进行破解,也无法读取关键数据,都第一时间被清除,这极大的提高了芯片的安全性。

随后,清除步骤和清除校验步骤之后,就进入步骤六的写码步骤,如图3所示。芯片收到写读码设备发送的flash烧录命令后,会启动芯片内部flash编程功能对flash进行写码编程。写码编程完成后会读取flash数据并校验flash写码编程是否成功,校验完成后bootload程序会将校验结果发送给写读码设备。如果写码编程成功,写读码设备会提示芯片写码成功;如果写码编程失败,写读码设备会提示写码失败。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1