一种面向IC卡的掉电保护方法技术

技术编号:7459539 阅读:283 留言:0更新日期:2012-06-24 06:09
本发明专利技术公开了一种面向IC卡的掉电保护方法,在IC卡的用户数据区中开辟保留区,保留区包括多个缓冲区,把待写入文件区的数据首先写入缓冲区进行缓存;那么,当掉电上电复位后,判断写入缓冲区的数据是否完整,若完整,则进入把缓冲区内的相应数据写入文件区的步骤,否则擦除已经写入缓冲区的数据。依据本发明专利技术的掉电保护方法保证写入文件区的数据完整性。

【技术实现步骤摘要】

本专利技术涉及一种面向IC卡的掉电保护方法,针对采用IC卡(Integrated Circuit Card,集成电路卡)COS (Chip Operating System,片内操作系统)设计过程中数据存储的完整性要求,以保证IC卡在任何掉电的情况下不会出现数据完整性问题,属于嵌入式系统设计的领域。
技术介绍
IC卡在当今社会的各个角落得到了广泛的应用,如公交卡、校园卡、门禁卡等等, 其中带有CPU内核的IC卡(简称IC卡)由于具有完善的安全机制保证,保密性和安全性更好而得到更多关注。近日,中国人民银行发布了《中国人民银行关于推进金融IC卡应用工作的意见》,决定在全国范围内正式启动银行卡芯片迁移工作,这对IC卡的应用开辟了更加广阔的空间。IC卡中的程序和数据存储主要有两种结构,一种是ROM+E2PROM的结构,程序存储在ROM而用户数据存储在E2PROM ;另一种是Flash结构,在这种IC卡中有比较大容量的 Flash存储空间,Flash空间被分为两段,一段用于存储程序代码,另一段用于存储用户数据。R0M+E2PR0M结构目前处于主流地位,因为E2PROM可以进行字节编程,应用更为灵活,ROM 存储的代码更加安全;Flash介质不能进行字节编程,只能以Sector (扇区)为单位进行数据写入,在传统的认识上Flash能够承受的擦写次数不如E2PROM,并且在Flash中存储程序代码存在被篡改的可能而受到质疑,因此在应用上受到一定局限。但是随着Flash技术的进步,这些认识正逐渐得到改变。目前国内已经有清华同方等多家智能卡芯片生产商提供 Flash介质的IC卡,国际上,英飞凌也推出了基于Flash介质的Solid Flash系列产品。可以预见,随着Flash工艺的改进,芯片安全体制的进步,Flash IC卡由于开发更加方便,在小批量情况下比掩膜ROM更低的成本将得到广泛普及。COS是指挥智能卡工作的灵魂,文件管理是COS的主要功能之一,对数据存储的可靠性具有严格的要求。中国金融集成电路(IC)卡规范要求IC卡“必须能够在交易处理的任何情况下,甚至是在更新E2PROM过程中掉电的情况下,保持数据的完整性”,这就要求对数据的存储采取备份等机制,保证数据的完整性。
技术实现思路
本专利技术针对IC卡中数据存储的完整性要求,提出了一种面向IC卡的掉电保护方法,以保证写入文件区的数据完整性。本专利技术采用以下技术方案该专利技术面向IC卡的掉电保护方法,在IC卡的用户数据区中开辟保留区,保留区包括多个缓冲区,把待写入文件区的数据首先写入缓冲区进行缓存;那么,当掉电上电复位后,判断写入缓冲区的数据是否完整,若完整,则进入把缓冲区内的相应数据写入文件区的步骤, 否则擦除已经写入缓冲区的数据。依据本专利技术的面向IC卡的掉电保护方法,通过开辟缓冲区进行数据的缓冲和备份,提高了存储的可靠性。当掉电后上电复位时,如果缓冲区内的数据完整,则将缓冲区中的数据写入文件区,否则擦除缓冲区中的数据。这种方法保证了掉电的数据保护和写入文件区数据的正确性。另外,用户数据区包括系统区、保留区和文件区,在保留区中开辟的缓冲区,保证了数据在用户数据区的快速转移,通常不会因为掉电产生影响。为确保IC卡在掉电之后能够知道掉电发生在什么阶段,在IC卡的写入过程中有以下两个状态标志1.缓冲区状态标志缓冲区状态标志位于缓冲区的头部,该标志表示当前缓冲区的存储状态。缓冲区状态标志包括以下三种不同的状态。(1)擦写结束状态此状态表示缓冲区已经擦除结束,可用来缓存数据。考虑到掉电可能发生在写操作的任何时段,缓冲区的数据可能不完整,IC卡可以通过此状态了解到上次从缓冲区写文件区的操作是否正常完成。(2)写入头状态此状态表示写缓冲区操作已经开始,上电复位的过程中如果缓冲区存在此状态,那么上次写缓冲区必然没有完成。(3)写入尾状态此状态表示缓冲区数据已经完全写入,上电复位的过程中如果缓冲区存在此状态,则表示上次写文件区必然没有完成,因为如果写文件区操作完成,那么缓冲区状态标志应为擦写结束状态。2.写操作完成标志此标志位于缓冲区中写入数据的地址之后,IC卡可以通过此标志了解到写缓冲区操作是否完全完成;上述面向IC卡的掉电保护方法,置有缓冲区状态标志,上电复位后要判断缓冲区状态标志是否为擦写结束状态,若缓冲区状态标志为擦写结束状态,表明上次擦除正常,没有发生掉电,IC卡等待读卡器发出写指令;否则,掉电发生在数据写入缓冲区的过程中,需要进行缓冲区数据完整性判断。上述面向IC卡的掉电保护方法,数据在写入缓冲区时,首先要置缓冲区状态标志为写入头状态。上述面向IC卡的掉电保护方法,数据在写入缓冲区结束时置缓冲区状态标志为写入尾状态,并在缓冲区数据写入结束后添加写操作完成标志。所述判断写入缓冲区的数据是否完整的方法是判断当前数据是否存在写操作完成标志,如存在写操作完成标志,则完整,否则为不完整。上述面向IC卡的掉电保护方法,所述缓冲区置缓冲区状态标志,以在缓冲区写数据之前置缓冲区状态标志为写入头状态,写缓冲区结束之后置缓冲区状态标志为写入尾状态,并在缓冲区数据写入结束后添加写操作完成标志。上述面向IC卡的掉电保护方法,所述把缓冲区内的相应数据写入文件区的步骤含有首先由缓冲区状态标志是否为擦写结束状态判断相应数据是否在掉电前已经写入文件区,若已经写入,则擦除所分配缓冲区,否则通过写操作完成标志判断缓冲区数据是否完整,若缓冲区数据完整则向文件区写入缓冲区中的数据,若缓冲区数据不完整,则丢弃缓冲区中的数据,擦除缓冲区数据。上述面向IC卡的掉电保护方法,在IC卡用户数据区中开辟保留区,保留区包括有多个缓冲区,用做数据的缓冲。用户可以设定一个缓冲区写入操作的阈值,当一个缓冲区的写入操作次数达到这个阈值时,则启用新的缓冲区进行数据缓冲,避免存储介质因为频繁写入失效造成数据丢失。上述面向IC卡的掉电保护方法,缓冲区的数据存储方式为该缓冲区首先存储缓冲区状态标志,随后存入当前该缓冲区数据的总长度,然后依次写入各段数据,且写入数据时先写入该数据在文件区的目标地址,然后是数据长度,然后写入该数据,所有数据写完之后写入写操作完成标志。附图说明下面结合说明书附图详述本专利技术的技术方案,其中图1为依据本专利技术的掉电保护方法中数据写入和掉电恢复流程图。图2为缓冲区数据格式图。图3为用户数据区分区图。具体实施例方式如附图3所示将用户数据区(E2PROM或者Flash)分为系统区、保留区和文件区,其中系统区用于存放包括卡状态、传输密钥、传输密钥状态在内的一些系统管理关键数据。保留区由若干缓冲区构成,用于对写入卡的数据进行缓冲和备份,缓冲区的大小可以根据应用进行调整。当一个缓冲区写入次数达到一定阈值时可以调整到新的缓冲区。文件区用于存储IC卡的文件和相关的密钥。要写进文件区的数据首先要写入缓冲区,然后再写入文件区,缓冲区将要写入的数据进行整理,提高了存储的可靠性。为确保IC卡在掉电之后能够知道掉电发生在什么阶段,在IC卡的写入过程中有以下两个状态标志1.缓冲区状态标志缓冲区状态标志位于缓冲区的头部,该标志表示当前缓冲区的存储状态。缓冲区状态标志包括以下三种不同的状态。(1)擦写结束状态此状态表示缓冲区已经擦除结束,可用来缓本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:郭延海陈德展孙涛程彪
申请(专利权)人:山东神思电子技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术