用于预付费式使用装置中的 交费卡的加密方法 本发明涉及加密方法,特别是一种对预付费式的使用装置中的交费卡的加密方法。
目前,很多装置都采用了预付费使用的方式,如预付费式电能表,预付费式煤气表,这些预付费装置使用时都要求一机对应一卡,即不能互换使用;而且要求用户用于交费的数据存储卡数据要保密性能强,不能被人仿制。现有的加密方法是将数据采用若干种加密算法运算后,写入用户的交费数据存储卡上,然后通过读出程序读出数据。都是通过增加算法的复杂性来加大密钥的破解难度,破解这样的密钥确实是很难做到地,这样的加密方法一但确定了,相应的读出程序也就固定了,通常是被固化在预付费使用装置的单片机或计算机中,读出程序对数据存储卡的数据读出后,清除数据存储卡上的数据。用户只能再次交费,由收费部门对数据存储卡写入新的内容才能重新使用,用户自己是无法写入符合密钥的数据的。但是,这样的方法存在一个严重的缺陷,就是当把整个数据存储卡上的内容复制到另一个数据存储卡上时,则所有的加密方法都将失效。此外,这些方法的密钥总是有人(研制者)知道的,一但泄密造成的后果也是不堪设想的,改变一种密钥,所有安装在用户处的读出程序也必须更换,其工程之大是不难想象的。
本发明的目的在于:提供一种针对一机一卡的预付费式使用装置的交费数据存储卡的加密方法,它在保持现有加密方法的不能自行写入的基础上采用产生随机密钥的方式对交费数据存储卡作二次密钥写入,这样的密钥只能使用一次达到了无法复制,甚至程序研制者自己都无法知道的目的。
本发明是这样实现的:
(1)通过使用装置的单片机中的数据读出程序读出交费卡上的交费数据;
(2)删除交费卡上的交费数据;
(3)由单片机内部程序产生一个随机的数码;
(4)将所述随机的数码写入交费卡中,同时存入单片机的内部数据存储区;
(5)再次读入交费卡数据前,将存入单片机内部数据存储区的随机数码与写入交费卡的随机数码比较,相同则重复步骤(1)至(4);否则,拒绝接收其它数据。
与现有技术比较,本发明的加密方法由于采用了二次加密,而且加密的密钥是随机产生的,每读出一次就更换一次。因此使用者既无法复制使用也无法破解密钥,甚至研制程序者自己也无法做到复制使用和破解密钥。不存在泄密问题,是适于一机对一卡的场合的一种比较完美的加密方法。
实施例:本发明实施步骤如下:
(1)通过使用装置的单片机中的数据读出程序读出交费卡上的交费数据;
(2)删除交费卡上的交费数据;
(3)由单片机内部程序产生一个随机的数码;
(4)将所述随机的数码写入交费卡中,同时存入单片机的内部数据存储区;
(5)再次读入交费卡数据前,将存入单片机内部数据存储区的随机数码与写入交费卡的随机数码比较,相同则重复步骤(1)至(4);否则,拒绝接收其它数据。
使用时,用户首先向收费部门交费,收费部门根据交费情况写入相应带有密钥的数据,用户将交费卡插入使用装置,使用装置的单片机中的读出程序判断数据是否符合密钥条件,符合则读入数据,并删除交费数据。然后单片机中的内部程序产生一个随机数码,将此随机数码作为二次密钥写入交费卡,同时将其存入单片机内部的数据存贮区。下一次插入交费卡时,单片机将其上次写入交费卡密钥与其保存在数据存储区的密钥核对,符合才启动读出程序读入交费卡上数据,否则拒绝接收交费卡上数据。单片机每次读入交费数据后,都要重新产生一个随机密钥写入交费卡,并存入内部数据存贮后以供下次核对用。由于单片机写入的密钥只能使用一次,所以复制多少块这样卡都是没用的。