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