发明内容
本发明的目的之一在于针对上述不足,提供一种IC卡智能燃气表ESAM嵌入式安全管理模块,以期望解决现有技术中对于智能燃气表的IC卡密钥、加密密码由燃气表厂商掌握,存在使智能燃气表脱离燃气公司管理的风险,且不同类型的IC卡的安全性及接口均不相同,使得燃气公司对IC卡的集成难度较大等技术问题。
为解决上述的技术问题,本发明采用以下技术方案:
本发明所提供的一种IC卡智能燃气表ESAM嵌入式安全管理模块,所述的安全管理模块包括逻辑加密CPU单元,所述逻辑加密CPU单元分别接入程序存储单元、临时数据存储单元与表端数据存储单元,所述逻辑加密CPU单元还接入通信接口,用于与表端主控制器进行数据传输;由表端主控制器读取当前IC卡中的密文数据,并传输至逻辑加密CPU单元,逻辑加密CPU单元解析当前密文数据,生成校验密钥,并传输至表端主控制器,由表端主控制器对当前IC卡进行校验;校验通过后,则将校验结果传输至逻辑加密CPU单元,反之则复位初始状态;当前IC卡校验通过后,逻辑加密CPU单元还根据密文数据的文件头,生成解密密钥读取当前密文数据,并判断当前密文数据与表端数据存储单元内已存储的数据是否一致,如判断结果为否,则将密文数据进行分别存储至表端数据存储单元内;反之则复位初始状态;逻辑加密CPU单元在对解密后的密文数据进行分别存储后,再将当前表端数据存储单元内存储的数据进行加密打包,得到具有密文的数据包,并根据当前密文生成物理密码,与具有密文的数据包一并传输至表端主控制器,由表端主控制器读取当前IC卡内的原始密码,并判断原始密码与物理密码是否一致,如判断结果为是,则表端主控制器读取当前密文数据包并写入IC卡;反之则复位初始状态。
作为优选,进一步的技术方案是:所述逻辑加密CPU单元生成的校验密钥包括类型校验密钥与身份校验密钥,用于由逻辑加密CPU单元根据解析后密文数据的文件头生成类型校验密钥,传输至表端主控制器;表端主控制器通过类型校验密钥校验当前IC卡的类型,如校验通过,则将校验结果传输至逻辑加密CPU单元;反之则复位初始状态;IC卡的类型验证通过后,逻辑加密CPU单元根据当前IC卡的类型生成身份校验密钥,传输至表端主控制器;表端主控制器通过身份校验密钥校验当前IC卡的身份是否符合要求,如校验通过,则将校验结果传输至逻辑加密CPU单元;反之则复位初始状态;IC卡的身份验证通过后,逻辑加密CPU单元再对当前密文数据做进一步操作。
更进一步的技术方案是:所述逻辑加密CPU单元还用于在当前IC卡的身份校验通过后,再通过密文数据的文件头生成有效性校验密钥,并通过有效性校验密钥校验当前密文数据的有效性,如判断结果为是,则生成解密密钥读取当前密文数据,反之则复位初始状态。
更进一步的技术方案是:所述表端数据存储单元中存储的数据与解密后的密文数据中至少包括总购买量、剩余量、累计用量与开关阀转移条件;用于由逻辑加密CPU单元完成与IC卡的数据交互后,由表端主控制器向逻辑加密CPU单元输出操作指令,由逻辑加密CPU单元读取表端数据存储单元中存储的数据,进而生成与操作指令对应的控制指令输出至表端主控制器,由表端控制器对智能燃气表进行相应的操作。
更进一步的技术方案是:所述密文数据的文件头为当前IC卡的序列号。
更进一步的技术方案是:所述程序存储单元中存储有与所述逻辑加密CPU单元所执行的加密、解密操作相对应的控制程序,用于由逻辑加密CPU单元根据表端主控制器的传输的不同数据或指令,从程序存储单元中调用对应的控制程序并执行。
更进一步的技术方案是:所述安全管理模块中还包括程序下载单元,所述程序下载单元接入程序存储单元,用于通过程序下载单元向程序存储单元中下载或更新控制程序,从而预先设定IC卡智能燃气表的管理模式与IC卡接口协议。
更进一步的技术方案是:所述表端主控制器通过类型校验密钥及身份校验密钥对当前IC卡反复进行三次校验,如均未通过,则复位初始状态。
更进一步的技术方案是:所述类型校验密钥为一组具有多种卡类型编码的校准码,所述身份校准密钥为一组具有多种卡身份编码的校准码;所述逻辑加密CPU单元所执行的加解密算法至少包括DES、3DES、AES。
更进一步的技术方案是:所述具有多种卡类型编码的校准码中包含IC卡的类型至少为用户卡、参数设置卡、校时卡、送气卡、数据转移卡、安检查询卡。
与现有技术相比,本发明的有益效果之一是:通过在智能燃气表中嵌入安全管理模块,可通过该安全管理模块统一制定燃气表的管理模式和IC卡的接口协议,IC卡需要通过安全管理模块校验通过才可与表端进行数据交换,而安全管理模块通过不同方式的校验及返写卡的方式可有效保证表端主控制器与IC卡之间通信的合法性,防止非燃气公司授权的IC卡对终端燃气表所进行的操作;
从而使燃气表真正脱离燃气表厂商的控制,燃气公司对于终端燃气表具有绝对的控制权,降低智能燃气表非法使用的风险,避免因此而造成的经济损失;同时本发明所提供的IC卡智能燃气表ESAM嵌入式安全管理模块结构简单,可潜入各类规格的智能燃气表中使用,且燃气表厂商可直接按照ESAM模块集成的管理模式与接口协议进行燃气表开发,缩短了开发周期。
具体实施方式
下面结合附图对本发明作进一步阐述。
参考图1所示,本发明的一个实施例是一种IC卡智能燃气表ESAM嵌入式安全管理模块,该安全管理模块包括逻辑加密CPU单元,并且逻辑加密CPU单元需分别接入程序存储单元、临时数据存储单元与表端数据存储单元,另一方面,前述的逻辑加密CPU单元还需一并接入通信接口,用于与表端主控制器进行数据传输;
结合图2所示,在本实施例所述安全管理模块的功能上,是由表端主控制器读取当前IC卡中的密文数据,并传输至逻辑加密CPU单元,逻辑加密CPU单元解析当前密文数据,生成校验密钥,并传输至表端主控制器,由表端主控制器对当前IC卡进行校验;校验通过后,则将校验结果传输至逻辑加密CPU单元,反之则复位初始状态;
当前IC卡校验通过后,逻辑加密CPU单元还根据密文数据的文件头,生成解密密钥读取当前密文数据,并判断当前密文数据与表端数据存储单元内已存储的数据是否一致,如判断结果为否,则将密文数据进行分别存储至表端数据存储单元内;反之则复位初始状态;
结合图5所示,逻辑加密CPU单元在对解密后的密文数据进行分别存储后,再将当前表端数据存储单元内存储的数据进行加密打包,得到具有密文的数据包,并根据当前密文生成物理密码,与具有密文的数据包一并传输至表端主控制器,由表端主控制器读取当前IC卡内的原始密码,并判断原始密码与物理密码是否一致,如判断结果为是,则表端主控制器读取当前密文数据包并写入IC卡,当前密文数据存储于IC卡内的指定单元中;反之则复位初始状态;在前述的校验操作中,发明人发现如表端主控制器多次读取IC卡校卡内的原始密码进行校验,极容易损坏IC卡,因而此处的校验操作只允许重复进行一次,当端主控制器首次成功执行校验的操作后,即根据校验结果执行对应的操作。
在本实施例中,通过在智能燃气表中嵌入安全管理模块,可通过该安全管理模块统一制定燃气表的管理模式和IC卡的接口协议,IC卡需要通过安全管理模块校验通过才可与表端进行数据交换,而安全管理模块通过不同方式的校验及返写卡的方式可有效保证表端主控制器与IC卡之间通信的合法性,防止非燃气公司授权的IC卡对终端燃气表所进行的操作;并且ESAM嵌入式安全管理模块本身不直接与IC卡进行数据通信,所有的操作均由IC卡智能燃气表的表端主控制器来完成;使燃气表真正脱离燃气表厂商的控制,燃气公司对于终端燃气表具有绝对的控制权,降低智能燃气表非法使用的风险,避免因此而造成的经济损失。设计者可以根据需要向ESAM嵌入式安全管理模块内设计自己协议规范和密钥管理机制等信息,使用该模块的IC卡智能燃气表都必须遵守ESAM嵌入式安全管理模块内预先制定的规范才能正常使用。
结合图4所示,为进一步提升ESAM嵌入式安全管理模块在IC卡智能燃气表中使用的安全性,在本发明的另一实施例中,发明人还对上述的IC卡校验步骤进行了改进,实际为利用卡类型校验与身份校验等方式对IC卡进行依次校验,具体如下:
逻辑加密CPU单元生成的校验密钥包括类型校验密钥与身份校验密钥,用于由逻辑加密CPU单元根据解析后密文数据的文件头生成类型校验密钥,传输至表端主控制器;
表端主控制器通过类型校验密钥校验当前IC卡的类型,如校验通过,则将校验结果传输至逻辑加密CPU单元;反之则复位初始状态;为防止出错,表端主控制器对IC卡的类型校验的操作可以重复进行三次,如三次校验均未通过,则认为校验失败;
IC卡的类型验证通过后,逻辑加密CPU单元根据当前IC卡的类型生成身份校验密钥,传输至表端主控制器;表端主控制器通过身份校验密钥校验当前IC卡的身份是否符合要求,如校验通过,则将校验结果传输至逻辑加密CPU单元;反之则复位初始状态;IC卡的身份验证通过后,逻辑加密CPU单元再对当前密文数据做进一步操作。同样的,为防止出错,表端主控制器对IC卡的身份校验的操作也可以重复进行三次,如三次校验均未通过,则认为校验失败。
进一步的,本实施例的IC卡校验步骤还可以包括逻辑加密CPU单元还用于在当前IC卡的身份校验通过后,再通过密文数据的文件头生成有效性校验密钥,并通过有效性校验密钥校验当前密文数据的有效性,如判断结果为是,则生成解密密钥读取当前密文数据,反之则复位初始状态;
本实施例中所描述的IC卡、表端主控制器及ESAM嵌入式安全管理模块(图3至图5中简称ESAM模块)之间的相互流程如图3所示。
上述实施例中提及的密文数据的文件头,实际使用中可直接采用当前IC卡的序列号,即可以是全部位数的序列号,也可以是序列号的当中的任意几位。
在上述实施例中提到的表端数据存储单元中存储的数据与解密后的密文数据中应至少包括总购买量、剩余量、累计用量与开关阀转移条件;这些数据在ESAM嵌入式安全管理模块中的应用方式是当逻辑加密CPU单元完成与IC卡的数据交互后,由表端主控制器向逻辑加密CPU单元输出操作指令,由逻辑加密CPU单元读取表端数据存储单元中存储的数据,进而生成与操作指令对应的控制指令输出至表端主控制器,由表端控制器对智能燃气表进行相应的操作。使用时表端主控制器为主动方,ESAM模块为从动方。当有卡插入或者具有燃气使用的脉冲数据(总购买量、剩余量、累计用量、开关阀)时,表端主控制器主动发起数据给ESAM模块,告知ESAM模块外界信息。ESAM模块事件处理完成后,表端主控制器向ESAM模块获取需要执行的命令。
上述用于在ESAM嵌入式安全管理模块端生成解密密钥、类型校验密钥、身份校验密钥与有效性校验密钥的程序均存储在程序存储单元的内部,使用时由逻辑加密CPU单元利用自身的芯片操作系统,直接从程序存储单元调用相应的程序并执行;在通过对应的程序生成密钥后,可将当前密钥存储至表端数据存储单元内,当第二次收到表端主控制器传输的同样的密文数据时,直接从表端数据存储单元内调用密钥传输至表端控制器,进而可进一步的提升ESAM嵌入式安全管理模块的执行上述校验流程的效率。同时,表端数据存储单元中佰存储有多组用于数据加解密的密钥,上述的逻辑加密CPU单元根据密文数据的文件头,生成解密密钥读取当前密文数据,也可以理解为逻辑加密CPU单元根据密文数据的文件头,在表端数据存储单元调用与之匹配的密钥,通过该密钥解密密文数据后再进行读取;除此之外,程序存储单元中还存储有与逻辑加密CPU单元所执行的一切加密、解密操作相对应的控制程序,用于由逻辑加密CPU单元根据表端主控制器的传输的不同数据或指令,从程序存储单元中调用对应的控制程序并执行。
如上述实施例所描述的,类型校验密钥可为一组具有多种卡类型编码的校准码,例如用户卡、参数设置卡、校时卡、送气卡、数据转移卡、安检查询卡等等,当表端主控制器读取IC卡的类型包含在前述的校准码中时,则认为校验成功,并由表端主控制器将校验后代表IC卡类型的代码反馈至逻辑加密CPU;而身份校准密钥为一组具有多种卡身份编码的校准码,该校准码中的多种卡身份编码是根据IC卡的类型而决定的,例如当前IC卡是用户卡,则校准码中的身份编码为用户、高级用户、VIP用户等身份,当表端主控制器读取IC卡的身份代码包在前述的校准码中,则认为校验成功;解密密钥为逻辑加密CPU通过调用程序存储单元内部的程序,采用与密文数据相同的加密算法生成的解密程序指令,而逻辑加密CPU单元所执行的逻辑加解密算法至少为DES、3DES、AES等;上述的有效性校验密钥可为允许数据操作的日期区间值范围,判断密文数据中的日期值是否在该日期区间值范围内。
根据本发明的另一实施例,为强化燃气公司对终端的智能燃气表进行管理,对智能燃气表始终保持绝对的控制权,因而应定期或不定期对ESAM嵌入式安全管理模块中的程序进行更新,具体的是可在ESAM嵌入式安全管理模块中增设程序下载单元,所述程序下载单元接入程序存储单元,用于通过程序下载单元向程序存储单元中下载或更新控制程序,从而预先设定IC卡智能燃气表的管理模式与IC卡接口协议;例如通过远程传输、特殊工具卡或U盘等工具对ESAM嵌入式安全管理模块中的程序及密钥进行更新。
本发明上述优选的一个实施例在实际使用中:
一、表端主控制器读写卡应用举例
1)IC卡插入时,表端主控制器响应中断;
2)表端主控制器向ESAM嵌入式安全管理模块发送写入卡数据申请命令,将读取的卡中的密文数据传输至ESAM嵌入式安全管理模块;
3)配合ESAM嵌入式安全管理模块对当前IC卡的类型、身份进行校验;。
4)表端主控制器向ESAM嵌入式安全管理模块发送读取返写卡的数据命令,得到允许后,读入需要反写的数据,记录反写数据的长度;
5)表端主控制器将需要返写的数据写入卡中指定单元。
6)表端主控制器向ESAM嵌入式安全管理模块发送相关信息量命令,如读入剩余量、累计量、总购买量、阀控指令、本次购买量、本次购买时间。将量信息进行液晶显示,将阀控指令进行执行阀控。
二、表端主控制器脉冲计量应用举例
1)脉冲计量时,表端主控制器响应中断,脉冲计数器加一。
2)表端主控制器向ESAM嵌入式安全管理模块发送写计数脉冲量命令,脉冲常数为10L/100L,在表端数据存储单元中进行剩余量扣除。
3)表端主控制器向ESAM嵌入式安全管理模块发送读相关信息命令,如读入剩余量、累计量、总购买量、阀控指令、本次购买量、本次购买时间。将量信息进行液晶显示,将阀控指令进行执行阀控。
三、表端主控制器燃气表表状态应用举例
1)当燃气表状态发生改变时,表端主控制器响应,状态置位。
2)表端主控制器向ESAM嵌入式安全管理模块发送写状态命令。
3)表端主控制器向ESAM嵌入式安全管理模块发送读阀控命令,表端主控制器获取阀控指令,表端主控制器执行阀控指令。
除上述以外,还需要说明的是在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”等,指的是结合该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本发明的范围内。
尽管这里参照本发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开、附图和权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。