智能卡及数据写入方法

文档序号:6572166阅读:402来源:国知局
专利名称:智能卡及数据写入方法
技术领域
本发明涉及各类IC卡以及向IC卡内写入数据的方法。
背景技术
图1是智能卡电器部分的方框图。图1中所示的电路包括组成智能 卡电子芯片的微控制器1和使卡能够与读取/写入终端(图未示)通信的
接口 2。该微控制器1主要包括微处理器10、存储单元20、 30、 40输入 输出电路50以及将存储单元20、 30、 40和输入/输出电路50以及连接 它们到微处理器10的数据总线60。存储单元20为只读存储器(ROM), 其包含管理芯片或被称作"操作系统"的计算机程序。存储单元30为随 机存取存储器(RAM),其用于暂时存储微处理器10所处理的数据。存 储单元40为EEPROM单元,其用于存储用户特定的数据,如姓名、密码 (PIN)或用户可用货币的总数等。参考图2,存储单元40特别包括 EEPR0M400、用于擦除存储在EEPROM400中的数据的升压模块410、以及 包含以二进制"0"或"1"状态指示擦除EEPROM400的处理是否已经终 止的标志的寄存器420。
接口 2可由适用于与读取/写入终端的相应电气插头接合的电气插 头,和/或通过是用于与所述终端交换无线信号的无线收发机部件所组 成。其中,这样的收发机部件提供"无缝"连接。配备用于无缝连接的 智能卡可被用作例如电子钱包等。用户可以通过让所述卡进入所述终端 所产生的电》兹场中而进^f亍入购买物品的交易。
图3示出了更新图2的EEPROM400中的数据的传统方法。在第一步 骤El中,数据通过接口 2和输入/输出电路50被微处理器10接收。每 个接收的数据项被暂时存储在RAM3G中(步骤E2)。在下面的步骤E3 中,通过微处理器10控制下的升压模块410擦除EEPROM400的包含将被
更新的数据的区域。但寄存器420指示擦除完成时,则接收的数据被从 RAM中提取,写入到上述区域中(步骤E4)。
上述方法有两个主要缺点 一、整个过程实现起来时间相对较长; 二、在进行步骤E3或者E4过程中,如果发生异常情况(如掉电等), 容易造成EEPR0M目标区中原数据被擦除,但新数据却未被写入,造成数 据丟失。
中国发明专利申请公开文献CN1430784A公开一种针对上述方法的所 述第一缺点进行改进的技术方案。该技术方案主要是将"每个接收的数 据项被暂时存储在RAM30中(步骤E2)"和"通过^f敫处理器10控制下的 升压模块410擦除EEPROM400的包含将被更新的数据的区域。(步骤 E3)"两步并行执行,因此缩短了流程耗时。但是,该技术方案仍无法解 决前述的第二个缺点,即仍然无法保证数据安全。

发明内容
本发明的主要目的是提供一种可安全地写入数据的智能卡。
本发明的另一目的是提供一种可在确保数据安全的情况下,向上述 智能卡内写入数据的方法。
为实现上述的主要目的,本发明提供一种智能卡,包括
组成卡的电子芯片的賴b控制器;
使智能卡能够与读取/写入终端通信的接口 ;
所述微控制器主要包括微处理器、R0M、 RAM、 EEPR0M和I/O电路, R0M、 RAM、 EEPR0M和1/0电路通过数据总线连4矣到所述孩t处理器;
ROM中存储管理芯片的操作信息和操作系统程序;
RAM暂时存储微处理器所处理的数据;
EEPR0M存储用户特定的数据;
其中,
所述EEPROM内有一用于每次写入数据的交换区,该交换区的数据结 构包括交换区控制信息和交换数据区,其中交换控制信息包括交换区数 据有效标志、交换区数据写入次数计数器、交换区数据下一空块地址、 数据写入.目标地址数组、坏块计数器和交换区数据校验码;
所述RAM中有与所述交换区对应并进行数据交换的緩沖区。
本发明还揭示一种向上述智能卡中写入数据的方法,
该方法包括如下步骤
A. 将待写入数据保存到所述RAM的所述緩沖区;
B. 将所述待写入数据从所述緩沖区写入所述交换区;
C. 判断交换区数据的有效性,如果有效,将交换区数据写入到所述 EEPROM的目标地址中,当数据被全部写入到所述EEPROM的目标地址后, 清除所述交换区数据的有效标志;
步骤B进一步包括如下过程
Bl.读取交换区控制信息中的所述交换区数据下一空块地址信息;
B2.从所述交换区数据下一空块地址所指示的空块开始写入所述待 写入数据;
B3.记录本次数据写入的数据源地址、写入目标地址、写入大小三 项信息到数据写入目标地址数组中;
B4.计算交换区控制信息中的所述交换区数据下一空块地址;
B5.交换区数据写入次数计数器加一;
B6.计算出新的数据校验码;
B7.更新交换区控制信息;
B8.将交换区数据有效标志设置为有效。
本发明的智能卡在EEPROM中增设了交换区,待写入数据并非直接从 RAM中写入EEPROM中的目标地址,而是先乂人RAM中写入交换区,如果写 入交换区成功,才进一步擦除EEPROM中的目标地址的原始数据,将交换区内的数据写入目标地址。这样便使数据存储安全性高,能保证每一次
数据写入的完整与准确;另外,由于RAM中设有与交换区对应的緩冲 区,大部分操作可在緩冲区内进行,大大加快运算速度。


图l是智能卡电气部分的结构框图2是图1中EEPROM单元的结构框图3是现有技术中用于更新EEPROM中数据的方法流程图4是本发明向智能卡写入数据的流程图5是图4中过程S3的具体流程图6是图4中过程S5的具体流程以下结合实施例及其附图对本发明作进一步说明。
具体实施例方式
参见图1,该智能卡的电路包括组成卡的电子芯片的微控制器1和使 卡能够与读取/写入终端(图未示)通信的接口 2。该微控制器1主要包 括微处理器10、存储单元20、 30、 40输入输出电路50以及将存储单元 20、 30、 40和输入/输出电路50连接到微处理器10的数据总线60。存 储单元20为只读存储器(ROM),其包含管理芯片或被称作"操作系统" 的计算机程序。存储单元30为随机存取存储器(RAM),其用于暂时存 储微处理器10所处理的数据。存储单元40为EEPROM单元,其用于存储 用户特定的数据,如姓名、密码(PIN)或用户可用货币的总数等。参考 图2,存储单元40特别包括EEPR0M400、用于擦除存储在EEPROM400中 的数据的升压冲莫块410、以及包含以二进制"0"或"1"状态指示擦除 EEPROM400的处理是否已经终止的标志的寄存器420。
接口 2可由适用于与读取/写入终端的相应电气插头接合的电气插 头,和/或通过是用于与所述终端交换无线信号的无线收发机部件所组 成。其中,这样的收发机部件提供"无缝"连接。配备用于无缝连接的 智能卡可被用作例如电子钱包等。用户可以通过让所述卡进入所述终端 所产生的电磁场中而进行入购买物品的交易。
另外,在EEPROM400内专门分配一片用于每次写入数据的交换区; 交换区的数据结构包括交换区控制信息和交换数据区,其中交换控制数 据有交换区数据有效标志、交换区数据写入次数计数器、交换区数据下 一空块地址、数据写入目标地址数组(包括数据源地址、写入目标地址、 写入大小)、坏块计数器、交换区数据校验码;在RAM存储单元中设计与 交换区相对应的緩沖区,大部分中间操作在该緩沖区完成,即可加快速 度,又可减少存储器的操作次数。
参见图4,该方法包括如下步骤
51. 将待写入数据保存到所述RAM的所述緩沖区;
52. 将所述待写入数据从所述緩沖区写入所述交换区;
53. 将数据从交换区写入EEPROM目标地址; 参见图5,步骤S2进一步包括如下过程
521. 读取交换区下一空块地址,即读取交换区控制信息中的所述交 换区数据下 一 空块地址信息;
522. 写入数据到交换区,具体地,是从所述交换区数据下一空块地 址所指示的空块开始写入所述待写入数据;
523. 并记录本次数据写入的数据源地址、写入目标地址、写入大小 三项信息到数据写入目标地址数组中;
524. 计算交换区下一空块地址,即计算交换区控制信息中的所述交 换区数据下一空块地址;
525. 交换区数据写入次数计数器加一;
526. 计算出新的数据校验码;
527. 将交换区数据有效标志设置为有效;
S28.更新交换区控制信息。
参见图6,过程S3具体为判断交换区数据的有效性,如果有效,将 交换区数据写入到所述EEPR0M的目标地址中,当数据被全部写入到所述 EEPR0M的目标地址后,清除所述交换区数据的有效标志。
另外,在数据写入到交换区的过程中,如果产生坏块时,交换区应 该增加坏块计数器,并更换相应的坏块。
权利要求
1、智能卡,包括微控制器;接口,用于使智能卡与读取/写入终端通信;所述微控制器主要包括微处理器、ROM、RAM、EEPROM和I/O电路,ROM、RAM、EEPROM和I/O电路通过数据总线连接到所述微处理器;ROM中存储管理芯片的操作信息和操作系统程序;RAM暂时存储微处理器所处理的数据;EEPROM存储用户特定的数据;其特征在于所述EEPROM内有一用于每次写入数据的交换区,该交换区的数据结构包括交换区控制信息和交换数据区,其中交换控制信息包括交换区数据有效标志、交换区数据写入次数计数器、交换区数据下一空块地址、数据写入目标地址数组和交换区数据校验码;所述交换区数据有效标志用于标识从RAM写入交换区的数据是否有效,如果有效则说明数据成功从RAM写入交换区,否则为写入不成功;所述交换区数据写入次数计数器用于记录从RAM向交换区写入数据的次数;所述交换区数据下一空块地址用于标识交换区内下一个可写入数据的块地址;数据写入目标地址数组包括数据源地址、写入目标地址、写入大小,所述数据源地址为数据在交换区中的地址,写入目标地址为最终写入到EEPROM中的地址;交换区数据校验码用于校验写入交换区内数据的完整性;所述RAM中有与所述交换区对应并进行数据交换的缓冲区。
2、 根据权利要求l所述的智能卡,其特征在于所述交换控制信息还包括坏块计数器;在数据写入到交换区过程中,产生坏块时,所述坏块计数器加一。
3 、向权利要求2所述的智能卡中写入数据的方法, 其特征在于 其包括如下步骤A. 将待写入数据保存到所述RAM的所述緩沖区;B. 将所述待写入数据从所述緩沖区写入所述交换区;C. 判断交换区数据的有效性,如果有效,将交换区数据写入到所述 EEPR0M的目标地址中,当数据^皮全部写入到所述EEPR0M的目标地址后, 清除所述交换区数据的有效标志;步骤B进一步包括如下过程Bl.读取交换区控制信息中的所述交换区数据下一空块地址信息; B2.从所述交换区数据下一空块地址所指示的空块开始写入所述待写 入数据;B3.记录本次数据写入的数据源地址、写入目标地址、写入大小三项 信息到数据写入目标地址数组中;B4.计算交换区控制信息中的所述交换区数据下一空块地址;B5.交换区数据写入次数计数器加一;B6.计算出新的数据校验码;B7.更新交换区控制信息;B8.将交换区数据有效标志设置为有效。
4、根据权利要求3所述的向智能卡中写入数据的方法,其特征在于在数据写入到交换区过程中,产生坏块时,所述坏块计数器加一。
全文摘要
本发明涉及各类IC卡以及向IC卡内写入数据的方法。智能卡,包括微控制器;使智能卡能够与读取/写入终端通信的接口;微控制器包括微处理器、ROM、RAM、EEPROM和I/O电路,ROM、RAM、EEPROM和I/O电路通过数据总线连接到所述微处理器;其中,所述EEPROM内有一用于每次写入数据的交换区,该交换区的数据结构包括交换区控制信息和交换数据区,其中交换控制信息包括交换区数据有效标志、交换区数据写入次数计数器、交换区数据下一空块地址、数据写入目标地址数组、坏块计数器和交换区数据校验码;所述RAM中有与所述交换区对应并进行数据交换的缓冲区。本发明智能卡数据存储安全性高,能保证每一次数据写入的完整与准确。
文档编号G06K19/073GK101197006SQ20071003277
公开日2008年6月11日 申请日期2007年12月19日 优先权日2007年12月19日
发明者王国升, 雷迭生 申请人:东信和平智能卡股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1