CN102394743B - 实现Java卡个人化的方法及装置 - Google Patents

实现Java卡个人化的方法及装置 Download PDF

Info

Publication number
CN102394743B
CN102394743B CN201110228215.5A CN201110228215A CN102394743B CN 102394743 B CN102394743 B CN 102394743B CN 201110228215 A CN201110228215 A CN 201110228215A CN 102394743 B CN102394743 B CN 102394743B
Authority
CN
China
Prior art keywords
master key
value
escape way
card
individualized
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
Application number
CN201110228215.5A
Other languages
English (en)
Other versions
CN102394743A (zh
Inventor
朱文玄
沈恺
王琴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Tianyu Information Industry Co Ltd
Original Assignee
Wuhan Tianyu Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Tianyu Information Industry Co Ltd filed Critical Wuhan Tianyu Information Industry Co Ltd
Priority to CN201110228215.5A priority Critical patent/CN102394743B/zh
Publication of CN102394743A publication Critical patent/CN102394743A/zh
Application granted granted Critical
Publication of CN102394743B publication Critical patent/CN102394743B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开一种实现Java卡个人化的方法,包括以下步骤:新增临时个人化主密钥步骤,新增一个与发卡行设置的个人化主密钥存在关联关系的临时个人化主密钥;密钥参数修改步骤,将密钥派生数据值和卡片商预置的个人化主密钥值修改为发卡行设置的值;安全通道建立步骤,下一次为本卡建立安全通道时,在使用卡片商预置的个人化主密钥建立安全通道失败的情况下,指定使用所述临时个人化主密钥建立安全通道。本发明还公开了一种实现Java卡个人化的装置。本发明可在修改KEYDATA和KMC的过程中即使出现异常中止的情况也能保障这两个数据之间的关联性,避免卡片在个人化过程中异常终止而造成的卡片报废问题。

Description

实现Java卡个人化的方法及装置
技术领域
本发明涉及智能IC卡应用领域,尤其涉及一种实现Java卡个人化的方法及装置。
背景技术
一卡多用是随着智能IC卡应用领域拓展而产生的技术要求,Java卡日益成为一卡多用芯片卡的主流选择,而全球平台(Global Platform,GP)规范是当前Java卡所遵循的一个卡管理规范。
依据GP规范,在管理卡片内容之前必须在Java卡上建立起安全通道以进行实体的双向认证并保证此后数据传输的完整性和机密性。在建立安全通道时,涉及到Java卡上的两个关键数据元:密钥派生数据(KEYDATA)和个人化主密钥(KMC)。这两个数据元之间是有关联关系的:Java卡的个人化主密钥(KMC)是由发卡行主密钥对密钥派生数据(KEYDATA)分散后的结果。
根据GP规范,建立安全通道时发卡行会在INITIALIZE UPDATE指令中指明使用哪个版本的KMC;卡片在INITIALIZE UPDATE指令的响应数据中会包含KEYDATA值和用指定的KMC对指定的数据计算出的卡片密文。收到卡片的响应数据后,发卡行会用主密钥对KEYDATA值分散得到一个密钥,并用这个密钥来验证卡片密文。从这个过程中可以看出,如果卡片内的KEYDATA和KMC失去了一致性的关联关系,发卡行验证卡片密文就会败,安全通道也不能成功建立。
根据GP规范,卡片用STORE DATA指令修改KEYDATA的值必须保证原子性操作,即要么没有修改,要么全部修改,不会出现只修改了一部份数据的现象。
根据GP规范,卡片用PUT KEY指令修改KMC的值必须保证原子性操作,即要么没有修改,要么全部修改,不会出现只修改了一部份数据的现象。
卡片商在Java卡的预个人化过程中会预置KEYDATA和KMC的缺省值,而发卡行在个人化的过程中会将KEYDATA和KMC的值替换为发卡行设置的值。依据GP规范,KEYDATA通过STORE DATA指令来修改,KMC通过PUT KEY指令来修改。Java卡的个人化流程一般如下:
●个人化开始
●在Java卡上建立安全通道,如果不成功则中止个人化流程。
●(与本发明无关的一些个人化操作)
●用STORE DATA指令将KEYDATA的值修改为发卡行设置的值。
●用PUT KEY指令将KMC的值修改为发卡行设置的值。
●(与本发明无关的一些个人化操作)
●个人化结束
在这个流程中,如果在使用STORE DATA指令修改KEYDATA的值和使用PUT KEY指令修改KMC的值之间出现异常情况中止了个人化流程,就会造成Java卡中的KEYDATA和KMC失去了关联性,以致后续不能在卡上建立起安全通道,从而造成卡片的报废。
发明内容
本发明所要解决的技术问题是:提供一种实现Java卡个人化的方法,该方法可在修改KEYDATA和KMC的过程中即使出现异常中止的情况也能保障这两个数据之间的关联性,避免卡片在个人化过程中异常终止而造成的卡片报废问题。
本发明进一步所要解决的技术问题是:提供一种实现Java卡个人化的装置,该装置可在修改KEYDATA和KMC的过程中即使出现异常中止的情况也能保障这两个数据之间的关联性,避免卡片在个人化过程中异常终止而造成的卡片报废问题。
为解决上述技术问题,本发明采用如下技术方案:
一种实现Java卡个人化的方法,包括以下步骤:
新增临时个人化主密钥步骤,新增一个与发卡行设置的个人化主密钥存在关联关系的临时个人化主密钥;
密钥参数修改步骤,将密钥派生数据值和卡片商预置的个人化主密钥值修改为发卡行设置的值;
安全通道建立步骤,下一次为本卡建立安全通道时,在使用卡片商预置的个人化主密钥建立安全通道失败的情况下,指定使用所述临时个人化主密钥建立安全通道。
其中,所述安全通道建立步骤包括有:
第一安全通道建立步骤,指定使用卡片商预置的个人化主密钥建立安全通道;若成功,则进入安全通道建立状态,否则,执行下述第二安全通道建立步骤;
第二安全通道建立步骤,指定使用所述临时个人化主密钥建立安全通道;若成功,则进入安全通道建立状态,否则,失败中止。
其中,所述密钥参数修改步骤包括有:
密钥派生数据值修改步骤,使用STORE DATA指令修改密钥派生数据值,将其值从卡片商预置的值修改为发卡行设置的值;
个人化主密钥值修改步骤,使用PUT KEY指令修改个人化主密钥值,将其值从卡片商预置的值修改为发卡行设置的值。
优选地,在所述个人化主密钥值修改步骤之后还包括有:
删除临时个人化主密钥步骤,使用DELETE指令删除所述新增的临时个人化主密钥。
优选地,在所述新增临时个人化主密钥步骤中,使用PUT KEY指令新增所述临时个人化主密钥,且所述临时个人化主密钥值与所述发卡行设置的个人化主密钥值相同。
相应地,本发明还公开了一种实现Java卡个人化的装置,该装置包括有:
新增临时个人化主密钥单元,用于新增一个与发卡行设置的个人化主密钥存在关联关系的临时个人化主密钥;
密钥参数修改单元,用于将密钥派生数据值和卡片商预置的个人化主密钥值修改为发卡行设置的值;
安全通道建立单元,用于下一次为本卡建立安全通道时,在使用卡片商预置的个人化主密钥建立安全通道失败的情况下,指定使用所述临时个人化主密钥建立安全通道。
其中,所述安全通道建立单元包括有:
第一安全通道建立单元,用于指定使用卡片商预置的个人化主密钥建立安全通道;若成功,则进入安全通道建立状态,否则,启动下述第二安全通道建立单元;
第二安全通道建立单元,用于指定使用所述临时个人化主密钥建立安全通道;若成功,则进入安全通道建立状态,否则,失败中止。
其中,所述密钥参数修改单元包括有:
密钥派生数据值修改单元,用于使用STORE DATA指令更改密钥派生数据值,将其值从卡片商预置的值修改为发卡行设置的值;
个人化主密钥值修改单元,用于使用PUT KEY指令修改个人化主密钥值,将其值从卡片商预置的值修改为发卡行设置的值。
优选地,所述个人化主密钥值修改单元还连接有:
删除临时个人化主密钥单元,用于使用DELETE指令删除新增的临时个人化主密钥。
优选地,所述新增临时个人化主密钥单元使用PUT KEY指令新增所述临时个人化主密钥,且所述临时个人化主密钥值与所述发卡行设置的个人化主密钥值相同。
本发明的有益效果是:
本发明的实施例通过新增一个临时的KMC并在建立安全通道时尝试两个KMC的流程,从而在完全遵循当前Java卡规范的基础上避免了Java卡个人化过程中异常中止后卡片报废的问题。
下面结合附图对本发明作进一步的详细描述。
附图说明
图1是本发明的实现Java卡个人化的方法一个实施例的方法流程图。
图2是本发明的实现Java卡个人化的装置一个实施例的组成结构图。
具体实施方式
下面参考图1详细描述本发明的实现Java卡个人化的方法的一个实施例;如图所示,其中KEYDATA0代表卡片商预置的KEYDATA值,KMC0代表卡片商预置的KMC值;KEYDATA1代表发卡行设置的KEYDATA值,KMC1代表发卡行设置的KMC值。本实施例实现一次Java卡个人化主要包括以下流程:
在新增临时个人化主密钥步骤S1中,新增一个临时个人化主密钥,新增KMC的值与发卡行设置的KEYDATA值之间存在关联关系;
在密钥参数修改步骤S2中,将密钥派生数据值和卡片商预置的个人化主密钥值修改为发卡行设置的值;
在安全通道建立步骤S3中,在使用卡片商预置的个人化主密钥建立安全通道失败的情况下,指定使用所述临时个人化主密钥建立安全通道。
作为本实施例的一个实现方式,在所述新增临时个人化主密钥步骤S1中,使用PUT KEY指令新增所述临时个人化主密钥,且所述临时个人化主密钥值与所述发卡行设置的个人化主密钥值相同。
具体实现时,所述安全通道建立步骤S3可具体包括有:
第一安全通道建立步骤S31,指定使用卡片商预置的个人化主密钥建立安全通道;若成功,则进入安全通道建立状态,否则,执行下述第二安全通道建立步骤;
第二安全通道建立步骤S32,指定使用所述临时个人化主密钥建立安全通道;若成功,则进入安全通道建立状态,否则,失败中止。
所述密钥参数修改步骤S2包括有:
密钥派生数据值修改步骤S21,使用STORE DATA指令修改密钥派生数据值,将其值从卡片商预置的值修改为发卡行设置的值;
个人化主密钥值修改步骤S22,使用PUT KEY指令修改个人化主密钥值,将其值从卡片商预置的值修改为发卡行设置的值。
另外,为了使个人化操作后卡内最终数据与现有技术等效考虑,在所述个人化主密钥值修改步骤S22之后还可包括:
在删除临时个人化主密钥步骤S4中,使用DELETE指令删除所述新增的临时个人化主密钥。
下面参考图2详细描述本发明的实现Java卡个人化的装置的一个实施例;如图所示,本实施例主要包括有:
新增临时个人化主密钥单元1,用于新增一个临时个人化主密钥,新增KMC的值与发卡行设置的KEYDATA值之间存在关联关系;
密钥参数修改单元2,用于将密钥派生数据值和卡片商预置的个人化主密钥值修改为发卡行设置的值;
安全通道建立单元3,用于在使用卡片商预置的个人化主密钥建立安全通道失败的情况下,指定使用所述临时个人化主密钥建立安全通道。
作为本实施例的一个实现方式,所述新增临时个人化主密钥单元1使用PUT KEY指令新增所述临时个人化主密钥,且所述临时个人化主密钥值与所述发卡行设置的个人化主密钥值相同。
具体实现时,所述安全通道建立单元3可具体包括有:
第一安全通道建立单元31,用于指定使用卡片商预置的个人化主密钥建立安全通道;若成功,则进入安全通道建立状态,否则,启动下述第二安全通道建立单元22;
第二安全通道建立单元32,用于指定使用所述临时个人化主密钥建立安全通道;若建立成功,则进入安全通道建立状态,否则,失败中止。
所述密钥参数修改单元2可具体包括有:
密钥派生数据值修改单元21,用于使用STORE DATA指令更改密钥派生数据值,将其值从卡片商预置的值修改为发卡行设置的值;
个人化主密钥值修改单元22,用于使用PUT KEY指令修改个人化主密钥值,将其值从卡片商预置的值修改为发卡行设置的值。
另外,为了使个人化操作后卡内最终数据与现有技术等效考虑,所述个人化主密钥值修改单元22还连接有:
删除临时个人化主密钥单元4,用于使用DELETE指令删除新增的临时个人化主密钥。
与现有技术相比,本发明有如下优点:基于新增的一个临时KMC并在建立安全通道时尝试使用两个KMC的流程,实现了Java卡在个人化过程中异常中止后仍可以建立安全通道的方法,解决了个人化过程中异常中止造成的废卡问题。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (10)

1.一种实现Java卡个人化的方法,其特征在于,该方法包括以下步骤:
新增临时个人化主密钥步骤,新增一个与发卡行设置的个人化主密钥存在关联关系的临时个人化主密钥;
密钥参数修改步骤,将密钥派生数据值和卡片商预置的个人化主密钥值修改为发卡行设置的值;
安全通道建立步骤,下一次为本卡建立安全通道时,在使用卡片商预置的个人化主密钥建立安全通道失败的情况下,指定使用所述临时个人化主密钥建立安全通道。
2.如权利要求1所述的实现Java卡个人化的方法,其特征在于,所述安全通道建立步骤包括有:
第一安全通道建立步骤,指定使用卡片商预置的个人化主密钥建立安全通道;若成功,则进入安全通道建立状态,否则,执行下述第二安全通道建立步骤;
第二安全通道建立步骤,指定使用所述临时个人化主密钥建立安全通道;若成功,则进入安全通道建立状态,否则,失败中止。
3.如权利要求2所述的实现Java卡个人化的方法,其特征在于,所述密钥参数修改步骤包括有:
密钥派生数据值修改步骤,使用STORE DATA指令修改密钥派生数据值,将其值从卡片商预置的值修改为发卡行设置的值;
个人化主密钥值修改步骤,使用PUT KEY指令修改个人化主密钥值,将其值从卡片商预置的值修改为发卡行设置的值。
4.如权利要求3所述的实现Java卡个人化的方法,其特征在于,在所述个人化主密钥值修改步骤之后还包括有:
删除临时个人化主密钥步骤,使用DELETE指令删除所述新增的临时个人化主密钥。
5.如权利要求1-4中任一项所述的实现Java卡个人化的方法,其特征在于,在所述新增临时个人化主密钥步骤中,使用PUT KEY指令新增所述临时个人化主密钥,且所述临时个人化主密钥值与所述发卡行设置的个人化主密钥值相同。
6.一种实现Java卡个人化的装置,其特征在于,该装置包括有:
新增临时个人化主密钥单元,用于新增一个与发卡行设置的个人化主密钥存在关联关系的临时个人化主密钥;
密钥参数修改单元,用于将密钥派生数据值和卡片商预置的个人化主密钥值修改为发卡行设置的值;
安全通道建立单元,用于下一次为本卡建立安全通道时,在使用卡片商预置的个人化主密钥建立安全通道失败的情况下,指定使用所述临时个人化主密钥建立安全通道。
7.如权利要求6所述的实现Java卡个人化的装置,其特征在于,所述安全通道建立单元包括有:
第一安全通道建立单元,用于指定使用卡片商预置的个人化主密钥建立安全通道;若成功,则进入安全通道建立状态,否则,启动下述第二安全通道建立单元;
第二安全通道建立单元,用于指定使用所述临时个人化主密钥建立安全通道;若成功,则进入安全通道建立状态,否则,失败中止。
8.如权利要求7所述的实现Java卡个人化的装置,其特征在于,所述密钥参数修改单元包括有:
密钥派生数据值修改单元,用于使用STORE DATA指令更改密钥派生数据值,将其值从卡片商预置的值修改为发卡行设置的值;
个人化主密钥值修改单元,用于使用PUT KEY指令修改个人化主密钥值,将其值从卡片商预置的值修改为发卡行设置的值。
9.如权利要求8所述的实现Java卡个人化的装置,其特征在于,所述个人化主密钥值修改单元还连接有:
删除临时个人化主密钥单元,用于使用DELETE指令删除新增的临时个人化主密钥。
10.如权利要求6-9中任一项所述的实现Java卡个人化的装置,其特征在于,所述新增临时个人化主密钥单元使用PUT KEY指令新增所述临时个人化主密钥,且所述临时个人化主密钥值与所述发卡行设置的个人化主密钥值相同。
CN201110228215.5A 2011-08-10 2011-08-10 实现Java卡个人化的方法及装置 Active CN102394743B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110228215.5A CN102394743B (zh) 2011-08-10 2011-08-10 实现Java卡个人化的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110228215.5A CN102394743B (zh) 2011-08-10 2011-08-10 实现Java卡个人化的方法及装置

Publications (2)

Publication Number Publication Date
CN102394743A CN102394743A (zh) 2012-03-28
CN102394743B true CN102394743B (zh) 2014-04-09

Family

ID=45861952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110228215.5A Active CN102394743B (zh) 2011-08-10 2011-08-10 实现Java卡个人化的方法及装置

Country Status (1)

Country Link
CN (1) CN102394743B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103903022B (zh) * 2012-12-28 2017-06-20 北京握奇数据系统有限公司 一种支持多套个人化数据的智能卡应用实现方法及系统
CN106228090B (zh) * 2016-07-28 2019-02-05 飞天诚信科技股份有限公司 一种多主安全域Java智能卡及其实现方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201600746U (zh) * 2010-02-23 2010-10-06 中国工商银行股份有限公司 一种基于银行智能卡的充值及支付设备
CN101866463A (zh) * 2009-04-14 2010-10-20 中兴通讯股份有限公司 一种eNFC终端、eNFC智能卡及其通信方法
CN102088349A (zh) * 2010-12-27 2011-06-08 深圳市安捷信联科技有限公司 一种智能卡个人化的方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101866463A (zh) * 2009-04-14 2010-10-20 中兴通讯股份有限公司 一种eNFC终端、eNFC智能卡及其通信方法
CN201600746U (zh) * 2010-02-23 2010-10-06 中国工商银行股份有限公司 一种基于银行智能卡的充值及支付设备
CN102088349A (zh) * 2010-12-27 2011-06-08 深圳市安捷信联科技有限公司 一种智能卡个人化的方法及系统

Also Published As

Publication number Publication date
CN102394743A (zh) 2012-03-28

Similar Documents

Publication Publication Date Title
US11601273B2 (en) Systems, methods, and computer program products for interfacing multiple service provider trusted service managers and secure elements
US10114976B2 (en) Systems, methods, and computer program products for interfacing multiple service provider trusted service managers and secure elements
DE112014006112T5 (de) Applet-Migration in einem sicheren Element
CN101739756B (zh) 一种智能卡密钥的生成方法
EP2568654B1 (en) Method for accessing to radio frequency communication with low-frequency electromagnetic communication
CN104216761A (zh) 一种在能够运行两种操作系统的装置中使用共享设备的方法
CN105701427A (zh) 一种智能卡写入数据的方法及装置
CN102394743B (zh) 实现Java卡个人化的方法及装置
CN102033771B (zh) 一种在Java Card中应用补丁程序的方法及装置
CN104270754A (zh) 一种用户识别卡鉴权方法和装置
CN103678972A (zh) 一种权限控制系统及方法
CN103309758B (zh) 一种卡应用下载的方法、系统和装置
CN101742479A (zh) 一种智能卡从安全域密钥更新分发方法、系统及移动终端
AU2016203535B2 (en) Systems, methods, and computer program products for managing secure elements
CN104301531A (zh) 移动终端控制方法及移动终端
EP2584755A1 (en) Method of sending a command to a secure element
CN107111729A (zh) 通信卡网银key及其工作方法
CN105488664A (zh) 一种基于透明计算的支付方法
CN107577969A (zh) 一种智能卡及其个人化方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant