CN108923934B - 一种管理卡片生命周期的实现方法及装置 - Google Patents
一种管理卡片生命周期的实现方法及装置 Download PDFInfo
- Publication number
- CN108923934B CN108923934B CN201810864420.2A CN201810864420A CN108923934B CN 108923934 B CN108923934 B CN 108923934B CN 201810864420 A CN201810864420 A CN 201810864420A CN 108923934 B CN108923934 B CN 108923934B
- Authority
- CN
- China
- Prior art keywords
- card
- state
- terminal
- module
- value
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
- H04L9/3273—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/409—Device specific authentication in transaction processing
- G06Q20/4097—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
- G06Q20/40975—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种管理卡片生命周期的实现方法及装置,涉及智能卡领域。方法包括:卡片接收终端发来的指令后判断指令类型,若是建立安全通道指令,生成第一会话密钥和第一加密值,并将第一加密值发送至终端进行验证;若是外部认证指令,使用第一会话密钥对生成的第二终端认证报文校验值和外部认证指令加密生成第二外部认证校验值,判断第二外部认证校验值是否正确,是则向终端返回外部认证成功响应,否则向终端返回错误信息;若是切换卡片状态指令,获取目标状态码,根据目标状态码将卡片当前状态切换至目标卡片状态,向终端返回切换卡片状态成功响应;采用本发明提供的方法,使得卡片后续的生命周期管理更加安全,同时提高卡片交易的安全性。
Description
技术领域
本发明涉及智能卡领域,尤其涉及一种管理卡片生命周期的实现方法及装置。
背景技术
当前,智能卡已经广泛应用于银行、电信、交通、公共安全等社会各领域,得到了快速地发展,卡片生命周期成了关键技术之一。卡片生命周期一般是指全球平台卡上的卡片内容及卡片存在的各个阶段。在现有技术中,卡片和终端均产生一串随机数发给对方进行校验,双方校验成功后才可执行卡片生命周期管理,一旦卡片受到攻击,随机数被窃取,卡片后续的生命周期管理就变得不安全,存有很大的安全隐患。
发明内容
为解决现有技术中存在的问题,本发明提出了一种管理卡片生命周期的实现方法及装置。
一种管理卡片生命周期的实现方法,包括:
步骤S0、卡片接收终端发来的指令后获取卡片当前状态,判断卡片当前状态是否能执行指令,是则执行步骤S1;否则向终端返回错误信息;
步骤S1、卡片判断指令类型,若是建立安全通道指令,执行步骤S2;若是外部认证指令,执行步骤S3;若是切换卡片状态指令,执行步骤S5;
步骤S2、卡片生成卡片随机数并保存,根据卡片随机数、第一预置数据和第二预置数据得到第一会话密钥,根据第一会话密钥得到第一加密值,并将第一加密值发送至终端进行验证,返回步骤S0;
步骤S3、卡片根据自身保存的卡片随机数和第一预置数据得到第二终端认证报文校验值,使用第一会话密钥对第二终端认证报文校验值和外部认证指令进行加密,生成第二外部认证校验值,执行步骤S4;
步骤S4、卡片判断第二外部认证校验值与外部认证指令中的第一外部认证校验值是否相同,是则将内置的安全通道标识位的值置为第二预设值,并向终端返回外部认证成功响应,返回步骤S0;否则向终端返回错误信息;
步骤S5、卡片获取内置的安全通道标志位的值并判断安全通道标志位的值是否等于第二预设值,否则向终端返回错误信息;是则从切换卡片状态指令中获取目标状态码,根据目标状态码将卡片当前状态切换至目标卡片状态,向终端返回切换卡片状态成功响应,返回步骤S0;
步骤S5具体为:卡片从切换卡片状态指令中获取目标状态码,当卡片当前状态是准备状态时,如目标状态码为第二状态码则目标卡片状态为可管理状态,如目标状态码为第五状态码则目标卡片状态为终止状态;当卡片当前状态是可管理状态时,如目标状态码为第三状态码则目标卡片状态为可操作状态,如目标状态码为第五状态码则目标卡片状态为终止状态;当卡片当前状态是可操作状态时,如目标状态码为第四状态码则目标卡片状态为锁定状态,如目标状态码为第五状态码则目标卡片状态为终止状态;当卡片当前状态是锁定状态时,如目标状态码为第三状态码则目标卡片状态为可操作状态,如目标状态码为第五状态码则目标卡片状态为终止状态。
一种管理卡片生命周期的实现装置,包括:
接收模块,用于接收终端发来的指令;
第一判断模块,用于获取卡片当前状态,判断卡片当前状态是否能执行接收模块接收的指令;
返回模块,用于当第一判断模块判断卡片当前状态不能执行指令时,向终端返回错误信息;
第二判断模块,用于当第一判断模块判断卡片当前状态能执行指令时,判断指令类型;
第一生成模块,用于当第二判断模块判断指令类型为建立安全通道指令时,生成卡片随机数并保存,根据卡片随机数、第一预置数据和第二预置数据得到第一会话密钥,根据第一会话密钥得到第一加密值;
返回模块,还用于将第一生成模块生成的第一加密值发送至终端进行验证,触发接收模块;
第二生成模块,用于当第二判断模块判断指令类型为外部认证指令时,根据自身保存的卡片随机数和第一预置数据得到第二终端认证报文校验值;
第三生成模块,用于使用第一会话密钥对第二生成模块生成的第二终端认证报文校验值和外部认证指令进行加密,生成第二外部认证校验值;
第三判断模块,用于判断第二生成模块生成的第二外部认证校验值与接收模块接收到的外部认证指令中的第一外部认证校验值是否相同;
第一获取模块,用于当第三判断模块判断第二外部认证校验值与第一外部认证校验值相同时将内置的安全通道标识位的值置为第二预设值;
第四判断模块,用于当第二判断模块断指令类型为切换卡片状态指令时,获取内置的安全通道标志位的值并判断安全通道标志位的值是否等于第二预设值,是则触发切换状态模块;
返回模块,还用于当第一获取模块将安全通道标志位的值置为第二预设值时,向终端返回外部认证成功响应,触发接收模块;还用于当第三判断模块判断第二外部认证校验值与第一外部认证校验值不相同时,向终端返回错误信息;还用于当第四判断模块判断安全通道标志位的值不等于第二预设值时,向终端返回错误信息;
切换状态模块,用于当第二判断模块判断指令类型为切换卡片状态指令时,从切换卡片状态指令中获取目标状态码,根据目标状态码将卡片当前状态切换至目标卡片状态;
返回模块,还用于向终端返回切换状态模块切换卡片状态成功响应,触发接收模块;
切换状态模块,具体用于从切换卡片状态指令中获取目标状态码,当卡片当前状态是准备状态时,如目标状态码为第二状态码则目标卡片状态为可管理状态,如目标状态码为第五状态码则目标卡片状态为终止状态;当卡片当前状态是可管理状态时,如目标状态码为第三状态码则目标卡片状态为可操作状态,如目标状态码为第五状态码则目标卡片状态为终止状态;当卡片当前状态是可操作状态时,如目标状态码为第四状态码则目标卡片状态为锁定状态,如目标状态码为第五状态码则目标卡片状态为终止状态;当卡片当前状态是锁定状态时,如目标状态码为第三状态码则目标卡片状态为可操作状态,如目标状态码为第五状态码则目标卡片状态为终止状态。
本发明的有益效果:采用本发明提供的方法及装置,卡片通过生成会话密钥并使用会话密钥建立与终端的安全通道,使得卡片后续的生命周期管理更加安全,同时提高卡片交易的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1-图4为本发明实施例二提供的一种管理卡片生命周期的实现方法的流程图;
图5为本发明实施例三提供的一种管理卡片生命周期的实现方法的流程图;
图6为本发明实施例四提供的一种管理卡片生命周期的实现装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例提供一种管理卡片生命周期的实现方法,包括:
步骤S0、卡片接收终端发来的指令后获取卡片当前状态,判断卡片当前状态是否能执行指令,是则执行步骤S1;否则向终端返回错误信息;
步骤S1、卡片判断指令类型,若是建立安全通道指令,执行步骤S2;若是外部认证指令,执行步骤S3;若是切换卡片状态指令,执行步骤S5;
步骤S2、卡片生成卡片随机数并保存,根据卡片随机数、第一预置数据和第二预置数据得到第一会话密钥,根据第一会话密钥得到第一加密值,并将第一加密值发送至终端进行验证,返回步骤S0;
步骤S3、卡片根据卡片随机数和第一预置数据得到第二终端认证报文校验值,使用第一会话密钥对第二终端认证报文校验值和外部认证指令进行加密,生成第二外部认证校验值,执行步骤S4;
步骤S4、卡片判断第二外部认证校验值与外部认证指令中的第一外部认证校验值是否相同,是则获取安全通道标志位的值,将安全通道标志位的值置为第二预设值,并向终端返回外部认证成功响应,返回步骤S0;否则向终端返回错误信息;
步骤S5、卡片获取安全通道标志位的值并判断安全通道标志位的值是否等于第二预设值,否则向终端返回错误信息;是则从切换卡片状态指令中获取目标状态码,根据目标状态码将卡片当前状态切换至目标卡片状态,向终端返回切换卡片状态成功响应,返回步骤S0;
步骤S5具体为:卡片从切换卡片状态指令中获取目标状态码,当卡片当前状态是准备状态时,如目标状态码为第二状态码则目标卡片状态为可管理状态,如目标状态码为第五状态码则目标卡片状态为终止状态;当卡片当前状态是可管理状态时,如目标状态码为第三状态码则目标卡片状态为可操作状态,如目标状态码为第五状态码则目标卡片状态为终止状态;当卡片当前状态是可操作状态时,如目标状态码为第四状态码则目标卡片状态为锁定状态,如目标状态码为第五状态码则目标卡片状态为终止状态;当卡片当前状态是锁定状态时,如目标状态码为第三状态码则目标卡片状态为可操作状态,如目标状态码为第五状态码则目标卡片状态为终止状态;
优选地,步骤S3之前还包括:卡片从外部认证指令中获取安全级别参数,根据安全级别参数判断外部认证指令是否符合要求,是则执行步骤S3,否则向终端返回错误信息。
优选地,步骤S5之前还包括:卡片根据安全级别参数判断切换卡片状态指令是否符合要求,是则执行步骤S5,否则向终端返回错误信息。
优选地,卡片根据卡片随机数和第一预置数据得到第二终端认证报文校验值,具体包括:
卡片根据卡片随机数和第一预置数据生成第二终端认证报文;使用第一加密值对第二终端认证报文进行预设算法加密运算,得到第二终端认证报文密文;根据第二终端认证报文密文得到第二终端认证报文校验值。
优选地,根据第二终端认证报文密文得到第二终端认证报文校验值,具体为:将第二终端认证报文密文中预设字节的数据作为第二终端认证报文校验值。
优选地,步骤S3之前还包括:卡片获取终端随机数;
卡片根据卡片随机数和第一预置数据生成第二终端认证报文具体为:卡片根据终端随机数、卡片随机数和第一预置数据生成第二终端认证报文。
优选地,步骤S4之前还包括:卡片判断第二终端认证报文校验值是否与外部认证指令中包含的第一终端认证报文校验值相同,是则执行步骤S4;否则向终端返回错误信息。
优选地,第一会话密钥包括:第三会话密钥和第四会话密钥;
根据第一会话密钥得到加密值,具体为:根据第三会话密钥得到第一加密值;
使用第一会话密钥对第二终端认证报文校验值和外部认证指令进行加密,具体为:使用第四会话密钥对第二终端认证报文校验值和外部认证指令进行加密。
优选地,步骤S2中还包括:终端验证第一加密值是否正确,是则生成第一外部认证校验值;否则报错。
优选地,终端验证卡片发送来的第一加密值是否正确,具体为:终端生成第二加密值,验证第一加密值是否与第二加密值一致,是则生成第一外部认证校验值;否则报错。
优选地,步骤S2中还包括:卡片将卡片随机数和第一预置数据发送至终端;
终端生成第二加密值,具体为:终端根据接收到的卡片随机数、第一预置数据和自身保存的第二预置数据得到第二会话密钥,根据第二会话密钥得到第二加密值。
优选地,生成第一外部认证校验值具体为:终端生成终端随机数;终端根据第一预置数据、卡片随机数和终端随机数得到第一终端认证报文校验值;使用第二会话密钥对第一终端认证报文校验值和外部认证指令进行加密,生成第一外部认证校验值。
优选地,终端根据第一预置数据、卡片随机数和终端随机数得到第一终端认证报文校验值,具体为:终端根据第一预置数据、卡片随机数和终端随机数得到第一终端认证报文;使用第二加密值对第一终端认证报文进行预设算法加密运算,得到第一终端认证报文密文;获取第一终端认证报文密文中预设字节的数据作为第一终端认证报文校验值。
优选地,判断卡片当前状态是否能执行指令,具体为:判断卡片状态是否为终止状态,是则不能自行指令,否则能执行指令。
优选地,获取卡片当前状态,具体为:卡片读取状态标识位获取卡片当前状态。
优选地,步骤S1中还包括:若是选择主安全域指令,执行步骤S6;若是获取卡片状态指令,执行步骤S7;
步骤S6、如卡片当前状态为锁定状态时,向终端返回选择主安全域的第二响应值,返回步骤S0;如卡片当前状态为准备状态或可管理状态或可操作状态时,向终端返回选择主安全域的第一响应值,返回步骤S0;
步骤S7、卡片则向终端返回卡片当前状态,返回步骤S0。
优选地,向终端返回卡片当前状态具体为:向终端返回卡片当前状态对应的状态码。
优选地,步骤S7具体包括:如果卡片当前状态是准备状态,则向终端发送第一状态码,返回步骤S0;如果卡片当前状态是可管理状态,则向终端发送第二状态码,返回步骤S0;如果卡片当前状态是可操作状态,则向终端发送第三状态码,返回步骤S0;如果卡片当前状态是锁定状态,则向终端发送第四状态码,返回步骤S0。
优选地,步骤S4中返回步骤S0之前还包括:卡片获取安全通道标志位的值,将安全通道标志位的值置为第二预设值;
步骤S7之前还包括:卡片获取判断安全通道标志位的值是否等于第二预设值,是则执行步骤S7;否则向终端返回错误信息。
优选地,步骤S2中返回步骤S0之前还包括:卡片获取安全通道标志位的值,并将安全通道标志位的值置为第一预设值;
步骤S3中还包括:卡片判断安全通道标志位的值是否等于第一预设值,是则执行步骤S3;否则向终端返回错误信息。
实施例二
本实施例二提供一种管理卡片生命周期的实现方法,应用于卡片和终端的系统,如图1-图4所示;
步骤100、卡片上电;
步骤101、终端向卡片发送选择主安全域的指令;
在本实施例中,主安全域在卡上代表应用提供者或控制授权中心;控制授权中心机构会在卡上存在,它的任务是对装载到卡里所有应用的代码增强安全策略。
例如,终端向卡片发送选择主安全域指令为:00A4040008A000000151000000;
步骤102、卡片判断接收到的选择主安全域的指令是否正确,是则执行步骤 103;否则向终端返回错误信息;
在本实施例中,卡片接收到终端发来的指令后,根据指令的第二个字节判断指令的类型,再依次判断指令中的参数是否正确;其中,参数包括:命令消息中的类字节、第一引用控制参数和第二引用控制参数;
例如,卡片判断接收到的选择主安全域的指令是否正确,具体为:判断命令消息中的类字节是否等于00、第一引用控制参数是否等于04及第二引用控制参数是否等于00或02,当以上参数全都正确时,即可执行步骤103,否则向终端返回错误信息;
步骤103、卡片判断自身状态,若是锁定状态,向终端返回选择主安全域的第二响应值,执行步骤104;若是终止状态,向终端返回选择主安全域的第三响应值,结束;若是其它状态,向终端返回选择主安全域的第一响应值,执行步骤104;
具体地,第一响应值具体为:9000;第二响应值具体为:6A81;第三响应值具体为:6D00;
在本实施例中,如果卡片判断自身的状态是终止状态,则表明本卡片将被永久地禁用所有卡功能;
在本实施例中,其他状态包括:准备状态、可管理状态和可操作状态;
步骤104、终端向卡片发送包含终端随机数的建立安全通道指令;
例如,建立安全通道指令为:8050000008A9AF75C4B088F42A;其中,第6 字节-第13字节为终端随机数:A9AF75C4B088F42A;
在本实施例中,步骤104之前还包括:终端产生终端随机数。
步骤104中还包括:卡片获取卡片当前状态,判断所述卡片当前状态是否能执行建立安全通道指令,是则执行步骤105,否则向终端返回错误信息;
具体地,判断所述卡片当前状态是否能执行建立安全通道指令具体为:判断所述卡片状态是否为终止状态,是则向终端返回错误信息;否则执行步骤105。
步骤105、卡片判断接收到的建立安全通道指令是否正确,是则执行步骤 106;否则向终端返回错误信息;
例如,卡片判断接收到的建立安全通道指令是否正确,具体为:判断指令中的类字节是否等于80及第二引用控制参数是否等于00,当以上参数全都正确时,即可执行步骤106,否则向终端返回错误信息;
步骤106、卡片产生卡片随机数,并根据预置的序列计数器和预置的静态密钥生成第一会话密钥和第二会话密钥,并根据第一会话密钥生成第一加密值;
例如,卡片产生的卡片随机数为:C7693B4FBA61;预置的序列计数器为: 0004;预置的静态密钥为:404142434445464748494a4b4c4d4e4f;生成的第一会话密钥为:A9875ADFB0F8402FB6F7DBF7F75FFAFA;第二会话密钥为: C8F6243ECF0DF436AF901514F65C7EF9;
需要说明的是,本实施例中卡片生成第一加密值后,卡片获取安全通道标志位的值,并将安全通道标志位的值置为第一预设值;其中,安全通道标志位的初始值为0;
步骤107、卡片将第一加密值、卡片随机数、预置的序列计数器发送至终端;
例如,卡片根据第一会话密钥生成的第一加密值为:67994CDDCD97EFF0;预置的序列计数器为:0004;
步骤108、终端根据接收到的数据生成第三会话密钥和第四会话密钥,并根据第三会话密钥生成第二加密值;
在本实施例中,终端根据接收到的卡片发来的序列计数器和静态密钥生成第三会话密钥和第四会话密钥,继而根据第三会话密钥生成第二加密值;
例如,终端生成的第三会话密钥为: A9875ADFB0F8402FB6F7DBF7F75FFAFA;第四会话密钥为: C8F6243ECF0DF436AF901514F65C7EF9;终端根据第三会话密钥生成第二加密值为:67994CDDCD97EFF0;
步骤109、终端判断第一加密值与第二加密值是否相同,是则执行步骤110,否则报错;
例如,第一会话密钥与第三会话密钥均为 A9875ADFB0F8402FB6F7DBF7F75FFAFA;第一加密值与第二加密值均为: 67994CDDCD97EFF0,则执行步骤110;
步骤110、终端根据序列计数器、卡片随机数和终端随机数生成第一终端认证报文;
例如,第一终端认证报文为:0004C7693B4FBA61A9AF75C4B088F42A;
步骤111、终端使用第一加密值对第一终端认证报文进行预设算法加密运算,得到第一终端认证报文密文;
在本实施例中,预设算法可以是SM4、3DES或RSA;本实施例以3DES为例。
例如,第一终端认证报文密文为: B25F338CFC30FD90B15BBE89D124D876A2C92C015F6B8F63;
步骤112、终端获取第一终端认证报文密文中预设字节的数据作为第一终端认证报文校验值;
在本实施例中,终端获取终端认证报文密文的后8字节的数据作为第一终端认证报文校验值;
例如,第一终端认证报文校验值为:A2C92C015F6B8F63;
步骤113、终端使用第四会话密钥对包含安全级别参数的外部认证指令和第一终端认证报文校验值进行加密生成第一外部认证校验值;
例如,包含安全级别参数的外部认证指令为: 8482010010A2C92C015F6B8F6371EFB969D6EC699D;其中,第3字节为安全级别参数P1:01;
具体地,在本步骤中还包括:所述终端生成包含安全级别参数的外部认证指令。
步骤114、终端向卡片发送包含第一外部认证校验值的外部认证指令;
步骤114中还包括:卡片获取卡片当前状态,判断所述卡片当前状态是否能执行外部认证指令,是则执行步骤115,否则向终端返回错误信息;
步骤115、卡片判断接收到的外部认证指令是否正确,是则执行步骤116;否则向终端返回错误信息;
例如,卡片判断接收到的外部认证指令是否正确,具体为:判断指令中的类字节是否等于84及第二引用控制参数是否等于00,当以上参数全都正确时,即可执行步骤116,否则向终端返回错误信息;
在本实施例中,外部认证指令中包含安全级别参数;
例如,安全级别参数可以为00或01或03;
需要说明的是,步骤115之前还包括:卡片获取安全通道标志位的值,并判断是否为第一预设值,是则执行步骤115;否则向终端返回错误信息;
步骤116、卡片判断接收到的外部认证指令是否符合安全级别参数的规定,是则执行步骤117;否则向终端返回错误信息;
在本实施例中,安全级别有三个:00、01和03;其中,当安全级别为00时,终端在接下来向卡片发送的指令需为明文;当安全级别为01时,终端在接下来向卡片发送的指令中需带有校验值;当安全级别为03时,终端在接下来向卡片发送的指令需为密文同时带有校验值;
步骤117、卡片根据终端随机数、卡片随机数和预置的序列计数器生成第二终端认证报文,使用第一加密值对第二终端认证报文进行预设算法加密运算,得到第二终端认证报文密文并获取第二终端认证报文密文中预设字节的数据作为第二终端认证报文校验值;
步骤118、卡片使用第二会话密钥对接收到的外部认证指令和第二终端认证报文校验值进行加密生成第二外部认证校验值;
在本实施例中,步骤114中所述的外部认证指令中还包括第一终端认证报文校验值;
相应地,步骤118中还包括:判断第二终端认证报文校验值是否与第一终端认证报文校验值相同,是则执行步骤119,否则向终端返回错误信息;
步骤119、卡片判断第二外部认证校验值是否与第一外部认证校验值相同,是则向终端返回外部认证成功的响应;否则向终端返回错误信息;
例如,向终端返回外部认证成功的响应为:9000;
在本实施例中,卡片向终端返回外部认证成功的响应表明安全通道建立成功。
步骤120、终端向卡片发送获取卡片状态指令;
在本实施例中,终端通过向卡片发送GET STATUS指令或者GPAPI指令获取卡片状态;例如,获取卡片状态指令为:84F2800012 4F08A0000001510000001B56C3C94095576D;
步骤120中还包括:卡片获取卡片当前状态,判断所述卡片当前状态是否能执行获取卡片状态指令,是则执行步骤121,否则向终端返回错误信息;
步骤121、卡片判断接收到的获取卡片状态指令是否正确,是则执行步骤 122;否则向终端返回错误信息;
例如,卡片判断接收到的获取卡片状态指令是否正确,具体为:判断指令中的类字节是否等于80或84及第二引用控制参数是否等于00或01或02或03,当以上参数全都正确时,即可执行步骤106,否则向终端返回错误信息;
需要说明的是,步骤121之前还包括:卡片获取安全通道标志位的值,并判断是否为第二预设值,是则执行步骤121;否则向终端返回错误信息;
步骤122、卡片判断接收到的获取卡片状态指令是否符合安全级别参数的规定,是则执行步骤123;否则向终端返回错误信息;
步骤123、卡片判断自身状态,如果是准备状态,则向终端发送第一响应值和第一状态码,执行步骤124;如果是可管理状态,则向终端发送第一响应值和第二状态码,执行步骤130;如果是可操作状态,则向终端发送第一响应值和第三状态码,执行步骤136;如果是锁定状态,则向终端发送第一响应值和第四状态码,执行步骤142;
具体地,如果卡片状态为准备状态,则向终端发送第一状态码01,表明运行时环境已经可以使用,安全域作为当前被选定的应用,可以接收、执行和响应APDU命令;如果卡片状态为可管理状态,则向终端发送第二状态码07,表示一些初始的数据(比如:安全域密钥和/或数据)已经组装,但是卡片还不能发给卡持有者;如果卡片状态为可操作状态,则是向终端发送第三状态码0F,用于向终端表明安全域包含了全部功能所需要的所有密钥和安全元素;如果卡片状态为锁定状态,则向终端发送第四状态码7F,表明卡片除了通过卡安全域外不再具有其它功能,不再允许包括任何类型数据管理(特别是安全域密钥和数据)在内的卡内容的改变。
在本实施例中,需要说明的是,如果卡片状态是准备状态或者可管理状态时,安全级别不作要求;如果是可操作状态,则安全级别必须大于00;
步骤124、终端判断是否切换卡片状态至终止状态,是则执行步骤125;否则执行步骤127;
步骤125、终端向卡片发送切换卡片状态至终止状态指令;
在本实施例中,终端可通过发送SET STATUS指令或者GP API指令或者 STOREDATA 9F70指令切换卡片状态;
步骤125中还包括:卡片判断所述卡片当前状态是否能执行切换卡片状态指令,是则执行步骤126,否则向终端返回错误信息;
例如,终端向卡片发送切换卡片状态至终止状态指令为:84F080FF10 A000000151000000CB4723066A42ACEA;
步骤126、卡片切换状态至终止状态,向终端返回第一响应值,结束;
在本实施例中,步骤126之前还包括:卡片判断是否接收到终端发来的切换卡片状态至终止状态指令,是则执行步骤126;否则向终端返回错误信息;
具体地,步骤126之前还包括:卡片判断接收到的切换卡片状态至终止状态指令是否符合安全级别参数的规定,是则执行步骤126;否则向终端返回错误信息;需要说明的是,本实施例中终端发给卡片的切换卡片状态的指令都需判断是否符合安全级别参数的规定。
步骤127、终端判断是否切换卡片状态至可管理状态,是则执行步骤128;否则执行步骤148;
步骤128、终端向卡片发送切换卡片状态至可管理状态指令;
例如,终端向卡片发送切换卡片状态至可管理状态指令为:84F0800710 A00000015100000075244A003DAAB906;
步骤129、卡片切换状态至可管理状态,向终端返回第一响应值,返回步骤 120;
在本实施例中,步骤129之前还包括:卡片判断是否接收到终端发来的切换卡片状态至可管理状态指令,是则执行步骤129;否则向终端返回错误信息;
步骤130、终端判断是否切换卡片状态至终止状态,是则执行步骤131;否则执行步骤133;
步骤131、终端向卡片发送切换卡片状态至终止状态指令;
步骤132、卡片切换卡片状态至终止状态,向终端返回第一响应值,结束;
在本实施例中,步骤132之前还包括:卡片判断是否接收到终端发来的切换卡片状态至终止状态指令,是则执行步骤132;否则向终端返回错误信息;
步骤133、终端判断是否切换卡片状态至可操作状态,是则执行步骤134;否则执行步骤148;
步骤134、终端向卡片发送切换卡片状态至可操作状态指令;
例如,终端向卡片发送切换卡片状态至可操作状态指令为: 84F0800F10A000000151000000C7FA296B7447C1DD;
步骤135、卡片切换卡片状态至可操作状态,向终端返回第一响应值,返回步骤120;
在本实施例中,步骤135之前还包括:卡片判断是否接收到终端发来的切换卡片状态至可操作状态指令,是则执行步骤135;否则向终端返回错误信息;
步骤136、终端判断是否切换卡片状态至终止状态,是则执行步骤137;否则执行步骤139;
步骤137、终端向卡片发送切换卡片状态至终止状态指令;
步骤138、卡片切换状态至终止状态,向终端返回第一响应值,结束;
在本实施例中,步骤138之前还包括:卡片判断是否接收到终端发来的切换卡片状态至终止状态指令,是则执行步骤138;否则向终端返回错误信息;
步骤139、终端判断是否切换卡片状态至锁定状态,是则执行步骤140;否则执行步骤148;
步骤140、终端向卡片发送切换卡片状态至锁定状态指令;
例如,终端向卡片发送切换卡片状态至锁定状态指令为:84F0807F10 A000000151000000EEC28883D4FA880D;
步骤141、卡片切换状态至锁定状态,向终端返回第一响应值,返回步骤120;
在本实施例中,步骤141之前还包括:卡片判断是否接收到终端发来的切换卡片状态至锁定状态指令,是则执行步骤141;否则向终端返回错误信息;
步骤142、终端判断是否切换卡片状态至终止状态,是则执行步骤143;否则执行步骤145;
步骤143、终端向卡片发送切换卡片状态至终止状态指令;
步骤144、卡片切换状态至终止状态,向终端返回第一响应值,结束;
在本实施例中,步骤144之前还包括:卡片判断是否接收到终端发来的切换卡片状态至终止状态指令,是则执行步骤144;否则向终端返回错误信息;
步骤145、终端判断是否切换卡片状态至可操作状态,是则执行步骤142;否则执行步骤148;
步骤146、终端向卡片发送切换卡片状态至可操作状态指令;
例如,终端向卡片发送切换卡片状态至可操作状态指令为:84F0800F10 A000000151000000CB4723066A42ACE4;
步骤147、卡片切换状态至可操作状态,向终端返回第一响应值,返回步骤 120;
在本实施例中,步骤147之前还包括:卡片判断是否接收到终端发来的切换卡片状态至可操作状态指令,是则执行步骤147;否则向终端返回错误信息;
步骤148、终端根据卡片状态进行卡片内容及安全管理。
需要说明的是,卡片的准备状态到可管理状态、可管理状态到可操作状态、准备状态到终止状态、可管理状态到终止状态、可操作状态到终止状态、锁定状态到终止状态的过程均是不可逆的,可操作状态到锁定状态的过程是可逆的。
实施例三
本实施例提供一种管理卡片生命周期的实现方法,如图5所示,包括:
步骤201、卡片接收终端发来的指令,并判断指令类型,若是建立安全通道指令,执行步骤202;若是外部认证指令,执行步骤204;若是获取卡片状态指令,执行步骤208;若是切换卡片状态指令,执行步骤210;
在本实施例中,步骤201中卡片接收终端发来的指令与判断指令类型之间包括:判断所述卡片当前状态是否能执行所述指令,是则继续判断指令类型;否则向终端返回错误信息;
具体地,判断所述卡片当前状态是否能执行所述指令具体为判断所述卡片状态是否为终止状态,是则向终端返回错误信息;否则继续判断指令类型;
步骤202、卡片从建立安全通道指令中获取终端随机数,产生卡片随机数,根据卡片随机数、第一预置数据和第二预置数据生成第一会话密钥,并根据第一会话密钥得到第一加密值,并将第一加密值发送至终端进行验证;
步骤203、卡片获取安全通道标志位的值,并将安全通道标志位的值置为第一预设值,返回步骤201;
优选地,步骤202之前还包括:卡片判断接收到的建立安全通道指令是否正确,是则执行步骤202;否则向终端返回错误信息;
优选地,步骤202中还包括:将产生卡片随机数和第一预置数据发送至终端;终端根据接收到的数据生成第二会话密钥并根据第三会话密钥生成第二加密值;终端判断第一加密值与第二加密值是否相同,否则相同;是则根据第一预置数据、卡片随机数和终端随机数生成第一终端认证报文;使用第一加密值对第一终端认证报文进行预设算法加密运算,得到第一终端认证报文密文;获取第一终端认证报文密文中预设字节的数据作为第一终端认证报文校验值;使用第二会话密钥对包含安全级别参数的外部认证指令和第一终端认证报文校验值进行加密生成第一外部认证校验值;
步骤204、卡片判断安全通道标志位的值是否等于第一预设值,是则执行步骤205;否则向终端返回错误信息;
优选地,步骤205之前、204之后还包括:卡片判断接收到的外部认证指令是否符合安全级别参数的规定,是则执行步骤205;否则向终端返回错误信息;
步骤205、卡片根据终端随机数、卡片随机数及预置的卡片数据生成第二终端认证报文,根据第二终端认证报文获取第二终端认证报文校验值;
具体地,卡片根据终端随机数、卡片随机数和预置的序列计数器生成第二终端认证报文,使用第二加密值对第二终端认证报文进行预设算法加密运算,得到第二终端认证报文密文并获取第二终端认证报文密文中预设字节的数据作为第二终端认证报文校验值;
步骤206、卡片使用第一会话密钥对第二终端认证报文校验值和外部认证指令进行加密,生成第二外部认证校验值;
步骤207、卡片判断第二外部认证校验值与外部认证指令中包含的第一外部认证校验值是否相同,是则将安全通道标志位的值置为第二预设值,向终端返回外部认证成功响应,返回步骤201;否则向终端返回错误信息;
步骤208、卡片判断安全通道标志位的值是否等于第二预设值,是则执行步骤209;否则向终端返回错误信息;
步骤209、卡片读取状态标识位获取卡片当前状态,并向终端返回卡片当前状态对应的状态码,返回步骤201;
具体地,如果是准备状态,则向终端发送第一状态码,返回步骤201;如果是可管理状态,则向终端发送第二状态码,返回步骤201;如果是可操作状态,则向终端发送第三状态码,返回步骤201;如果是锁定状态,则向终端发送第四状态码,返回步骤201;
步骤210、卡片读取状态标识位获取卡片当前状态,从切换卡片状态指令中获取目标状态码;
步骤211、卡片根据卡片当前状态和目标状态码判断是否能够将卡片当前状态切换至目标卡片状态,是则根据目标状态码切换目标卡片状态,返回步骤201;否则向终端返回错误信息。
在本实施例中,当卡片当前状态是准备状态时,目标卡片状态可为可管理状态、终止状态;当卡片当前状态是可管理状态时,目标卡片状态可为可操作状态、终止状态;当卡片当前状态是可操作状态时,目标卡片状态可为锁定状态、终止状态;当卡片当前状态是锁定状态时,目标卡片状态可为可操作状态、终止状态。
实施例四
本实施例提供一种管理卡片生命周期的实现装置,如图6所示,包括:
接收模块301,用于接收终端发来的指令;
第一判断模块302,用于获取卡片当前状态,判断卡片当前状态是否能执行接收模块301接收的指令;
返回模块303,用于当第一判断模块302判断卡片当前状态不能执行指令时,向终端返回错误信息;
第二判断模块304,用于当第一判断模块302判断卡片当前状态能执行指令时,判断指令类型;
第一生成模块305,用于当第二判断模块304判断指令类型为建立安全通道指令时,生成卡片随机数并保存,根据卡片随机数、第一预置数据和第二预置数据得到第一会话密钥,根据第一会话密钥得到第一加密值;
返回模块303,还用于将第一生成模块305生成的第一加密值发送至终端进行验证,触发接收模块301;
第二生成模块306,用于当第二判断模块304判断指令类型为外部认证指令时,根据卡片随机数和第一预置数据得到第二终端认证报文校验值;
第三生成模块307,用于使用第一会话密钥对第二生成模块306生成的第二终端认证报文校验值和外部认证指令进行加密,生成第二外部认证校验值;
第三判断模块308,用于判断第三生成模块307生成的第二外部认证校验值与接收模块301接收到的外部认证指令中的第一外部认证校验值是否相同;
第一获取模块310,用于当第三判断模块308判断第二外部认证校验值与第一外部认证校验值相同时获取安全通道标志位的值,将安全通道标志位的值置为第二预设值;
第四判断模块311,用于当第二判断模块304判断指令类型为切换卡片状态指令,用于获取安全通道标志位的值并判断安全通道标志位的值是否等于第二预设值,是则触发切换状态模块309;
返回模块303,还用于当第一获取模块310将安全通道标志位的值置为第二预设值时,向终端返回外部认证成功响应,触发接收模块301;还用于当第三判断模块308判断第二外部认证校验值与第一外部认证校验值不相同时,向终端返回错误信息;还用于当第四判断模块311判断安全通道标志位的值不等于第二预设值时,向终端返回错误信息;
切换状态模块309,用于当第二判断模块304判断指令类型为切换卡片状态指令时,从切换卡片状态指令中获取目标状态码,根据目标状态码将卡片当前状态切换至目标卡片状态;
返回模块303,还用于向终端返回切换状态模块309切换卡片状态成功响应,触发接收模块301;
切换状态模块309,具体用于从切换卡片状态指令中获取目标状态码,当卡片当前状态是准备状态时,如目标状态码为第二状态码则目标卡片状态为可管理状态,如目标状态码为第五状态码则目标卡片状态为终止状态;当卡片当前状态是可管理状态时,如目标状态码为第三状态码则目标卡片状态为可操作状态,如目标状态码为第五状态码则目标卡片状态为终止状态;当卡片当前状态是可操作状态时,如目标状态码为第四状态码则目标卡片状态为锁定状态,如目标状态码为第五状态码则目标卡片状态为终止状态;当卡片当前状态是锁定状态时,如目标状态码为第三状态码则目标卡片状态为可操作状态,如目标状态码为第五状态码则目标卡片状态为终止状态。
优选地,装置还包括:第五判断模块;
第一获取模块310,还用于从外部认证指令中获取安全级别参数;
第五判断模块,用于根据第一获取模块310获取的安全级别参数判断外部认证指令是否符合要求,是则触发第二生成模块306;
返回模块303,用于当第五判断模块判断外部认证指令不符合要求时,向终端返回错误信息。
优选地,第五判断模块,还用于根据安全级别参数判断切换卡片状态指令是否符合要求,是则触发切换状态模块309;
返回模块303,用于当第五判断模块判断切换卡片状态指令不符合要求时,向终端返回错误信息。
优选地,第二生成模块306具体包括:第一生成单元、第二生成单元和第三生成单元;
第一生成单元,用于根据卡片随机数和第一预置数据生成第二终端认证报文;
第二生成单元,用于使用第一加密值对第一生成单元生成的第二终端认证报文进行预设算法加密运算,得到第二终端认证报文密文;
第三生成单元,用于根据第二生成单元生成的第二终端认证报文密文得到第二终端认证报文校验值。
优选地,第三生成单元,具体用于将第二终端认证报文密文中预设字节的数据作为第二终端认证报文校验值。
优选地,装置还包括:第二获取模块;
第二获取模块,用于获取终端随机数;
第三生成单元,具体用于卡片根据终端随机数、卡片随机数和第一预置数据生成第二终端认证报文。
优选地,装置还包括第七判断模块;
第七判断模块,用于判断第二终端认证报文校验值是否与外部认证指令中的第一终端认证报文校验值相同,是则触发第三判断模块308;
返回模块303,还用于当第七判断模块判断第二终端认证报文校验值与第一终端认证报文校验值不相同时,向终端返回错误信息。
优选地,第一生成模块305生成的第一会话密钥包括:第三会话密钥和第四会话密钥;
第一生成模块305,具体用于当第二判断模块304判断指令类型为建立安全通道指令时,生成卡片随机数,根据卡片随机数、第一预置数据和第二预置数据得到第一会话密钥,根据第三会话密钥得到第一加密值;
第三生成模块307,具体用于使用第四会话密钥对第二终端认证报文校验值和外部认证指令进行加密,生成第二外部认证校验值。
优选地,第一判断模块302包括第一判断单元,用于判断卡片状态是否为终止状态,是则不能执行接收模块301接收的指令,否则能执行接收模块301接收的指令。
优选地,第一判断模块302包括获取状态单元,用于通过读取状态标识位获取卡片当前状态。
优选地,返回模块303还用于当第二判断模块304判断指令类型为选择主安全域指令时,如卡片当前状态为锁定状态时,向终端返回选择主安全域的第二响应值,触发接收模块301;如卡片当前状态为准备状态或可管理状态或可操作状态时,向终端返回选择主安全域的第一响应值,触发接收模块301;
返回模块303,还用于当第二判断模块304判断指令类型为获取卡片状态指令时,向终端返回卡片当前状态,触发接收模块301。
优选地,返回模块303还用于当第二判断模块304判断指令类型为获取卡片状态指令时,向终端返回卡片当前状态具体为:返回模块303还用于当第二判断模块304判断指令类型为获取卡片状态指令时,向终端返回卡片当前状态对应的状态码。
优选地,返回模块303还用于当第二判断模块304判断指令类型为获取卡片状态指令时,向终端返回卡片当前状态对应的状态码,具体为:如果卡片当前状态是准备状态,则向终端发送第一状态码,触发接收模块301;如果卡片当前状态是可管理状态,则向终端发送第二状态码,触发接收模块301;如果卡片当前状态是可操作状态,则向终端发送第三状态码,触发接收模块301;如果卡片当前状态是锁定状态,则向终端发送第四状态码,触发接收模块301。
优选地,装置还包括:第八判断模块;
第八判断模块,用于判断第一获取模块310获取安全通道标志位的值是否等于第二预设值,是则触发返回模块303向终端返回卡片当前状态,触发接收模块 301;
返回模块303,还用于当第八判断模块判断安全通道标志位的值不等于第二预设值时,向终端返回错误信息。
优选地,第一获取模块310,还用于获取安全通道标志位的值,并将安全通道标志位的值置为第一预设值;
第四判断模块311,还用于判断第一获取模块310获取的安全通道标志位的值是否等于第一预设值,是则触发第二生成模块306;
返回模块303,用于当第四判断模块311判断安全通道标志位的值不等于第二预设值时,向终端返回错误信息。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (34)
1.一种管理卡片生命周期的实现方法,其特征在于,包括:
步骤S0、卡片接收终端发来的指令后获取卡片当前状态,判断所述卡片当前状态是否能执行所述指令,是则执行步骤S1;否则向终端返回错误信息;
步骤S1、所述卡片判断所述指令类型,若是建立安全通道指令,执行步骤S2;若是外部认证指令,执行步骤S3;若是切换卡片状态指令,执行步骤S5;
步骤S2、所述卡片生成卡片随机数并保存,根据所述卡片随机数、第一预置数据和第二预置数据得到第一会话密钥,根据所述第一会话密钥得到第一加密值,并将所述第一加密值发送至终端进行验证,返回步骤S0;
步骤S3、所述卡片根据自身保存的卡片随机数和第一预置数据得到第二终端认证报文校验值,使用所述第一会话密钥对所述第二终端认证报文校验值和所述外部认证指令进行加密,生成第二外部认证校验值,执行步骤S4;
步骤S4、所述卡片判断所述第二外部认证校验值与所述外部认证指令中的第一外部认证校验值是否相同,是则将内置的安全通道标识位的值置为第二预设值,并向终端返回外部认证成功响应,返回步骤S0;否则向终端返回错误信息;
步骤S5、所述卡片获取内置的安全通道标识位的值并判断所述安全通道标识位的值是否等于第二预设值,否则向终端返回错误信息;是则从所述切换卡片状态指令中获取目标状态码,根据所述目标状态码将所述卡片当前状态切换至目标卡片状态,向终端返回切换卡片状态成功响应,返回步骤S0;
所述步骤S5具体为:所述卡片从所述切换卡片状态指令中获取目标状态码,当所述卡片当前状态是准备状态时,如所述目标状态码为第二状态码则目标卡片状态为可管理状态,如所述目标状态码为第五状态码则目标卡片状态为终止状态;当所述卡片当前状态是可管理状态时,如所述目标状态码为第三状态码则目标卡片状态为可操作状态,如所述目标状态码为第五状态码则目标卡片状态为终止状态;当所述卡片当前状态是可操作状态时,如所述目标状态码为第四状态码则目标卡片状态为锁定状态,如所述目标状态码为第五状态码则目标卡片状态为终止状态;当所述卡片当前状态是锁定状态时,如所述目标状态码为第三状态码则目标卡片状态为可操作状态,如所述目标状态码为第五状态码则目标卡片状态为终止状态。
2.根据权利要求1所述的方法,其特征在于,所述步骤S3之前还包括:所述卡片从所述外部认证指令中获取安全级别参数,根据所述安全级别参数判断所述外部认证指令是否符合要求,是则执行步骤S3,否则向终端返回错误信息。
3.根据权利要求2所述的方法,其特征在于,所述步骤S5之前还包括:所述卡片根据所述安全级别参数判断所述切换卡片状态指令是否符合要求,是则执行步骤S5,否则向终端返回错误信息。
4.根据权利要求1所述的方法,其特征在于,所述卡片根据所述卡片随机数和第一预置数据得到第二终端认证报文校验值,具体包括:
所述卡片根据所述卡片随机数和所述第一预置数据生成第二终端认证报文;使用所述第一加密值对所述第二终端认证报文进行预设算法加密运算,得到第二终端认证报文密文;根据所述第二终端认证报文密文得到第二终端认证报文校验值。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第二终端认证报文密文得到第二终端认证报文校验值,具体为:将所述第二终端认证报文密文中预设字节的数据作为第二终端认证报文校验值。
6.根据权利要求4所述的方法,其特征在于,所述步骤S3之前还包括:所述卡片获取终端随机数;
所述卡片根据所述卡片随机数和所述第一预置数据生成第二终端认证报文具体为:所述卡片根据所述终端随机数、所述卡片随机数和所述第一预置数据生成第二终端认证报文。
7.根据权利要求1所述的方法,其特征在于,所述步骤S4之前还包括:所述卡片判断所述第二终端认证报文校验值是否与所述外部认证指令中的第一终端认证报文校验值相同,是则执行步骤S4;否则向终端返回错误信息。
8.根据权利要求1所述的方法,其特征在于,所述第一会话密钥包括:第三会话密钥和第四会话密钥;
所述根据所述第一会话密钥得到第一加密值,具体为:根据所述第三会话密钥得到第一加密值;
所述使用所述第一会话密钥对所述第二终端认证报文校验值和所述外部认证指令进行加密,具体为:使用所述第四会话密钥对所述第二终端认证报文校验值和所述外部认证指令进行加密。
9.根据权利要求1所述的方法,其特征在于,所述步骤S2中还包括:所述终端生成第二加密值,验证所述第一加密值是否与所述第二加密值一致,是则生成第一外部认证校验值;否则报错。
10.根据权利要求9所述的方法,其特征在于,所述步骤S2中还包括:所述卡片将所述卡片随机数和第一预置数据发送至终端;
所述终端生成第二加密值,具体为:所述终端根据接收到的所述卡片随机数、所述第一预置数据和自身保存的第二预置数据得到第二会话密钥,根据所述第二会话密钥得到第二加密值。
11.根据权利要求10所述的方法,其特征在于,所述生成第一外部认证校验值具体为:所述终端生成终端随机数;所述终端根据所述第一预置数据、所述卡片随机数和所述终端随机数得到第一终端认证报文校验值;使用所述第二会话密钥对所述第一终端认证报文校验值和所述外部认证指令进行加密,生成第一外部认证校验值。
12.根据权利要求11所述的方法,其特征在于,所述终端根据所述第一预置数据、所述卡片随机数和所述终端随机数得到第一终端认证报文校验值,具体为:所述终端根据所述第一预置数据、所述卡片随机数和所述终端随机数得到第一终端认证报文;使用所述第二加密值对所述第一终端认证报文进行预设算法加密运算,得到第一终端认证报文密文;获取所述第一终端认证报文密文中预设字节的数据作为所述第一终端认证报文校验值。
13.根据权利要求1所述的方法,其特征在于,所述判断所述卡片当前状态是否能执行所述指令,具体为:判断所述卡片状态是否为终止状态,是则不能执行所述指令,否则能执行所述指令。
14.根据权利要求1所述的方法,其特征在于,所述获取卡片当前状态,具体为:所述卡片通过读取状态标识位获取卡片当前状态。
15.根据权利要求1所述的方法,其特征在于,所述步骤S1中还包括:若是选择主安全域指令,执行步骤S6;若是获取卡片状态指令,执行步骤S7;
步骤S6、如所述卡片当前状态为锁定状态时,则向所述终端返回选择主安全域的第二响应值,返回步骤S0;如所述卡片当前状态为准备状态或可管理状态或可操作状态时,则向所述终端返回选择主安全域的第一响应值,返回步骤S0;
步骤S7、所述卡片向终端返回卡片当前状态,返回步骤S0。
16.根据权利要求15所述的方法,其特征在于,所述卡片向终端返回卡片当前状态具体为:所述卡片向终端返回卡片当前状态对应的状态码。
17.根据权利要求16所述的方法,其特征在于,所述步骤S7具体包括:如果所述卡片当前状态是准备状态,则向所述终端发送第一状态码,返回步骤S0;如果所述卡片当前状态是可管理状态,则向所述终端发送第二状态码,返回步骤S0;如果所述卡片当前状态是可操作状态,则向所述终端发送第三状态码,返回步骤S0;如果所述卡片当前状态是锁定状态,则向所述终端发送第四状态码,返回步骤S0。
18.根据权利要求15所述的方法,其特征在于,所述步骤S7之前还包括:所述卡片判断所述安全通道标识位的值是否等于第二预设值,是则执行步骤S7;否则向终端返回错误信息。
19.根据权利要求1所述的方法,其特征在于,所述步骤S2中在返回步骤S0之前还包括:所述卡片将内置的安全通道标识位的值置为第一预设值;
所述步骤S3中还包括:所述卡片判断所述安全通道标识位的值是否等于第一预设值,是则执行步骤S3;否则向终端返回错误信息。
20.一种管理卡片生命周期的实现装置,其特征在于,包括:
接收模块,用于接收终端发来的指令;
第一判断模块,用于获取卡片当前状态,判断所述卡片当前状态是否能执行所述接收模块接收的指令;
返回模块,用于当所述第一判断模块判断所述卡片当前状态不能执行所述指令时,向终端返回错误信息;
第二判断模块,用于当所述第一判断模块判断所述卡片当前状态能执行所述指令时,判断所述指令类型;
第一生成模块,用于当所述第二判断模块判断指令类型为建立安全通道指令时,生成卡片随机数并保存,根据所述卡片随机数、第一预置数据和第二预置数据得到第一会话密钥,根据所述第一会话密钥得到第一加密值;
所述返回模块,还用于将所述第一生成模块生成的所述第一加密值发送至终端进行验证,触发所述接收模块;
第二生成模块,用于当所述第二判断模块判断指令类型为外部认证指令时,根据自身保存的卡片随机数和第一预置数据得到第二终端认证报文校验值;
第三生成模块,用于使用所述第一会话密钥对所述第二生成模块生成的第二终端认证报文校验值和所述外部认证指令进行加密,生成第二外部认证校验值;
第三判断模块,用于判断所述第三生成模块生成的所述第二外部认证校验值与所述接收模块接收到的外部认证指令中的第一外部认证校验值是否相同;
第一获取模块,用于当所述第三判断模块判断所述第二外部认证校验值与所述第一外部认证校验值相同时将内置的安全通道标识位的值置为第二预设值;
第四判断模块,用于当所述第二判断模块断指令类型为切换卡片状态指令时,获取内置的安全通道标识位的值并判断所述安全通道标识位的值是否等于第二预设值,是则触发切换状态模块;
所述返回模块,还用于当所述第一获取模块将所述安全通道标识位的值置为第二预设值时,向终端返回外部认证成功响应,触发所述接收模块;还用于当所述第三判断模块判断所述第二外部认证校验值与所述第一外部认证校验值不相同时,向终端返回错误信息;还用于当所述第四判断模块判断所述安全通道标识位的值不等于第二预设值时,向终端返回错误信息;
所述切换状态模块,用于当所述第二判断模块判断指令类型为切换卡片状态指令时,从所述切换卡片状态指令中获取目标状态码,根据所述目标状态码将所述卡片当前状态切换至目标卡片状态;
所述返回模块,还用于向终端返回所述切换状态模块切换卡片状态成功响应,触发所述接收模块;
所述切换状态模块,具体用于从所述切换卡片状态指令中获取目标状态码,当所述卡片当前状态是准备状态时,如所述目标状态码为第二状态码则目标卡片状态为可管理状态,如所述目标状态码为第五状态码则目标卡片状态为终止状态;当所述卡片当前状态是可管理状态时,如所述目标状态码为第三状态码则目标卡片状态为可操作状态,如所述目标状态码为第五状态码则目标卡片状态为终止状态;当所述卡片当前状态是可操作状态时,如所述目标状态码为第四状态码则目标卡片状态为锁定状态,如所述目标状态码为第五状态码则目标卡片状态为终止状态;当所述卡片当前状态是锁定状态时,如所述目标状态码为第三状态码则目标卡片状态为可操作状态,如所述目标状态码为第五状态码则目标卡片状态为终止状态。
21.根据权利要求20所述的装置,其特征在于,所述装置还包括:第五判断模块;
所述第一获取模块,还用于从所述外部认证指令中获取安全级别参数;
所述第五判断模块,用于根据所述第一获取模块获取的安全级别参数判断所述外部认证指令是否符合要求,是则触发所述第二生成模块;
所述返回模块,用于当所述第五判断模块判断所述外部认证指令不符合要求时,向终端返回错误信息。
22.根据权利要求21所述的装置,其特征在于,所述第五判断模块,还用于根据所述安全级别参数判断所述切换卡片状态指令是否符合要求,是则触发所述切换状态模块;
所述返回模块,用于当所述第五判断模块判断所述切换卡片状态指令不符合要求时,向终端返回错误信息。
23.根据权利要求20所述的装置,其特征在于,所述第二生成模块具体包括:第一生成单元、第二生成单元和第三生成单元;
所述第一生成单元,用于根据所述卡片随机数和所述第一预置数据生成第二终端认证报文;
所述第二生成单元,用于使用所述第一加密值对所述第一生成单元生成的所述第二终端认证报文进行预设算法加密运算,得到第二终端认证报文密文;
所述第三生成单元,用于根据第二生成单元生成的所述第二终端认证报文密文得到第二终端认证报文校验值。
24.根据权利要求23所述的装置,其特征在于,所述第三生成单元,具体用于将所述第二终端认证报文密文中预设字节的数据作为第二终端认证报文校验值。
25.根据权利要求23所述的装置,其特征在于,所述装置还包括:第二获取模块;
所述第二获取模块,用于获取终端随机数;
所述第三生成单元,具体用于所述卡片根据所述终端随机数、所述卡片随机数和所述第一预置数据生成第二终端认证报文。
26.根据权利要求20所述的装置,其特征在于,所述装置还包括第七判断模块;
所述第七判断模块,用于判断所述第二终端认证报文校验值是否与所述外部认证指令中的第一终端认证报文校验值相同,是则触发所述第三判断模块;
所述返回模块,还用于当所述第七判断模块判断所述第二终端认证报文校验值与所述第一终端认证报文校验值不相同时,向终端返回错误信息。
27.根据权利要求20所述的装置,其特征在于,所述第一生成模块生成的第一会话密钥包括:第三会话密钥和第四会话密钥;
所述第一生成模块,具体用于当所述第二判断模块判断指令类型为建立安全通道指令时,生成卡片随机数,根据所述卡片随机数、第一预置数据和第二预置数据得到第一会话密钥,根据所述第三会话密钥得到第一加密值;
所述第三生成模块,具体用于使用所述第四会话密钥对所述第二终端认证报文校验值和所述外部认证指令进行加密,生成第二外部认证校验值。
28.根据权利要求20所述的装置,其特征在于,所述第一判断模块包括第一判断单元,用于判断所述卡片状态是否为终止状态,是则不能执行所述接收模块接收的指令,否则能执行所述接收模块接收的指令。
29.根据权利要求20所述的装置,其特征在于,所述第一判断模块包括获取状态单元,用于通过读取状态标识位获取卡片当前状态。
30.根据权利要求20所述的装置,其特征在于,所述返回模块还用于当所述第二判断模块判断指令类型为选择主安全域指令时,如卡片当前状态为锁定状态时,向所述终端返回选择主安全域的第二响应值,触发所述接收模块;如所述卡片当前状态为准备状态或可管理状态或可操作状态时,向所述终端返回选择主安全域的第一响应值,触发所述接收模块;
所述返回模块,还用于当所述第二判断模块判断指令类型为获取卡片状态指令时,向终端返回卡片当前状态,触发所述接收模块。
31.根据权利要求30所述的装置,其特征在于,所述返回模块还用于当所述第二判断模块判断指令类型为获取卡片状态指令时,向终端返回卡片当前状态具体为:所述返回模块还用于当所述第二判断模块判断指令类型为获取卡片状态指令时,向终端返回卡片当前状态对应的状态码。
32.根据权利要求31所述的装置,其特征在于,所述返回模块还用于当所述第二判断模块判断指令类型为获取卡片状态指令时,向终端返回卡片当前状态对应的状态码,具体为:如果所述卡片当前状态是准备状态,则向所述终端发送第一状态码,触发所述接收模块;如果所述卡片当前状态是可管理状态,则向所述终端发送第二状态码,触发所述接收模块;如果所述卡片当前状态是可操作状态,则向所述终端发送第三状态码,触发所述接收模块;如果所述卡片当前状态是锁定状态,则向所述终端发送第四状态码,触发所述接收模块。
33.根据权利要求30所述的装置,其特征在于,所述装置还包括:第二获取模块和第八判断模块;
所述第二获取模块,用于获取安全通道标识位的值,将所述安全通道标识位的值置为第二预设值;
所述第八判断模块,用于判断所述第二获取模块获取的所述安全通道标识位的值是否等于第二预设值,是则触发所述返回模块向终端返回卡片当前状态,触发所述接收模块;
所述返回模块,还用于当所述第八判断模块判断所述安全通道标识位的值不等于第二预设值时,向终端返回错误信息。
34.根据权利要求20所述的装置,其特征在于,所述第一获取模块,还用于将内置的安全通道标识位的值置为第一预设值;
所述第四判断模块,还用于判断所述第一获取模块获取的所述安全通道标识位的值是否等于第一预设值,是则触发第二生成模块;
所述返回模块,用于当所述第四判断模块判断所述安全通道标识位的值不等于第二预设值时,向终端返回错误信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810864420.2A CN108923934B (zh) | 2018-08-01 | 2018-08-01 | 一种管理卡片生命周期的实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810864420.2A CN108923934B (zh) | 2018-08-01 | 2018-08-01 | 一种管理卡片生命周期的实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108923934A CN108923934A (zh) | 2018-11-30 |
CN108923934B true CN108923934B (zh) | 2021-04-06 |
Family
ID=64393968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810864420.2A Active CN108923934B (zh) | 2018-08-01 | 2018-08-01 | 一种管理卡片生命周期的实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108923934B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660341B (zh) * | 2018-12-14 | 2021-03-16 | 飞天诚信科技股份有限公司 | 一种在应用通信中保护数据安全的实现方法及系统 |
CN112702733B (zh) * | 2020-12-30 | 2022-10-04 | 飞天诚信科技股份有限公司 | 一种读卡终端及其工作方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102801529A (zh) * | 2012-08-27 | 2012-11-28 | 飞天诚信科技股份有限公司 | 一种卡片安全通讯的方法 |
CN102929708A (zh) * | 2012-11-16 | 2013-02-13 | 飞天诚信科技股份有限公司 | 一种实现智能卡多任务处理的方法 |
CN103095460A (zh) * | 2013-01-22 | 2013-05-08 | 飞天诚信科技股份有限公司 | 一种智能卡安全通讯的方法 |
CN106502500A (zh) * | 2016-10-31 | 2017-03-15 | 维沃移动通信有限公司 | 一种快捷图标的处理方法及移动终端 |
-
2018
- 2018-08-01 CN CN201810864420.2A patent/CN108923934B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102801529A (zh) * | 2012-08-27 | 2012-11-28 | 飞天诚信科技股份有限公司 | 一种卡片安全通讯的方法 |
CN102929708A (zh) * | 2012-11-16 | 2013-02-13 | 飞天诚信科技股份有限公司 | 一种实现智能卡多任务处理的方法 |
CN103095460A (zh) * | 2013-01-22 | 2013-05-08 | 飞天诚信科技股份有限公司 | 一种智能卡安全通讯的方法 |
CN106502500A (zh) * | 2016-10-31 | 2017-03-15 | 维沃移动通信有限公司 | 一种快捷图标的处理方法及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN108923934A (zh) | 2018-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019271965B2 (en) | POS System with white box encryption key sharing | |
CN103577221B (zh) | 安全元件的操作系统的更新 | |
CN106161359B (zh) | 认证用户的方法及装置、注册可穿戴设备的方法及装置 | |
CN101309278B (zh) | 一种在客户端保存加密数据的方法及系统 | |
KR20080020621A (ko) | 무결성 보호된 보안 저장의 실행 | |
KR20220117211A (ko) | 비접촉식 카드 개인 식별 시스템 | |
CN109688098B (zh) | 数据的安全通信方法、装置、设备及计算机可读存储介质 | |
JP2019530265A (ja) | グラフィックコード情報を提供及び取得する方法及び装置並びに端末 | |
CN109376824A (zh) | 动态二维码生成方法和系统 | |
Teufl et al. | Android encryption systems | |
EP3293656A1 (en) | Method for controlling access to a trusted application in a terminal | |
CN104753674A (zh) | 一种应用身份的验证方法和设备 | |
CN108923934B (zh) | 一种管理卡片生命周期的实现方法及装置 | |
CN110213247A (zh) | 一种提高推送信息安全性的方法及系统 | |
CN111800262A (zh) | 数字资产的处理方法、装置和电子设备 | |
US10396989B2 (en) | Method and server for providing transaction keys | |
CN112669104B (zh) | 租赁设备的数据处理方法 | |
TW201035799A (en) | A method of protecting a secure USB key | |
EP2985712B1 (en) | Application encryption processing method, apparatus, and terminal | |
CN110610360B (zh) | 一种硬件钱包绑定授权的方法及装置 | |
CN104361304A (zh) | 一种智能卡应用程序的下载方法及装置 | |
Rossudowski et al. | A security privacy aware architecture and protocol for a single smart card used for multiple services | |
CN110313005B (zh) | 用于设备应用的安全性架构 | |
CN109272310A (zh) | 一种二维码生成方法、装置及电子设备 | |
CN113572717B (zh) | 通信连接的建立方法、洗护设备及服务器 |
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 |