CN101276309B - 对外部数据存储器加密、解密及重写的方法 - Google Patents
对外部数据存储器加密、解密及重写的方法 Download PDFInfo
- Publication number
- CN101276309B CN101276309B CN200710027429XA CN200710027429A CN101276309B CN 101276309 B CN101276309 B CN 101276309B CN 200710027429X A CN200710027429X A CN 200710027429XA CN 200710027429 A CN200710027429 A CN 200710027429A CN 101276309 B CN101276309 B CN 101276309B
- Authority
- CN
- China
- Prior art keywords
- data
- address
- microcontroller
- coding
- data memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供一种对外部数据存储器加密、解密及重写的方法,该加密方法包括微控制器对需要写入的地址及数据进行编码,并把编码后的数据写入编码后的地址;该解密方法包括微控制器对需要读取的地址进行编码,根据编码后地址读取该地址的数据,并把读取的数据进行解码;该重写方法包括微控制器根据重写协议提取需要重写的地址及数据,并对该地址及数据进行编码,把编码后的数据写入编码后的地址。该加密能有效防止外部数据存储器的数据被不正常的改写,该解密方法能把经过编码后的数据解码,让打印机能够识别这些数据,该重写方法能有效重写该外部数据存储器,让设置有该外部数据存储器的芯片可以循环使用,有利于环境保护。
Description
技术领域
本发明涉及一种对存储器加密、解密及重写的方法,尤其是一种对耗材容器芯片上的外部数据存储器进行加密、解密及有效重写数据的方法。
背景技术
打印机是一种常见的办公设备,为现代化办公带来极大的方便。现有的打印机一般安装有耗材容器,工作时把耗材容器内的耗材送到打印介质上。现有的耗材容器大多都安装有芯片,芯片上的微控制器储存有耗材容器的相关信息。但由于微控制器的数据存储器的储存容量较小,一般只有几十字节到几百字节,且其存取数据的速度较慢,往往需要在芯片上添加外部数据存储器,如EEPROM、铁电存储器等,这些外部数据存储器一般能储存几百字节到几兆字节的数据。如图1所示,图1是现有打印机与耗材容器芯片连接示意图。从图中可以看到,打印机1是通过通信媒质2与芯片3连接的。常见的打印机1与芯片3之间的通信方式有接触式和非接触式,在接触式的通信中,通信媒质2是电触点,即打印机1与芯片3上均设有若干对应的电触点,当耗材容器安装在打印机1上后,打印机1与芯片3可以通过电连接进行通信。在非接触式的通信方式中,打印机1与芯片3上均设置有天线,打印机1与芯片3是通过电磁波进行通信的,则此时通信媒质2为电磁场。打印机1发送的信息由芯片3中的微控制器4接收,微控制器4根据打印机1发出的信息进行工作,其中包括对外部存储器5进行数据的写入或读取。而现有的外部数据存储器5一般没有采取保密措施,储存在其中的数据很容易就被不通过微控制器4直接读出或写入。如果储存在外部数据存储器5中关于耗材容器的数据,如耗材容器适用的打印机型号、耗材容器中耗材余量等被不正常改写,即用户不通过微控制器4而直接改写外部数据存储器5中的数据,而改写后的数据与耗材容器实际情况不一致,会对打印机1及耗材容器造成严重的影响。例如,耗材容器C1中耗材已经用尽,用户却取出芯片3的外部数据存储器5,把另一没被使用的耗材容器的芯片3的外部数据存储器5的数据直接拷贝到耗材容器C1的外部数据存储器5中,即用户不正常的改写耗材容器C1外部数据存储器5中的数据,让打印机1认为耗材容器C1中充满耗材,并进行打印工作,这样不但造成纸张的浪费,还会造成打印头的损坏。又例如耗材容器C2与打印机P2配合使用,并能被型号与打印机P2不同的打印机P3识别,若用户把已经用尽耗材的耗材容器C2重新灌入耗材并将其外部数据存储器5数据改写,错误地放入打印机P3中使用,这时打印机P3虽然能工作,但会对打印机P3造成严重的影响,甚至会导致耗材容器C2及打印机P3永久性的损坏。
发明内容
本发明的主要目的是提供一种防止储存在外部数据存储器的数据被不正常改写的方法;
本发明的另一目的是提供一种有效读取储存在外部数据存储器中被加密的数据的方法;
本发明的再一目的是提供一种对回收利用的耗材容器芯片中外部数据存储器进行有效重写的方法。
为实现上述的主要目的,本发明提供一种对外部数据存储器加密的方法,该外部数据存储器设置在芯片上,设置在所述芯片上的微控制器可以对该外部数据存储器中的数据进行读写操作,该加密方法包括以下步骤:所述微控制器对需要写入的地址进行编码:对需要编码的地址A按照地址编码函数F(A)=(A,x)进行编码,获得编码后的地址F(A),其中x为随机参数,所述微控制器对需要写入的数据进行编码,所述微控制器把编码后的数据写入该外部数据存储器中该编码后的地址上。
本发明提供的加密方法能够防止用户在直接读取外部数据存储器的数据后就知道储存在各地址上的数据的意义,并且防止用户把一片芯片的外部数据存储器的数据直接拷贝到另一片芯片的外部数据存储器中并被打印机识别,从而防止该打印机工作而导致该打印机与耗材容器的损坏。
本发明提供的对外部数据存储器加密的方法还可以是:该外部数据存储器设置在芯片上,设置在芯片上的微控制器可以对该外部数据存储器中的数据进行读写操作,该加密方法包括:微控制器对需要写入的地址进行编码:根据需要编码的地址在地址编码表格中查找对应的数据,并将查找后获得的数据作为编码后的地址,其中地址编码表格中数据是随机产生,且具有唯一性;微控制器对需要写入的数据进行编码;微控制器把编码后的数据写入该外部数据存储器中该编码后的地址上。
由此可见,通过对需要写入的地址进行编码,能将存储所存储的数据打乱,防止用户把一片芯片的外部数据存储器的数据直接拷贝到另一片芯片的外部数据存储器中并被打印机识别。
本发明提供的对外部数据存储器加密的方法还可以是:该外部数据存储器设置在芯片上,设置在芯片上的微控制器可以对该外部数据存储器中的数据进行读写操作,该加密方法包括:微控制器对需要写入的地址进行编码;微控制器对需要写入的数据进行编码:对需要编码的数据D按照数据编码函数G(D)=(D,y)进行编码,获得编码后的数据G(D),其中y为随机参数;微控制器把编码后的数据写入该外部数据存储器中该编码后的地址上。
可见,通过对写入的数据进行随机编码,避免用户将存储的数据读出并被打印机所识别,从而避免数据被不正常改写。
本发明提供的对外部数据存储器加密的方法还可以是:该外部数据存储器设置在芯片上,设置在芯片上的微控制器可以对该外部数据存储器中的数据进行读写操作,该加密方法包括:微控制器对需要写入的地址进行编码;微控制器对需要写入的数据进行编码:根据需要编码的数据在数据编码表格中查找对应的数据,并将查找后获得的数据作为编码后的数据,其中数据编码表格中数据是随机产生,且具有唯一性;微控制器把编码后的数据写入该外部数据存储器中该编码后的地址上。
这样,通过对需要写入的数据进行编码,能防止用户将存储器所存储的数据读出并识别,减少数据被不正常改写的风险。
本发明还提供一种对外部数据存储器解密的方法,该外部数据存储器设置在芯片上,设置在所述芯片上的微控制器可以对该外部数据存储器中的数据进行读写操作,该解密方法包括以下步骤:所述微控制器对需要读取的地址A进行编码:对需要编码的地址按照地址编码函数F(A)=(A,x)进行编码,获得编码后的地址F(A),其中x为随机参数,所述微控制器根据编码后地址读取储存在该外部数据存储器中该地址上的数据,所述微控制器把读取的数据进行解码,所述微控制把解码后的数据传送给打印机。
本发明提供的解密方法能把已经编码的数据进行解码,把打印机不能识别的数据转变成打印机能识别的数据,从而实现了对已经进行加密的数据进行解密。
本发明的对外部数据存储器的解密方法还可以是:该外部数据存储器设置在芯片上,设置在芯片上的微控制器可以对该外部数据存储器中的数据进行读写操作,该解密方法包括以下步骤:微控制器对需要读取的地址进行编码;微控制器根据编码后地址读取该外部数据存储器中该地址上的数据;微控制器把读取的数据进行解码:对需要解码的数据D按照数据解码函数H(D)=(D,z)进行解码,获得解码后的数据H(D),其中z为随机参数。
可见,通过对已经编码的数据进行解密,能让打印机识别解密后的数据,从而实现对已经进行加密的数据进行解密。
本发明还提供一种对外部数据存储器重写的方法,该外部数据存储器设置在芯片上,设置在所述芯片上的微控制器可以对该外部数据存储器中的数据进行读写操作,该重写方法包括以下步骤:所述微控制器根据重写协议提取出需要重写的地址及数据,所述微控制器对需要重写的地址进行编码:对需要编码的地址A按照地址编码函数F(A)=(A,x)进行编码,获得编码后的地址F(A),其中x为随机参数,所述微控制器对需要重写的数据进行编码:对需要编码的数据D按照数据编码函数G(D)=(D,y)进行编码,获得编码后的数据G(D),其中y为随机参数,所述微控制器把编码后的数据写入该外部数据存储器中该编码后的地址上。
本发明提供的重写方法能有效的重写外部数据存储器的数据,让设置有该外部数据存储器的芯片安装到新的耗材容器上并可以重新使用,避免浪费芯片并有利于环境保护。
附图说明
图1是现有打印机与耗材容器芯片连接示意图;
图2是本发明加密方法、解密方法的第一实施例中微控制器的工作流程图;
图3是本发明加密方法、解密方法的第二实施例以及重写方法实施例中微控制器的工作流程图;
图4是本发明重写方法实施例中重写设备的工作流程图。
以下结合附图及实施例对本发明作进一步说明。
具体实施方式
参见图1,图1揭示了现有打印机与耗材容器芯片连接示意图。本发明的加密、解密方法也是根据该图中打印机与耗材容器芯片的连接关系实现的。在耗材容器安装到打印机1上后,打印机1会与耗材容器的芯片3进行通信。打印机1首先会向微控制器4发送信息,微控制器4对该信息进行判断,若需要对外部数据存储器5进行写入或读取数据,则微控制器4对写入外部数据存储器5的数据进行加密的操作,对读取的数据进行解密的操作。
参见图2,图2揭示了本发明加密方法、解密方法的第一实施例中微控制器的工作流程图。在微控制器4判断需要对外部数据存储器5进行写入或读取数据时,首先判断是否需要对外部数据存储器5写入数据(步骤S1),若需要写入,则对需要写入的数据及其储存的地址进行编码,若不需要写入,则判断是否需要读取外部数据存储器5中的数据。例如,微控制器4判断需要向地址为A11的存储单元写入数据D11,微控制器4会对需要写入的地址A11进行编码(步骤S2)。微控制器4按照地址编码函数F(A)=(A,x)对地址A11进行编码,获得编码后的地址A21。地址编码函数F(A)=(A,x)中,A为编码前的地址,相当于本实施例中的A11,x为随机参数,可以是一个参数,也可以是若干个参数组成的参数组,F(A)为运算结果,也就是编码后的地址,即本实施例中的A21。地址编码函数F(A)=(A,x)是一个算术运算式或逻辑运算式,也可以是逻辑算术运算式,并且运算结果与运算值在运算前后一一对应。即地址A11经过地址编码函数F(A)=(A,x)运算后得到唯一确定的编码后地址A21,不会出现同一地址经过运算后得到两个以上编码后地址的情况。地址编码函数F(A)=(A,x)通过编程器或专用软件随机产生,并设置在微控制器4的程序的固定位置中,这样,在微控制器4的程序里面,地址编码函数F(A)=(A,x)是确定的,也就是说在一片芯片3上,用于对地址进行编码的地址编码函数F(A)=(A,x)是唯一的。同时随机参数x也是在芯片3的生产过程中通过编程器应用软件或专用软件随机产生,并设置在程序的固定位置中。在一片芯片3中,随机参数x也是唯一的,通过编程器或下载线等固化到微控制器4中。这样,在一片芯片3的程序中,地址编码函数F(A)=(A,x)及随机参数x均唯一确定,这样可以确保程序的稳定性,同时又保证生产出来的芯片3中地址编码函数F(A)=(A,x)及随机参数x的随机性,即对于两片不同芯片3的程序中,地址编码函数F(A)=(A,x)及随机参数x至少一个不相同,也就是两者中至少一个是随机的,故对于两片不同的芯片3,相同的编码前地址经过编码后,在外部数据存储器5中储存单元的地址是不同的,即使用户把外部数据存储器5中所有地址的数据读出,也无法知道某一存储单元储存的是什么信息。同时,若用户把一个耗材容器C4的芯片3的外部数据存储器5的数据直接拷贝到另一耗材容器C5的外部数据存储器5上,耗材容器C5中的芯片3无法被打印机1识别,从而避免耗材容器C5安装到打印机1后对打印机1与耗材容器C5造成损坏。
微控制器4对需要写入的地址A11进行编码后,还会对需要写入此地址的数据D11进行编码(步骤S3)。与对地址A11编码的过程相似,微控制器4是按照可逆的数据编码函数G(D)=(D,y)对数据D11进行编码,得到编码后的数据D21。其中,G(D)是编码后的数据,相当于本实施例中的D21,D是编码前的数据,相当于本实施例的D11,y为随机参数。数据编码函数G(D)=(D,y)与随机参数y均在芯片3生产的过程中由相关软件随机产生并被唯一确定的设定在程序中,故在一片芯片3中,编码前的数据D11与编码后的数据D21是一一对应的。并且,两片不同的芯片3中,数据编码函数G(D)=(D,y)与随机参数y至少一个不同,也就是两者中至少一个是随机的。这样,同一数据D11在两片不同的芯片3中,经过编码后获得的数据D21是不同的,故即使用户知道某一存储单元储存的是某种特定信息,也无法知道该存储单元的信息代表的意义是什么。同时也能防止用户把一片芯片3的外部数据存储器5中的数据直接拷贝到另一芯片3中并被打印机1有效的识别。
在微控制器4对数据D11及其地址A11进行编码后,获得编码后的数据D21及编码后的地址A21,微控制器4便把编码后的数据D21写入外部数据存储器5中编码后地址A21对应的存储单元中(步骤S4)。此时,微控制器4把应储存在外部数据存储器5的存储单元A11中的数据D11转变为储存在存储单元A21中,并把数据转变为D21。这样,用户把外部数据存储器5的数据读出后,也无法知道各存储单元存放的是什么信息,更无法知道这些信息代表的意义是什么,从而实现了对储存在外部数据存储器5中的数据进行加密的目的。同时也防止用户把一片芯片3的外部数据存储器5的数据直接拷贝到另一片芯片3的外部数据存储器5中并被打印机1识别而导致打印机1的损坏。
微控制器4把编码后的数据D21写入外部数据存储器5后,便返回最开始的判断步骤S1,继续判断打印机1是否需要写入数据。若不需要写入数据,则判断打印机1是否需要读取数据(步骤S5)。当微控制器4判断需要读取数据,则执行对需要读取的地址进行编码等程序,若不需要读取数据,则返回判断步骤S1。
微控制器4读取外部数据存储器5的数据前,首先对储存需要读取的地址进行编码(步骤S6)。例如,微控制器4需要读取存储单元A12中的数据,先对地址A12进行编码并获得编码后的地址A22。其编码方法及过程与前述微控制器4写入数据时对地址A11进行编码的方法及过程相同,也是按照地址编码函数F(A)=(A,x)对地址A12进行编码的,在此不再赘述。在对外部数据存储器5中的数据进行解密时,采用的地址编码函数F(A)=(A,x)与加密时采用的地址编码函数F(A)=(A,x)是相同的,且其参数x也是相同的。这样不但能使加密与解密时对同一编码前地址进行编码后获得的编码后地址是相同的地址,还可以避免解密时对地址进行解码的麻烦。
微控制器4对地址A12编码并获得编码后的地址A22后,读取储存在外部数据存储器5中地址为A22的存储单元的数据(步骤S7)D22。解码前的数据D22是一个经过编码后的数据,若微控制器4把解码前数据D22直接传送到打印机1去,打印机1是无法识别数据D22的,故微控制器4必须对解码前数据D22进行解码,获得解码后的数据D12(步骤S8)。微控制器4对数据解码的过程是对数据编码过程之逆过程。编码时,微控制器4按照数据编码函数G(D)=(D,y)对需要编码的数据进行编码,解码时,微控制器4是按照数据解码函数H(D)=(D,z)对解码前数据D22进行解码。数据解码函数H(D)=(D,z)是数据编码函数G(D)=(D,y)的逆函数,是在芯片3生产过程中与数据编码函数G(D)=(D,y)一起随机产生,有着与数据编码函数G(D)=(D,y)相同的随机性。在数据解码函数H(D)=(D,z)中,H(D)为解码后的数据,也就是本实施例中的D12,D是解码前的数据,即本实施例中的D22,参数z是在生产过程中与y一起随机产生,有着相同的随机性。最后,微控制器4把解码后的数据D12传送给打印机1(步骤S9),打印机1便可以识别数据D12,并进行相关操作。这样,微控制器4就对需要从外部数据存储器5中读出的数据实现了解密,把打印机1不能识别的数据转变为打印机1能够识别的数据。
在微控制器4对数据D22解码后,便返回判断步骤S1,重新开始新一个周期的运行。
在上述的编码、解码过程中,微控制器4是按照地址编码函数对需要被访问的地址进行编码,按照数据编码函数对需要写入的数据进行编码,按照数据解码函数对读取的数据进行解码。但在本发明实际应用中,还可以通过查表的方式实现对地址的编码、对数据的编码及解码。
在上述微控制器4对需要被访问的地址进行编码的过程(步骤S2和S6)中,微控制器4是通过地址编码函数F(A)=(A,x)对需要写入的地址A11、A12进行编码的。若使用查表方式,则可在微控制器4的存储区域中,设定某一特定区域存放一个固定的地址编码表格T1的数据。当微控制器4需要对地址A11进行编码时,通过在地址编码表格T1中,把A11作为偏移量,查找并获得对应的数据作为编码后地址A21。地址编码表格T1是在芯片3生产的过程中通过相关软件随机产生编码后地址的数据,并存放在微控制器4的特定存储区域中。同时,由于地址编码表格T1已经被固化在微控制器4中,在一片芯片3中,地址A11通过查地址编码表格T1获得的地址A21是唯一确定的。因此,地址编码表格T1的数据具有随机性,并且也具有唯一性,即在地址编码表格T1中,不会出现两个相同数据的情况。但对应两片不同的芯片3,其微控制器4中地址编码表格T1的数据是不相同的,这样,相同的编码前地址A11,通过查表后获得的编码后地址A21就不相同了。同样,对地址A12也可以采用相同的方法进行编码并获得编码后的地址A22。
同样,在上述微控制器4对需要写入的数据进行编码过程(步骤S3)中,微控制器4对数据D11的编码也可以通过查表实现。与对地址编码的过程相似,对数据进行编码时,微控制器4中也设定某一存储区域存放数据编码表格T2,可以通过数据编码表格T2查找到数据D11对应的编码后数据D21。并且在一片芯片3中,编码前数据D11应与编码后数据D21一一对应,但对于两片不同的芯片3,其数据编码表格T2的数据是不相同的,即数据编码表格T2的数据也具有随机性和唯一性,故相同的数据D11在不同的芯片3中编码后获得的数据D21不相同。
另外,在上述微控制器4对读取的数据进行解码的过程(步骤S8)中,微控制器4也通过查表的方式实现对解码前数据D22进行解码。与编码的过程相同,微控制器4把解码前数据D22作为偏移量,在数据解码表格T3中查找对应的解码后数据D12。数据解码表格T3的数据与数据编码表格T2的数据是一一对应的,例如,数据E53C在数据编码表格T2中对应的编码后数据为B70D,则在数据解码表格T3中,解码前为B70D的数据对应的解码后数据就应为E53C,这样可以确保通过查找数据解码表格T3获得的解码后数据D12与原数据保持一致。当然,微控制器4也可以使用数据编码表格T2对解码前数据D22进行解码。这种方法的前提条件是微控制器4对编码前数据D11进行编码时,是把数据D11作为偏移量,在数据编码表格T2中查找偏移量为D11的数据D21作为编码后的数据。解码时,微控制器4将解码前数据D22与数据编码表格T2中的数据逐一进行比较,找出数据D22所储存地址的偏移量,并把该偏移量作为解码后的数据D12,这样便可确保解码后的数据D12与原数据一致。
当然,上述加密方法中,判断是否需要写入数据(步骤S1)和判断是否需要读取数据(步骤S5)的判断顺序是可以互换的,即可以先判断是否需要读取数据,再判断是否写入数据。
在本发明的实际使用中,对地址的编码、对数据的编码及解码可以灵活应用上述两种方法。如在对地址进行编码时,可以通过地址编码函数实现,而对数据进行编码、解码时,通过查表来实现等,这样也会取得很好的效果。
在上述介绍的加密方法、解密方法的第一实施例中,微控制器4在接收来自打印机的数据后,便可以直接对需要写入的地址以及需要写入的数据进行编码,这是因为部分打印机1向微控制器4直接发送地址及数据的信息,微控制器4直接可以分辨地址及数据。但有部分打印机1向微控制器4发送的信息中,除了地址及数据外,还会包括其他的一部分信息,微控制器4在接收这些信息后,还需要从中提取出有用的信息。这需要微控制器4在接收到来自打印机1的信息后,先根据打印机1与微控制器4之间的通信协议A来提取地址及数据等信息,再进行编码的程序。并且,有部分打印机1在发送出需要写入的数据后,需要微控制器4返回一个信息,表示需要写入的数据已经被正确写入,打印机1才会执行下一步的操作。因此,在加密方法、解密方法的第二实施例中,会针对这些情况增加相应的步骤。
另外,一般而言,芯片3使用一次后,还可以继续使用,若此时把芯片3扔弃,会造成很大的浪费,并且若扔弃的芯片3没有得到恰当的处理还会对环境造成影响。因此,可以对使用过的芯片3进行回收,并重新写入数据,安装在新的耗材容器上重新使用。在芯片3循环利用的过程中,需要通过重写器等重写设备对芯片3进行重写,故在微控制器4中,还应设置一专门用于对外部数据存储器5进行重写的程序。
下面将详细介绍微控制器4针对上述情况时加密、解密的工作流程以及重写外部数据存储器5中数据的工作流程。
参见图3,图3揭示了本发明加密方法、解密方法的第二实施例以及重写方法实施例中微控制器的工作流程图。当微控制器4接收到一信息后,会判断该信息是否由打印机1发出的通信命令(步骤S11),若为通信命令,则判断是否需要写入数据(步骤S12);若不是通信命令,则判断是否由重写设备等设备发出的重写命令(步骤S24)。当微控制器4判断该信息是打印机1发出的通信命令并需要写入数据,则按照通信协议A提取需要写入的数据D13及其储存的地址A13(步骤S13);若需要读取数据,则按照通信协议A提取需要读取的地址A14(步骤S19)。这里所说的协议A是指打印机1与微控制器4之间的通信协议,即打印机1与微控制器4均规定了两者之间的通信数据中,数据的格式以及各部分数据的意义。微控制器4接收到打印机1的信息后,如果需要写入数据,则从中提取出需要写入的数据D13及其储存的地址A13。然后,便对地址A13及数据D13进行编码(步骤S14及S15),获得编码后的地址A23及编码后的数据D23,并把编码后的数据D23写入外部数据存储器5中地址为A23的存储单元中(步骤S16)。步骤S14、S15及S16与前述的第一实施例的步骤S2、S3及S4是相同的,在此不再赘述。微控制器4把编码后的数据D23写入外部数据存储器5后,向打印机1返回相关的信息(步骤S17),告诉打印机1该操作已经完成,可以进行下一步操作。同时,微控制器4也会返回判断是否接收到通信命令(步骤S11)的操作。
当微控制器4接收到打印机1发出的需要读取的数据信息并按照通信协议A提取出需要读取的地址A14后,对地址A14进行编码(步骤S20),获得编码后的地址A24,再读取储存在外部数据存储器5中地址为A24的存储单元中的数据D24(步骤S21),然后对数据D24进行解码(步骤S22),获得解码后的数据D14,并把解码后的数据D14传送到打印机1去(步骤S23)。上述步骤与第一实施例中的步骤S6、S7、S8及S9相同,在此不再赘述。微控制器4向打印机1发送解码后数据D14后,返回判断是否接收到通信命令的操作。
当微控制器4接收到信息并判断为重写器等重写设备发出的重写命令后,判断是否需要重写外部数据存储器5中的数据(步骤S25),若需要重写数据,则按照重写协议B提取出需要重写的地址A15及数据D15(步骤S26);若不需要重写数据,则返回判断是否接收到通信命令的操作。重写协议B是重写设备与微控制器4之间的协议,跟打印机1与微控制器4之间的通信协议A不同。由于在重写后的地址与数据均需要让打印机1能够识别,故微控制器4需要对地址A15进行编码(步骤S27),并获得编码后的地址A25。该编码方法与前述微控制器4与打印机1通信时,对写外部数据存储器5数据的地址A13的编码方法是相同的,都是按照地址编码函数或通过查表实现对地址A15的编码,在此不再赘述。若微控制器4重写外部数据存储器5的数据时,其对地址及数据的编码与前述的微控制器4与打印机1通信时的微控制器4向外部数据存储器5写入数据时对地址及数据的编码不一致,芯片3安装在耗材容器上后,打印机1就不能正确读取其中的数据,这会导致打印机1不能正常工作。微控制器4对地址A15编码后获得地址A25后,还会对需要重写的数据D15进行编码(步骤S28)并获得编码后的数据D25。当然,对数据D15进行编码的方法也是与前述的与打印机通信时,微控制器4对需要写入的数据D13进行编码的方法时相同的,在此不再赘述。然后,微控制器4把编码后的数据D25写入外部数据存储器5中地址为A25的存储单元中(步骤S29),并向重写器等重写设备返回信息(步骤S30),告知重写设备微控制器4已经完成重写。同时,微控制器4返回判断是否接收到通信命令的操作。
当然,上述方法中判断是否通信命令(步骤S11)与判断是否重写命令(步骤S24)可以互换,而判断是否写入数据(步骤S12)与是否读取数据(步骤S18)也是可以互换的。
上述的重写方法是重写设备通过微控制器4对外部数据存储器5进行重写时的流程,该方法能有效的对外部数据存储器5进行重写,并能让打印机1有效识别重写后的数据。
当然,上述重写方法不限于对外部数据存储器5的重写操作,也可以是对外部数据存储器5的初始化操作。在芯片3生产后,外部数据存储器5是没有储存任何数据的,此时必须通过如同上述重写方法,使用相应的重写设备把相应的数据写入到外部数据存储器5中。故上述重写方法也是对外部数据存储器5初始化的方法。
对外部数据存储器5重写数据时,必须保证安装有该重写后的芯片3的耗材容器能与相应的打印机1配合使用,这需要在重写器等设备中设置一程序,避免重写时出错,防止把芯片3适用的打印机1的型号与其芯片3适用的耗材容器型号写错。
参见图4,图4是本发明重写方法实施例中重写设备的工作流程图。在重写设备中,存储有需要重写的芯片3适用的打印机1及耗材容器的型号。重写时,重写设备先判断用户是否按下设置在重写设备上相关的按钮,开始重写数据的操作(步骤S31)。若开始重写数据,就从芯片3中读出相应的信息,若未开始重写,则继续等待。开始重写操作后,重写设备从芯片3中读出适用的打印机1的型号(步骤S32)的数据,并判断芯片3是否与打印机1匹配(步骤S33),即把读出的数据与储存在重写设备中的芯片3适用的打印机1的型号数据进行比较,若判断需要重写的芯片3与打印机1匹配,则继续读出芯片3中的信息,若不匹配,则向用户发出警告信号(步骤S34),表示重写设备需要重写的芯片3与其需要安装的打印机1不匹配,并返回判断判断是否开始重写数据(步骤S31)。在判断芯片3与打印机1匹配后,重写设备从芯片3读出适用耗材容器型号的信息(步骤S35),并判断芯片3是否与耗材容器匹配(步骤S36),若匹配,则对外部数据存储器5进行重写(步骤S38);若不匹配,则发出警告信息(步骤S37),并返回判断是否开始重写数据(步骤S31)。重写设备把设定好的数据逐一写入到外部数据存储器5中,每写入一个数据后,重写设备会自己判断是否已经完成重写操作(步骤S39),若没有完成,则继续写入数据(步骤S38);若已经完成,则返回判断是否开始重写数据(步骤S31)。
经过上述操作后,储存在芯片3中外部数据存储器5中的数据可以得到更新,并可重新应用在新的耗材容器上。
需要强调的是,本发明可以应用在诸如墨水盒、碳粉盒、显影剂盒、调色剂盒等耗材容器的芯片中,并且,本发明也不限于上述的实施方式,诸如编码、解码方法的改变或编码、解码步骤的调整等变化也应该包括在本发明权利要求的保护范围内。
Claims (7)
1.对外部数据存储器加密的方法,该外部数据存储器设置在芯片上,设置在所述芯片上的微控制器可以对该外部数据存储器中的数据进行读写操作,该加密方法包括以下步骤:
所述微控制器对需要写入的地址进行编码:对需要编码的地址A按照地址编码函数F(A)=(A,x)进行编码,获得编码后的地址F(A),其中x为随机参数;
所述微控制器对需要写入的数据进行编码;
所述微控制器把编码后的数据写入该外部数据存储器中该编码后的地址上。
2.对外部数据存储器加密的方法,该外部数据存储器设置在芯片上,设置在所述芯片上的微控制器可以对该外部数据存储器中的数据进行读写操作,该加密方法包括以下步骤:
所述微控制器对需要写入的地址进行编码:根据需要编码的地址在地址编码表格中查找对应的数据,并将查找后获得的数据作为编码后的地址,其中所述地址编码表格中数据是随机产生,且具有唯一性;
所述微控制器对需要写入的数据进行编码;
所述微控制器把编码后的数据写入该外部数据存储器中该编码后的地址上。
3.对外部数据存储器加密的方法,该外部数据存储器设置在芯片上,设置在所述芯片上的微控制器可以对该外部数据存储器中的数据进行读写操作,该加密方法包括以下步骤:
所述微控制器对需要写入的地址进行编码;
所述微控制器对需要写入的数据进行编码:对需要编码的数据D按照数据编码函数G(D)=(D,y)进行编码,获得编码后的数据G(D),其中y为随机参数;
所述微控制器把编码后的数据写入该外部数据存储器中该编码后的地址上。
4.对外部数据存储器加密的方法,该外部数据存储器设置在芯片上,设置在所述芯片上的微控制器可以对该外部数据存储器中的数据进行读写操作,该加密方法包括以下步骤:
所述微控制器对需要写入的地址进行编码;
所述微控制器对需要写入的数据进行编码:根据需要编码的数据在数据编码表格中查找对应的数据,并将查找后获得的数据作为编码后的数据,其中所述数据编码表格中数据是随机产生,且具有唯一性;
所述微控制器把编码后的数据写入该外部数据存储器中该编码后的地址上。
5.对外部数据存储器解密的方法,该外部数据存储器设置在芯片上,设置在所述芯片上的微控制器可以对该外部数据存储器中的数据进行读写操作,该解密方法包括以下步骤:
所述微控制器对需要读取的地址进行编码:对需要编码的地址A按照地址编码函数F(A)=(A,x)进行编码,获得编码后的地址F(A),其中x为随机参数;
所述微控制器根据编码后地址读取该外部数据存储器中该地址上的数据;
所述微控制器把读取的数据进行解码。
6.对外部数据存储器解密的方法,该外部数据存储器设置在芯片上,设置在所述芯片上的微控制器可以对该外部数据存储器中的数据进行读写操作,该解密方法包括以下步骤:
所述微控制器对需要读取的地址进行编码;
所述微控制器根据编码后地址读取该外部数据存储器中该地址上的数据;
所述微控制器把读取的数据进行解码:对需要解码的数据D按照数据解码函数H(D)=(D,z)进行解码,获得解码后的数据H(D),其中z为随机参数。
7.对外部数据存储器重写的方法,该外部数据存储器设置在芯片上,设置在所述芯片上的微控制器可以对该外部数据存储器中的数据进行读写操作,该重写方法包括以下步骤:
所述微控制器接收来自重写设备的信息,根据重写协议从接收的信息中提取出需要重写的地址及数据;
所述微控制器对需要重写的地址进行编码:对需要编码的地址A按照地址编码函数F(A)=(A,x)进行编码,获得编码后的地址F(A),其中x为随机参数;
所述微控制器对需要重写的数据进行编码:对需要编码的数据D按照数据编码函数G(D)=(D,y)进行编码,获得编码后的数据G(D),其中y为随机参数;
所述微控制器把编码后的数据写入该外部数据存储器中该编码后的地址上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710027429XA CN101276309B (zh) | 2007-03-31 | 2007-03-31 | 对外部数据存储器加密、解密及重写的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710027429XA CN101276309B (zh) | 2007-03-31 | 2007-03-31 | 对外部数据存储器加密、解密及重写的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101276309A CN101276309A (zh) | 2008-10-01 |
CN101276309B true CN101276309B (zh) | 2011-12-21 |
Family
ID=39995769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710027429XA Expired - Fee Related CN101276309B (zh) | 2007-03-31 | 2007-03-31 | 对外部数据存储器加密、解密及重写的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101276309B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2483081A (en) * | 2010-08-25 | 2012-02-29 | Sony Corp America | Tamper resistance in media processing using an obfuscated buffer handle |
CN102541762A (zh) * | 2010-12-27 | 2012-07-04 | 北京国睿中数科技股份有限公司 | 用于外部存储器的数据保护器和数据保护方法 |
US9294447B2 (en) * | 2011-04-18 | 2016-03-22 | Hewlett-Packard Development Company, L.P. | Access control |
CN102582268A (zh) * | 2012-01-10 | 2012-07-18 | 珠海天威技术开发有限公司 | 微控制器及其算法保护方法、存储芯片、耗材容器、成像设备 |
CN105398225B (zh) * | 2015-12-10 | 2017-07-07 | 杭州旗捷科技有限公司 | 墨盒芯片、墨盒、墨盒识别系统和墨盒识别方法 |
CN107153852A (zh) * | 2016-03-04 | 2017-09-12 | 珠海天威技术开发有限公司 | 基于耗材芯片改写器的芯片数据改写方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1545023A (zh) * | 2003-11-21 | 2004-11-10 | 苏州国芯科技有限公司 | 一种用于信息安全的嵌入式cpu |
CN1716841A (zh) * | 2004-06-14 | 2006-01-04 | 上海安创信息科技有限公司 | 高性能密码算法SoC芯片 |
-
2007
- 2007-03-31 CN CN200710027429XA patent/CN101276309B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1545023A (zh) * | 2003-11-21 | 2004-11-10 | 苏州国芯科技有限公司 | 一种用于信息安全的嵌入式cpu |
CN1716841A (zh) * | 2004-06-14 | 2006-01-04 | 上海安创信息科技有限公司 | 高性能密码算法SoC芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN101276309A (zh) | 2008-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101276309B (zh) | 对外部数据存储器加密、解密及重写的方法 | |
US7212637B2 (en) | Cartridge validation with radio frequency identification | |
CN103072380B (zh) | 墨盒再生控制芯片的使用方法 | |
CN101894285A (zh) | 射频芯片、耗材容器、数据写入方法及验证方法 | |
CN102998958B (zh) | 用于通信的用户可更换部件监视芯片和成像设备及其方法 | |
CN113064754B (zh) | 用于耗材盒的耗材芯片及其数据处理方法 | |
US20120331218A1 (en) | Flash memory storage system, and controller and anti-falsifying method thereof | |
KR101751235B1 (ko) | 화상형성장치 | |
US20070160204A1 (en) | Microcontroller and authentication method between the controllers | |
CN109624529B (zh) | 一种耗材芯片、耗材芯片通信方法 | |
CN100397284C (zh) | 具有非易失存储器模块的电路装置以及对非易失存储器模块中的数据进行加密/解密的方法 | |
CN101316168B (zh) | 认证装置以及认证方法 | |
EP2286328B3 (en) | Replaceable printer component including a memory storing a tag encryption mask | |
CN102173233A (zh) | 耗材验证系统及其验证方法 | |
CN102658724A (zh) | 匹配成像盒芯片的方法及成像盒芯片 | |
US20090230180A1 (en) | Terminal, method of checking conformity of at least one removable battery of an electronic payment terminal, and the corresponding removable battery and computer program product | |
CN1987914A (zh) | 一种用于硬件设备管理的方法 | |
US8328104B2 (en) | Storage device management systems and methods | |
CN106610859A (zh) | 一种程序更新方法、装置、系统和成像盒 | |
CN113342425A (zh) | 一种Linux嵌入式系统的启动方法、装置和存储介质 | |
CN103722893A (zh) | 耗材芯片及其工作方法、耗材容器 | |
CN112905202B (zh) | 一种芯片升级方法、烧录设备和芯片升级系统 | |
KR100498053B1 (ko) | 토너카트리지 인증방법 | |
US7401222B2 (en) | Method of authentication of memory device and device therefor | |
CN103465631A (zh) | 一种打印机用耗材计数芯片 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111221 Termination date: 20190331 |