CN108198332B - 一种降低金融交易风险的方法和装置 - Google Patents

一种降低金融交易风险的方法和装置 Download PDF

Info

Publication number
CN108198332B
CN108198332B CN201810038078.0A CN201810038078A CN108198332B CN 108198332 B CN108198332 B CN 108198332B CN 201810038078 A CN201810038078 A CN 201810038078A CN 108198332 B CN108198332 B CN 108198332B
Authority
CN
China
Prior art keywords
data
chip
card
unit
financial
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
CN201810038078.0A
Other languages
English (en)
Other versions
CN108198332A (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 CN201810038078.0A priority Critical patent/CN108198332B/zh
Publication of CN108198332A publication Critical patent/CN108198332A/zh
Application granted granted Critical
Publication of CN108198332B publication Critical patent/CN108198332B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1016Devices or methods for securing the PIN and other transaction-data, e.g. by encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0873Details of the card reader
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1025Identification of user by a PIN code
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/12Card verification

Abstract

本发明公开了一种降低金融交易风险的方法和装置,所述方法包括:读卡芯片准备发送给金融IC卡芯片的数据源,生成包含所述数据源的生成应用认证密文请求;所述读卡芯片向所述金融IC卡芯片发送所述生成应用认证密文请求;所述读卡芯片接收所述金融IC卡芯片返回的包含应用认证密文的响应数据;所述读卡芯片对所述响应数据进行压缩、加扰和转换,得到动态口令;所述读卡芯片输出所述动态口令,用于完成金融交易。本发明的有益效果在于能够避免在使用金融IC卡进行交易的过程中,将交易密码暴露在不安全环境中,防止交易密码泄露,降低交易风险,提高交易的安全性。

Description

一种降低金融交易风险的方法和装置
技术领域
本发明涉及信息安全领域,特别是涉及一种降低金融交易风险的方法和装置。
背景技术
随着金融行业信息化程度的不断提高,金融行业对安全等级的要求也日益增长,国内外各大银行都争相推出金融IC卡,以全面替代传统的磁条卡。金融IC卡又称为芯片银行卡,是以芯片作为介质的银行卡,芯片卡容量大,可以存储密钥、数字证书和指纹等信息,在加载电子纸等显示技术后,能够显示电子现金余额、交易明细和发卡行自定义数据等非敏感信息。然而,现有技术中,一些在网站上或通过电话进行的交易,仍然需要用户提供金融IC卡的账号和交易密码,存在交易密码泄露的风险。
发明内容
本发明的目的是克服现有技术的缺陷,提供一种降低金融交易风险的方法和装置。
本发明是通过下述技术方案实现的:
一方面,本发明提供一种降低金融交易风险的方法。
所述方法包括:
步骤S1、读卡芯片准备发送给金融IC卡芯片的数据源,生成包含所述数据源的生成应用认证密文请求;
步骤S2、所述读卡芯片向所述金融IC卡芯片发送所述生成应用认证密文请求;
步骤S3、所述读卡芯片接收所述金融IC卡芯片返回的包含应用认证密文的响应数据;
步骤S4、所述读卡芯片对所述响应数据进行压缩、加扰和转换,得到动态口令;
步骤S5、所述读卡芯片输出所述动态口令,用于完成金融交易。
另一方面,本发明提供一种降低金融IC卡交易风险的装置。
所述装置包括:读卡芯片,或者,包括读卡芯片和金融IC卡芯片;
其中,所述读卡芯片具体包括:
准备模块,用于准备发送给金融IC卡芯片的数据源;
生成模块,用于生成包含所述准备模块准备的数据源的生成应用认证密文请求;
发送模块,用于向所述金融IC卡芯片发送所述生成模块生成的生成应用认证密文请求;
接收模块,用于接收所述金融IC卡芯片返回的包含应用认证密文的响应数据;
处理模块,用于对所述接收模块接收到的响应数据进行压缩、加扰和转换,得到动态口令;
输出模块,用于输出所述处理模块得到的动态口令,所述动态口令用于完成金融交易。
本发明的有益效果在于:能够避免在使用金融IC卡进行金融交易的过程中,将交易密码暴露在不安全环境中,防止交易密码泄露,降低交易风险,提高交易的安全性。
附图说明
图1为本发明实施例1提供的一种降低金融交易风险的方法的流程图;
图2为本发明实施例2提供的一种降低金融交易风险的方法的流程图;
图3为本发明实施例3提供的一种降低金融交易风险的方法的流程图;
图4为本发明实施例4提供的一种降低金融交易风险的方法的流程图;
图5为本发明实施例5提供的一种降低金融交易风险的方法的流程图;
图6为本发明实施例6提供的一种降低金融交易风险的装置包括的读卡芯片的方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例;在不矛盾的情况下,各实施例可互相结合。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例提供一种降低金融交易风险的方法,应用于包括读卡芯片和金融IC卡芯片的系统,具体地,金融IC卡芯片和读卡芯片可以封装在不同的硬件设备中,例如,分别封装在金融IC卡和读卡装置中;或者,金融IC卡芯片和读卡芯片封装在同一个硬件设备中,例如都封装在金融IC卡中。如图1所示,所述方法包括:
步骤S1、读卡芯片准备发送给金融IC卡芯片的数据源,生成包含发送给金融IC卡芯片的数据源的生成应用认证密文请求;
本实施例中,生成应用认证密文请求具体为控制参数满足预设配置的生成应用认证密文请求;控制参数满足预设配置优选为控制参数高位端2个比特的值均为0。
步骤S2、读卡芯片向金融IC卡芯片发送生成应用认证密文请求;
步骤S3、读卡芯片接收金融IC卡芯片返回的包含应用认证密文的响应数据;
步骤S4、读卡芯片对金融IC卡芯片返回的响应数据进行压缩、加扰和转换,得到动态口令;
本实施例中,步骤S4具体包括:读卡芯片提取金融IC卡芯片返回的响应数据中的部分数据,根据提取到的数据处理得到压缩后的响应数据,对压缩后的响应数据进行移位处理,对移位处理后的数据进行进制转换,得到动态口令;
或者,步骤S4具体包括:读卡芯片对响应数据进行预处理得到预处理数据,提取预处理数据中的部分数据,对提取到的数据进行分组转换,替换分组转换所得数据中的部分数据,对替换后的数据进行进制转换,得到动态口令。
步骤S5、读卡芯片输出得到的动态口令,用于完成金融交易。
本实施例中,读卡芯片输出得到的动态口令包括:读卡芯片控制显示得到的动态口令,和/或读卡芯片发送得到的动态口令。
实施例2
如图2所示,本实施例在实施例1的基础上提供一种降低金融IC卡交易风险的方法,包括:
步骤S11、读卡芯片准备发送给金融IC卡芯片的数据源;
具体地,步骤S11包括:
步骤1-1、读卡芯片获取默认数据元;
本实施例中,默认数据元具体包括授权金额、其它金额、终端国家代码、终端验证结果、交易货币代码、交易日期、交易类型和不可预知数;
步骤1-2、读卡芯片根据默认数据元拼接得到发送给金融IC卡芯片的数据源;
本实施例中,读卡芯片将授权金额、其它金额、终端国家代码、终端验证结果、交易货币代码、交易日期、交易类型和不可预知数顺序拼接,得到发送给金融IC卡芯片的数据源;
例如,授权金额为默认数据00 00 00 00 00 00;其他金额为默认数据00 00 0000 00 00’;终端国家代码为默认数据01 56;终端验证结果为默认数据00 00 00 00 00’;交易货币代码为默认数据01 56;交易日期为默认数据00 00 00,交易类型为默认数据00;不可以预知数为默认数据00 00 00 00,发送给金融IC卡芯片的数据源为00 00 00 00 0000 00 00 00 00 00 00 01 56 00 00 00 00 00 01 56 00 00 00 00 00 00 00 00。
或者,步骤S11包括:
步骤2-1、读卡芯片接收用户输入的数据;
本实施例中,用户输入的数据具体为挑战值,或交易金额,或转账金额和转入账号;
步骤2-2、读卡芯片获取默认数据元;
步骤2-3、读卡芯片根据默认数据元和用户输入的数据组织得到发送给金融IC卡芯片的数据源;
具体地,本实施例中,读卡芯片用用户输入的数据更新默认数据元中的相应数据,根据更新后的默认数据元拼接得到发送给金融IC卡芯片的数据源;
更加具体地:
当用户输入的数据为挑战值时,读卡芯片根据挑战值更新默认数据元中的不可预知数,将授权金额、其它金额、终端国家代码、终端验证结果、交易货币代码、交易日期、交易类型和不可预知数顺序拼接,得到发送给金融IC卡芯片的数据源;
例如,授权金额为默认数据00 00 00 00 00 00;其他金额为默认数据00 00 0000 00 00;终端国家代码为默认数据01 56;终端验证结果为默认数据00 00 00 00 00;交易货币代码为默认数据01 56;交易日期为默认数据00 00 00,交易类型为默认数据00;不可以预知数为默认数据00 00 00 00,例如挑战值为1234,根据挑战值1234将不可预知数更新为00 00 12 34,发送给金融IC卡芯片的数据源为00 00 00 00 00 00 00 00 00 00 0000 01 56 00 00 00 00 00 01 56 00 00 00 00 00 00 12 34’;
当用户输入的数据为交易金额时,读卡芯片根据交易金额更新默认数据元中的授权金额,将授权金额、其它金额、终端国家代码、终端验证结果、交易货币代码、交易日期、交易类型和挑战值顺序拼接,得到发送给金融IC卡芯片的数据源;
例如,授权金额为默认数据00 00 00 00 00 00;其他金额为默认数据00 00 0000 00 00;终端国家代码为默认数据01 56;终端验证结果为默认数据00 00 00 00 00;交易货币代码为默认数据01 56;交易日期为默认数据00 00 00,交易类型为默认数据00;不可以预知数为默认数据00 00 00 00,例如交易金额为123.45元,根据交易金额123.45元将授权金额更新为00 00 00 01 23 45,发送给金融IC卡芯片的数据源为00 00 00 01 23 4500 00 00 00 00 00 01 56 00 00 00 00 00 01 56 00 00 00 00 00 00 00 00;
当用户输入的数据为转账金额和转入账号时,读卡芯片根据转账金额更新默认数据元中的授权金额,根据转入账号更新默认数据元中的不可预知数,将授权金额、其他金额、终端国家代码、终端验证结果、交易货币代码、交易日期、交易类型和不可预知数顺序拼接,得到发送给金融IC卡芯片的数据源;
例如,授权金额为默认数据00 00 00 00 00 00;其他金额为默认数据00 00 0000 00 00;终端国家代码为默认数据01 56;终端验证结果为默认数据00 00 00 00 00;交易货币代码为默认数据01 56;交易日期为默认数据00 00 00,交易类型为默认数据00;不可以预知数为默认数据00 00 00 00,例如转账金额为798元,转入账号为6226100200311400567,根据转账金额798元将授权金额更新为00 00 00 07 98 00,根据转入账号6226100200311400567将不可预知数更新为11 40 05 67,发送给金融IC卡芯片的数据源为00 00 00 07 98 00 00 00 00 00 00 00 01 56 00 00 00 00 00 01 56 00 00 0000 11 40 05 67。
或者,步骤S11包括:
步骤3-1、读卡芯片获取发卡行服务器提供的挑战值;
步骤3-2、读卡芯片获取默认数据元;
步骤3-3、读卡芯片根据默认数据元和发卡行服务器提供的挑战值组织得到发送给金融IC卡芯片的数据源;
读卡芯片用发卡行服务器提供的挑战值更新默认数据元中的不可预知数,将授权金额、其它金额、终端国家代码、终端验证结果、交易货币代码、交易日期、交易类型和不可预知数顺序拼接,得到发送给金融IC卡芯片的数据源;
例如,授权金额为默认数据00 00 00 00 00 00;其他金额为默认数据00 00 0000 00 00;终端国家代码为默认数据01 56;终端验证结果为默认数据00 00 00 00 00;交易货币代码为默认数据01 56;交易日期为默认数据00 00 00,交易类型为默认数据00;不可以预知数为默认数据00 00 00 00,例如挑战值为1234,根据挑战值1234将不可预知数更新为00 00 12 34,发送给金融IC卡芯片的数据源为00 00 00 00 00 00 00 00 00 00 0000 01 56 00 00 00 00 00 01 56 00 00 00 00 00 00 12 34。
步骤S12、读卡芯片生成包含发送给金融IC卡的数据源的生成应用认证密文请求;
步骤S13、读卡芯片向金融IC卡发送生成应用认证密文请求;
步骤S14、读卡芯片接收金融IC卡返回的响应数据;
具体地,金融IC卡返回的响应数据中包括密文信息数据、应用交易计数器、应用认证密文和发卡行应用数据。
步骤S15、读卡芯片对响应数据进行压缩、加扰和转换,得到动态口令;
具体地,步骤S15包括:
步骤4-1、读卡芯片提取响应数据中的部分数据,根据提取到的数据处理得到压缩后的响应数据;
进一步地,步骤4-1包括:
步骤i、读卡芯片获取响应数据中的应用交易计数器、应用认证密文和发卡行应用数据,并从发卡行应用数据中获取卡片验证结果;
步骤ii、读卡芯片将应用交易计数器与应用认证密文的高位端16比特进行异或运算;
iii、读卡芯片将异或运算结果与应用认证密文和卡片验证结果顺序拼接,得到压缩后的响应数据。
步骤4-2、读卡芯片对压缩后的响应数据进行移位处理;
具体地,读卡芯片将压缩后的响应数据中除第1位外的每个奇数位分别与它右侧的偶数位进行一次互换;
例如,压缩后的响应数据为10011100......1011011,移位处理结果为01101100......0111101。
步骤4-3、读卡芯片对移位处理结果进行转换,得到动态口令。
具体地,读卡芯片对移位处理结果进行进制转换,得到动态口令;
例如,读卡芯片将移位处理结果转换为10进制数字,或者读卡芯片将移位处理结果按照预设映射表转换为32进制数。
步骤S16、读卡芯片控制显示动态口令。
实施例3
如图3所示,本实施例基于实施例1和实施例2提供一种降低金融IC卡交易风险的方法,应用于包括金融IC卡芯片、读卡芯片、客户端和发卡行认证服务器的系统,客户端为浏览器网页或安装在智能手机等移动终端设备中的应用程序。所述方法包括:
步骤101、客户端接收用户交易请求,提示用户使用动态口令进行认证;
步骤102、读卡芯片接收生成动态口令请求;
本实施例中,读卡芯片获取用户在读卡芯片所在硬件设备上输入的生成动态口令请求,例如,读卡芯片所在硬件设备上设置有物理按键,当用户按下上述物理按键时,读卡芯片获取到生成动态口令请求;或者读卡芯片获取客户端下发的生成动态口令请求。
步骤103、读卡芯片组织选择应用命令,向金融IC卡芯片发送选择应用命令;
步骤104、金融IC卡芯片选择应用,向读卡芯片返回选择应用响应;
步骤105、读卡芯片组织获取处理选项命令,向金融IC卡芯片发送获取处理选项命令;
步骤106、金融IC卡芯片获取选择的应用的处理选项,向读卡芯片返回获取处理选项响应。
本实施例中,获取处理选项响应中包含获取到的处理选项,获取到的处理选项包括应用交互特征和文件定位器。
步骤107、读卡芯片组织读记录命令,向金融IC卡芯片发送读记录命令;
本实施例中,读卡芯片根据获取处理选项响应中的应用文件定位器组织读记录命令。
步骤108、金融IC卡芯片获取选择的应用的应用数据,向读卡芯片返回读记录响应;
进一步地,步骤108之后还包括:读卡芯片根据应用交互特征判断金融IC卡芯片是否支持脱机数据认证,若支持则执行脱机数据认证,然后执行步骤109,若不支持则直接执行步骤109。
步骤109、读卡芯片根据应用数据执行处理限制检查、持卡人认证和终端风险管理;
步骤110、读卡芯片执行终端行为分析,组织发送给金融IC卡芯片的数据源,生成包含数据源的生成应用认证密文请求;
本实施例中,发送给金融IC卡芯片的数据源包括:授权金额、其他金额、终端国家代码、终端验证结果、交易货币代码、交易日期、交易类型和不可预知数;
例如,授权金额为00 00 00 00 12 00、其他金额为00 00 00 00 00 00、终端国家代码为01 56、终端验证结果为00 00 00 00 00、交易货币代码为0156、交易日期为00 0000、交易类型为00、不可预知数为00 00 00 00,生成应用认证密文请求为:80 AE 00 00 1D00 00 00 00 12 00 00 00 00 00 00 00 01 56 00 00 00 00 00 01 56 00 00 00 00 0000 00 00。
进一步地,数据源中还可以包括:终端类型、数据认证码、ICC动态码、持卡人认证方法结果、交易时间、未知标签等。
步骤111、读卡芯片向金融IC卡芯片发送生成应用认证密文请求;
步骤112、金融IC卡芯片读取自身存储的应用相关数据,生成过程密钥;
具体地,应用相关数据包括应用交互特征、应用交易计数器和卡片验证结果;金融IC卡芯片使用唯一分散密钥在应用交易计数器的参与下,生成过程密钥;
例如,读取到的应用交互特征为00 00,应用交易计数器为00 07,卡片验证结果为A0 00 01 24 00 00;生成的过程密钥为EA AB 13 39 A2 C8 F8 84 1F 69 E7 90 55 EA39 B9。
步骤113、金融IC卡芯片使用过程密钥对生成应用认证密文请求中的数据源和读取到的应用相关数据的拼接数据进行加密,生成应用认证密文;
例如,生成应用认证密文请求中的数据源为00 00 00 00 12 00 00 00 00 00 0000 01 56 00 00 00 00 00 01 56 00 00 00 00 00 00 00 00;生成应用认证密文请求中的数据源和读取到的应用相关数据的拼接数据为00 00 00 00 12 00 00 00 00 00 00 0001 56 00 00 00 00 00 01 56 00 00 00 00 00 00 00 00 00 00 03 99 00 00 00 00;生成的应用认证密文为BB AD F7 30 92 D3 F3 89。
步骤114、金融IC卡芯片根据应用认证密文组织响应数据;
具体地,金融IC卡芯片组织包含密文信息数据、应用交易计数器、应用认证密文和发卡行应用数据的响应数据;
例如,密文信息数据为00、应用交易计数器为03 99、应用认证密文为BB AD F7 3092 D3 F3 89、发卡行应用数据为01 10 A7 80 03 02 00 00 BE 05 00 00 00 00 00 0000 FF,金融IC卡芯片生成的响应数据为:77 29 9F 27 01 00 9F 36 02 03 99 9F 26 08BB AD F7 30 92 D3 F3 89 9F 10 12 01 10 A7 80 03 02 00 00 BE 05 00 00 00 00 0000 00 FF。
步骤115、金融IC卡芯片向读卡芯片返回响应数据;
步骤116、读卡芯片对金融IC卡芯片返回的响应数据进行压缩、加扰和转换,得到动态口令并显示;
步骤117、客户端获取动态口令,组织交易报文;
本实施例中,客户端获取动态口令包括:客户端接收用户输入的动态口令,或者客户端接收读卡芯片发送的动态口令。
步骤118、客户端向发卡行服务器发送动态口令和交易报文;
步骤119、发卡行服务器对动态口令进行验证,若验证通过则批准交易,若验证未通过则拒绝交易。
本实施例中,步骤119可以具体包括:
步骤1119-1、发卡行服务器根据动态口令获取应用认证密文数据、应用交易计数器和卡片验证结果,根据获取到的应用交易计数器和卡片验证结果生成应用认证密文比较数据;
具体地,发卡行服务器接收到动态口令后,对动态口令进行进制转换和移位处理,得到动态口令有效位;分别提取动态口令有效位中的异或运算结果、应用认证密文和卡片验证结果;将异或运算结果和应用认证密文的高位端16比特进行异或运算,得到应用交易计数器;向数据管理模块查询构成数据源的剩余数据;根据应用交易计数器、卡片验证结果和构成数据源的剩余数据组织得到数据源;根据客户端上传的用户账号或卡号向银行密码机查询对应的主密钥,用主密钥分散得到卡片密钥,根据卡片密钥生成过程密钥,使用过程密钥对数据源进行加密,得到应用认证密文比较数据;
构成数据源的剩余数据具体为数据源中除应用交易计数器和卡片验证结果之外的数据;
优选地,构成数据源的剩余数据包括授权金额、其他金额、终端国家代码、终端验证结果、交易货币代码、交易日期、交易类型、不可预知数和应用交互特征。
步骤119-2、发卡行服务器判断应用认证密文比较数据与获取的应用认证密文是否匹配,是则动态口令验证通过,批准交易;否则动态口令验证未通过,拒绝交易。
实施例4
如图4所示,本实施例在实施例1的基础上提供一种降低金融IC卡交易风险的方法,包括;
步骤S21、读卡芯片准备发送给金融IC卡芯片的数据源;
本实施例中,步骤S21之前还包括读卡芯片获取模式类型,执行选择应用操作,获取选择的应用的处理选项,读取选择的应用的应用数据,获取交易信息和挑战值;其中,处理选项包括应用交互特征,应用数据包括发卡行认证标志;本实施例中,模式类型可以是用户在读卡芯片所在硬件设备上选择的。
步骤S21具体包括:读卡芯片获取默认数据元,根据默认数据元组织与模式类型对应的发送给金融IC卡芯片的数据源;
本实施例中,默认数据元具体包括授权金额、其它金额、终端国家代码、终端验证结果、交易货币代码、交易日期、交易类型和不可预知数,上述默认数据元中的各数据均为默认值。
优选地,当模式类型为第一预设模式类型时,根据默认数据元组织与模式类型对应的发送给金融IC卡芯片的数据源具体包括:
步骤a1、读卡芯片根据发卡行认证标志判断是否使用交易信息中的交易金额和交易货币代码,是则获取交易信息,根据交易信息更新默认数据元,执行步骤2,否则执行步骤2;
本实施例中,交易货币代码和交易金额可以是用户在读卡芯片所在硬件设备上选择和输入的,也可以是客户端下发的;
具体地,读卡芯片检查发卡行认证标志中的金额和货币指示符,以及忽略货币指示符,若金额和货币指示符为0,则不使用交易数据中的交易金额和交易货币代码;若金额和货币指示符为1,忽略货币指示符为0,则使用交易数据中的交易金额,用交易数据中的交易金额更新默认数据元中的授权金额;若金额和货币指示符为1,忽略货币指示符为1,则使用交易数据中的交易金额和交易货币代码,分别用交易数据中的交易金额和交易货币代码更新默认数据元中的授权金额和交易货币代码;
其中,金额和货币指示符优选为发卡行认证标志的第8比特,忽略货币指示符优选为发卡行认证标志的第6比特。
步骤a2、读卡芯片根据应用交互特征判断选择的应用是否支持脱机PIN,是则执行步骤a3,否则执行步骤a4;
步骤a3、读卡芯片执行脱机PIN验证,若脱机PIN验证成功则执行步骤a4,否则终止处理;
本实施例中,步骤a3具体包括:
步骤a31、读卡芯片获取脱机PIN,生成包含脱机PIN的验PIN请求;
本实施例中,脱机PIN可以是用户在读卡芯片所在硬件设备上输入的。
步骤a32、读卡芯片向金融IC卡芯片发送验PIN请求,接收金融IC卡芯片返回的验PIN结果,若验PIN成功则执行步骤a4,若验PIN失败则返回步骤a31或终止处理;
步骤a4、读卡芯片获取挑战值,根据发卡行认证标志判断是否忽略密码,是则用挑战值更新默认数据元中的不可预知数,执行步骤a5,否则获取密码,将密码和挑战值进行异或运算,用异或运算结果更新默认数据元中的不可预知数,执行步骤a5;
本实施例中,挑战值和密码可以是用户在读卡芯片所在硬件设备上输入的;
具体地,读卡芯片检查发卡行认证标志中的忽略密码指示符,若为0则不忽略密码,若为1则忽略密码;
其中,忽略密码指示符优选为发卡行认证标志的第2比特。
步骤a5、读卡芯片将默认数据元中的授权金额、其它金额、终端国家代码、终端验证结果、交易货币代码、交易日期、交易类型和不可预知数顺序拼接,得到发送给金融IC卡芯片的数据源。
当模式类型为第二预设模式类型时,根据默认数据元组织与模式类型对应的发送给金融IC卡芯片的数据源具体包括:
步骤b1、读卡芯片根据应用交互特征判断选择的应用是否支持脱机PIN,是则执行步骤b2,否则执行步骤b3;
步骤b2、读卡芯片执行脱机PIN验证,若脱机PIN验证成功则执行步骤b3,否则终止处理;
本实施例中,步骤b2具体包括:
步骤b21、读卡芯片获取脱机PIN,生成包含脱机PIN的验PIN请求;
本实施例中,脱机PIN可以是用户在读卡芯片所在硬件设备上输入的。
步骤b22、读卡芯片向金融IC卡芯片发送验PIN请求,接收金融IC卡芯片返回的验PIN结果,若验PIN成功则执行步骤b3,若验PIN失败则返回步骤b21或终止处理;
步骤b3、读卡芯片根据发卡行认证标志判断是否忽略密码,是则执行步骤b4,否则获取密码,用密码更新默认数据元中的不可预知数,执行步骤b4;
本实施例中,密码可以是用户在读卡芯片所在硬件设备上输入的;
具体地,读卡芯片检查发卡行认证标志中的忽略密码指示符,若为0则不忽略密码,若为1则忽略密码;
其中,忽略密码指示符优选为发卡行认证标志的第2比特。
步骤b4、读卡芯片将默认数据元中的授权金额、其它金额、终端国家代码、终端验证结果、交易货币代码、交易日期、交易类型和不可预知数顺序拼接,得到发送给金融IC卡芯片的数据源。
当模式类型为第三预设模式类型时,根据默认数据元组织与模式类型对应的发送给金融IC卡芯片的数据源具体包括:
步骤c1、读卡芯片根据应用交互特征判断选择的应用是否支持脱机PIN,是则执行步骤c2,否则执行步骤c3;
步骤c2、读卡芯片执行脱机PIN验证,若脱机PIN验证成功则执行步骤c3,否则终止处理;
本实施例中,步骤c2具体包括:
步骤c21、读卡芯片获取脱机PIN,生成包含脱机PIN的验PIN请求;
本实施例中,脱机PIN可以是用户在读卡芯片所在硬件设备上输入的。
步骤c22、读卡芯片向金融IC卡芯片发送验PIN请求,接收金融IC卡芯片返回的验PIN结果,若验PIN成功则执行步骤c3,若验PIN失败则返回步骤c21或终止处理;
步骤c3、读卡芯片获取挑战值,根据发卡行认证标志判断是否忽略密码,是则用挑战值更新默认数据元中的不可预知数,执行步骤c4,否则获取密码,将密码和挑战值进行异或运算,用异或运算结果更新默认数据元中的不可预知数,执行步骤c4;
本实施例中,挑战值和密码可以是用户在读卡芯片所在硬件设备上输入的;
具体地,读卡芯片检查发卡行认证标志中的忽略密码指示符,若为0则不忽略密码,若为1则忽略密码;
其中,忽略密码指示符优选为发卡行认证标志的第2比特。
步骤c4、读卡芯片将默认数据元中的授权金额、其它金额、终端国家代码、终端验证结果、交易货币代码、交易日期、交易类型和不可预知数顺序拼接,得到发送给金融IC卡芯片的数据源。
步骤S22、读卡芯片生成包含发送给金融IC卡芯片的数据源的生成应用认证密文请求;
步骤S23、读卡芯片向金融IC卡芯片发送生成应用认证密文请求;
步骤S24、读卡芯片接收金融IC卡芯片返回的响应数据;
具体地,金融IC卡芯片返回的响应数据中包括密文信息数据、应用交易计数器、应用认证密文和发卡行应用数据,或者包括主账号序列号、密文信息数据、应用交易计数器、应用认证密文和发卡行应用数据。
步骤S25、读卡芯片对金融IC卡芯片返回的响应数据进行预处理得到预处理数据;
本实施例中,应用数据还包括发卡行属性位图,还可能包括主账号序列号;
步骤S25具体包括:
步骤S25-0、读卡芯片判断是否使用交易数据,是则获取交易数据,执行步骤S25-1,否则执行步骤S25-2;
具体地:
当模式类型为第一预设模式类型时,读卡芯片判断为不使用交易数据;
当模式类型为第二预设模式类型时,读卡芯片判断交易数据选择方式,若为显式选择则判断第二预设模式类型是否具体为使用交易数据的第二预设模式类型,是则读卡芯片判断为使用交易数据,否则读卡芯片判断为不使用交易数据,若为隐式选择则提示用户选择,若用户输入的选择信息为确认则读卡芯片判断为使用交易数据,若用户输入的选择信息为跳过则读卡芯片判断为不使用交易数据;
当模式类型为第三预设模式类型时,读卡芯片判断交易数据选择方式,若为显式选择则判断第三预设模式类型是否具体为使用交易数据的第三预设模式类型,是则读卡芯片判断为使用交易数据,否则读卡芯片判断为不使用交易数据,若为隐式选择则提示用户选择,若用户输入的选择信息为确认则读卡芯片判断为使用交易数据,若用户输入的选择信息为跳过则读卡芯片判断为不使用交易数据;
本实施例中,交易数据包括卡号、交易金额和交易日期,交易数据可以是用户在读卡芯片所在硬件设备上输入的,也可以是客户端下发的;
步骤S25-1、读卡芯片用金融IC卡芯片返回的响应数据中的应用认证密文作密钥,对交易数据签名,用签名结果替换金融IC卡芯片返回的响应数据中的应用认证密文,执行步骤S25-2;
步骤S25-2、读卡芯片判断是否添加主账号序列号,是则执行步骤S25-3,否则执行步骤S25-6;
具体地,读卡芯片检查发卡行认证标志中的主账号序列号指示符,若为0,则不添加主账号序列号,执行步骤S25-6,若为1则添加主账号序列号,执行步骤S25-3;
其中,主账号序列号指示符优选为发卡行认证标志的第7比特;
步骤S25-3、读卡芯片判断应用数据是否包括主账号序列号,是则执行步骤S25-5,否则执行步骤S25-4;
步骤S25-4、读卡芯片根据金融IC卡芯片返回的响应数据中的应用认证密文获取主账号序列号,执行步骤S25-5;
具体地,读卡芯片用金融IC卡芯片返回的响应数据中应用认证密文的第7字节作为主账号序列号;
步骤S25-5、读卡芯片在金融IC卡芯片返回的响应数据前添加主账号序列号;
步骤S25-6、读卡芯片判断发卡行属性位图中是否包含发卡行应用数据,是则执行步骤S25-7,否则预处理操作结束;
步骤S25-7、读卡芯片将发卡行属性位图中的发卡行应用数据的长度与金融IC卡芯片返回的响应数据中的发卡行应用数据的长度进行比较,若金融IC卡芯片返回的响应数据中的发卡行应用数据的长度较长,则执行步骤S25-8,若发卡行属性位图中的发卡行应用数据的长度较长,则执行步骤S25-9,否则预处理操作结束;
步骤S25-8、读卡芯片按照金融IC卡芯片返回的响应数据中的发卡行应用数据的长度对发卡行属性位图进行填充,预处理操作结束;
具体地,读卡芯片在发卡行属性位图中的发卡行应用数据的右侧补零,直至发卡行属性位图中的发卡行应用数据的长度与金融IC卡芯片返回的响应数据中的发卡行应用数据的长度相等;
步骤S25-9、读卡芯片根据金融IC卡芯片返回的响应数据中的应用认证密文对金融IC卡芯片返回的响应数据进行填充,预处理操作结束;
具体地,读卡芯片确定要填充的字节数,根据金融IC卡芯片返回的响应数据中的应用认证密文计算填充数据,在金融IC卡芯片返回的响应数据中的发卡行应用数据的右侧添加填充数据,使得金融IC卡芯片返回的响应数据中的发卡行应用数据的长度与发卡行属性位图中的发卡行应用数据的长度相等;
优选地,若要填充的字节数为1,则用应用认证密文的第3字节作填充数据;若要填充的字节数据为2,则用应用认证密文的第3至4字节作填充数据;若要填充的字节数为3,则用应用认证密文的第3至5字节作填充数据;若要填充的字节数为4,则用应用认证密文的第3-6字节作填充数据;若要填充的字节数为5,则用应用认证密文的第3-6字节和第3字节的拼接数据作填充数据,以此类推。
步骤S26、读卡芯片提取所述预处理数据中的部分数据,对提取到的数据进行分组转换,替换分组转换所得数据中的部分数据,对替换后的数据进行进制转换,得到动态口令;
本实施例中,读卡芯片提取预处理数据中的部分数据,具体包括:读卡芯片将预处理数据的各比特与发卡行属性位图的各比特一一对应,取预处理数据中与发卡行属性位图中值为1的比特对应的比特;
例如,发卡行属性位图为00010100001111110001010000010111,预处理数据为01001101010110010110010111010010,则提取到的数据为01011001011010。
金融IC卡芯片对提取到数据进行分组转换,替换分组转换所得数据中的部分数据,具体包括:读卡芯片将提取到的数据分组转换为十进制,对转换后的第1、3、5个十进制数之和进行取模运算,所得余数替换转换后的第1个十进制数,对转换后的第3、4、倒数第2个十进制数之和进行取模运算,所得余数替换转换后的第7个十进制数,对转换后的第4、5、倒数第1个十进制数之和进行取模运算,所得余数替换转换后的第8个十进制数;
例如,提取到的数据为:
001100001111110010001100001110000111010
分组得到:
[00011],[00001],[11111],[00100],[01100],[00111],[00001],[11010];
转换为十进制得到:
[03],[01],[31],[04],[12],[07],[01],[26]
对转换后的第1、3、5个十进制数之和进行取模运算:
d[1]=(d[1]+d[3]+d[5])mod 32=([03]+[31]+[12])mod 32=46 mod 32=[14];
对转换后的第3、4、倒数第2个十进制数之和进行取模运算:
d[7]=(d[n-1]+d[3]+d[4])mod 32=(d[7]+d[3]+d[4])mod 32=([01]+[31]+[04])mod 32=36 mod 32=[04];
对转换后的第4、5、倒数第1个十进制数之和进行取模运算:
d[8]=(d[n]+d[4]+d[5])mod 32=(d[8]+d[4]+d[5])mod 32=([26]+[04]+[12])mod 32=42 mod 32=[10];
得到的替换后的数据为:
[14],[01],[31],[04],[12],[07],[04],[10]。
读卡芯片对替换后的数据进行进制转换,具体包括:将替换后的数据按照预设映射关系转换为三十二进制数;
例如,预设映射关系如下:
则得到动态口令F1Z4D74A。
步骤S27、读卡芯片控制显示动态口令。
实施例5
参见图5,本实施例基于实施例1和实施例4提供一种降低金融IC卡交易风险的方法,应用于包括金融IC卡芯片、读卡芯片、客户端和发卡行认证服务器的系统,客户端为浏览器网页或安装在智能手机等移动终端设备中的应用程序。所述方法包括:
步骤201、客户端接收用户交易请求,提示用户使用动态口令进行认证,并指定动态口令的模式类型;
步骤202、读卡芯片接收生成动态口令请求,根据生成动态口令请求确定模式类型;
本实施例中,读卡芯片获取用户在读卡芯片所在硬件设备上输入的生成动态口令请求,例如,读卡芯片所在硬件设备上设置有多个物理按键,不同物理按键对应不同模式类型,当用户按下上述物理按键时,读卡芯片获取到生成动态口令请求;或者读卡芯片获取客户端下发的生成动态口令请求,请求中包含模式类型。
步骤203、读卡芯片组织选择应用命令,向金融IC卡芯片发送选择应用命令;
步骤204、金融IC卡芯片选择应用,向读卡芯片返回选择应用响应;
步骤205、读卡芯片组织获取处理选项命令,向金融IC卡芯片发送获取处理选项命令;
步骤206、金融IC卡芯片获取选择的应用的处理选项,向读卡芯片返回获取处理选项响应;
本实施例中,获取处理选项响应中包含获取到的处理选项,获取到的处理选项包括应用交互特征和文件定位器。
步骤207、读卡芯片组织读记录命令,向金融IC卡芯片发送读记录命令;
本实施例中,读卡芯片根据获取处理选项响应中的应用文件定位器组织读记录命令。
步骤208、金融IC卡芯片获取选择的应用的应用数据,向读卡芯片返回读记录响应;
本实施例中,读记录响应中包含获取到的应用数据,获取到的应用数据包括发卡行认证标志和发卡行属性位图,还可能包括主账号序列号。
步骤209、读卡芯片获取默认数据元,根据默认数据元组织与模式类型对应的发送给金融IC卡芯片的数据源;
本实施例中,默认数据源具体包括授权金额、其它金额、终端国家代码、终端验证结果、交易货币代码、交易日期、交易类型和不可预知数,上述默认数据元中的各数据均为默认值;
优选地,当模式类型为第一预设模式类型时,根据默认数据元组织与模式类型对应的发送给金融IC卡芯片的数据源具体包括:
步骤1、读卡芯片根据发卡行认证标志判断是否使用交易信息中的交易金额和交易货币代码,是则获取交易信息,根据交易信息更新默认数据元,执行步骤2,否则执行步骤2;
本实施例中,交易货币代码和交易金额可以是用户在读卡芯片所在硬件设备上选择和输入的,也可以是客户端下发的;
具体地,读卡芯片检查发卡行认证标志中的金额和货币指示符,以及忽略货币指示符,若金额和货币指示符为0,则不使用交易数据中的交易金额和交易货币代码;若金额和货币指示符为1,忽略货币指示符为0,则使用交易数据中的交易金额,用交易数据中的交易金额更新默认数据元中的授权金额;若金额和货币指示符为1,忽略货币指示符为1,则使用交易数据中的交易金额和交易货币代码,分别用交易数据中的交易金额和交易货币代码更新默认数据元中的授权金额和交易货币代码;
其中,金额和货币指示符优选为发卡行认证标志的第8比特,忽略货币指示符优选为发卡行认证标志的第6比特。
步骤2、读卡芯片根据应用交互特征判断选择的应用是否支持脱机PIN,是则执行步骤3,否则执行步骤6;
步骤3、读卡芯片获取脱机PIN,生成包含脱机PIN的验PIN请求,向金融IC卡芯片发送验PIN请求;
本实施例中,脱机PIN可以是用户在读卡芯片所在硬件设备上输入的。
步骤4、金融IC卡芯片验证脱机PIN,向读卡芯片返回验证结果;
步骤5、读卡芯片分析验证结果,若为验PIN成功则执行步骤6,若为验PIN失败则返回步骤3或终止处理;
步骤6、读卡芯片获取挑战值,根据发卡行认证标志判断是否忽略密码,是则用挑战值更新默认数据元中的不可预知数,执行步骤7,否则获取密码,将密码和挑战值进行异或运算,用异或运算结果更新默认数据元中的不可预知数,执行步骤7;
本实施例中,挑战值和密码可以是用户在读卡芯片所在硬件设备上输入的;
具体地,读卡芯片检查发卡行认证标志中的忽略密码指示符,若为0则不忽略密码,若为1则忽略密码;
其中,忽略密码指示符优选为发卡行认证标志的第2比特。
步骤7、读卡芯片将默认数据元中的授权金额、其它金额、终端国家代码、终端验证结果、交易货币代码、交易日期、交易类型和不可预知数顺序拼接,得到发送给金融IC卡芯片的数据源。
当模式类型为第二预设模式类型时,根据默认数据元组织与模式类型对应的发送给金融IC卡芯片的数据源具体包括:
步骤1、读卡芯片根据应用交互特征判断选择的应用是否支持脱机PIN,是则执行步骤2,否则执行步骤5;
步骤2、读卡芯片获取脱机PIN,生成包含脱机PIN的验PIN请求,向金融IC卡芯片发送验PIN请求;
本实施例中,脱机PIN可以是用户在读卡芯片所在硬件设备上输入的。
步骤3、金融IC卡芯片验证脱机PIN,向读卡芯片返回验证结果;
步骤4、读卡芯片分析验证结果,若为验PIN成功则执行步骤5,若为验PIN失败则返回步骤2或终止处理;
步骤5、读卡芯片根据发卡行认证标志判断是否忽略密码,是则执行步骤6,否则获取密码,用密码更新默认数据元中的不可预知数,执行步骤6;
本实施例中,挑战值和密码可以是用户在读卡芯片所在硬件设备上输入的;
具体地,读卡芯片检查发卡行认证标志中的忽略密码指示符,若为0则不忽略密码,若为1则忽略密码;
其中,忽略密码指示符优选为发卡行认证标志的第2比特。
步骤6、读卡芯片将默认数据元中的授权金额、其它金额、终端国家代码、终端验证结果、交易货币代码、交易日期、交易类型和不可预知数顺序拼接,得到发送给金融IC卡芯片的数据源。
当模式类型为第三预设模式类型时,根据默认数据元组织与模式类型对应的发送给金融IC卡芯片的数据源具体包括:
步骤1、读卡芯片根据应用交互特征判断选择的应用是否支持脱机PIN,是则执行步骤2,否则执行步骤5;
步骤2、读卡芯片获取脱机PIN,生成包含脱机PIN的验PIN请求,向金融IC卡芯片发送验PIN请求;
本实施例中,脱机PIN可以是用户在读卡芯片所在硬件设备上输入的。
步骤3、金融IC卡芯片验证脱机PIN,向读卡芯片返回验证结果;
步骤4、读卡芯片分析验证结果,若为验PIN成功则执行步骤5,若为验PIN失败则返回步骤2或终止处理;
步骤5、读卡芯片获取挑战值,根据发卡行认证标志判断是否忽略密码,是则用挑战值更新默认数据元中的不可预知数,执行步骤6,否则获取密码,将密码和挑战值进行异或运算,用异或运算结果更新默认数据元中的不可预知数,执行步骤6;
本实施例中,挑战值和密码可以是用户在读卡芯片所在硬件设备上输入的;
具体地,读卡芯片检查发卡行认证标志中的忽略密码指示符,若为0则不忽略密码,若为1则忽略密码;
其中,忽略密码指示符优选为发卡行认证标志的第2比特。
步骤6、读卡芯片将默认数据元中的授权金额、其它金额、终端国家代码、终端验证结果、交易货币代码、交易日期、交易类型和不可预知数顺序拼接,得到发送给金融IC卡芯片的数据源。
步骤210、读卡芯片生成包含发送给金融IC卡芯片的数据源的生成应用认证密文请求;
步骤211、读卡芯片向金融IC卡芯片发送生成应用认证密文请求;
步骤212、金融IC卡芯片生成应用认证密文,根据应用认证密文组织响应数据;
本实施例中,金融IC卡芯片生成应用认证密文具体包括:
步骤1、金融IC卡芯片读取自身存储的应用相关数据,生成过程密钥;
本实施例中,应用相关数据包括应用交互特征、应用交易计数器和卡片验证结果;金融IC卡芯片使用唯一分散密钥在应用交易计数器的参与下,生成过程密钥;
步骤2、金融IC卡芯片获取生成应用认证密文请求中包含的数据源,将获取到的数据源与自身存储的应用相关数据拼接,使用过程密钥对拼接后的数据加密得到应用认证密文。
本实施例中,根据应用认证密文组织响应数据具体包括:金融IC卡芯片获取自身存储的应用交易计数器和发卡行应用数据,生成应用认证密文对应的密文信息数据,组织包含密文信息数据、应用交易计数器、应用认证密文和发卡行应用数据的响应数据。
步骤213、金融IC卡芯片向读卡芯片返回响应数据。
步骤214、读卡芯片对金融IC卡芯片返回的响应数据进行压缩、加扰和转换,得到动态口令并显示;
步骤215、客户端获取动态口令;
本实施例中,客户端获取用户输入的动态口令,或者客户端获取读卡芯片发送的动态口令。
步骤216、客户端组织交易报文,向发卡行服务器发送动态口令和交易报文;
步骤217、发卡行服务器对动态口令进行验证,若验证通过则批准交易,若验证未通过则拒绝交易。
实施例6
本实施例提供一种降低金融交易风险的装置,所述装置包括读卡芯片,或者,包括读卡芯片和金融IC卡芯片;参见图6,所述读卡芯片包括:
准备模块31,用于准备发送给金融IC卡芯片的数据源;
生成模块32,用于生成包含准备模块31准备的数据源的生成应用认证密文请求;
发送模块33,用于向金融IC卡芯片发送生成模块32生成的生成应用认证密文请求;
接收模块34,用于接收金融IC卡芯片返回的包含应用认证密文的响应数据;
处理模块35,用于对接收模块34接收到的响应数据进行压缩、加扰和转换,得到动态口令;
输出模块36,用于输出处理模块35得到的动态口令,所述动态口令用于完成金融交易。
本实施例中,准备模块31具体包括:
第一获取单元,用于获取默认数据元;
第一组织单元,用于根据第一获取单元获取的默认数据元拼接得到发送给金融IC卡芯片的数据源。
或者,准备模块31具体包括:
第二获取单元,用于接收用户输入的数据,获取默认数据元;
第二组织单元,用于根据第二获取单元获取的默认数据元和用户输入的数据组织得到发送给金融IC卡芯片的数据源;
进一步地,第二获取单元,具体用于接收用户输入的挑战值,获取默认数据元,第二组织单元,具体用于根据第二获取单元接收到的挑战值更新第二获取单元获取到的默认数据元中的不可预知数,根据更新后默认数据元拼接得到发送给金融IC卡芯片的数据源;或者,第二获取单元,具体用于接收用户输入的交易金额,获取默认数据元,第二组织单元,具体用于根据第二获取单元接收到的交易金额更新第二获取单元获取到的默认数据元中的授权金额,根据更新后默认数据元拼接得到发送给金融IC卡芯片的数据源;或者,第二获取单元,具体用于接收用户输入的转账金额和转入账号,获取默认数据元;第二组织单元,具体用于根据第二获取单元接收到的转账金额更新第二获取单元获取到的默认数据元中的授权金额,根据第二获取单元接收到的转入账号更新第二获取单元获取到的默认数据元中的不可预知数,根据更新后默认数据元拼接得到发送给金融IC卡芯片的数据源。
或者,准备模块31具体包括:
第三获取单元,用于获取发卡行服务器提供的挑战值,获取默认数据元;
第三组织单元,用于根据第三获取单元接收到的挑战值更新第三获取单元获取的默认数据元中的不可预知数,根据更新后的默认数据元拼接得到发送给金融IC卡芯片的数据源。
本实施例中,读卡芯片还可以包括:获取模块,用于获取模式类型,执行选择应用操作,获取选择的应用的处理选项,读取选择的应用的应用数据,获取交易信息和挑战值;其中,处理选项包括应用交互特征;应用数据包括发卡行认证标志;
相应地,准备模块31具体包括:
第四获取单元,用于获取默认数据元;
第四组织单元,根据第四获取单元获取到的默认数据元组织与获取模块获取的模式类型对应的发送给金融IC卡芯片的数据源;
进一步地,当获取模块获取到的模式类型为第一预设模式类型时,第四组织单元可以具体包括:
第一判断子单元,用于根据获取模块获取的发卡行认证标志判断是否使用交易信息中的交易金额和交易货币代码;
第一更新子单元,用于第一判断子单元判断为是时获取所述交易信息,根据交易信息更新第四获取单元获取到的默认数据元;
第二判断子单元,用于第一判断子单元判断为否时,以及第一更新子单元完成更新之后,根据获取模块获取的应用交互特征判断选择的应用是否支持脱机PIN;
第一执行子单元,用于第二判断子单元判断为是时,执行脱机PIN验证;
第三判断子单元,用于第二判断子单元判断为否时,以及第一执行子单元执行完成且脱机PIN验证成功时,获取挑战值,根据获取模块获取的发卡行认证标志判断是否忽略密码,是则用挑战值更新第四获取单元获取的默认数据元中的不可预知数,否则获取密码,将密码和挑战值进行异或运算,用异或运算结果更新第四获取单元获取的默认数据元中的不可预知数;
第一拼接子单元,用于根据第三判断子单元更新后的默认数据元拼接得到发送给金融IC卡芯片的数据源;
当获取模块获取到的模式类型为第二预设模式类型时,第四组织单元可以具体包括:
第四判断子单元,用于根据获取模块获取的应用交互特征判断选择的应用是否支持脱机PIN;
第二执行子单元,用于第四判断子单元判断为是时,执行脱机PIN验证;
第五判断子单元,用于第四判断子单元判断为否时,以及第二执行子单元执行完成且脱机PIN验证成功时,根据获取模块获取的发卡行认证标志判断是否忽略密码,是则根据第四获取单元获取的默认数据元拼接得到发送给金融IC卡芯片的数据源,否则获取密码,用密码更新第四获取单元获取的默认数据元中的不可预知数,根据更新后的默认数据元拼接得到发送给金融IC卡芯片的数据源;
当获取模块获取到的模式类型为第三预设模式类型时,第四组织单元可以具体包括:
第六判断子单元,用于根据获取模块获取的应用交互特征判断选择的应用是否支持脱机PIN;
第三执行子单元,用于第六判断子单元判断为是时,执行脱机PIN验证;
第七判断子单元,用于第六判断子单元判断为否时,以及第三执行子单元执行完成且脱机PIN验证成功时,获取挑战值根据获取模块获取的发卡行认证标志判断是否忽略密码,是则用挑战值更新第四获取单元获取的默认数据元中的不可预知数,否则获取密码,将密码和挑战值进行异或运算,用异或运算结果更新第四获取单元获取的默认数据元中的不可预知数;
第一拼接子单元,用于根据第七判断子单元更新后的默认数据元拼接得到发送给金融IC卡芯片的数据源。
本实施例中,处理模块35具体包括:
第一压缩单元,用于提取接收模块34接收到的响应数据中的部分数据,根据提取到的数据处理得到压缩后的响应数据;
第一加扰单元,用于对第一压缩单元得到的压缩后的响应数据进行移位处理;
第一转换单元,用于对第一加扰单元移位处理后的数据进制转换,得到动态口令;
进一步地,接收模块34接收到的响应数据包括密文信息数据、应用交易计数器、应用认证密文和发卡行应用数据;
第一压缩单元具体用于:获取应用交易计数器的低位端15比特作为第一数据,获取应用认证密文的高位端16比特作为第二数据,从发卡行应用数据中获取卡片验证结果;将第一数据与第二数据的高位端15比特进行异或运算,将运算结果与第二数据和卡片验证结果顺序拼接,得到压缩后的响应数据;
第一加扰单元具体用于:将第一压缩单元得到的压缩后的响应数据中除第1位外的每个奇数位,分别与奇数位右侧的偶数位进行一次互换;
第一转换单元具体用于:将第一加扰单元移位后的数据转换为十进制数,或者按照预设映射表转换为三十二进制数。
或者,处理模块35具体包括:
预处理单元,用于对接收模块34接收到的响应数据进行预处理得到预处理数据;
第二压缩单元,用于提取预处理单元得到的预处理数据中的部分数据;
第二加扰单元,用于对第二压缩单元提取到的数据进行分组转换,替换分组转换所得数据中的部分数据;
第二转换单元,用于对第二加扰单元替换后的数据进行进制转换,得到动态口令;
相应地,上述获取模块获取的应用数据还包括发卡行属性位图;
接收模块34接收到的响应数据包括密文信息数据、应用交易计数器、应用认证密文和发卡行应用数据;
预处理单元具体包括:
第八判断子单元,用于判断是否使用交易数据;
替换子单元,用于第八判断子单元判断为是时,获取交易数据,用应用认证密文作密钥,对交易数据签名,用签名结果替换应用认证密文;
第九判断子单元,用于第八判断子单元判断为否时,以及替换子单元替换完成后,判断是否添加主账号序列号;
第十判断子单元,用于第九判断子单元判断为是时,判断应用数据是否包括主账号序列号,是则在响应数据前添加主账号序列号,若不包含则根据应用认证密文获取主账号序列号,在响应数据前添加主账号序列号;
第十一判断子单元,用于第十判断子单元操作完成后,判断发卡行属性位图中是否包含发卡行应用数据;
第十二判断子单元,用于第十一判断子单元判断为是时,将发卡行属性位图中的发卡行应用数据的长度与响应数据中的发卡行应用数据的长度进行比较,若响应数据中的发卡行应用数据的长度较长,则按照响应数据中的发卡行应用数据的长度对发卡行属性位图进行填充,若发卡行属性位图中的发卡行应用数据的长度较长,则根据响应数据中的应用认证密文对响应数据进行填充;
第二压缩单元具体用于:将预处理数据的各比特与所述发卡行属性位图的各比特一一对应,取响应数据中与发卡行属性位图中值为1的比特对应的比特;
第二加扰单元具体用于:根据发卡行认证标志将第二压缩单元提取到的数据分组转换为十进制,对转换后的第1、3、5个十进制数之和进行取模运算,所得余数替换转换后的第1个十进制数,对转换后的第3、4、倒数第2个十进制数之和进行取模运算,所得余数替换转换后的第7个十进制数,对转换后的第4、5、倒数第1个十进制数之和进行取模运算,所得余数替换转换后的第8个十进制数;
第二转换单元具体用于:将第二加扰单元替换后的数据按照预设映射关系转换为三十二进制数,得到动态口令。
以上所述,仅为本发明较优选的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (38)

1.一种降低金融交易风险的方法,其特征在于,包括:
步骤S1、读卡芯片准备发送给金融IC卡芯片的数据源,生成包含所述数据源的生成应用认证密文请求;
步骤S2、所述读卡芯片向所述金融IC卡芯片发送所述生成应用认证密文请求;
步骤S3、所述读卡芯片接收所述金融IC卡芯片返回的包含应用认证密文的响应数据;
步骤S4、所述读卡芯片对所述响应数据进行压缩、加扰和转换,得到动态口令;
步骤S5、所述读卡芯片输出所述动态口令,用于完成金融交易;
所述步骤S4具体包括:所述读卡芯片获取响应数据中的应用交易计数器、应用认证密文和发卡行应用数据,从所述发卡行应用数据中获取卡片验证结果,将所述应用交易计数器与所述应用认证密文的高位端16比特进行异或运算,将异或运算结果与所述应用认证密文和所述卡片验证结果顺序拼接,得到压缩后的响应数据,对压缩后的响应数据进行移位处理,对移位处理后的数据进制转换,得到动态口令;
或者,所述步骤S4具体包括:所述读卡芯片对所述响应数据进行预处理得到预处理数据,提取所述预处理数据中的部分数据,对提取到的数据进行分组转换,替换分组转换所得数据中的部分数据,对替换后的数据进行进制转换,得到动态口令。
2.根据权利要求1所述的方法,其特征在于,所述读卡芯片准备发送给金融IC卡芯片的数据源,具体包括:
步骤1-1、所述读卡芯片获取默认数据元;
步骤1-2、所述读卡芯片根据所述默认数据元拼接得到发送给金融IC卡芯片的数据源。
3.根据权利要求1所述的方法,其特征在于,所述读卡芯片准备发送给金融IC卡芯片的数据源,具体包括:
步骤2-1、所述读卡芯片接收用户输入的数据,获取默认数据元;
步骤2-2、所述读卡芯片根据所述默认数据元和所述用户输入的数据组织得到发送给金融IC卡芯片的数据源。
4.根据权利要求3所述的方法,其特征在于,所述用户输入的数据具体为挑战值;
所述步骤2-2具体包括:所述读卡芯片根据所述挑战值更新所述默认数据元中的不可预知数,根据更新后的默认数据元拼接得到发送给金融IC卡芯片的数据源。
5.根据权利要求3所述的方法,其特征在于,所述用户输入的数据具体为交易金额;
所述步骤2-2具体包括:所述读卡芯片根据所述交易金额更新所述默认数据元中的授权金额,根据更新后的默认数据元拼接得到发送给金融IC卡芯片的数据源。
6.根据权利要求3所述的方法,其特征在于,所述用户输入的数据具体为转账金额和转入账号;
所述步骤2-2具体包括:所述读卡芯片根据所述转账金额更新所述默认数据元中的授权金额,根据所述转入账号更新所述默认数据元中的不可预知数,根据更新后的默认数据元拼接得到发送给金融IC卡芯片的数据源。
7.根据权利要求1所述的方法,其特征在于,所述读卡芯片准备发送给金融IC卡芯片的数据源,具体包括:
步骤3-1、所述读卡芯片获取发卡行服务器提供的挑战值,获取默认数据元;
步骤3-2、所述读卡芯片根据所述挑战值更新所述默认数据元中的不可预知数,根据更新后的默认数据元拼接得到发送给金融IC卡芯片的数据源。
8.根据权利要求1所述的方法,其特征在于,所述步骤S1之前还包括:所述读卡芯片获取模式类型,执行选择应用操作,获取选择的应用的处理选项,读取选择的应用的应用数据,获取交易信息和挑战值;所述处理选项包括应用交互特征;所述应用数据包括发卡行认证标志;
所述读卡芯片准备发送给金融IC卡芯片的数据源,具体包括:所述读卡芯片获取默认数据元,根据所述默认数据元组织与所述模式类型对应的发送给金融IC卡芯片的数据源。
9.根据权利要求8所述的方法,其特征在于,当所述模式类型为第一预设模式类型时,所述根据所述默认数据元组织与所述模式类型对应的发送给金融IC卡芯片的数据源,具体包括:
步骤4-1、所述读卡芯片根据所述发卡行认证标志判断是否使用交易信息中的交易金额和交易货币代码,是则获取所述交易信息,根据所述交易信息更新默认数据元,执行步骤4-2;否则执行步骤4-2;
步骤4-2、所述读卡芯片根据所述应用交互特征判断选择的应用是否支持脱机PIN,是则执行步骤4-3,否则执行步骤4-4;
步骤4-3、所述读卡芯片执行脱机PIN验证,若脱机PIN验证成功则执行步骤4-4,否则终止处理;
步骤4-4、所述读卡芯片获取挑战值,根据所述发卡行认证标志判断是否忽略密码,是则用所述挑战值更新默认数据元中的不可预知数,执行步骤4-5,否则获取密码,将所述密码和所述挑战值进行异或运算,用异或运算结果更新默认数据元中的不可预知数,执行步骤4-5;
步骤4-5、所述读卡芯片根据更新后的默认数据元拼接得到发送给金融IC卡芯片的数据源。
10.根据权利要求8所述的方法,其特征在于,当所述模式类型为第二预设模式类型时,所述根据所述默认数据元组织与所述模式类型对应的发送给金融IC卡芯片的数据源,具体包括:
步骤5-1、所述读卡芯片根据所述应用交互特征判断选择的应用是否支持脱机PIN,是则执行步骤5-2,否则执行步骤5-3;
步骤5-2、所述读卡芯片执行脱机PIN验证,若脱机PIN验证成功则执行步骤5-3,否则终止处理;
步骤5-3、所述读卡芯片根据所述发卡行认证标志判断是否忽略密码,是则根据默认数据元拼接得到发送给金融IC卡芯片的数据源,否则获取密码,用所述密码更新默认数据元中的不可预知数,根据更新后的默认数据元拼接得到发送给金融IC卡芯片的数据源。
11.根据权利要求8所述的方法,其特征在于,当所述模式类型为第三预设模式类型时,所述根据所述默认数据元组织与所述模式类型对应的发送给金融IC卡芯片的数据源,具体包括:
步骤6-1、所述读卡芯片根据所述应用交互特征判断选择的应用是否支持脱机PIN,是则执行步骤6-2,否则执行步骤6-3;
步骤6-2、所述读卡芯片执行脱机PIN验证,若脱机PIN验证成功则执行步骤6-3,否则终止处理;
步骤6-3、所述读卡芯片获取挑战值,根据所述发卡行认证标志判断是否忽略密码,是则用所述挑战值更新默认数据元中的不可预知数,执行步骤6-4,否则获取密码,将所述密码和所述挑战值进行异或运算,用异或运算结果更新默认数据元中的不可预知数,执行步骤6-4;
步骤6-4、所述读卡芯片根据更新后的默认数据元拼接得到发送给金融IC卡芯片的数据源。
12.如权利要求1所述的方法,其特征在于,所述对压缩后的响应数据进行移位处理,具体包括:所述读卡芯片将压缩后的响应数据中除第1位外的每个奇数位,分别与所述奇数位右侧的偶数位进行一次互换。
13.如权利要求1所述的方法,其特征在于,所述对移位处理后的数据进制转换,具体包括:所述读卡芯片将移位后的数据转换为十进制数,或者按照预设映射表转换为三十二进制数。
14.如权利要求8所述的方法,其特征在于,所述应用数据还包括发卡行属性位图。
15.如权利要求14所述的方法,其特征在于,所述响应数据包括密文信息数据、应用交易计数器、应用认证密文和发卡行应用数据;
所述读卡芯片对所述响应数据进行预处理,具体包括:
步骤7-1、所述读卡芯片判断是否使用交易数据,是则获取交易数据,执行步骤7-2,否则执行步骤7-3;
步骤7-2、所述读卡芯片用所述应用认证密文作密钥,对所述交易数据签名,用签名结果替换所述应用认证密文,执行步骤7-3;
步骤7-3、所述读卡芯片判断是否添加主账号序列号,是则执行步骤7-4,否则执行步骤7-7;
步骤7-4、所述读卡芯片判断所述应用数据是否包括主账号序列号,是则执行步骤7-5,否则根据所述应用认证密文获取主账号序列号,执行步骤7-5;
步骤7-5、所述读卡芯片在响应数据前添加主账号序列号;
步骤7-6、所述读卡芯片判断所述发卡行属性位图中是否包含发卡行应用数据,是则执行步骤7-7,否则预处理操作结束;
步骤7-7、所述读卡芯片将所述发卡行属性位图中的发卡行应用数据的长度与所述响应数据中的发卡行应用数据的长度进行比较,若所述响应数据中的发卡行应用数据的长度较长,则执行步骤7-8,若所述发卡行属性位图中的发卡行应用数据的长度较长,则执行步骤7-9,否则预处理操作结束;
步骤7-8、所述读卡芯片按照所述响应数据中的发卡行应用数据的长度对所述发卡行属性位图进行填充,预处理操作结束;
步骤7-9、所述读卡芯片根据所述响应数据中的应用认证密文对所述响应数据进行填充,预处理操作结束。
16.如权利要求14所述的方法,其特征在于,所述读卡芯片提取所述预处理数据中的部分数据,具体包括:所述读卡芯片将所述预处理数据的各比特与所述发卡行属性位图的各比特一一对应,取所述预处理数据中与所述发卡行属性位图中值为1的比特对应的比特。
17.如权利要求14所述的方法,其特征在于,所述对提取到数据进行分组转换,替换分组转换所得数据中的部分数据,具体包括:根据所述发卡行认证标志将提取到的数据分组转换为十进制,对转换后的第1、3、5个十进制数之和进行取模运算,所得余数替换转换后的第1个十进制数,对转换后的第3、4、倒数第2个十进制数之和进行取模运算,所得余数替换转换后的第7个十进制数,对转换后的第4、5、倒数第1个十进制数之和进行取模运算,所得余数替换转换后的第8个十进制数。
18.根据权利要求14所述的方法,其特征在于,所述对替换后的数据进行进制转换,具体包括:所述读卡芯片将替换后的数据按照预设映射关系转换为三十二进制数。
19.根据权利要求1所述的方法,其特征在于,所述步骤S1之前还包括:客户端接收用户交易请求,提示用户使用动态口令进行认证;所述读卡芯片接收生成动态口令请求;
所述步骤S5之后还包括:所述客户端获取动态口令,组织交易报文,向发卡行服务器发送动态口令和交易报文;所述发卡行服务器对动态口令进行验证,若验证通过则批准交易,若验证未通过则拒绝交易。
20.根据权利要求8所述的方法,其特征在于,所述步骤S1之前还包括:客户端接收用户交易请求,提示用户使用动态口令进行认证,并指定动态口令的模式类型;所述读卡芯片接收生成动态口令请求,根据所述生成动态口令请求确定模式类型;
所述步骤S5之后还包括:所述客户端获取动态口令,组织交易报文,向发卡行服务器发送动态口令和交易报文;所述发卡行服务器对动态口令进行验证,若验证通过则批准交易,若验证未通过则拒绝交易。
21.一种降低金融交易风险的装置,其特征在于,包括读卡芯片,或者,包括读卡芯片和金融IC卡芯片;
所述读卡芯片具体包括:
准备模块,用于准备发送给金融IC卡芯片的数据源;
生成模块,用于生成包含所述准备模块准备的数据源的生成应用认证密文请求;
发送模块,用于向所述金融IC卡芯片发送所述生成模块生成的生成应用认证密文请求;
接收模块,用于接收所述金融IC卡芯片返回的包含应用认证密文的响应数据;
处理模块,用于对所述接收模块接收到的响应数据进行压缩、加扰和转换,得到动态口令;
输出模块,用于输出所述处理模块得到的动态口令,所述动态口令用于完成金融交易;
所述处理模块具体包括:
第一压缩单元,用于获取所述接收模块接收到的响应数据中的应用交易计数器、应用认证密文和发卡行应用数据,从所述发卡行应用数据中获取卡片验证结果;将所述应用交易计数器与所述应用认证密文的高位端16比特进行异或运算,将异或运算结果与所述应用认证密文和所述卡片验证结果顺序拼接,得到压缩后的响应数据;
第一加扰单元,用于对所述第一压缩单元得到的压缩后的响应数据进行移位处理;
第一转换单元,用于对所述第一加扰单元移位处理后的数据进制转换,得到动态口令;
或者,所述处理模块具体包括:
预处理单元,用于对所述接收模块接收到的响应数据进行预处理得到预处理数据;
第二压缩单元,用于提取所述预处理单元得到的预处理数据中的部分数据;
第二加扰单元,用于对所述第二压缩单元提取到的数据进行分组转换,替换分组转换所得数据中的部分数据;
第二转换单元,用于对所述第二加扰单元替换后的数据进行进制转换,得到动态口令。
22.根据权利要求21所述的装置,其特征在于,所述准备模块具体包括:
第一获取单元,用于获取默认数据元;
第一组织单元,用于根据所述第一获取单元获取的默认数据元拼接得到发送给金融IC卡芯片的数据源。
23.根据权利要求21所述的装置,其特征在于,所述准备模块具体包括:
第二获取单元,用于接收用户输入的数据,获取默认数据元;
第二组织单元,用于根据所述第二获取单元获取的默认数据元和用户输入的数据组织得到发送给金融IC卡芯片的数据源。
24.根据权利要求23所述的装置,其特征在于,所述第二获取单元,具体用于接收用户输入的挑战值,获取默认数据元;
所述第二组织单元,具体用于根据所述第二获取单元接收到的挑战值更新所述第二获取单元获取到的默认数据元中的不可预知数,根据更新后默认数据元拼接得到发送给金融IC卡芯片的数据源。
25.根据权利要求23所述的装置,其特征在于,所述第二获取单元,具体用于接收用户输入的交易金额,获取默认数据元;
所述第二组织单元,具体用于根据所述第二获取单元接收到的交易金额更新所述第二获取单元获取到的默认数据元中的授权金额,根据更新后默认数据元拼接得到发送给金融IC卡芯片的数据源。
26.根据权利要求23所述的装置,其特征在于,所述第二获取单元,具体用于接收用户输入的转账金额和转入账号,获取默认数据元;
所述第二组织单元,具体用于根据所述第二获取单元接收到的转账金额更新所述第二获取单元获取到的默认数据元中的授权金额,根据所述第二获取单元接收到的转入账号更新所述第二获取单元获取到的默认数据元中的不可预知数,根据更新后默认数据元拼接得到发送给金融IC卡芯片的数据源。
27.根据权利要求21所述的装置,其特征在于,所述准备模块具体包括:
第三获取单元,用于获取发卡行服务器提供的挑战值,获取默认数据元;
第三组织单元,用于根据所述第三获取单元接收到的挑战值更新所述第三获取单元获取的默认数据元中的不可预知数,根据更新后的默认数据元拼接得到发送给金融IC卡芯片的数据源。
28.根据权利要求21所述的装置,其特征在于,所述读卡芯片还包括:获取模块,用于获取模式类型,执行选择应用操作,获取选择的应用的处理选项,读取选择的应用的应用数据,获取交易信息和挑战值;所述处理选项包括应用交互特征;所述应用数据包括发卡行认证标志;
所述准备模块具体包括:
第四获取单元,用于获取默认数据元;
第四组织单元,根据所述第四获取单元获取到的默认数据元组织与所述获取模块获取的模式类型对应的发送给金融IC卡芯片的数据源。
29.根据权利要求28所述的装置,其特征在于,当所述获取模块获取到的模式类型为第一预设模式类型时,所述第四组织单元具体包括:
第一判断子单元,用于根据所述获取模块获取的发卡行认证标志判断是否使用交易信息中的交易金额和交易货币代码;
第一更新子单元,用于所述第一判断子单元判断为是时获取所述交易信息,根据所述交易信息更新所述第四获取单元获取到的默认数据元;
第二判断子单元,用于所述第一判断子单元判断为否时,以及所述第一更新子单元完成更新之后,根据所述获取模块获取的应用交互特征判断选择的应用是否支持脱机PIN;
第一执行子单元,用于所述第二判断子单元判断为是时,执行脱机PIN验证;
第三判断子单元,用于所述第二判断子单元判断为否时,以及所述第一执行子单元执行完成且脱机PIN验证成功时,获取挑战值,根据所述获取模块获取的发卡行认证标志判断是否忽略密码,是则用所述挑战值更新所述第四获取单元获取的默认数据元中的不可预知数,否则获取密码,将所述密码和所述挑战值进行异或运算,用异或运算结果更新所述第四获取单元获取的默认数据元中的不可预知数;
第一拼接子单元,用于根据所述第三判断子单元更新后的默认数据元拼接得到发送给金融IC卡芯片的数据源。
30.根据权利要求28所述的装置,其特征在于,当所述获取模块获取到的模式类型为第二预设模式类型时,所述第四组织单元具体包括:
第四判断子单元,用于根据所述获取模块获取的应用交互特征判断选择的应用是否支持脱机PIN;
第二执行子单元,用于所述第四判断子单元判断为是时,执行脱机PIN验证;
第五判断子单元,用于所述第四判断子单元判断为否时,以及所述第二执行子单元执行完成且脱机PIN验证成功时,根据所述获取模块获取的发卡行认证标志判断是否忽略密码,是则根据所述第四获取单元获取的默认数据元拼接得到发送给金融IC卡芯片的数据源,否则获取密码,用所述密码更新所述第四获取单元获取的默认数据元中的不可预知数,根据更新后的默认数据元拼接得到发送给金融IC卡芯片的数据源。
31.根据权利要求28所述的装置,其特征在于,当所述获取模块获取到的模式类型为第三预设模式类型时,所述第四组织单元具体包括:
第六判断子单元,用于根据所述获取模块获取的应用交互特征判断选择的应用是否支持脱机PIN;
第三执行子单元,用于所述第六判断子单元判断为是时,执行脱机PIN验证;
第七判断子单元,用于所述第六判断子单元判断为否时,以及所述第三执行子单元执行完成且脱机PIN验证成功时,获取挑战值根据所述获取模块获取的发卡行认证标志判断是否忽略密码,是则用所述挑战值更新所述第四获取单元获取的默认数据元中的不可预知数,否则获取密码,将所述密码和所述挑战值进行异或运算,用异或运算结果更新所述第四获取单元获取的默认数据元中的不可预知数;
第一拼接子单元,用于根据所述第七判断子单元更新后的默认数据元拼接得到发送给金融IC卡芯片的数据源。
32.根据权利要求21所述的装置,其特征在于,所述第一加扰单元具体用于:将所述第一压缩单元得到的压缩后的响应数据中除第1位外的每个奇数位,分别与所述奇数位右侧的偶数位进行一次互换。
33.根据权利要求21所述的装置,其特征在于,所述第一转换单元具体用于:将所述第一加扰单元移位后的数据转换为十进制数,或者按照预设映射表转换为三十二进制数。
34.根据权利要求28所述的装置,其特征在于,所述获取模块获取的应用数据还包括发卡行属性位图。
35.根据权利要求34所述的装置,其特征在于,所述接收模块接收到的响应数据包括密文信息数据、应用交易计数器、应用认证密文和发卡行应用数据;
所述预处理单元具体包括:
第八判断子单元,用于判断是否使用交易数据;
替换子单元,用于所述第八判断子单元判断为是时,获取交易数据,用所述应用认证密文作密钥,对所述交易数据签名,用签名结果替换所述应用认证密文;
第九判断子单元,用于所述第八判断子单元判断为否时,以及所述替换子单元替换完成后,判断是否添加主账号序列号;
第十判断子单元,用于所述第九判断子单元判断为是时,判断所述应用数据是否包括主账号序列号,是则在响应数据前添加主账号序列号,若不包含则根据所述应用认证密文获取主账号序列号,在响应数据前添加主账号序列号;
第十一判断子单元,用于所述第十判断子单元操作完成后,判断所述发卡行属性位图中是否包含发卡行应用数据;
第十二判断子单元,用于所述第十一判断子单元判断为是时,将所述发卡行属性位图中的发卡行应用数据的长度与所述响应数据中的发卡行应用数据的长度进行比较,若所述响应数据中的发卡行应用数据的长度较长,则按照所述响应数据中的发卡行应用数据的长度对所述发卡行属性位图进行填充,若所述发卡行属性位图中的发卡行应用数据的长度较长,则根据所述响应数据中的应用认证密文对所述响应数据进行填充。
36.根据权利要求34所述的装置,其特征在于,所述第二压缩单元具体用于:将所述预处理数据的各比特与所述发卡行属性位图的各比特一一对应,取所述所述预处理数据中与所述发卡行属性位图中值为1的比特对应的比特。
37.根据权利要求34所述的装置,其特征在于,所述第二加扰单元具体用于:根据所述发卡行认证标志将所述第二压缩单元提取到的数据分组转换为十进制,对转换后的第1、3、5个十进制数之和进行取模运算,所得余数替换转换后的第1个十进制数,对转换后的第3、4、倒数第2个十进制数之和进行取模运算,所得余数替换转换后的第7个十进制数,对转换后的第4、5、倒数第1个十进制数之和进行取模运算,所得余数替换转换后的第8个十进制数。
38.根据权利要求34所述的装置,其特征在于,所述第二转换单元具体用于:将所述第二加扰单元替换后的数据按照预设映射关系转换为三十二进制数,得到动态口令。
CN201810038078.0A 2018-01-16 2018-01-16 一种降低金融交易风险的方法和装置 Active CN108198332B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810038078.0A CN108198332B (zh) 2018-01-16 2018-01-16 一种降低金融交易风险的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810038078.0A CN108198332B (zh) 2018-01-16 2018-01-16 一种降低金融交易风险的方法和装置

Publications (2)

Publication Number Publication Date
CN108198332A CN108198332A (zh) 2018-06-22
CN108198332B true CN108198332B (zh) 2019-10-08

Family

ID=62589671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810038078.0A Active CN108198332B (zh) 2018-01-16 2018-01-16 一种降低金融交易风险的方法和装置

Country Status (1)

Country Link
CN (1) CN108198332B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766149A (zh) * 2018-12-28 2019-05-17 金邦达有限公司 提升交通一卡通交易性能的方法、计算机装置及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1235317A (zh) * 1999-05-31 1999-11-17 王子忠 银行通用支付密码系统
US6581845B2 (en) * 2001-07-11 2003-06-24 Ri-Ju Ye Chip-base plastic currency with cash amount loading function
CN102377570A (zh) * 2011-11-07 2012-03-14 飞天诚信科技股份有限公司 一种生成动态口令的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002141140A (ja) * 2000-10-31 2002-05-17 Sanyo Electric Co Ltd 携帯電話機のコネクター連結補助構造

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1235317A (zh) * 1999-05-31 1999-11-17 王子忠 银行通用支付密码系统
US6581845B2 (en) * 2001-07-11 2003-06-24 Ri-Ju Ye Chip-base plastic currency with cash amount loading function
CN102377570A (zh) * 2011-11-07 2012-03-14 飞天诚信科技股份有限公司 一种生成动态口令的方法和装置

Also Published As

Publication number Publication date
CN108198332A (zh) 2018-06-22

Similar Documents

Publication Publication Date Title
CN104751337B (zh) 产品防伪方法、装置和系统
CN105933266B (zh) 一种验证方法及服务器
CN107194697B (zh) 通过移动终端提供授权的方法及系统
CN102005088B (zh) 基于电子钱包的非接触支付方法与系统、移动终端
US5682027A (en) System and method for performing transactions and a portable intelligent device therefore
CN1904923B (zh) 用于实现空中圈存的方法及其设备
CN109377363B (zh) 一种基于区块链的物联网数据交易架构及其交易安全方法
MXPA05012969A (es) Autenticacion de cliente en transacciones de comercio electronico.
CN102496112B (zh) 基于智能sd卡的三屏支付系统及实现方法
CN102737343A (zh) 直接货币兑换
CN105989466A (zh) 一种手机支付方法
CN104732431A (zh) 一种电子票据平台及在其上执行的电子票据处理方法
US20190164149A1 (en) Online transaction method, visual financial ic card, client, and server
CN104469768B (zh) 基于应用软件的用户身份校验方法和装置
CN107609877A (zh) 一种生物识别的兑换方法和系统
CN109598494A (zh) 基于开放平台的交易请求执行方法、装置、设备及介质
CN104933565A (zh) 一种ic卡交易方法及系统
CN108011719A (zh) 一种签名方法、装置及数字签名系统
CN109067544A (zh) 一种软硬结合的私钥验证方法、装置及系统
CN110264185A (zh) 一种多功能缴费系统、装置及方法
CN110428036A (zh) 一种动态二维码的生成方法、系统及终端设备
CN108198332B (zh) 一种降低金融交易风险的方法和装置
CN109801053A (zh) 一种统一绑定银行卡的系统及方法
CN106330888B (zh) 一种保证互联网线上支付安全性的方法及装置
CN112308362A (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