非接触式IC卡多信息块安全更新方法
技术领域
本发明涉及非接触式IC卡多信息块安全更新方法。
背景技术
在非接触式IC卡应用领域,一个完整的卡片交易过程,大部分应用系统需要更新若干个独立操作的信息块,为保证卡片数据的完整性和一致性,需要对卡片采取安全更新操作。
为解决非接触式IC卡多信息块安全更新的问题,通常设计如下的卡片结构:1)、定义标志块及其备份块,在标志块中为每个独立的信息块定义一个过程标志;2)、定义信息块,并为每个信息块定义一个备份块。卡片操作开始,需读卡并检查上次操作是否完成,若未完成需首先执行卡片的恢复操作,再进行业务处理,最后执行卡片的更新流程。传统的卡片更新流程如图1:1)、更新开始,为本交易需要更新的信息块置开始更新过程标志,写标志块;2)、写标志块的备份块;3)、逐个更新信息块;4)、置更新完成标志,写标志块;5)、写标志块的备份块;6)、逐个写信息块的备份块;7)、置备份块更新完成标志(即初始标志),写标志块;8)、写标志块的备份块。上述流程只要完成步骤5)即算交易完成,后续的步骤在下次的卡片检查及恢复流程中完成。传统的卡片检查及恢复流程如图2:1)、检查开始,读标志块及其备份块;2)、若不等,说明标志块的更新未完成,用备份块的内容重写标志块;3)、若过程标志为备份块更新完成标志,则逐个读信息块,结束;4)、若过程标志为开始更新标志,逐个读信息块的备份块,更新信息块的内容,结束;5)、若过程标志为信息块更新完成标志,则逐个读信息块,并逐个写信息块的备份块;6)、置备份块更新完成标志(即初始标志),写标志块;7)、写标志块的备份块。这只是简化的流程,还应该包括对读取的数据进行校验及其它合法性检查等容错操作。
在非接触式IC卡多信息块更新过程中,由于异常断电、关机、卡片离开感应区、干扰等原因造成的卡片操作未正常完成,使用上述流程或其演化流程,通过对标志块及过程标志的判断,可以确定更新流程是否正常完成、是否有效、是否需要恢复以及怎样恢复。虽然上述流程能够实现非接触式IC卡多信息块的安全更新,但存在如下缺陷:1)、当卡片更新流程未正常完成时,再次读卡需要进行卡片恢复流程,不同的恢复点处理的复杂度及消耗时间不同;
2)、更新时需要额外写信息块的备份块,消耗额外的卡片操作时间及写后读校验时间;3)、对流程的验证复杂,检验点多。
发明内容
本发明所要解决的技术问题是,提供一种非接触式IC卡多信息块安全更新方法,降低卡片处理的复杂度,省去读写备份数据及卡片恢复的处理时间并减少验证点数量。
本发明的技术方案如下:
一种非接触式IC卡多信息块安全更新方法,其特征在于通过以下步骤实现:
1)、操作开始,读两个标志块;
2)、确定步骤1)所读两个标志块中有效的标志块;
3)、按有效标志块中信息块的滚存指针读信息块;
4)、数据处理过程;
5)、信息块指针以2为模加1作为当前指针;
6)、写当前指针对应的信息块;
7)、置有效标志,标志块指针以2为模加1作为当前指针写标志块,;
8)、置无效标志,标志块指针以2为模加1作为当前指针写标志块。
其中步骤2)是通过标志块的有效标志或比较序号来确定当前有效的标志块的,确定原则如下:若只有一个标志块标识为有效,则采用该标志块的内容;若两个标志块标识为有效,则比较序号,若差值为1,则序号大的标志块为有效;若一个为0,一个为最大值,则序号为0的标志块为有效,其它组合均为非法。
本发明的积极效果在于:本发明使用滚动存储(交替存储)方案实现非接触式IC卡的多信息块安全更新。与现有方法比较,本发明具有以下优势:第一、本发明无需恢复流程,性能一致,节约了卡片操作时间;第二、本发明无需写信息块的备份块,节约了卡片更新时间;第三、本发明除有效标志块的判断外,基本上为顺序流程;第四、本发明流程容易验证,验证点较少。
附图说明
图1是作为现有技术的传统非接触式IC卡多信息块安全更新流程图;
图2是作为现有技术的传统非接触式IC卡多信息块卡片检查恢复流程图;
图3是本发明非接触式IC卡多信息块安全更新流程图。
具体实施方式
下面结合附图和具体实施方式进一步说明本发明。
本发明将传统的卡片数据备份存储调整为滚动存储(交替存储),每次读卡首先读两个标志块,判断出有效的标志块,以获得当前各信息块的存储指针;按当前指针读各信息块以获得卡片信息;业务逻辑处理完毕,信息块指针加1作为当前指针(模为2),将修改过的信息写入当前信息块指针指向的卡片存储位置;标志块指针加1(模为2)作为当前标志块指针,将新的标志块内容写入当前标志块指针指向的位置;最后标志块指针再加1(模为2)作为当前指针,标志块有效标志清零,将标志块内容写入当前标志块指针指向的存储位置。由于不存在备份的概念,也就不存在所谓的卡片数据备份和卡片数据恢复问题,由此降低了卡片处理的复杂度,不再需要读写备份数据及卡片恢复的处理时间。
如图3,本发明的操作步骤如下:
1)、操作开始,读两个标志块;
2)、确定步骤1)所读两个标志块中有效的标志块,以获得当前各信息块的存储指针,确定原则如下:若只有一个标志块标识为有效,则采用该标志块的内容;若两个标志块标识为有效,则比较序号,若差值为1,则序号大的标志块为有效;若一个为0,一个为最大值,则序号为0的标志块为有效,其它组合均为非法;
3)、按有效标志块中信息块的滚存指针读信息块;
4)、数据处理过程;
5)、信息块指针加1(以2为模)作为当前指针;
6)、写当前指针对应的信息块;
7)、置有效标志,序号加1(进位溢出),标志块指针加1(以2为模)作为当前指针写标志块;
8)、置无效标志,标志块指针加1(以2为模)作为当前指针写标志块。
当仅用于读卡时,仅需进行前三个步骤。
本发明卡片结构见表1。
表1:卡片结构
说明:
1)、标志块的滚存数量为2,信息块指针可按位存储;
2)、信息块可有多个,一个信息块可占1个或多个物理块(每个块16字节);
3)、每个信息块的滚存数量为2。