CN108566362B - 一种在终端和服务器之间建立安全通道的方法及装置 - Google Patents

一种在终端和服务器之间建立安全通道的方法及装置 Download PDF

Info

Publication number
CN108566362B
CN108566362B CN201810009682.0A CN201810009682A CN108566362B CN 108566362 B CN108566362 B CN 108566362B CN 201810009682 A CN201810009682 A CN 201810009682A CN 108566362 B CN108566362 B CN 108566362B
Authority
CN
China
Prior art keywords
application
card
instruction
module
data
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
CN201810009682.0A
Other languages
English (en)
Other versions
CN108566362A (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.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies 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 Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201810009682.0A priority Critical patent/CN108566362B/zh
Publication of CN108566362A publication Critical patent/CN108566362A/zh
Application granted granted Critical
Publication of CN108566362B publication Critical patent/CN108566362B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/321Cryptographic 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 involving a third party or a trusted authority
    • H04L9/3213Cryptographic 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 involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos

Abstract

本发明公开一种在终端和服务器之间建立安全通道的方法及装置,涉及信息安全领域。方法包括:终端接收服务器通过客户端发来的建立安全通道指令,生成产生第二应用密文数据指令,并向IC卡发送产生第二应用密文数据指令;终端接收IC卡返回的第二应用密文数据,从第二应用密文数据中获取第一应用密文,将第二预置数据组中的四组预置数据分别和建立安全通道指令中的配置数据进行拼接,对拼接后的四组数据使用第一应用密文进行加密,得到四组密钥;终端使用四组密钥中的上行MAC密钥对第三预置数据进行加密,产生第一校验值;采用本发明的技术方案,终端利用IC卡产生的应用密文和服务器进行协商,建立安全通道,使得后续数据传输过程更安全。

Description

一种在终端和服务器之间建立安全通道的方法及装置
技术领域
本发明涉及信息安全领域,尤其涉及一种在终端和服务器之间建立安全通道的方法及装置。
背景技术
在现有技术中,不同的IC卡插入终端中,终端只能利用预先存储的根密钥对同一组随机数加密得到传输密钥,使得终端对发送至服务器的数据和接收服务器发来的数据进行加解密时采用相同的传输密钥,造成传输密钥是固定且单一的,而且一旦发生根密钥泄漏的情况,数据传输就变得不安全。
发明内容
本发明的目的是为了解决现有技术中存在的问题,提供了一种在终端和服务器之间建立安全通道的方法及装置。
本发明采用的技术方案是:
本发明提供了一种在终端和服务器之间建立安全通道的方法,包括:
步骤S1、终端接收服务器通过客户端发来的建立安全通道指令,生成产生第二应用密文数据指令,并向IC卡发送产生第二应用密文数据指令;
步骤S2、终端接收IC卡返回的第二应用密文数据,从第二应用密文数据中获取第一应用密文,将第二预置数据组中的四组预置数据分别和建立安全通道指令中的配置数据进行拼接,对拼接后的四组数据使用第一应用密文进行加密,得到上行工作密钥、下行工作密钥、上行MAC密钥和下行MAC密钥;
步骤S3、终端使用上行MAC密钥对第三预置数据进行加密,产生第一校验值;
步骤S3之前还包括:
步骤X:终端生成产生第一应用密文数据指令,并向IC卡发送产生第一应用密文数据指令;
步骤Y:终端接收IC卡返回的第一应用密文数据后,根据第一应用密文数据生成第一令牌;
步骤S3中还包括:将第一令牌和第一校验值通过客户端发送至服务器。
本发明提供了一种在终端和服务器之间建立安全通道的装置,包括:
接收模块,用于接收服务器通过客户端发来的建立安全通道指令;
生成模块,用于接收模块接收到建立安全通道指令后,生成产生第二应用密文数据指令;
发送模块,用于向IC卡发送生成模块生成的产生第二应用密文数据指令;
接收模块,还用于接收IC卡返回的第二应用密文数据;
拼接模块,用于从接收模块接收到的第二应用密文数据中获取第一应用密文,将第二预置数据组中的四组预置数据分别和建立安全通道指令中的配置数据进行拼接;
加密模块,用于对拼接模块拼接后的四组数据使用第一应用密文进行加密,得到上行工作密钥、下行工作密钥、上行MAC密钥和下行MAC密钥;
加密模块,还用于对第三预置数据进行加密,产生第一校验值;
装置还包括:
生成模块,还用于生成产生第一应用密文数据指令;
发送模块,还用于将生成模块生成的产生第一应用密文数据指令发送至IC卡;
接收模块,还用于接收IC卡返回的第一应用密文数据;
生成模块,还用于根据接收模块接收的第一应用密文数据生成第一令牌;
发送模块,还用于将第一令牌和第一校验值通过客户端发送至服务器。
本发明取得的有益效果是:采用本发明的技术方案,终端利用IC卡产生的应用密文和服务器进行协商,双方使用该应用密文各自生成上行密钥和下行密钥,建立安全通道;终端使用上行密钥加密,用下行密钥解密;且不同的IC卡插入终端会产生不同的应用密文,使得后续数据传输过程更安全。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种在终端和服务器之间建立安全通道的方法的流程图;
图2为本发明实施例二提供的一种在终端和服务器之间建立安全通道的方法的流程图;
图3-图5为本发明实施例三提供的一种在终端和服务器之间建立安全通道的方法的流程图;
图6为本发明实施例四提供的一种在终端和服务器之间建立安全通道的装置的方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例提供了一种在终端和服务器之间建立安全通道的方法,如图1所示,包括:
步骤S1、终端接收服务器通过客户端发来的建立安全通道指令,生成产生第二应用密文数据指令,并向IC卡发送产生第二应用密文数据指令;
步骤S2、终端接收IC卡返回的第二应用密文数据,从第二应用密文数据中获取第一应用密文,将第二预置数据组中的四组预置数据分别和建立安全通道指令中的配置数据进行拼接,对拼接后的四组数据使用第一应用密文进行加密,得到上行工作密钥、下行工作密钥、上行MAC密钥和下行MAC密钥;
步骤S3、终端使用上行MAC密钥对第三预置数据进行加密,产生第一校验值;
步骤S3之前还包括:
步骤X:终端生成产生第一应用密文数据指令,并向IC卡发送产生第一应用密文数据指令;
步骤Y:终端接收IC卡返回的第一应用密文数据后,根据第一应用密文数据生成第一令牌;
步骤S3中还包括:将第一令牌和第一校验值通过客户端发送至服务器。
优选地,步骤X中生成产生第一应用密文数据指令,具体为:根据第一预置数据和建立安全通道指令中的不可预知数生成产生第一应用密文数据指令;
步骤S1中终端生成产生第二应用密文数据指令,具体为:根据第一预置数据和建立安全通道指令中的不可预知数生成产生第二应用密文数据指令。
优选地,步骤S1中终端接收服务器通过客户端发来的建立安全通道指令后,还包括:
步骤A1、终端从建立安全通道指令中获取应用文件列表,从应用文件列表中获取应用标识符,根据应用标识符生成选择应用指令,并向IC卡发送选择应用指令;
步骤A2、终端接收IC卡发来的选择应用响应,根据选择应用响应生成获取处理选项指令,并向IC卡发送获取处理选项指令;
步骤A3、终端接收IC卡发来的获取处理选项指令响应,根据获取处理选项指令响应确定要读取的IC卡记录,生成读记录指令,并向IC卡发送读记录指令;
步骤A4、终端接收IC卡发来的读记录响应,从读记录响应中获取主账号序列号。
在本实施例中,步骤Y中,根据第一应用密文数据生成第一令牌,具体为:
终端将主账号序列号和第一应用密文数据进行拼接,对拼接后的数据进行计算,生成第一令牌。
优选地,步骤S3之前,还包括:
步骤B1、终端从建立安全通道指令中获取应用文件列表,从应用文件列表中获取应用标识符,根据应用标识符生成选择应用指令,并向IC卡发送选择应用指令;
步骤B2、终端接收IC卡发来的选择应用响应,根据选择应用响应生成获取处理选项指令,并向IC卡发送获取处理选项指令;
步骤B3、终端接收IC卡发来的获取处理选项指令响应。
在本实施例中,方法还包括:
步骤C1、终端接收服务器发来的查询卡片交易记录指令密文和第三校验值;
步骤C2、终端判断第三校验值是否正确,是则终端使用下行工作密钥解密查询卡片交易记录指令密文,得到查询卡片交易记录指令,并向IC卡发送查询卡片交易记录指令;否则报错结束;
步骤C3、终端接收到IC卡返回的查询卡片交易记录响应后,使用上行工作密钥对查询卡片交易记录响应加密,得到查询卡片交易记录响应密文;
步骤C4、终端使用上行MAC密钥对第三预置数据进行计算,产生第四校验值,并将查询卡片交易记录响应密文和第四校验值发送至服务器。
相应地,方法还包括:
步骤S4、服务器获取IC卡卡号,根据预置的配置数据和自身产生的不可预知数生成建立安全通道指令,并将生成建立安全通道指令通过客户端发送至终端;
步骤S5、服务器接收到终端通过客户端发来的第一令牌和第一校验值后,根据不可预知数生成获取到的卡号对应的第三应用密文数据,根据第三应用密文数据生成第二令牌,判断第一令牌和第二令牌是否相同,是则执行步骤S6,否则报错结束;
步骤S6、服务器从第三应用密文数据中获取第二应用密文,将第四预置数据组中的四组预置数据分别和建立安全通道指令中的配置数据进行拼接,对拼接后的四组数据分别使用第二应用密文进行加密,得到上行工作密钥、下行工作密钥、上行MAC密钥和下行MAC密钥;
步骤S7、服务器使用上行MAC密钥对第五预置数据进行加密,产生第二校验值,判断第一校验值和第二校验值是否相同,是则安全通道建立;否则报错结束。
优选地,方法还包括:
服务器生成查询卡片交易记录指令,并使用下行工作密钥对查询卡片交易记录指令进行加密,得到查询卡片交易记录指令密文;使用下行MAC密钥算出第三校验值。
进一步地,方法还包括:
步骤D1、服务器接收终端通过客户端发送的第四校验值和查询卡片交易记录响应,判断第四校验值是否正确,是则步骤D2;否则报错结束;
步骤D2、服务器使用上行工作密钥解密查询卡片交易记录响应密文,得到查询卡片交易记录响应,判断查询卡片交易记录响应是否正确,是则向客户端发送查询结果;否则向客户端发送查询失败。
实施例二
本实施例提供了一种在终端和服务器之间建立安全通道的方法中终端的工作方法,如图2所示,包括:
步骤201、终端接收客户端转发服务器发送的建立安全通道指令后,从建立安全通道指令中获取应用文件列表,从应用文件列表中获取应用标识符,根据应用标识符生成选择应用指令,并向IC卡发送选择应用指令;
具体地,服务器生成建立安全通道指令具体包括:生成不可预知数、设置算法类型,将不可预知数、算法类型、预置的配置数据和应用文件列表拼接组成建立安全通道指令。
例如,建立安全通道指令为:841210001C9f370434A23B14DF72090112A5B13501020304E707A0000000048002,其中34A23B14为不可预知数,01为使用的算法类型,12A5B13501020304为配置数据,A0000000048002为应用文件列表。
例如,终端向IC卡发送选择应用指令具体为:00A4040007A0000000048002。
步骤202、终端接收IC卡发来的选择应用响应,根据选择应用响应生成获取处理选项指令,并向IC卡发送获取处理选项指令;
具体地,终端获取选择应用响应中的处理选项数据对象列表,从处理选项数据对象列表获取终端数据,根据终端数据生成获取处理选项指令,并向IC卡发送获取处理选项指令;
步骤203、终端接收IC卡发来的处理选项指令响应,根据处理选项指令响应确定要读取的IC卡记录,生成读记录指令,并向IC卡发送读记录指令;
步骤204、终端接收IC卡发来的读记录指令响应后,从读记录响应中获取主账号序列号;
步骤205、终端根据第一预置数据和从建立安全通道指令中获取的不可预知数生成产生第一应用密文数据指令,并向IC卡发送产生第一应用密文数据指令;
在本实施例中,产生第一应用密文数据指令的数据包括:从建立安全通道指令中获取的不可预知数和终端预置数据(终端国家代码和交易货币代码)。
例如,产生第一应用密文数据指令具体为:
80AE4000250000000000000000000000000156004000000001561704130034A23B14,其中,18-19字节为终端国家代码、25-26字节为交易货币代码、34A23B14为不可预知数。
步骤206、终端将IC卡发来的第一应用密文数据和主账号序列号进行拼接,对拼接后的数据进行计算,生成第一令牌;
具体地,在本实施例中,终端接收到第一应用密文数据后,对第一应用密文数据和读记录指令响应中主账号序列号进行拼接,对拼接后的数据进行压缩,对压缩后的数据进行加扰操作产生第一令牌。
具体地,第一应用密文数据包括:密文信息数据、交易计数器、应用密文和发卡行应用数据;
例如,将主账号序列号和第一应用密文数据顺序拼接后,得到拼接后的数据为:1001 0007 8792FDF0839377E8 0010A000012400000000;
产生的第一令牌为:F1Z4D74A。
步骤207、终端从应用文件列表中获取应用标识符,根据应用的应用标识符生成选择应用指令,并向IC卡发送选择应用指令;
步骤208、终端接收IC卡发来的选择应用响应,根据选择应用响应生成获取处理选项指令,并向IC卡发送获取处理选项指令;
步骤209、终端接收IC卡发来的获取处理选项响应,生成产生第二应用密文数据指令向IC卡发送产生第二应用密文数据指令;
步骤210、终端接收IC卡发来的第二应用密文数据,从第二应用密文数据中获取应用密文,将第二预置数据组中的四组预置数据分别和建立安全通道指令中的配置数据进行拼接,对拼接后的数据使用应用密文进行第一预设算法加密,得到上行工作密钥、下行工作密钥、上行MAC密钥和下行MAC密钥;
具体地,在本实施例中,还包括:终端预存第二预置数据组;其中,第二预置数据组为:
Data1:AF2197B81A1B1C1D;Data2:780B131A2A2B2C2D;Data3:5C6334B83A3B3C3D;Data4:1D6ECEB44A4B4C4D。
在本实施例中,步骤201之前还包括:终端接收服务器发来的获取终端信息指令,终端通过客户端向服务器返回终端信息;
具体地,终端信息包括:算法类型、终端序列号、版本信息等。
相应地,步骤201之前还包括:终端从建立安全通道指令中获取算法类型;
进一步地,终端向IC卡发送产生应用密文指令后收到的应用密文数据中的应用密文为预设字节,终端根据算法类型确定算法对应的密钥长度,根据密钥长度确定向IC卡发送几次产生应用密文数据的指令,再将获取到的应用密文数据中的应用密文进行拼接;
具体地,以3DES算法为例。由于3DES算法对应的密钥长度是16字节,而终端向IC卡发送产生应用密文指令后收到的应用密文数据中的应用密文为8字节,须向IC卡发送两次产生应用密文数据的指令,将两次获取到的应用密文数据中的应用密文进行拼接。
具体地,IC卡将两次拼接后的应用密文为:87 92 FD F0 83 93 77 E8 87 92 FDF0 83 93 77 A0。
具体地,在本实施例,配置数据为:
Data1:AF2197B81A1B1C1D;Data2:780B131A2A2B2C2D;Data3:5C6334B83A3B3C3D;Data4:1D6ECEB44A4B4C4D。
在本实施例中,与配置数据拼接后的数据分别为:AF2197B81A1B1C1D12A5B13501020304;780B131A2A2B2C2D12A5B13501020304;5C6334B83A3B3C3D12A5B13501020304;1D6ECEB44A4B4C4D12A5B13501020304;
相应地,使用应用密文数据进行3DES算法加密后,得到:
上行工作密钥为:F975A67961236E51921302EF5408D2148F4C96B11715943E;
下行工作密钥为:A6100A0DB2DB636B921302EF5408D2148F4C96B11715943E;
上行MAC密钥为:B7664763BA061E7B921302EF5408D2148F4C96B11715943E;
下行MAC密钥为:C78EE44FBD3460A7921302EF5408D2148F4C96B11715943E。
步骤211、终端使用上行MAC密钥对终端中的第三预置数据进行运算,产生第一校验值,并将第一令牌和第一校验值发送至客户端;
在本实施例中,第三预置数据为:初始值;初始值为CTRU和CTRE,其中CTRU的初始值为:00000001;CTRE的初始值为:00000000。
在本实施例中,终端使用上行MAC密钥对终端中的第三预置数据进行运算,具体为:终端将CTRU和CTRE进行拼接,终端使用上行MAC密钥对拼接后的数据进行运算。
具体地,产生的第一校验值具体为:99A7D9EFD6553EEF。
步骤212、终端接收客户端转发服务器发来的查询卡片交易记录指令密文和第三校验值,判断第三校验值是否正确,是则使用下行工作密钥解密查询卡片交易记录指令密文,得到查询卡片交易记录指令,执行步骤213;否则报错结束;
在本实施例中,判断第三校验值是否正确,具体为:终端使用下行MAC密钥对第三预置数据进行运算,判断得到的运算结果和第三校验值是否一致,是则使用下行工作密钥解密查询卡片交易记录指令密文,得到查询卡片交易记录指令,执行步骤213;否则报错结束;
步骤213、终端接收到IC卡返回的查询卡片交易记录响应后,使用上行工作密钥加密,得到查询卡片交易记录响应密文,使用上行MAC密钥对第三预置数据进行计算,产生第四校验值,向客户端发送查询卡片交易记录响应密文和第四校验值。
实施例三
本实施例三提供了一种在终端和服务器之间建立安全通道的方法,如图3-图5所示,包括:
步骤101、客户端向服务器发送查询卡片交易记录的请求;
具体地,查询卡片交易记录的请求中包含卡号。
在本实施例中,步骤101之前,还包括:客户端和终端建立连接;
步骤102、服务器生成建立安全通道指令,向客户端发送建立安全通道指令,客户端发送建立安全通道指令至终端;
在本实施例中,服务器接收到查询卡片交易记录的请求后,生成不可预知数、设置算法类型,将不可预知数、算法类型、预置的配置数据和应用文件列表拼接,组成建立安全通道指令,并通过客户端向终端发送建立安全通道指令;
具体地,建立安全通道指令为:841210001C9f370434A23B14DF72090112A5B13501020304E707A0000000048002,其中34A23B14为不可预知数,01为使用的算法类型,12A5B13501020304为配置数据,A0000000048002为应用文件列表。
需要说明的是,本实施例中的应用文件列表中只存有一个应用。
在本实施例中,步骤102之前还包括:
步骤101-1、服务器通过客户端向终端发送获取终端支持的算法类型的命令;
步骤101-2、终端通过客户端向服务器返回终端支持的算法类型;
具体地,服务器设置的算法类型为:3DES算法;
在本实施例中,客户端指移动终端或者PC。
步骤103、终端从建立安全通道指令中获取应用文件列表,从应用文件列表中获取应用标识符,根据应用标识符生成选择应用指令,并向IC卡发送选择应用指令;
在本实施例中,向IC卡发送的选择应用指令具体为:00 A4 04 00 07 A0 00 0000 04 80 02。
步骤104、IC卡接收选择应用指令后,执行选应用操作,并向终端返回选择应用响应;
具体地,IC卡向终端返回选择响应具体为:6F 27 84 07 A0 00 00 00 04 80 02A5 1C 87 01 01 50 0A 4D 61 73 74 65 72 43 61 72 64 5F 2D 06 65 6E 64 65 66 729F 11 01 01 90 00。
步骤105、终端接收IC卡发来的选择应用响应,根据选择应用响应生成获取处理选项指令,并向IC卡发送获取处理选项指令;
终端获取选择响应中的处理选项数据对象列表,根据处理选项数据对象列表获取终端数据,根据终端数据生成获取处理选项指令,并向IC卡发送获取处理选项指令。
本实施例中,终端根据处理选项数据对象列表获取的终端数据包括:授权金额;
步骤106、IC卡接收获取处理选项指令,生成获取处理选项指令响应并返回处理选项指令响应至终端;
在本实施例中,获取处理选项指令响应中包含应用文件定位器和应用交互特征。
具体地,终端根据终端动态数据生成获取处理选项指令为:80 A8 00 00 02 8300 00,其中8300表示没有处理选项数据对象列表的数据。
步骤107、终端根据获取处理选项指令响应确定要读取的IC卡记录,对应生成读记录指令并向IC卡发送读记录指令;
具体地,终端顺序读取应用文件定位器中的一个应用文件定位器项作为当前应用文件定位器项,根据当前应用文件定位器项的内容确定当前应用文件定位器项指定要读取的IC卡记录所在应用文件的短文件标识符,以及要读取的IC卡记录的记录号,生成包含当前确定的短文件标识符和记录号的读记录指令。
在本实施例中,获取处理选项指令响应中的应用文件定位器包括:短文件标识符、记录号、存放用于脱机数据认证的数据的记录个数。
步骤108、IC卡接收读记录指令,读取相应IC卡记录,根据读取到的IC卡记录生成读记录指令响应,并向终端返回读记录指令响应;
在本实施例中,读记录指令响应中包含主账号序列号。例如,主账号序列号为:01。
步骤109、终端获取用户输入的Pin码,生成包含该Pin码的验证请求,并向IC卡发送验证请求;
具体地,验证请求为:002000800400123456。
步骤110、IC卡接收验证请求,判断验证请求中包含的Pin码是否与自身存储的Pin码相同,是则向终端返回验证成功的响应,执行步骤111;否则向终端返回失败错误码;
具体地,验证成功的响应为:9000;验证失败的响应为:63Cx,其中返回剩余次数63Cx,x代表剩余次数。
在本实施例中,IC卡向终端返回验证失败错误码,终端报错结束,终端将失败错误码发送给客户端。
步骤111、终端生成产生第一应用密文数据指令,并向IC卡发送生成第一应用密文数据指令;
在本实施例中,产生第一应用密文数据指令包括:终端第一预置数据(终端国家代码和交易货币代码)和从建立安全通道指令中获取的不可预知数,具体地,产生第一应用密文指令具体为:
80AE4000250000000000000000000000000156004000000001561704130034A23B14,其中,18-19字节为终端国家代码、25-26字节为交易货币代码、34A23B14为不可预知数。
步骤112、IC卡产生第一应用密文数据,并向终端返回第一应用密文数据;
在本实施例中,IC卡向终端返回第一应用密文数据包括:ATC(ApplicationTransaction Counter交易计数器);CID(Cryptogram Information Data密文信息数据);AC(Application Cryptogram应用密文);IAD(Issuer Application Data发卡行应用数据)。
具体地,第一应用密文数据为:77219F2701809f26088792FDF0839377E89F360200079F100A0010A000012400000000;其中01为CID;0007为ATC;8792FDF0839377E8为AC;0010A000012400000000为IAD。
步骤113、终端接收到第一应用密文数据后,组建数据并对组建后的数据进行计算产生第一令牌;
在本实施例中,步骤113具体包括:终端接收到第一应用密文数据后,对第一应用密文数据和读记录指令响应中主账号序列号进行拼接,对拼接后的数据进行压缩,对压缩后的数据进行加扰操作产生第一令牌。
具体地,将主账号序列号、密文信息数据、交易计数器、应用密文和发卡行应用数据顺序拼接后,得到拼接后的数据为:10 01 0007 8792FDF0839377E80010A000012400000000;
产生的第一令牌为:F1Z4D74A。
步骤114、终端从应用文件列表中获取应用标识符,根据应用标识符生成选择应用指令,并向IC卡发送选择应用指令;
步骤115、IC卡接收选择应用指令后,执行选应用操作,并向终端返回选择响应;
步骤116、终端接收IC卡发来的选择响应,根据选择响应生成获取处理选项指令,并向IC卡发送获取处理选项指令;
步骤117、IC卡接收获取处理选项指令,生成获取处理选项指令响应并返回获取处理选项指令响应至终端;
步骤118、终端生成产生第二应用密文数据指令,并向IC卡发送产生第二应用密文数据指令;
步骤119、IC卡产生第二应用密文数据,并向终端返回第二应用密文数据;
需要说明的是,此时,应用密文数据中包括的交易计数器发生改变。即:IC卡接收获取处理选项指令,生成获取处理选项指令响应后,交易计数器就会加1;
步骤120、终端从第二应用密文数据获取第一应用密文,将第二预置数据组中的四组预置数据分别和建立安全通道指令中的配置数据进行拼接,对拼接后的数据使用第一应用密文进行第一预设算法加密,得到上行工作密钥、下行工作密钥、上行MAC密钥和下行MAC密钥;
在本实施例中,步骤101之前还包括:
步骤101-1、服务器通过客户端向终端发送获取终端信息指令;
步骤101-2、终端通过客户端向服务器返回终端信息;
具体地,终端信息包括:算法类型、终端序列号、版本信息等。
相应地,步骤103之前还包括:终端从建立安全通道指令中获取算法类型;
进一步地,终端向IC卡发送产生应用密文指令后收到的应用密文数据中的应用密文为预设字节,终端根据算法类型确定算法对应的密钥长度,根据密钥长度确定向IC卡发送几次产生应用密文数据的指令,再将获取到的应用密文数据中的应用密文进行拼接;
具体地,以3DES算法为例。由于3DES算法对应的密钥长度是16字节,而终端向IC卡发送产生应用密文指令后收到的应用密文数据中的应用密文为8字节,须向IC卡发送两次产生应用密文数据的指令,将两次产生的应用密文数据中的应用密文进行拼接。
具体地,IC卡将两次拼接后的应用密文为:87 92 FD F0 83 93 77 E8 87 92 FDF0 83 93 77 A0。
具体地,在本实施例,配置数据为:
Data1:AF2197B81A1B1C1D;Data2:780B131A2A2B2C2D;Data3:5C6334B83A3B3C3D;Data4:1D6ECEB44A4B4C4D。
与配置数据拼接后的数据分别为:AF2197B81A1B1C1D12A5B13501020304;780B131A2A2B2C2D12A5B13501020304;5C6334B83A3B3C3D12A5B13501020304;1D6ECEB44A4B4C4D12A5B13501020304;
相应地,使用应用密文数据进行3DES算法加密后,得到:上行工作密钥为:F975A67961236E51921302EF5408D2148F4C96B11715943E;
下行工作密钥为:A6100A0DB2DB636B921302EF5408D2148F4C96B11715943E;
上行MAC密钥为:B7664763BA061E7B921302EF5408D2148F4C96B11715943E;
下行MAC密钥为:C78EE44FBD3460A7921302EF5408D2148F4C96B11715943E。
步骤121、终端使用上行MAC密钥对终端中的第三预置数据进行运算,产生第一校验值,并将第一令牌和第一校验值发送至客户端,客户端将第一令牌和第一校验值发送至服务器;
在本实施例中,第三预置数据为CTRU和CTRE,其中CTRU的初始值为:00000001;CTRE的初始值为:00000000。将CTRU和CTRE进行拼接,终端使用上行MAC密钥对拼接后的数据进行运算,产生第一校验值。
具体地,产生的第一校验值具体为:99A7D9EFD6553EEF。
步骤122、服务器接收到终端发来的第一令牌和第一校验值后,根据查询卡片交易记录的请求中包含的IC卡卡号产生对应的应用密文数据,组建数据并对组建后的数据进行计算产生第二令牌,判断接收到的第一令牌和自身产生的第二令牌是否相同,是则执行步骤123,否则否则报错结束;
具体地,第二令牌为:F1Z4D74A与收到的第一令牌相同,执行步骤123。
步骤123、服务器将第四预置数据组和配置数据进行拼接,产生IC卡对应的第三应用密文数据,并从应用密文数据中获取第二应用密文,对拼接后的数据使用第二应用密文进行第一预设算法加密,得到上行工作密钥、下行工作密钥、上行MAC密钥和下行MAC密钥;
在本实施例中,与配置数据拼接后的数据分别为:AF2197B81A1B1C1D12A5B13501020304;780B131A2A2B2C2D12A5B13501020304;5C6334B83A3B3C3D12A5B13501020304;1D6ECEB44A4B4C4D12A5B13501020304;
相应地,对拼接后的数据使用第二应用密文进行3DES算法加密后得到:
上行工作密钥为:F975A67961236E51921302EF5408D2148F4C96B11715943E;
下行工作密钥为:A6100A0DB2DB636B921302EF5408D2148F4C96B11715943E;
上行MAC密钥为:B7664763BA061E7B921302EF5408D2148F4C96B11715943E;
下行MAC密钥为:C78EE44FBD3460A7921302EF5408D2148F4C96B11715943E。
步骤124、服务器使用上行MAC密钥对第五预置数据进行运算,产生第二校验值,判断接收到的第一校验值和自身产生的第二校验值是否相同,是则安全通道建立,执行步骤125,否则报错结束。
在本实施例中,第五预置数据为CTRU和CTRE,其中CTRU的初始值为:00000001;CTRE的初始值为:00000000。将CTRU和CTRE进行拼接,终端使用上行MAC密钥对拼接后的数据进行运算,产生第二校验值。
具体地,产生的第二校验值具体为:99A7D9EFD6553EEF,与接收到的第一校验值99A7D9EFD6553EEF相同,则安全通道建立。
步骤125、服务器生成查询卡片交易记录指令,并使用下行工作密钥对查询指令进行加密,得到查询卡片交易记录密文;
具体地,服务器生成的查询卡片交易记录为:7f2b0000057e42000000;交易指令密文为:7f2b00000c3C25D99BB7D9DC47。
步骤126、服务器使用下行MAC密钥算出第三校验值;
具体地,算出的第三校验值为:883F0B42;
步骤127、服务器向客户端发送查询卡片交易记录指令密文和第三校验值,客户端向终端发送查询卡片交易指令密文和第三校验值;
具体地,服务器发送的查询卡片交易记录指令密文和第三校验值为:f2b00000c3C25D99BB7D9DC47883F0B42;
步骤128、终端判断第三校验值是否正确,是则执行步骤129,否则报错结束;
具体地,终端用下行MAC密钥算出第三校验值,判断自身算出的第三校验值与服务器发送的第三校验值是否一致,是则服务器发送的第三校验值正确,执行步骤129,否则报错结束;
步骤129、终端使用下行工作密钥解密查询卡片交易记录指令密文,得到查询卡片交易记录指令;
步骤130、终端判断是否有卡片插入,如果没有,则提示用户并等待用户插卡;如果有,则向IC卡发送查询卡片交易记录指令;
步骤131、IC卡查询卡片交易记录指令,向终端返回查询卡片交易记录响应;
步骤132、终端接收到IC卡返回的查询卡片交易记录响应后,使用上行工作密钥加密,得到查询卡片交易记录响应密文;
具体地,查询卡片交易记录响应密文为:7CFA8FBD08017C2AA86BABCD6DDD5F79891307FBB15505E8;
步骤133、终端使用上行MAC密钥计算第四校验值;
具体地,第四校验值为:3C2374F5;
步骤134、终端向客户端发送查询卡片交易记录响应和第四校验值,客户端向服务器发送查询卡片交易记录响应和第四校验值;
步骤135、服务器判断第四校验值是否正确,是则执行步骤136,否则报错结束;
具体地,服务器用上行MAC密钥算出第四校验值,判断自身算出的第四校验值与终端发送的第四校验值是否一致,是则终端发送的第四校验值正确,执行步骤136,否则报错结束;
步骤136、服务器使用上行工作密钥解密查询卡片交易记录响应密文,得到查询卡片交易记录响应,判断查询卡片交易记录响应是否正确,是则向客户端发送查询结果;否则向客户端发送查询失败。
在本实施例中,终端中的第二预置数据组、第三预置数据分别和服务器中的第四预置数据组、第五预置数据相同。
实施例四
本实施例提供一种在终端和服务器之间建立安全通道的装置,如图6所示,包括:
接收模块401,用于接收服务器通过客户端发来的建立安全通道指令;
生成模块402,用于接收模块401接收到建立安全通道指令后,生成产生第二应用密文数据指令;
发送模块403,用于向IC卡发送生成模块402生成的产生第二应用密文数据指令;
接收模块401,还用于接收IC卡返回的第二应用密文数据;
拼接模块404,用于从接收模块401接收到的第二应用密文数据中获取第一应用密文,将第二预置数据组中的四组预置数据分别和建立安全通道指令中的配置数据进行拼接;
加密模块405,用于对拼接模块404拼接后的四组数据使用第一应用密文进行加密,得到上行工作密钥、下行工作密钥、上行MAC密钥和下行MAC密钥;
加密模块405,还用于对第三预置数据进行加密,产生第一校验值;
装置还包括:
生成模块402,还用于生成产生第一应用密文数据指令;
发送模块403,还用于将生成模块402生成的产生第一应用密文数据指令发送至IC卡;
接收模块401,还用于接收IC卡返回的第一应用密文数据;
生成模块402,还用于根据接收模块401接收的第一应用密文数据生成第一令牌;
发送模块403,还用于将生成模块402生成的第一令牌和加密模块405产生的第一校验值通过客户端发送至服务器。
在本实施例中,生成模块402,具体用于根据第一预置数据和接收模块401接收到建立安全通道指令中的不可预知数生成产生第一应用密文数据指令;
生成模块402,具体用于根据第一预置数据和接收模块401接收到建立安全通道指令中的不可预知数生成产生第二应用密文数据指令。
优选地,装置还包括:获取模块;
获取模块,用于从接收模块401接收到的建立安全通道指令中获取应用文件列表,从应用文件列表中获取应用标识符;
生成模块402,还用于根据获取模块获取到的应用标识符生成选择应用指令;
发送模块403,还用于向IC卡发送生成模块402生成的选择应用指令;
接收模块401,还用于接收IC卡发来的选择应用响应;
生成模块402,还用于根据接收模块401接收到的选择应用响应生成获取处理选项指令;
发送模块403,还用于向IC卡发送生成模块402生成的获取处理选项指令;
接收模块401,还用于接收IC卡发来的获取处理选项指令响应;
生成模块402,还用于根据接收模块401接收到的获取处理选项指令响应确定要读取的IC卡记录,生成读记录指令;
发送模块403,还用于向IC卡发送生成模块402生成的读记录指令;
接收模块401,还用于接收IC卡发来的读记录响应;
获取模块,还用于从接收模块401接收到的读记录响应中获取主账号序列号。
具体地,生成模块402包括:拼接单元和计算单元;
拼接单元,用于将获取模块获取到的主账号序列号和接收模块401接收的第一应用密文数据进行拼接;
计算单元,用于对拼接单元拼接后的数据进行计算,生成第一令牌。
在本实施例中,装置还包括:
获取模块,用于从接收模块401接收到的建立安全通道指令中获取应用文件列表,从应用文件列表中获取应用标识符;
生成模块402,还用于根据获取模块获取到的应用标识符生成选择应用指令;
发送模块403,还用于向IC卡发送生成模块402生成的选择应用指令;
接收模块401,还用于接收IC卡发来的选择应用响应;
生成模块402,还用于根据接收模块401接收到的选择应用响应生成获取处理选项指令;
发送模块403,还用于向IC卡发送生成模块402生成的获取处理选项指令;
接收模块401,还用于接收IC卡发来的获取处理选项指令响应。
在本实施例中,装置还包括:判断模块、解密模块、报错模块和计算模块;
接收模块401,还用于接收服务器发来的查询卡片交易记录指令密文和第三校验值;
判断模块,用于判断接收模块401接收到的第三校验值是否正确;
解密模块,用于当判断模块判断接收模块401接收到的第三校验值正确时,用下行工作密钥解密查询卡片交易记录指令密文,得到查询卡片交易记录指令;
发送模块403,还用于向IC卡发送查询卡片交易记录指令;
报错模块,用于当判断模块判断接收模块401接收到的第三校验值不正确时,报错结束;
接收模块401,还用于接收IC卡返回的查询卡片交易记录响应;
加密模块405,还用于使用上行工作密钥对接收模块401接收到的查询卡片交易记录响应加密,得到查询卡片交易记录响应密文;
计算模块,用于使用上行MAC密钥对第三预置数据进行计算,产生第四校验值;
发送模块403,还用于将查询卡片交易记录响应密文和第四校验值发送至服务器。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (15)

1.一种在终端和服务器之间建立安全通道的方法,其特征在于,包括:
步骤S1、终端接收服务器通过客户端发来的建立安全通道指令,生成产生第二应用密文数据指令,并向IC卡发送所述产生第二应用密文数据指令;
步骤S2、所述终端接收所述IC卡返回的第二应用密文数据,从所述第二应用密文数据中获取第一应用密文,将第二预置数据组中的四组预置数据分别和所述建立安全通道指令中的配置数据进行拼接,对拼接后的四组数据使用所述第一应用密文进行加密,得到上行工作密钥、下行工作密钥、上行MAC密钥和下行MAC密钥;
步骤S3、所述终端使用所述上行MAC密钥对第三预置数据进行加密,产生第一校验值;
所述步骤S3之前还包括:
步骤X:所述终端生成产生第一应用密文数据指令,并向IC卡发送所述产生第一应用密文数据指令;
步骤Y:所述终端接收所述IC卡返回的第一应用密文数据后,根据所述第一应用密文数据生成第一令牌;
所述步骤S3中还包括:将所述第一令牌和所述第一校验值通过客户端发送至所述服务器。
2.根据权利要求1所述的方法,其特征在于,所述步骤X中所述终端生成产生第一应用密文数据指令,具体为:根据第一预置数据和所述建立安全通道指令中的不可预知数生成产生第一应用密文数据指令;
所述步骤S1中所述终端生成产生第二应用密文数据指令,具体为:根据第一预置数据和所述建立安全通道指令中的不可预知数生成产生第二应用密文数据指令。
3.根据权利要求1所述的方法,其特征在于,所述步骤S1中所述终端接收服务器通过客户端发来的建立安全通道指令后,还包括:
步骤A1、所述终端从所述建立安全通道指令中获取应用文件列表,从所述应用文件列表中获取应用标识符,根据所述应用标识符生成选择应用指令,并向IC卡发送所述选择应用指令;
步骤A2、所述终端接收所述IC卡发来的选择应用响应,根据所述选择应用响应生成获取处理选项指令,并向所述IC卡发送所述获取处理选项指令;
步骤A3、所述终端接收所述IC卡发来的获取处理选项指令响应,根据所述获取处理选项指令响应确定要读取的IC卡记录,生成读记录指令,并向所述IC卡发送所述读记录指令;
步骤A4、所述终端接收IC卡发来的读记录响应,从所述读记录响应中获取主账号序列号。
4.根据权利要求3所述的方法,其特征在于,所述步骤Y中,所述根据所述第一应用密文数据生成第一令牌,具体为:
所述终端将所述主账号序列号和所述第一应用密文数据进行拼接,对拼接后的数据进行计算,生成第一令牌。
5.根据权利要求1所述的方法,其特征在于,所述步骤S3之前,还包括:
步骤B1、所述终端从所述建立安全通道指令中获取应用文件列表,从所述应用文件列表中获取应用标识符,根据所述应用标识符生成选择应用指令,并向IC卡发送所述选择应用指令;
步骤B2、所述终端接收所述IC卡发来的选择应用响应,根据所述选择应用响应生成获取处理选项指令,并向所述IC卡发送所述获取处理选项指令;
步骤B3、所述终端接收所述IC卡发来的获取处理选项指令响应。
6.根据权利要求1所述的方法,其特征在于,所述步骤S3之后还包括:
步骤C1、所述终端接收服务器发来的查询卡片交易记录指令密文和第三校验值;
步骤C2、所述终端判断所述第三校验值是否正确,是则所述终端使用所述下行工作密钥解密查询卡片交易记录指令密文,得到查询卡片交易记录指令,并向所述IC卡发送所述查询卡片交易记录指令;否则报错结束;
步骤C3、所述终端接收到IC卡返回的查询卡片交易记录响应后,使用上行工作密钥对所述查询卡片交易记录响应加密,得到查询卡片交易记录响应密文;
步骤C4、所述终端使用上行MAC密钥对第三预置数据进行计算,产生第四校验值,并将所述查询卡片交易记录响应密文和所述第四校验值发送至服务器。
7.根据权利要求1所述的方法,其特征在于,方法还包括:
步骤S4、服务器获取IC卡卡号,根据预置的配置数据和自身产生的不可预知数生成建立安全通道指令,并将所述生成建立安全通道指令通过客户端发送至终端;
步骤S5、服务器接收到所述终端通过客户端发来的所述第一令牌和所述第一校验值后,根据所述不可预知数生成获取到的卡号对应的第三应用密文数据,根据所述第三应用密文数据生成第二令牌,判断所述第一令牌和所述第二令牌是否相同,是则执行步骤S6,否则报错结束;
步骤S6、所述服务器从所述第三应用密文数据中获取第二应用密文,将第四预置数据组中的四组预置数据分别和所述建立安全通道指令中的配置数据进行拼接,对拼接后的四组数据分别使用所述第二应用密文进行加密,得到上行工作密钥、下行工作密钥、上行MAC密钥和下行MAC密钥;
步骤S7、所述服务器使用所述服务器加密得到的所述上行MAC密钥对第五预置数据进行加密,产生第二校验值,判断所述第一校验值和所述第二校验值是否相同,是则安全通道建立;否则报错结束。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述服务器生成查询卡片交易记录指令,并使用所述下行工作密钥对所述查询卡片交易记录指令进行加密,得到查询卡片交易记录指令密文;使用所述下行MAC密钥算出第三校验值。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
步骤D1、所述服务器接收所述终端通过客户端发送的第四校验值和查询卡片交易记录响应,判断所述第四校验值是否正确,是则步骤D2;否则报错结束;
步骤D2、所述服务器使用所述上行工作密钥解密所述查询卡片交易记录响应密文,得到查询卡片交易记录响应,判断查询卡片交易记录响应是否正确,是则向所述客户端发送查询结果;否则向所述客户端发送查询失败。
10.一种在终端和服务器之间建立安全通道的装置,其特征在于,包括:
接收模块,用于接收服务器通过客户端发来的建立安全通道指令;
生成模块,用于所述接收模块接收到建立安全通道指令后,生成产生第二应用密文数据指令;
发送模块,用于向IC卡发送所述生成模块生成的产生第二应用密文数据指令;
所述接收模块,还用于接收所述IC卡返回的第二应用密文数据;
拼接模块,用于从所述接收模块接收到的第二应用密文数据中获取第一应用密文,将第二预置数据组中的四组预置数据分别和所述建立安全通道指令中的配置数据进行拼接;
加密模块,用于对拼接模块拼接后的四组数据使用所述第一应用密文进行加密,得到上行工作密钥、下行工作密钥、上行MAC密钥和下行MAC密钥;
所述加密模块,还用于对第三预置数据进行加密,产生第一校验值;
所述装置还包括:
所述生成模块,还用于生成产生第一应用密文数据指令;
所述发送模块,还用于将所述生成模块生成的产生第一应用密文数据指令发送至所述IC卡;
所述接收模块,还用于接收所述IC卡返回的第一应用密文数据;
所述生成模块,还用于根据所述接收模块接收的第一应用密文数据生成第一令牌;
所述发送模块,还用于将所述第一令牌和所述第一校验值通过客户端发送至所述服务器。
11.根据权利要求10所述的装置,其特征在于,所述生成模块,具体用于根据第一预置数据和所述接收模块接收到建立安全通道指令中的不可预知数生成产生第一应用密文数据指令;
所述生成模块,具体用于根据第一预置数据和所述接收模块接收到建立安全通道指令中的不可预知数生成产生第二应用密文数据指令。
12.根据权利要求10所述的装置,其特征在于,所述装置还包括:获取模块;
所述获取模块,用于从所述接收模块接收到的所述建立安全通道指令中获取应用文件列表,从所述应用文件列表中获取应用标识符;
所述生成模块,还用于根据所述获取模块获取到的应用标识符生成选择应用指令;
所述发送模块,还用于向IC卡发送所述生成模块生成的选择应用指令;
所述接收模块,还用于接收所述IC卡发来的选择应用响应;
所述生成模块,还用于根据所述接收模块接收到的所述选择应用响应生成获取处理选项指令;
所述发送模块,还用于向IC卡发送所述生成模块生成的获取处理选项指令;
所述接收模块,还用于接收所述IC卡发来的获取处理选项指令响应;
所述生成模块,还用于根据所述接收模块接收到的所述获取处理选项指令响应确定要读取的IC卡记录,生成读记录指令;
所述发送模块,还用于向IC卡发送所述生成模块生成的读记录指令;
所述接收模块,还用于接收所述IC卡发来的读记录响应;
所述获取模块,还用于从所述接收模块接收到的读记录响应中获取主账号序列号。
13.根据权利要求12所述的装置,其特征在于,所述生成模块包括:拼接单元和计算单元;
所述拼接单元,用于将所述获取模块获取到的主账号序列号和所述接收模块接收的所述第一应用密文数据进行拼接;
所述计算单元,用于对所述拼接单元拼接后的数据进行计算,生成第一令牌。
14.根据权利要求10所述的装置,其特征在于,所述装置还包括:
所述获取模块,用于从所述接收模块接收到的所述建立安全通道指令中获取应用文件列表,从所述应用文件列表中获取应用标识符;
所述生成模块,还用于根据所述获取模块获取到的应用标识符生成选择应用指令;
所述发送模块,还用于向IC卡发送所述生成模块生成的选择应用指令;
所述接收模块,还用于接收所述IC卡发来的选择应用响应;
所述生成模块,还用于根据所述接收模块接收到的所述选择应用响应生成获取处理选项指令;
所述发送模块,还用于向IC卡发送所述生成模块生成的获取处理选项指令;
所述接收模块,还用于接收所述IC卡发来的获取处理选项指令响应。
15.根据权利要求10所述的装置,其特征在于,所述装置还包括:判断模块、解密模块、报错模块和计算模块;
所述接收模块,还用于接收服务器发来的查询卡片交易记录指令密文和第三校验值;
所述判断模块,用于判断所述接收模块接收到的第三校验值是否正确;
所述解密模块,用于当所述判断模块判断所述接收模块接收到的第三校验值正确时,用所述下行工作密钥解密查询卡片交易记录指令密文,得到查询卡片交易记录指令;
所述发送模块,还用于向所述IC卡发送所述查询卡片交易记录指令;
所述报错模块,用于当所述判断模块判断所述接收模块接收到的第三校验值不正确时,报错结束;
所述接收模块,还用于接收所述IC卡返回的查询卡片交易记录响应;
所述加密模块,还用于使用上行工作密钥对所述接收模块接收到的查询卡片交易记录响应加密,得到查询卡片交易记录响应密文;
所述计算模块,用于使用上行MAC密钥对第三预置数据进行计算,产生第四校验值;
所述发送模块,还用于将所述查询卡片交易记录响应密文和所述第四校验值发送至服务器。
CN201810009682.0A 2018-01-05 2018-01-05 一种在终端和服务器之间建立安全通道的方法及装置 Active CN108566362B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810009682.0A CN108566362B (zh) 2018-01-05 2018-01-05 一种在终端和服务器之间建立安全通道的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810009682.0A CN108566362B (zh) 2018-01-05 2018-01-05 一种在终端和服务器之间建立安全通道的方法及装置

Publications (2)

Publication Number Publication Date
CN108566362A CN108566362A (zh) 2018-09-21
CN108566362B true CN108566362B (zh) 2020-09-01

Family

ID=63529654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810009682.0A Active CN108566362B (zh) 2018-01-05 2018-01-05 一种在终端和服务器之间建立安全通道的方法及装置

Country Status (1)

Country Link
CN (1) CN108566362B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9100189B2 (en) * 2012-08-31 2015-08-04 Freescale Semiconductor, Inc. Secure provisioning in an untrusted environment
CN103118027B (zh) * 2013-02-05 2016-01-20 中金金融认证中心有限公司 基于国密算法建立tls通道的方法
CN103714295B (zh) * 2013-12-27 2017-04-05 北京大唐智能卡技术有限公司 一种金融集成电路卡个人化数据的检测方法及系统
CN106357400B (zh) * 2016-11-07 2019-08-30 福建星海通信科技有限公司 建立tbox终端和tsp平台之间通道的方法以及系统
CN107453873B (zh) * 2017-07-21 2020-10-20 金邦达有限公司 一种智能ic卡数据校验方法及系统

Also Published As

Publication number Publication date
CN108566362A (zh) 2018-09-21

Similar Documents

Publication Publication Date Title
KR102237890B1 (ko) 웨어러블 디바이스를 사용하여 전자 지불들을 용이하게 하기 위한 방법 및 장치
CN106470104B (zh) 用于生成共享密钥的方法、装置、终端设备及系统
CN107294937B (zh) 基于网络通信的数据传输方法、客户端及服务器
CN109766979B (zh) 一种二维码的生成方法、验证方法及其装置
EP3082356A1 (en) Method to check and prove the authenticity of an ephemeral public key
CN102752115B (zh) 挑战码生成方法及装置、动态口令认证方法及系统
CN107888381B (zh) 一种密钥导入的实现方法、装置及系统
KR20220117211A (ko) 비접촉식 카드 개인 식별 시스템
CN108347419A (zh) 数据传输方法和装置
CN101631305B (zh) 一种加密方法及系统
CA2518032A1 (en) Methods and software program product for mutual authentication in a communications network
CN110611670A (zh) 一种api请求的加密方法及装置
CN107800675A (zh) 一种数据传输方法、终端以及服务器
US11540128B2 (en) Multi-factor authentication providing a credential via a contactless card for secure messaging
CN104464117A (zh) 基于动态二维码银行自动柜员机取款方法及系统
CN107528689B (zh) 一种基于Ukey的密码修改方法
CN104836784A (zh) 一种信息处理方法、客户端和服务器
CN111131416A (zh) 业务服务的提供方法和装置、存储介质、电子装置
CN112672342B (zh) 数据传输方法、装置、设备、系统和存储介质
CN105721443A (zh) 一种链路会话密钥协商方法及装置
CN105142134A (zh) 参数获取以及参数传输方法和装置
CN107249002B (zh) 一种提高智能电能表安全性的方法、系统及装置
CN115276978A (zh) 一种数据处理方法以及相关装置
CN114499871A (zh) 一种签名加密方法、装置、系统及计算机可读存储介质
CN108566362B (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