CN112965853B - 智能卡的数据存储及校验方法、装置及介质 - Google Patents
智能卡的数据存储及校验方法、装置及介质 Download PDFInfo
- Publication number
- CN112965853B CN112965853B CN202110216835.0A CN202110216835A CN112965853B CN 112965853 B CN112965853 B CN 112965853B CN 202110216835 A CN202110216835 A CN 202110216835A CN 112965853 B CN112965853 B CN 112965853B
- Authority
- CN
- China
- Prior art keywords
- data
- address
- physical
- personalized
- smart card
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种智能卡的数据存储及校验方法、装置及介质的技术方案,包括:根据接收的第一指令调整状态标识符;状态标识符为第一状态时,根据个性化存储区域的数据更改,动态调整底层驱动的物理地址以及映射表的逻辑地址;串联智能卡的数据,生成对应的校验值;根据接收的第二指令执行校验值的测试。本发明的有益效果为:通过对存储的个性化数据进行映射,并将映射的数据生成对应的校验值,只需要对三个存储区域的校验值进行测试,实现了快速的检测。同时由于校验值的计算相对较快,可以做到每张卡生产完成之后立即检测,而不是抽样检测,实现全面覆盖。
Description
技术领域
本发明涉及智能卡及计算机技术领域,特别涉及一种智能卡的数据存储及校验方法、装置及介质。
背景技术
智能卡是一种用于身份识别的计算机系统,内部有处理器、存储器、输入输出接口。其内部存储有特定功能的软件以及用户的个人信息数据。参考图1,将软件和数据写入到卡片中的过程称之为卡个人化,通常包括:预个人化,软件代码(code)下载以及固定数据(data)的下载,在该阶段写入的信息对于同一批次的所有卡片均完全一致。固定数据可以理解为类似文件系统的数据;后个人化,对第一步写入的固定数据进行更改实现用户的个性化数据写入,例如ID,密钥等,在该阶段写入的数据对于不同的卡片则数据不同,例如ID对于每张卡应该保持唯一。
参考图2,个性化数据的写入方法,一般是执行一个事先准备好的脚本模板对上述预个人化的固定数据进行更改。该模板中包含一些写指令,其中指令的待写内容为变量。每次对一张卡操作时,首先将该卡片的个性化数据填入到模板中,形成一个完整的脚本并执行写入操作。例如,写入ICCID的指令为“00D600000A[VAR.ICCID]”,其中“00D600000A”表示更新文件操作,“[VAR.ICCID]”是表示ICCID的一个变量,每次写入时要将其替换为具体的ICCID值。
在个人化工厂的生产制造过程中,一个批次的生产过程往往有成千上万甚至上百万的卡片,由于设备稳定性等因素影响会出现预个人化或者后个人化写入失败或者错误的情况。卡片数据只要有任何一个错误就有可能导致用户在使用中出现问题。为了防止这一类的问题,通常在生产完成后利用特别设计的测试程序对卡片进行相关测试。
对于测试程序来说,生产完成的卡片就是一个黑盒子,为了检查个人化是否正确就需要对其进行测试。整个测试分为三个部分,检查代码是否写入正确,检查固定数据是否写入正确,检查个性化数据是否写入正确。由于代码下载到卡片之后一般位于连续的空间,且其内容不应该有任何变化,所以可以通过计算校验值的方式来检查是否写入正确。问题在于固定数据和个性化数据的检查:由于ID,密钥等个性化数据实际存储的位置正是固定数据的一部分,且每张卡的个性化数据不相同,导致无法对其整体校验。同时,某些个性数据写入卡片之后就不再允许读取,例如密钥。这样结果就是测试程序只能通过设计特别的测试过程,通过检查卡片的运行时表现来确定数据是否正确。测试过程比较耗时,且不可避免影响了卡片的初始状态,导致无法进行全面测试而只能抽样检测。
发明内容
本发明的目的在于至少解决现有技术中存在的技术问题之一,提供了一种智能卡的数据存储及校验方法、装置及介质,能够实现智能卡的全部高效检测。
本发明的技术方案包括一种智能卡的数据存储及校验方法,所述智能卡包括状态标识符、个性化存储区域、映射表、上层模块及底层驱动,其特征在于:根据接收的第一指令调整所述状态标识符;所述状态标识符为第一状态时,根据所述个性化存储区域的数据更改,动态调整所述底层驱动的物理地址以及映射表的逻辑地址;串联所述智能卡的数据,生成对应的校验值;根据接收的第二指令执行校验值的测试。
根据所述的智能卡的数据存储及校验方法,其特征在于,其中第一指令调整用于将所述状态标识符变更为可以执行后个人化状态,其中状态标识符包括0和1,1为可以执行后个人化状态,0为未执行后个人化状态或已完成数据存储及校验。
根据所述的智能卡的数据存储及校验方法,其特征在于,其中数据包括个性化数据、代码数据及固定数据,所述个性化数据存储于个性化存储区域,所述个性化存储区域为物理地址。
根据所述的智能卡的数据存储及校验方法,其特征在于,其中映射表用于存储所述逻辑地址,以及,存储所述物理地址与所述逻辑地址的关联关系。
根据所述的智能卡的数据存储及校验方法,其特征在于,其中状态标识符为第一状态时,根据所述个性化存储区域的数据更改,动态调整所述底层驱动的物理地址以及映射表的逻辑地址包括:在所述映射表中追加表项,所述表项包括逻辑起始地址、逻辑结束地址、物理起始地址及物理结束地址,其中逻辑起始地址及逻辑结束地址为所述上层模块期望写入的数据位置,所述物理起始地址及所述物理结束地址为实际数据存放的位置。
根据所述的智能卡的数据存储及校验方法,其特征在于,其中物理起始地址的确定方法为:若所述映射表为空,则所述物理起始地址为所述个性化存储区域的起始地址,否则物理起始地址递增,所述物理结束地址的值为:物理起始地址+(逻辑起始地址-逻辑结束地址);以及,将实际数据保存于所述物理起始地址、所述物理结束地址所表示的区域。
根据所述的智能卡的数据存储及校验方法,其特征在于,其中数据更改还包括对于底层驱的读操作,具体地,若所述上层模块读取的目标地址位于所述映射表任一项所表示的区域,则从对应所述物理起始地址、所述物理结束地址的区域中进行读取。
根据所述的智能卡的数据存储及校验方法,其特征在于,其中串联所述智能卡的数据,生成对应的校验值包括:将存储于所述智能卡的个性化数据、代码数据及固定数据依照写入顺序进行串联,其中所述代码数据及所述固定数据为固定写入数据,可以在写入前计算其校验值,其中校验值通过CRC32或SHA1算法计算得到。
根据所述的智能卡的数据存储及校验方法,其特征在于,其中根据接收的第二指令执行校验值的测试包括:将所述个性化数据、所述代码数据及所述固定数据的校验值与校验数据进行对比计算。
本发明的技术方案还包括一种智能卡的数据存储及校验装置,该装置包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现任一所述的方法步骤。
本发明的技术方案还包括一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现任一所述的方法步骤。
本发明的有益效果为:通过对存储的个性化数据进行映射,并将映射的数据生成对应的校验值,只需要对三个存储区域的校验值进行测试,实现了快速的检测。同时由于校验值的计算相对较快,可以做到每张卡生产完成之后立即检测,而不是抽样检测,覆盖面为100%。
附图说明
下面结合附图和实施例对本发明进一步地说明;
图1所示为个人化流程图;
图2所示为个人化数据写入示意图;
图3所示为根据本发明实施方式的流程示意图;
图4所示为根据本发明实施方式的数据变更的映射示意图;
图5所示为根据本发明实施方式的装置示意图。
具体实施方式
本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
在本发明的描述中,对方法步骤的连续标号是为了方便审查和理解,结合本发明的整体技术方案以及各个步骤之间的逻辑关系,调整步骤之间的实施顺序并不会影响本发明技术方案所达到的技术效果。
本发明的描述中,除非另有明确的限定,设置等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
参照图3及图4,首先图3为本发明的流程示意图,包括:根据接收的第一指令调整状态标识符;状态标识符为第一状态时,根据个性化存储区域的数据更改,动态调整底层驱动的物理地址以及映射表的逻辑地址;串联智能卡的数据,生成对应的校验值;根据接收的第二指令执行校验值的测试。
参考图4,对于第一指令调整状态标识符,本发明的实施方式通过增加一条指令用于表明“后个人化开始”,同时卡内保存一个状态标记,初始为0。当“后个人化开始”之后该状态值为1,表示卡片处于“后个人化”状态。增加新的个性化数据存储区域“vdata”,用于存储所有的个性化数据,即该区域为数据的物理存放位置。增加“vdata”区的校验指令用于获取该区域数据的校验值。卡片内部记录一个映射表“map”。用于记录数据的物理地址与逻辑地址之间的映射关系。将卡内软件定义为“上层模块”和“底层驱动”两层,该两层之间定义数据的读写接口“read”、“write”。
当卡片处于“后个人化”状态时,对于“上层模块”任意一个更改“data”区的动作,“底层驱动”对“map”表做如下处理:
(1)追加第n个表项(假设已经有n-1项),内容为“逻辑起始地址”(Lstart_n)、“逻辑结束地址”(Lend_n)、“物理起始地址”(Pstart_n)、“物理结束地址”(Pend_n)。其中Lstart_n、Lend_n表示“上层模块”期望写入的数据位置,Pstart_n、Pend_n表示实际数据存放的位置。Pstart_n、Pend_n的取值由下述方法确定。
(2)Pstart_n的确定方法是,若“map”表为空,则Pstart_n=‘vdata起始地址’;否则Pstart_n=Pend_n-1+1。Pend_n的值为Pstart_n+(Lend_n-Lstart_n)。
(3)将实际数据保存在Pstart_n、Pend_n所表示的区域。
同时,对于‘底层驱动’的‘read’操作,若发现‘上层模块’读取的目标地址位于‘map’表中的某一项[Lstart_x,Lend_x]所表示的区域,则从对应的[Pstart_x,Pend_x]读取。
本发明的实施方式还包括测试方案,具体如下:
测试程序事先将一张卡的所有个性数据串联,串联顺序为写入卡片的顺序,然后计算其校验值“verify-vdata”(个性化数据校验值)。另外“code”(代码数据)及“data”(固定数据)区在写入之后不再发生变化,也可以事先计算得到校验值“verify-code”(代码数据校验值)和“verify-data”(固定数据校验值)。
在卡片个人化步骤完成之后,通过指令分别获取卡片上“code”,“data”,“vdata”区的校验值,并与测试程序的计算结果相对比,如果全部相同则测试通过。
由于code、data、vdata区的地址和大小是已知的,可以使用类似CRC32或者SHA1算法计算数据的校验值,这类算法的特点是输入数据可以是任意长度,输出结果为固定长度。且当输入数据有任何微小变化时,输出结果也会不同,能够准确确定智能卡的数据是否发生变化,一种实施方式如下所示:
Verify-code=CRC32(code);
Verify-data=CRC32(data);
Verify-vdata=CRC32(vdata)。
图5所示为根据本发明实施方式的装置示意图。装置包括存储器100及处理器200,其中处理器200存储有计算机程序,计算机程序用于执行:根据接收的第一指令调整状态标识符;状态标识符为第一状态时,根据个性化存储区域的数据更改,动态调整底层驱动的物理地址以及映射表的逻辑地址;串联智能卡的数据,生成对应的校验值;根据接收的第二指令执行校验值的测试。其中,存储器100用于存储数据。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (9)
1.一种智能卡的数据存储及校验方法,所述智能卡包括状态标识符、个性化存储区域、映射表、上层模块及底层驱动,其特征在于:
根据接收的第一指令调整所述状态标识符;
所述状态标识符为第一状态时,根据所述个性化存储区域的数据更改,动态调整所述底层驱动的物理地址以及映射表的逻辑地址;
串联所述智能卡的数据,生成对应的校验值;
根据接收的第二指令执行校验值的测试;
其中,所述状态标识符为第一状态时,根据所述个性化存储区域的数据更改,动态调整所述底层驱动的物理地址以及映射表的逻辑地址包括:
在所述映射表中追加表项,所述表项包括逻辑起始地址、逻辑结束地址、物理起始地址及物理结束地址,其中逻辑起始地址及逻辑结束地址为所述上层模块期望写入的数据位置,所述物理起始地址及所述物理结束地址为实际数据存放的位置;
所述串联所述智能卡的数据,生成对应的校验值包括:
将存储于所述智能卡的个性化数据、代码数据及固定数据依照写入顺序进行串联,其中所述代码数据及所述固定数据为固定写入数据,可以在写入前计算其校验值,其中校验值通过CRC32或SHA1算法计算得到。
2.根据权利要求1所述的智能卡的数据存储及校验方法,其特征在于,所述第一指令调整用于将所述状态标识符变更为可以执行后个人化状态,其中状态标识符包括0和1,1为可以执行后个人化状态,0为未执行后个人化状态或已完成数据存储及校验。
3.根据权利要求1所述的智能卡的数据存储及校验方法,其特征在于,所述数据包括个性化数据、代码数据及固定数据,所述个性化数据存储于个性化存储区域,所述个性化存储区域为物理地址。
4.根据权利要求1所述的智能卡的数据存储及校验方法,其特征在于,所述映射表用于存储所述逻辑地址,以及,存储所述物理地址与所述逻辑地址的关联关系。
5.根据权利要求1所述的智能卡的数据存储及校验方法,其特征在于,所述物理起始地址的确定方法为:
若所述映射表为空,则所述物理起始地址为所述个性化存储区域的起始地址,否则物理起始地址递增,所述物理结束地址的值为:
物理起始地址+(逻辑起始地址-逻辑结束地址);
以及,将实际数据保存于所述物理起始地址、所述物理结束地址所表示的区域。
6.根据权利要求1所述的智能卡的数据存储及校验方法,其特征在于,所述数据更改还包括对于底层驱的读操作,具体地,若所述上层模块读取的目标地址位于所述映射表任一项所表示的区域,则从对应所述物理起始地址、所述物理结束地址的区域中进行读取。
7.根据权利要求1所述的智能卡的数据存储及校验方法,其特征在于,所述根据接收的第二指令执行校验值的测试包括:
将所述个性化数据、所述代码数据及所述固定数据的校验值与校验数据进行对比计算。
8.一种智能卡的数据存储及校验装置,该装置包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-7任一所述的方法步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110216835.0A CN112965853B (zh) | 2021-02-26 | 2021-02-26 | 智能卡的数据存储及校验方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110216835.0A CN112965853B (zh) | 2021-02-26 | 2021-02-26 | 智能卡的数据存储及校验方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112965853A CN112965853A (zh) | 2021-06-15 |
CN112965853B true CN112965853B (zh) | 2022-10-04 |
Family
ID=76275985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110216835.0A Active CN112965853B (zh) | 2021-02-26 | 2021-02-26 | 智能卡的数据存储及校验方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112965853B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117391099B (zh) * | 2023-12-12 | 2024-05-17 | 星汉智能科技股份有限公司 | 智能卡的数据下载及校验方法及其系统、存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018054537A1 (en) * | 2016-09-24 | 2018-03-29 | Giesecke+Devrient Mobile Security Gmbh | Method and system for downloading operating systems on smart cards having low random access memory |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020054513A1 (en) * | 2000-09-14 | 2002-05-09 | Yan-Shun Kao | Method for program revise of an IC smartcard system |
US6729549B2 (en) * | 2000-12-19 | 2004-05-04 | International Business Machines Corporation | System and method for personalization of smart cards |
CN101105774B (zh) * | 2006-10-26 | 2010-08-11 | 福昭科技(深圳)有限公司 | 闪存记忆体在进行数据存取时的逻辑与物理地址转换方法 |
CN101556541B (zh) * | 2009-05-14 | 2012-11-21 | 北京握奇数据系统有限公司 | 制作智能卡的方法、装置、母卡及系统 |
CN102156828A (zh) * | 2011-01-25 | 2011-08-17 | 北京握奇数据系统有限公司 | 一种智能卡数据存、取过程中的校验方法及智能卡 |
DE102015207745A1 (de) * | 2015-04-28 | 2016-11-03 | Bundesdruckerei Gmbh | Verfahren zur Prüfung einer integrierten Schaltung, Dokument, Prüfsystem und Personalisierungsvorrichtung |
TWI531963B (zh) * | 2015-06-04 | 2016-05-01 | Accelstor Inc | Data storage systems and their specific instruction enforcement methods |
CN105337995B (zh) * | 2015-11-29 | 2019-06-21 | 恒宝股份有限公司 | 一种智能卡快速个人化方法及系统 |
-
2021
- 2021-02-26 CN CN202110216835.0A patent/CN112965853B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018054537A1 (en) * | 2016-09-24 | 2018-03-29 | Giesecke+Devrient Mobile Security Gmbh | Method and system for downloading operating systems on smart cards having low random access memory |
Also Published As
Publication number | Publication date |
---|---|
CN112965853A (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7921339B2 (en) | Flash storage device with data correction function | |
CN111241061B (zh) | 状态数据库的写入方法、数据处理装置及存储介质 | |
CN102163155A (zh) | 存储设备的升级方法及升级控制装置 | |
US9620227B1 (en) | Characterizing and operating a non-volatile memory device | |
CN110502881B (zh) | 动态修改安卓系统只读属性的方法、系统及存储介质 | |
CN107861832B (zh) | 数据验证方法、装置及可读存储介质 | |
CN107301070A (zh) | 一种升级方法及终端 | |
US11379024B2 (en) | Systems and methods capable of bypassing non-volatile memory when storing firmware in execution memory | |
CN112965853B (zh) | 智能卡的数据存储及校验方法、装置及介质 | |
CN111104246A (zh) | 提升dram的错误检测与纠错的验证效率的方法、装置、计算机设备及存储介质 | |
CN107977222A (zh) | 适用于eMMC的升级文件的转换、生成方法及装置 | |
US20060129520A1 (en) | System and method for automatically updating a program in a computer | |
US7814334B2 (en) | Method and apparatus for changing and adding activation keys for functions of digital content without having to change and recompile the digital content | |
CN113238790A (zh) | 基于sd卡和eeprom的固件程序更新方法及系统 | |
CN107168650B (zh) | 一种对bios的存储器中的数据的处理方法及装置 | |
CN115659883A (zh) | 用于存储器控制器的验证装置、验证方法、存储介质及芯片 | |
CN106971757A (zh) | 一种检验Nand Flash质量的方法及系统 | |
CN109271399A (zh) | 一种数据库写入日志一致性的校验方法 | |
CN107908500A (zh) | 一种坏块识别方法及装置 | |
CN114817218A (zh) | 一种数据校验方法、系统及电子装置、可读存储介质 | |
CN112463042A (zh) | 一种数据卷导入数据校验方法、装置、终端及存储介质 | |
US5146458A (en) | Data transfer checking system | |
CN112463633A (zh) | 一种片上存储器的地址译码校验方法、装置、设备及介质 | |
CN111159123A (zh) | 一种嵌入式可靠参数储存文件系统及方法 | |
US9880831B2 (en) | Field firmware upgrading method and computer-readable medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |