专利名称:非接触式逻辑加密卡的防拔处理方法
技术领域:
本发明涉及一种非接触式逻辑加密卡的防拔处理方法。
背景技术:
自从20世纪20年代信用卡诞生以来,已产生各种类型的电子信息卡,如现金卡、 信用卡、身份卡、百货商店卡等。近来,集成有硅芯片的逻辑加密卡由于其方便性、稳定性、 安全性和众多应用而变得流行。逻辑加密卡与包括磁介质类型的传统电子信息卡相比,具有高稳定性、写保护数 据和高安全性诸多优点,被广泛接纳为下一代多媒体信息介质。非接触式逻辑加密卡是指符合国际标准IS0/IEC-14443的邻近卡(PICC, Proximity Integrated circuits card,一种ID-1型卡)。非接触式逻辑加密卡的集成电 路芯片内部配置有逻辑加密保护电路的EEPROM存储芯片,一般只能存储数据,不能进行数 据处理,或者仅具有简单加减处理能力;加密逻辑保护电路能在一定程度上保护非接触式 逻辑加密卡和卡中数据安全,无法防止恶意的攻击。非接触式逻辑卡由于成本较低,同时具 有一定的安全性,在交通、公用事业、医疗卫生、旅游娱乐、安全控制、考勤、社区服务等非金 融领域得到广泛的应用。非接触式逻辑加密卡的EEPROM存储容量通常不小于1024个字节,可划分为1_16 个扇区,按扇区进行管理。每个扇区具有读和写两种密钥保护,并且各个扇区的密钥可以各 不相同。针对非接触式逻辑加密卡的用户存储区,其改写操作只可能有以下三种状态1、 改写成功;2、改写失败,未改写;3、改写失败,被破坏,数据既非改写前数据,也非期望改写 入的数据。对给定的数据,用户期望的改写操作要么改写成功、要么不改写,而不期望出现未 预期的值(即第三种情况),这是非接触式逻辑加密卡实现电子钱包、安全控制、门襟等功 能的保证之一。但是目前在非接触式逻辑加密卡中实现数据存储的基本上是EEPR0M,其特性为在 写入新值之前需要进行电子擦除的动作。因此,EEPROM编程分成两步,第一步,将需要写入 区域的EEPROM基本单元进行电子擦除,使其全部固定为“0”或“ 1,,;第二步,将需要写入的 数据值写入EEPROM对应的存储单元中,这样EEPROM对应的存储空区才能保存对应的数据; 而且其擦除和写入过程均在1 2ms (毫秒)的量级。非接触式逻辑加密卡是通过射频方式与终端进行通讯的,操作距离较短。持卡人 使用非接触式逻辑加密卡在交易过程中或非接触式逻辑加密卡的EEPROM正在编程过程 中,随时有可能由于晃动等客观或主观操作而将卡移出操作范围,即发生拔出操作,导致交 易异常结束,使EEPROM内的数据修改成客户不期望的值,如全零、全1或其它值。如果不对 EEPROM内的数据进行特殊处理,因交易异常结束的非接触式逻辑加密卡再次进行交易操作 时,则由于其数据为客户不期望的值,导致后续交易无法进行,尤其是当数据为密钥数据和格式控制数据等重要数据时,一次EEPROM的编程异常操作就可能导致该张非接触式逻辑 加密卡的失效。实现非接触式逻辑加密卡防拔功能的关键是确定重要数据在EEPROM的一次交易 因发生异常而结束时,如果该卡再次进行交易操作,能根据自身工作状态自动执行相应的 恢复进程,保证其数据要么已经被写成功,要么未修改,而不出现第三种非客户期望的值。
发明内容
本发明要解决的技术问题是提供一种非接触式逻辑加密卡的防拔处理方法,能够 保证非接触式逻辑加密卡内数据安全修改,做到卡内数据的准确描述和维护,保证卡内数 据修改的一致性。为解决上述技术问题,本发明的非接触式逻辑加密卡的防拔处理方法是将非接 触式逻辑加密卡中的EEPROM存储空间分为数据存储区和数据备份区;其中设置一数据 有效空间指示标识;当非接触式逻辑加密卡进行数据读取操作时,按照数据有效空间指示 标识的指引从相应的数据存储区或数据备份区读取数据;当非接触式逻辑加密卡进行数据 写入操作时,按照数据有效空间指示标识的指引向相应的数据存储区或数据备份区写入数 据。非接触式逻辑加密卡出现数据异常的主要原因是其在EEPROM编程时被异常中 断,导致其数据成为非期望的第三状态值。采用本发明的方法后,即使非接触式逻辑加密卡 在EEPROM编程时出现异常中断,也能避免出现数据为非期望的第三状态值,即实现了防拔 处理功能。本发明的方法与现有非接触式逻辑加密卡防拔处理相比,其指令处理流程统一, 指令处理时间缩短一半以上,而防拔性能无差异。
下面结合附图与具体实施方式
对本发明作进一步详细的说明附图是非接触式逻辑卡的EEPROM空间分配图。
具体实施例方式本发明的非接触式逻辑加密卡的防拔处理方法使用了 EEPROM基本单元的固有特 性,即其值非0即1和费1即0特性,具体方法如下将非接触式逻辑加密卡中的EEPROM存储空间分为数据存储区和与数据存储区相 对应的数据备份区,另外,还在EEPROM存储空间中设置一与所述数据存储区和数据备份区 相对应的用于存储数据有效空间指示标识的区域。为了设置数据备份区和存储数据有效 空间指示标识的区域可以在在现有的非接触式逻辑加密卡EEPROM存储空间的基础上增加 EEPROM的物理存储空间。当非接触式逻辑加密卡进行数据读取操作时,按照数据有效空间指示标识的指引 从相应的数据存储区或数据备份区读取数据;以便正确读取数据。当非接触式逻辑加密卡进行数据写入操作时,按照数据有效空间指示标识的指引 向相应的数据存储区或数据备份区写入数据;以便正确写入数据。
5
所述数据有效空间指示标识能够修改,以便指示最新更新的当前有效数据块的空 间位置。所述数据备份区的存储空间等于或小于数据存储区的存储空间;数据备份区的存 储空间等于数据存储区的存储空间时,在数据备份区备份全部数据存储区的数据,称为全 数据保护;数据备份区的存储空间小于数据存储区的存储空间时,在数据备份区备份部分 数据存储区的数据,称为重要数据保护。所述数据有效空间指示标识占用1位EEPROM基本单元,当数据有效空间指示标识 为“0”时,表示当前有效数据块在数据存储区,当数据有效空间指示标识为“ 1”时,表示当 前有效数据块在数据备份区;或者当数据有效空间指示标识为“0”时,表示当前有效数据 块在数据备份区,当数据有效空间指示标识为“1”时,表示当前有效数据块在数据存储区。所述数据有效空间指示标识占用η位EEPROM基本单元,η为大于的1正整数;当 EEPROM擦除后为“0”时,若数据有效空间指示标识为“0”,表示当前有效数据块在数据存储 区,若数据有效空间指示标识为非“0”时,表示当前有效数据块在数据备份区;或者,若数 据有效空间指示标识为“0”时,表示当前有效数据块在数据备份区,若数据有效空间指示标 识为非“0”时,表示当前有效数据块在数据存储区。所述数据有效空间指示标识占用η位EEPROM基本单元,η为大于的1正整数;当 EEPROM擦除后为“ 1,,时,若数据有效空间指示标识η位全为“ 1 ”,表示当前有效数据块在数 据存储区,若数据有效空间指示标识η位非全为“1”时,表示当前有效数据块在数据备份 区;或者,若数据有效空间指示标识η位全为“1”时,表示当前有效数据块在数据备份区,若 数据有效空间指示标识η位非全为“1”时,表示当前有效数据块在数据存储区。当非接触式逻辑加密卡进行数据写入操作时,若当前有效数据块在数据存储区, 则对数据备份区的对应数据块进行EEPROM编程;若当前有效数据块在数据备份区,则对数 据存储区的对应数据块进行EEPROM编程;在当前有效数据块EEPROM编程结束后,对数据有效空间指示标识进行修改编程, 如果当前数据有效空间指示标识为“0”,则对其进行编程修改为“ 1” ;如果当前数据有效空 间指示标识为“1”,则对其进行编程修改为“0”。如果当前数据有效空间指示标识η位全 为“0”,则对其进行编程修改为非η位全为“0” ;如果当前数据有效空间指示标识为非η位 全为“0”,则对其进行编程修改为η位全为“0”。如果当前数据有效空间指示标识η位全为 “1”,则对其进行编程修改为非η位全为“1” ;如果当前数据有效空间指示标识为非η位全 为“ 1 ”,则对其进行编程修改为η位全为“ 1 ”。在非接触式逻辑加密卡数据读取或写入流程中读取对应数据有效空间指示标识, 是在现有的非接触式逻辑加密卡数据读取或写入流程中增加读取对应数据有效空间指示 标识,以便实现防拔功能。读取对应数据有效空间指示标识是在非接触式逻辑加密卡内部 由程序控制实现的,在读卡机端客户使用非接触式逻辑加密卡时,与未实现防拔处理的非 接触式逻辑加密卡的使用过程感觉上没有区别。结合附图所示,在非接触式逻辑加密卡EEPROM中的数据修改一般都是块空间大 小修改。在本发明中,一个逻辑数据块(即用户看到的地址空间)对应有两个物理上的存 储空间和一个数据有效空间指示标识的存储空间。当前有效逻辑数据块的存储空间由相对 应的数据有效空间指示标识来指示。
6
如图所示,在用户读取逻辑数据块1时,其当前有效逻辑数据块可能存储在数据 存储区的数据块Al中或存储在数据备份区的数据块Bl中;具体的存储位置由与逻辑数据 块1相对应的数据有效空间指示标识flagl来确定。例如,当flagl为“0”时,表明数据块 Al为逻辑数据块1当前有效逻辑数据块;当flagl为“1”时,表明数据块Bl为逻辑数据块 1当前有效逻辑数据块。在用户对逻辑数据块1进行写操作时,首先确定当前有效逻辑数据块所在的位 置;当flagl为“0”时,表明数据存储区的数据块Al为当前有效逻辑数据块;当flagl为 “1”时,表明数据备份区的数据块Bl为当前有效逻辑数据块。在flagl为“0”时,将需要写 入的数据写入当前非有效逻辑数据块所在的存储空间,即写入数据备份区的数据块Bl ;在 flagl为“1”时,将需要写入的数据写入数据存储区的数据块Al。在数据编程结束后,进行 对应的数据有效空间指示标识修改,即进行取反。因此,在用户对非接触式逻辑加密卡进行 写操作时,对EEPROM有两个编程的过程,一个是数据写入的编程,另一个是对应的数据有 效空间指示标识修改的编程。在所述的EEPROM两个编程过程中,不论异常中断情况出现在任何时间节点上,都 不会出现第三种非客户期望的值出现。例如,假设写入数据之前flagl为“0”,表明当前有效逻辑数据块为数据块Al,此 时写入数据写入到数据块Bi。如果在数据块Bl编程时出现异常中断情况,不论数据块Bl 的数据破坏与否,此时flagl为“0”没有修改。在非接触式逻辑加密卡再次上电复位后,用 户访问逻辑数据块1时,此时flagl为“0”,用户仍然从逻辑数据块Al中读取到原有的数 据,即用户写入数据失败,数据未改变。再比如,同样假设写入数据块之前flagl为“0”,表明当前有效数据块为数据块 Al,此时写入数据写入到数据块Bi。如果在数据块Bl编程正常结束,则启动flagl的修改 编程。此时flagl的期望写入值为“1”,如果在flagl编程过程中出现异常中断情况,则会 出现两种情况flagl保持在“0”或flagl已修改成“1”。当flagl保持为“0”时,在非接 触式逻辑加密卡再次上电复位后,用户访问逻辑数据块1时,由于此时flagl为“0”,用户仍 然从数据块Al中读取到原有的数据,即用户写入数据失败,数据未改变;在flagl已修改成 “1”时,在非接触式逻辑加密卡再次上电复位后,用户访问逻辑数据块1时,此时flagl为 “1”,用户从数据块Bl中读取到新写入的数据,即用户写入数据成功。虽然以上是以假设写入数据块之前flagl为“0”的情况下进行说明的,但是可以 理解当flagl为“1”时同样可以得出不论异常中断情况出现在任何时间节点上,都不会出 现第三种非客户期望的值出现。以上通过具体实施方式
对本发明进行了详细的说明,但这些并非构成对本发明的 限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,如采用 不同位宽的数据有效空间指示标识flag,仅针对某些重要数据进行防拔处理等均可以作出 改变,这些改变结构也应视为本发明的保护范围。
权利要求
一种非接触式逻辑加密卡的防拔处理方法,将非接触式逻辑加密卡中的EEPROM存储空间分为数据存储区和数据备份区;其特征在于设置一数据有效空间指示标识;当非接触式逻辑加密卡进行数据读取操作时,按照数据有效空间指示标识的指引从相应的数据存储区或数据备份区读取数据;当非接触式逻辑加密卡进行数据写入操作时,按照数据有效空间指示标识的指引向相应的数据存储区或数据备份区写入数据。
2.如权利要求1所述的方法,其特征在于所述数据有效空间指示标识能够修改,以便 指示最新更新的当前有效数据块的存储区间。
3.如权利要求1所述的方法,其特征在于所述数据备份区的存储空间等于或小于数 据存储区的存储空间;数据备份区的存储空间等于数据存储区的存储空间时,在数据备份 区备份全部数据存储区的数据;数据备份区的存储空间小于数据存储区的存储空间时,在 数据备份区备份部分数据存储区的数据。
4.如权利要求1所述的方法,其特征在于所述数据有效空间指示标识占用1位 EEPROM基本单元,当数据有效空间指示标识为“0”时,表示当前有效数据块在数据存储区, 当数据有效空间指示标识为“1”时,表示当前有效数据块在数据备份区;或者当数据有效 空间指示标识为“0”时,表示当前有效数据块在数据备份区,当数据有效空间指示标识为 “ 1,,时,表示当前有效数据块在数据存储区。
5.如权利要求4所述的方法,其特征在于当非接触式逻辑加密卡进行数据写入操作 时,若当前有效数据块在数据存储区,则对数据备份区的对应数据块进行EEPROM编程;若 当前有效数据块在数据备份区,则对数据存储区的对应数据块进行EEPROM编程;在当前有效数据块EEPROM编程结束后,对数据有效空间指示标识进行修改编程,如果 当前数据有效空间指示标识为“0”,则对其进行编程修改为“ 1 ” ;如果当前数据有效空间指 示标识为“ 1 ”,则将对其进行编程修改为“0”。
6.如权利要求1所述的方法,其特征在于所述数据有效空间指示标识占用η位 EEPROM基本单元,η为大于的1正整数;当EEPROM擦除后为“0”时,若数据有效空间指示标 识为“0”,表示当前有效数据块在数据存储区,若数据有效空间指示标识为非“0”时,表示 当前有效数据块在数据备份区;或者,若数据有效空间指示标识为“0”时,表示当前有效数 据块在数据备份区,若数据有效空间指示标识为非“0”时,表示当前有效数据块在数据存储 区。
7.如权利要求1所述的方法,其特征在于当非接触式逻辑加密卡进行数据写入操作 时,若当前有效数据块在数据存储区,则对数据备份区的对应数据块进行EEPROM编程;若 当前有效数据块在数据备份区,则对数据存储区的对应数据块进行EEPROM编程;在当前有效数据块EEPROM编程结束后,对数据有效空间指示标识进行修改编程,如果 当前数据有效空间指示标识η位全为“0”,则对其进行编程修改为非η位全为“0” ;如果当 前数据有效空间指示标识为非η位全为“0”,则对其进行编程修改为η位全为“0”。
8.如权利要求1所述的方法,其特征在于所述数据有效空间指示标识占用η位 EEPROM基本单元,η为大于的1正整数;当EEPROM擦除后为“ 1 ”时,若数据有效空间指示标识η位全为“ 1 ”,表示当前有效数据 块在数据存储区,若数据有效空间指示标识η位非全为“ 1”时,表示当前有效数据块在数据备份区;或者,若数据有效空间指示标识η位全为“1”时,表示当前有效数据块在数据备份 区,若数据有效空间指示标识η位非全为“ 1”时,表示当前有效数据块在数据存储区。
9.如权利要求1所述的方法,其特征在于当非接触式逻辑加密卡进行数据写入操作 时,若当前有效数据块在数据存储区,则对数据备份区的对应数据块进行EEPROM编程;若 当前有效数据块在数据备份区,则对数据存储区的对应数据块进行EEPROM编程;在当前有效数据块EEPROM编程结束后,对数据有效空间指示标识进行修改编程,如果 当前数据有效空间指示标识η位全为“ 1 ”,则对其进行编程修改为非η位全为“ 1,,;如果当 前数据有效空间指示标识为非η位全为“ 1 ”,则对其进行编程修改为η位全为“ 1 ”。
全文摘要
本发明公开了一种非接触式逻辑加密卡的防拔处理方法,将非接触式逻辑加密卡中的EEPROM存储空间分为数据存储区和数据备份区;其中设置一数据有效空间指示标识;当非接触式逻辑加密卡进行数据读取操作时,按照数据有效空间指示标识的指引从相应的数据存储区或数据备份区读取数据;当非接触式逻辑加密卡进行数据写入操作时,按照数据有效空间指示标识的指引向相应的数据存储区或数据备份区写入数据。本发明能够保证非接触式逻辑加密卡内数据安全修改,做到卡内数据的准确描述和维护,保证卡内数据修改的一致性。
文档编号G06K19/073GK101944191SQ20091005757
公开日2011年1月12日 申请日期2009年7月8日 优先权日2009年7月8日
发明者卢君明 申请人:上海华虹集成电路有限责任公司