CN105761071B - 一种安全充值方法及其移动充值系统 - Google Patents
一种安全充值方法及其移动充值系统 Download PDFInfo
- Publication number
- CN105761071B CN105761071B CN201610101573.2A CN201610101573A CN105761071B CN 105761071 B CN105761071 B CN 105761071B CN 201610101573 A CN201610101573 A CN 201610101573A CN 105761071 B CN105761071 B CN 105761071B
- Authority
- CN
- China
- Prior art keywords
- recharging
- medium
- terminal
- mobile phone
- key
- 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
-
- 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/22—Payment schemes or models
- G06Q20/28—Pre-payment schemes, e.g. "pay before"
-
- 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment 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/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
- G06Q20/3415—Cards acting autonomously as pay-media
-
- 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
Abstract
本申请提供一种安全充值方法及其移动充值系统,所述安全充值方法包括:首先对介质类型进行判定,其次按判定出的介质类型进行与该介质类型相匹配的个人化过程,最后按介质类型进行充值过程;所述移动充值系统,包括介质、个人化系统和圈存系统。本申请提出的安全充值方法及其移动充值系统,通过将圈存子密钥DLK作为临时性的子密钥,即使充值密钥丢失,其被伪造充值的次数也是很有限的,大大降低了充值密钥丢失产生的损失,提高了安全性,并且仅改造个人化过程和圈存过程,不需要对原有的非接充值终端和后台做任何改动,使本申请的充值系统既兼容原有的cpu卡充值又兼容纯手机软件APP充值。
Description
技术领域
本申请涉及移动支付领域,特别是涉及一种安全充值方法及其移动充值系统。
背景技术
目前,各地的公交卡、一卡通、翼机通实施充值操作时的系统结构如下:该系统包括充值终端、非接触式CPU卡、充值管理后台服务器。充值操作都是联机充值,联机是指充值终端要通过网络连接到充值管理后台服务器。充值时,充值管理平台负责校验卡的真实有效性。
现在已经出现的一些非接触式CPU钱包卡的功能是由一个手机APP软件替代。只要手机是Android4.4.2以上系统,支持NFC功能,就可以实现只用一个手机APP软件完全替代非接触式CPU卡功能。
如果要使得上述可实现非接触CPU卡功能的手机在充值终端上充值,软件APP上要有充值密钥。为了增加通用性和减少对各种硬件的依赖,在使用过程中,对手机不要求有其它硬件加密和密钥保存措施,所以就会带来密钥泄漏风险。原因是手机上纯软件无论如何改造都无法提供对密钥数据的绝对的安全保障。如果软件APP上直接存储原始充值密钥,原始充值密钥没有使用限制,一旦丢失并被伪造,伪造的软件APP可以无限制的充值,这样就给用户带来很大的经济损失。
发明内容
为了解决上述问题,本申请提供一种安全充值方法及其移动充值系统,限制了充值密钥的使用次数,即一条充值密钥只能使用一次,一旦此密钥被使用或者超过使用限制,就不能再使用。这样即使充值密钥丢失,其被伪造充值的次数也是很有限的,这样就大大降低了充值密钥丢失产生的损失。
本申请提出一种安全充值方法,包括:
步骤S1:对介质进行判定;
步骤S2:按介质类型进行个人化过程;
步骤S3:按介质类型进行充值过程。
优选的,所述步骤S2:按介质类型进行个人化过程,具体为:
当步骤S1判定介质为智能卡,执行如下方法,
步骤S201:智能卡向终端发送个人化请求信息;
步骤S202:所述终端读取个人化数据准备系统中存储的个人化参数;
步骤S203:所述终端将读取的所有个人化参数编译成一条指令;
步骤S204:所述终端将编译好的个人化指令发送给智能卡;
步骤S205:智能卡解析该个人化指令,获得个人化参数,存入RAM中;
步骤S206:智能卡对个人化参数进行处理,生成联机交易序号ATC和圈存子密钥DLK;
当步骤S1判定介质为手机端或其他模拟钱包卡,执行如下方法,
步骤S211:手机端向终端发送个人化请求信息;
步骤S212:终端读取个人化数据准备系统中存储的个人化参数;
步骤S213:终端将读取的所有个人化参数编译成一条指令;
步骤S214:终端将编译好的个人化指令发送给手机端;
步骤S215:手机端解析该个人化指令,获得个人化参数,存入RAM中;
步骤S216:手机端将获得的个人化参数发送给应用管理平台;
步骤S217:手机端对个人化参数进行处理,生成联机交易序号ATC;
步骤S218:应用管理平台依据手机端联机交易序号ATC对个人化参数进行处理,生成临时圈存子密钥DLK;
步骤S219:应用管理平台将临时圈存子密钥DLK发给手机端。
优选的,所述步骤S3:按介质类型进行充值过程,具体为:
当步骤S1判定介质为智能卡,执行如下方法,
步骤S301:将智能卡靠近充值终端;
步骤S302:充值终端向智能卡发送处理初始化圈存命令;
步骤S303:智能卡产生伪随机数,过程密钥和报文签别码MAC1;
步骤S304:智能卡生成回复命令报文并将报文通过充值终端发给充值管理平台;
步骤S305:加密机验证回复报文中的报文签别码MAC1是否有效,如果为是则执行步骤S306,否则返回错误信息,结束该方法;
步骤S306:充值管理平台对交易进行处理;
步骤S307:充值管理平台生成报文签别码MAC2及接受交易报文,并发送给充值终端;
步骤S308:充值终端向智能卡发送圈存命令;
步骤S309:智能卡验证圈存命令中的报文签别码MAC2是否有效,如果是则执行步骤S310,否则返回错误信息,结束该方法;
步骤S310:智能卡更新余额并生成记录;
当步骤S1判定介质为手机端或其他模拟钱包卡,执行如下方法,
步骤8311:将手机端靠近充值终端;
步骤S312:充值终端向手机端发送处理初始化圈存命令;
步骤S313:手机端经充值终端向充值管理平台回复报文;
步骤S314:加密机验证报文签别码MAC1是否有效,如果是则执行步骤S315,否则返回错误信息,结束该方法;
步骤S315:充值管理平台对交易进行处理;
步骤S316:充值管理平台生成报文签别码MAC2及接受交易报文,并发送给充值终端;
步骤S317:充值终端向手机端发送圈存命令;
步骤S318:手机端验证圈存命令中的报文签别码MAC2是否有效,如果是则执行步骤S319,否则返回错误信息,结束该方法;
步骤S319:手机端更新余额并生成记录。
优选的,所述步骤S312:充值终端向手机端发送处理初始化圈存命令执行后,还执行如下步骤:
步骤S3121:手机端向应用管理平台发送初始化请求;
步骤S3122:应用管理平台判断手机端临时圈存子密钥DLK是否有效,如果是则执行步骤S3125,否则执行步骤S3123;
步骤S3123:应用管理平台检测手机端的安全状态是否符合标准,如果是则执行步骤S3124,否则返回错误信息,结束该方法;
步骤S3124:应用管理平台向手机端发送新生成的临时圈存子密钥DLK,并执行步骤S3122;
步骤S3125:手机端向应用管理平台发送初始化请求;
步骤S3126:应用管理平台产生伪随机数,过程密钥,发送给手机端;
步骤S3127:手机端生成报文签别码MAC1和回复命令报文,执行步骤S313。
优选的,所述临时圈存子密钥DLK为一次性圈存子密钥DLK或固定次数圈存子密钥DLK。
本申请还提出一种移动充值系统,包括介质、个人化系统和圈存系统,具体的,
介质,用于实现电子钱包功能;
个人化系统,用于对介质进行个人化过程;
圈存系统,用于对介质进行充值过程。
优选的,所述个人化系统包括:
介质,用于向终端发送个人化请求信息,当所述介质为智能卡时,对个人化参数进行处理,生成联机交易序号ATC和圈存子密钥DLK,当所述介质为手机端时,将获得的个人化参数发送给应用管理平台,对个人化参数进行处理,生成联机交易序号ATC,并接收应用管理平台发送的临时圈存子密钥DLK;
终端,用于接收介质发送的个人化请求,读取个人化数据准备系统中存储的个人化参数,并将读取的所有个人化参数编译成一条指令,将编译好的个人化指令发送给介质;
个人化数据准备系统,用于存储个人化过程需要的个人化参数;
应用管理平台,用于当所述介质为手机端时,接收介质发送的个人化参数,并依据联机交易序号ATC生成临时圈存子密钥DLK,并将临时圈存子密钥DLK发送给所述介质。
优选的,所述圈存系统包括:
介质,用于接收充值终端发送的处理初始化圈存命令,更新余额并生成记录,当介质为智能卡时,产生伪随机数,过程密钥和报文签别码MAC1,并生成回复命令报文并将报文通过充值终端发给充值管理平台,当介质为手机端时,向应用管理平台发送初始化请求,接收应用管理平台发送的伪随机数和过程密钥,并生成报文签别码MAC1和回复命令报文,将报文通过充值终端发给充值管理平台;
充值管理平台,接收所述介质发送的回复命令报文,用于对交易进行处理,生成报文签别码MAC2及接受交易报文,并发送给充值终端,接收充值终端发送的圈存命令,并验证圈存命令中的报文签别码MAC2是否有效;
加密机,用于验证回复报文中的报文签别码MAC1是否有效;
充值终端,用于向介质发送处理初始化圈存命令,接收充值管理平台发送的接受交易报文,并向所述介质发送圈存命令;
应用管理平台,用于当所述介质为手机端时,接收所述介质发送初始化请求,判断介质的临时圈存子密钥DLK是否有效,若无效则在介质安全达到标准时生成新的临时圈存子密钥DLK发送给所述介质,并产生伪随机数,过程密钥,发送给介质。
优选的,所述介质为智能卡、手机端或其他模拟钱包卡。
优选的,所述加密机使用的验证算法为DES密钥算法,3DES密钥算法,RSA密钥算法中的一种。
上述本发明提出的一种安全充值方法及其移动充值系统,获得了以下技术效果:
1、本申请提出的安全充值方法及其移动充值系统,通过将圈存子密钥DLK作为临时性的子密钥,即使充值密钥丢失,其被伪造充值的次数也是很有限的,大大降低了充值密钥丢失产生的损失,提高了安全性。
2、本申请提出的安全充值方法及其移动充值系统,仅通过改造个人化过程和圈存过程,不需要对原有的非接充值终端和后台做任何改动,使本申请的充值系统既兼容原有的cpu卡充值又兼容纯手机软件APP充值。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请移动充值系统的结构示意图;
图2是本申请移动充值系统中个人化系统与所述介质交互时的示意图;
图3是本申请移动充值系统中圈存系统与所述介质交互时的示意图;
图4是本申请安全充值方法的流程图;
图5是本申请安全充值方法智能卡个人化流程图;
图6是本申请安全充值方法手机端个人化流程图;
图7是本申请安全充值方法智能卡圈存流程图;
图8是本申请安全充值方法手机端圈存流程图;
图9是本申请手机端在圈存过程与应用管理平台交互流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本申请提出一种移动充值系统,如图1所示,包括介质1、个人化系统2和圈存系统3,具体的,
介质1,用于实现电子钱包功能;
更具体的,所述介质1为智能卡11、手机端12或其他模拟钱包卡。
个人化系统2,用于对介质进行个人化过程;
圈存系统3,用于对所述介质1进行充值过程。
更具体的,如图2所示,图2为个人化系统与所述介质交互时的架构示意图,包括介质与个人化系统,
所述介质1,用于向终端21发送个人化请求信息,当所述介质为智能卡11时,对个人化参数进行处理,生成联机交易序号ATC和圈存子密钥DLK,当所述介质为手机端12时,将获得的个人化参数发送给应用管理平台23,应用管理平台23对个人化参数进行处理,生成联机交易序号ATC,并接收应用管理平台23发送的临时圈存子密钥DLK;
所述个人化系统2包括:具体的,当COS系统完成置入智能卡11或当APP完成装入手机端12后,智能卡11生成智能卡公钥,手机端12生成手机端APP公钥,当智能卡11或手机端12连接到所述终端21时,终端21读取智能卡11或手机端12上的公钥,读取完毕后向所述智能卡11和手机端12发送建立实例指令,实例建立完成后,智能卡11或手机端12向终端21发送个人化请求信息。
终端21,用于接收介质发送的个人化请求,读取个人化数据准备系统22中存储的个人化参数,并将读取的所有个人化参数编译成一条指令,将编译好的个人化指令发送给介质;
更具体的,所述个人化参数包括但不限于PIN1、PIN2、PUK1、PUK2、ADM1、ICCID、IMSI、Ki等。
更具体的,所述终端21将编译好的个人化指令发送给介质,依据如下方法:
步骤S2041:所述终端21对所述介质进行认证,如果认证成功则继续,否则结束该方法。
更具体的,当所述介质与终端21连接时,首先读取介质的公钥,作为介质身份识别,并检索预置在数据库中公钥与介质对应关系,该公钥对应的介质是否为可信,如果可信,则认证完成,如果数据库中检索不到相应对应关系,则认证失败。
步骤S2042:所述终端21将所述数字签名的个人化指令写入所述介质中。
更具体的,终端21与介质连接,终端21向所述介质发出写入请求,介质接收到请求后对自身RAM与EEPROM进行空间整理,如果空间足够写入所述个人化指令,则向终端21返回可以写入信息,终端21将所述个人化指令写入所述介质中。
步骤S2043:所述终端21在所述介质写入完毕后校验所述个人化指令的完整性。
个人化数据准备系统22,用于存储个人化过程需要的个人化参数;
应用管理平台23,用于当所述介质为手机端12时,接收介质发送的个人化参数,并依据联机交易序号ATC生成临时圈存子密钥DLK,并将临时圈存子密钥DLK发送给所述介质。
更具体的,应用管理平台23在生成临时圈存子密钥DLK后,将手机端12联机交易序号ATC保存,在圈存过程中,发生子密钥DLK失效的情况,再依据联机交易序号ATC再次生成临时圈存子密钥DLK。
再具体的,所述固定次数圈存子密钥DLK的次数按照安全等级划分,例如,若一次圈存金额可以无限大时,设置为一次,若一次圈存金额较小,圈存十次亦不会造成严重影响的,可以设置为十次,以此类推。
更具体的,如图3所示,图3为圈存系统与所述介质交互时的架构示意图,包括介质与圈存系统,
所述介质1,用于接收充值终端31发送的处理初始化圈存命令,更新余额并生成记录,当介质为智能卡11时,产生伪随机数,过程密钥和报文签别码MAC1,并生成回复命令报文并将报文通过充值终端31发给充值管理平台,当介质为手机端12时,向应用管理平台发送初始化请求,接收应用管理平台发送的伪随机数和过程密钥,并生成报文签别码MAC1和回复命令报文,将报文通过充值终端31发给充值管理平台;
所述圈存系统包括:
充值管理平台32,接收所述介质发送的回复命令报文,用于对交易进行处理,生成报文签别码MAC2及接受交易报文,并发送给充值终端31,接收充值终端31发送的圈存命令,并验证圈存命令中的报文签别码MAC2是否有效;
加密机33,用于验证回复报文中的报文签别码MAC1是否有效;
更具体的,所述加密机33使用的验证算法为DES密钥算法,3DES密钥算法,RSA密钥算法中的一种。
充值终端31,用于向介质发送处理初始化圈存命令,接收充值管理平台发送的接受交易报文,并向所述介质发送圈存命令;
应用管理平台34,用于当所述介质为手机端12时,接收所述介质发送初始化请求,判断介质的临时圈存子密钥DLK是否有效,若无效则在介质安全达到标准时生成新的临时圈存子密钥DLK发送给所述介质,并产生伪随机数,过程密钥,发送给介质。
上面根据图1-3介绍了本申请提出的一种移动充值系统,下面依据图4-9介绍本申请提出的一种安全充值方法。
本申请还提出一种安全充值方法,如图4所示,包括:
步骤S1:对介质的介质类型进行判定;
更具体的,所述介质1为智能卡11、手机端12或其他模拟钱包卡。
具体判断介质类型的方法如下:
实施例1
在卡号后增加标识码来区分HCE交易与普通卡交易,具体为:
在个人化阶段,若为智能卡,则在写入卡号后设置4个字节的补位码,若为模拟卡,则写入卡号并在最后设置4个字节的HCE识别码,在判断阶段,通过读取卡号后的4位字节便判断是否为HCE交易。
实施例2
通过卡号划分HCE交易与普通卡交易,具体为:
将卡号分为前中后段,将前端为0000的卡号认定为HCE交易,而其他号码的前端为普通卡交易。
步骤S2:按所述介质1类型进行个人化过程;
更具体的,所述步骤S2:按介质类型进行个人化过程,具体为:
当步骤S1判定介质为智能卡11时,如图5所示,执行如下方法,
步骤S201:智能卡11向终端21发送个人化请求信息;
具体的,当COS系统完成置入智能卡11后,智能卡11生成智能卡公钥,当智能卡11连接到所述终端21时,终端21读取智能卡11上的公钥,读取完毕后向所述智能卡11发送建立实例指令,实例建立完成后,智能卡11向终端21发送个人化请求信息。
步骤S202:所述终端21读取个人化数据准备系统中存储的个人化参数;
更具体的,所述个人化参数包括但不限于PIN1、PIN2、PUK1、PUK2、ADM1、ICCID、IMSI、Ki等。
步骤S203:所述终端21将读取的所有个人化参数编译成一条指令;
步骤S204:所述终端21将编译好的个人化指令发送给智能卡11;
更具体的,步骤S204:所述终端21将编译好的个人化指令发送给智能卡11,包括:
步骤S2041:所述终端21对所述智能卡11进行认证,如果认证成功则继续,否则结束该方法。
更具体的,当所述智能卡11与终端21连接时,首先读取智能卡11的公钥,作为智能卡11身份识别,并检索预置在数据库中公钥与智能卡11对应关系,该公钥对应的智能卡11是否为可信,如果可信,则认证完成,如果数据库中检索不到相应对应关系,则认证失败。
步骤S2042:所述终端21将所述数字签名的个人化指令写入所述智能卡11中。
更具体的,终端21与智能卡11连接,终端21向所述智能卡11发出写入请求,智能卡11接收到请求后对自身RAM与EEPROM进行空间整理,如果空间足够写入所述个人化指令,则向终端21返回可以写入信息,终端21将所述个人化指令写入所述智能卡11中。
步骤S2043:所述终端21在所述智能卡11写入完毕后校验所述个人化指令的完整性。
步骤S205:智能卡11解析该个人化指令,获得个人化参数,存入RAM中;
步骤S206:智能卡11对个人化参数进行处理,生成联机交易序号ATC和圈存子密钥DLK;
当步骤S1判定介质为手机端12或其他模拟钱包卡,如图6所示,执行如下方法,
步骤S211:手机端12向终端21发送个人化请求信息;
具体的,当APP完成装入手机端12后,手机端12生成手机端APP公钥,当手机端12连接到所述终端21时,终端21读取手机端12上的公钥,读取完毕后向所述手机端12发送建立实例指令,实例建立完成后,手机端12向终端21发送个人化请求信息。
步骤S212:终端21读取个人化数据准备系统中存储的个人化参数;
更具体的,所述个人化参数包括但不限于PIN1、PIN2、PUK1、PUK2、ADM1、ICCID、IMSI、Ki等。
步骤S213:终端21将读取的所有个人化参数编译成一条指令;
步骤S214:终端21将编译好的个人化指令发送给手机端12;
更具体的,步骤S214:终端21将编译好的个人化指令发送给手机端12,包括:
步骤S2041:所述终端21对所述手机端12进行认证,如果认证成功则继续,否则结束该方法。
更具体的,当所述手机端12与终端21连接时,首先读取手机端12的公钥,作为手机端12身份识别,并检索预置在数据库中公钥与手机端12对应关系,该公钥对应的手机端12是否为可信,如果可信,则认证完成,如果数据库中检索不到相应对应关系,则认证失败。
步骤S2042:所述终端21将所述数字签名的个人化指令写入所述手机端12中。
更具体的,终端21与手机端12连接,终端21向所述手机端12发出写入请求,手机端12接收到请求后对自身RAM与EEPROM进行空间整理,如果空间足够写入所述个人化指令,则向终端21返回可以写入信息,终端21将所述个人化指令写入所述手机端12中。
步骤S2043:所述终端21在所述手机端12写入完毕后校验所述个人化指令的完整性。
步骤S215:手机端12解析该个人化指令,获得个人化参数,存入RAM中;
步骤S216:手机端12将获得的个人化参数发送给应用管理平台;
步骤S217:手机端12对个人化参数进行处理,生成联机交易序号ATC;
步骤S218:应用管理平台依据手机端12联机交易序号ATC对个人化参数进行处理,生成临时圈存子密钥DLK;
更具体的,应用管理平台在生成临时圈存子密钥DLK后,将手机端12联机交易序号ATC保存,在圈存过程中,发生子密钥DLK失效的情况,再依据联机交易序号ATC再次生成临时圈存子密钥DLK。
步骤S219:应用管理平台23将临时圈存子密钥DLK发给手机端12。
在执行完个人化过程之后,继续看图4:
步骤S3:按所述介质1类型进行充值过程。
优选的,所述步骤S3:按所述介质1类型进行充值过程,具体为:
如图7所示,当步骤S1判定介质为智能卡11,执行如下方法,
步骤S301:将智能卡11靠近充值终端31;
步骤S302:充值终端31向智能卡11发送处理初始化圈存命令;
步骤S303:智能卡11产生伪随机数,过程密钥和报文签别码MAC1;
更具体的,所述报文签别码MAC1的产生使用以下单倍长DEA算法:
步骤T1:将一个8个字节长的初始值(Initial Vector)设定为16进制的“0x 00 0000 00 00 00 00 00”。
步骤T2:将所有的输入数据按指定顺序串联成一个数据块。
步骤T3:将串联成的数据块分割为8字节长的数据块组,标识为D1、D2、D3与D4等。分割到最后,余下的字节组成一个长度小于等于8字节的最后一块数据块。
步骤T4:如果最后一个数据块长度为8字节,则在此数据块后附加一个8字节长的数据块,附加的数据块为16进制的“0x 80 00 00 00 00 00 00 00”。如果最后一个数据块长度小于8字节,则该数据块的最后填补一个值为16进制“0x80”的字节。如果填补之后的数据块长度等于8字节,则执行步骤T5。如果填补之后的数据块长度仍小于8字节,则在数据块后填补16进制“0x0”的字节至数据块长度为8字节。
步骤T5:通过上述方法产生的数据块组,由过程密钥进行加密运算产生最终值。
步骤T6:最终值的左4字节为MAC1。
步骤S304:智能卡11生成回复命令报文并将报文通过充值终端31发给充值管理平台;
步骤S305:加密机验证回复报文中的报文签别码MAC1是否有效,如果为是则执行步骤S306,否则返回错误信息,结束该方法;
步骤S306:充值管理平台对交易进行处理;
步骤S307:充值管理平台生成报文签别码MAC2及接受交易报文,并发送给充值终端31;
步骤S308:充值终端31向智能卡11发送圈存命令;
步骤S309:智能卡11验证圈存命令中的报文签别码MAC2是否有效,如果是则执行步骤S310,否则返回错误信息,结束该方法;
步骤S310:智能卡11更新余额并生成记录;
如图8所示,当步骤S1判定介质为手机端12或其他模拟钱包卡,执行如下方法,
步骤S311:将手机端12靠近充值终端31;
步骤S312:充值终端31向手机端12发送处理初始化圈存命令;
步骤S313:手机端12经充值终端31向充值管理平台回复报文;
步骤S314:加密机验证报文签别码MAC1是否有效,如果是则执行步骤S315,否则返回错误信息,结束该方法;
步骤S315:充值管理平台对交易进行处理;
步骤S316:充值管理平台生成报文签别码MAC2及接受交易报文,并发送给充值终端31;
步骤S317:充值终端31向手机端12发送圈存命令;
步骤S318:手机端12验证圈存命令中的报文签别码MAC2是否有效,如果是则执行步骤S319,否则返回错误信息,结束该方法;
步骤S319:手机端12更新余额并生成记录。
优选的,所述步骤S312:充值终端31向手机端12发送处理初始化圈存命令执行后,如图9所示,还执行如下步骤:
步骤S3121:手机端12向应用管理平台发送初始化请求;
步骤S3122:应用管理平台判断手机端12临时圈存子密钥DLK是否有效,如果是则执行步骤S3125,否则执行步骤S3123;
步骤S3123:应用管理平台检测手机端12的安全状态是否符合标准,如果是则执行步骤S3124,否则返回错误信息,结束该方法;
步骤S3124:应用管理平台向手机端12发送新生成的临时圈存子密钥DLK,并执行步骤S3122;
更具体的,所述临时圈存子密钥DLK为一次性圈存子密钥DLK或固定次数圈存子密钥DLK。
再具体的,所述固定次数圈存子密钥DLK的次数按照安全等级划分,例如,若一次圈存金额可以无限大时,设置为一次,若一次圈存金额较小,圈存十次亦不会造成严重影响的,可以设置为十次,以此类推。
步骤S3125:手机端12向应用管理平台发送初始化请求;
步骤S3126:应用管理平台产生伪随机数,过程密钥,发送给手机端12;
步骤S3127:手机端生成报文签别码MAC1和回复命令报文,执行步骤S313。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (3)
1.一种安全充值方法,其特征在于,所述方法包括:
步骤S1:对介质进行判定;
步骤S2:按介质类型进行个人化过程;
当步骤S1判定介质为智能卡,执行如下方法,
步骤S201:智能卡向终端发送个人化请求信息;
步骤S202:所述终端读取个人化数据准备系统中存储的个人化参数;
步骤S203:所述终端将读取的所有个人化参数编译成一条指令;
步骤S204:所述终端将编译好的个人化指令发送给智能卡;
步骤S205:智能卡解析该个人化指令,获得个人化参数,存入RAM中;
步骤S206:智能卡对个人化参数进行处理,生成联机交易序号ATC和圈存子密钥DLK;
当步骤S1判定介质为手机端或其他模拟钱包卡,则执行如下方法,
步骤S211:手机端向终端发送个人化请求信息;
步骤S212:终端读取个人化数据准备系统中存储的个人化参数;
步骤S213:终端将读取的所有个人化参数编译成一条指令;
步骤S214:终端将编译好的个人化指令发送给手机端;
步骤S215:手机端解析该个人化指令,获得个人化参数,存入RAM中;
步骤S216:手机端将获得的个人化参数发送给应用管理平台;
步骤S217:手机端对个人化参数进行处理,生成联机交易序号ATC;
步骤S218:应用管理平台依据手机端联机交易序号ATC对个人化参数进行处理,生成临时圈存子密钥DLK;
应用管理平台在生成临时圈存子密钥DLK后,将手机端联机交易序号ATC保存,在圈存过程中,发生子密钥DLK失效的情况,再依据联机交易序号ATC再次生成临时圈存子密钥DLK;
步骤S219:应用管理平台将临时圈存子密钥DLK发给手机端;
步骤S3:按介质类型进行充值过程;
当步骤S1判定介质为智能卡,执行如下方法,
步骤S301:将智能卡靠近充值终端;
步骤S302:充值终端向智能卡发送处理初始化圈存命令;
步骤S303:智能卡产生伪随机数,过程密钥和报文签别码MAC1;
步骤S304:智能卡生成回复命令报文并将报文通过充值终端发给充值管理平台;
步骤S305:加密机验证回复报文中的报文签别码MAC1是否有效,如果为是则执行步骤S306,否则返回错误信息,结束该方法;
步骤S306:充值管理平台对交易进行处理;
步骤S307:充值管理平台生成报文签别码MAC2及接受交易报文,并发送给充值终端;
步骤S308:充值终端向智能卡发送圈存命令;
步骤S309:智能卡验证圈存命令中的报文签别码MAC2是否有效,如果是则执行步骤S310,否则返回错误信息,结束该方法;
步骤S310:智能卡更新余额并生成记录;
当步骤S1判定介质为手机端或其他模拟钱包卡,执行如下方法,
步骤S311:将手机端靠近充值终端;
步骤S312:充值终端向手机端发送处理初始化圈存命令;
所述步骤S312:充值终端向手机端发送处理初始化圈存命令执行后,还执行如下步骤:
步骤S3121:手机端向应用管理平台发送初始化请求;
步骤S3122:应用管理平台判断手机端临时圈存子密钥DLK是否有效,如果是则执行步骤S3125,否则执行步骤S3123;
步骤S3123:应用管理平台检测手机端的安全状态是否符合标准,如果是则执行步骤S3124,否则返回错误信息,结束该方法;
步骤S3124:应用管理平台向手机端发送新生成的临时圈存子密钥DLK,并执行步骤S3122;
步骤S3125:手机端向应用管理平台发送初始化请求;
步骤S3126:应用管理平台产生伪随机数,过程密钥,发送给手机端;
步骤S3127:手机端生成报文签别码MAC1和回复命令报文,执行步骤S313;
步骤S313:手机端经充值终端向充值管理平台回复报文;
步骤S314:加密机验证报文签别码MAC1是否有效,如果是则执行步骤S315,否则返回错误信息,结束该方法;
步骤S315:充值管理平台对交易进行处理;
步骤S316:充值管理平台生成报文签别码MAC2及接受交易报文,并发送给充值终端;
步骤S317:充值终端向手机端发送圈存命令;
步骤S318:手机端验证圈存命令中的报文签别码MAC2是否有效,如果是则执行步骤S319,否则返回错误信息,结束该方法;
步骤S319:手机端更新余额并生成记录;
其中,所述临时圈存子密钥DLK为一次性圈存子密钥DLK或固定次数圈存子密钥DLK;
所述固定次数圈存子密钥DLK的次数按照安全等级划分。
2.一种移动充值系统,其特征在于,包括介质、个人化系统和圈存系统,具体的,
介质,用于实现电子钱包功能;
个人化系统,用于对介质进行个人化过程;
所述个人化系统包括:
介质,用于向终端发送个人化请求信息,当所述介质为手机端时,将获得的个人化参数发送给应用管理平台,对个人化参数进行处理,生成联机交易序号ATC,并接收应用管理平台发送的临时圈存子密钥DLK;
当所述介质为智能卡时,对个人化参数进行处理,生成联机交易序号ATC和圈存子密钥DLK;
终端,用于接收介质发送的个人化请求,读取个人化数据准备系统中存储的个人化参数,并将读取的所有个人化参数编译成一条指令,将编译好的个人化指令发送给介质;
个人化数据准备系统,用于存储个人化过程需要的个人化参数;
应用管理平台,用于当所述介质为手机端时,接收介质发送的个人化参数,并依据联机交易序号ATC生成临时圈存子密钥DLK,并将临时圈存子密钥DLK发送给所述介质;应用管理平台在生成临时圈存子密钥DLK后,将手机端联机交易序号ATC保存,在圈存过程中,发生子密钥DLK失效的情况,再依据联机交易序号ATC再次生成临时圈存子密钥DLK;
圈存系统,用于对介质进行充值过程;
所述圈存系统包括:
介质,用于接收充值终端发送的处理初始化圈存命令,更新余额并生成记录,当介质为手机端时,向应用管理平台发送初始化请求,接收应用管理平台发送的伪随机数和过程密钥,并生成报文签别码MAC1和回复命令报文,将报文通过充值终端发给充值管理平台;
当介质为智能卡时,产生伪随机数,过程密钥和报文签别码MAC1,并生成回复命令报文并将报文通过充值终端发给充值管理平台;
充值管理平台,接收所述介质发送的回复命令报文,用于对交易进行处理,生成报文签别码MAC2及接受交易报文,并发送给充值终端,接收充值终端发送的圈存命令,并验证圈存命令中的报文签别码MAC2是否有效;
加密机,用于验证回复报文中的报文签别码MAC1是否有效;
充值终端,用于向介质发送处理初始化圈存命令,接收充值管理平台发送的接受交易报文,并向所述介质发送圈存命令;
应用管理平台,用于当所述介质为手机端时,接收所述介质发送初始化请求,判断介质的临时圈存子密钥DLK是否有效,若无效则在介质安全达到标准时生成新的临时圈存子密钥DLK发送给所述介质,并产生伪随机数,过程密钥,发送给介质;
其中,所述临时圈存子密钥DLK为一次性圈存子密钥DLK或固定次数圈存子密钥DLK;
所述固定次数圈存子密钥DLK的次数按照安全等级划分。
3.如权利要求2所述的移动充值系统,其特征在于,所述加密机使用的验证算法为DES密钥算法,3DES密钥算法,RSA密钥算法中的一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610101573.2A CN105761071B (zh) | 2016-02-24 | 2016-02-24 | 一种安全充值方法及其移动充值系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610101573.2A CN105761071B (zh) | 2016-02-24 | 2016-02-24 | 一种安全充值方法及其移动充值系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105761071A CN105761071A (zh) | 2016-07-13 |
CN105761071B true CN105761071B (zh) | 2020-12-25 |
Family
ID=56331230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610101573.2A Active CN105761071B (zh) | 2016-02-24 | 2016-02-24 | 一种安全充值方法及其移动充值系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105761071B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042738A (zh) * | 2006-03-24 | 2007-09-26 | 中国银联股份有限公司 | 一种实现智能卡多应用的方法及数据处理装置 |
CN101799954A (zh) * | 2009-11-20 | 2010-08-11 | 北京飞天诚信科技有限公司 | 一种对双电子钱包进行圈存的方法 |
CN102081821A (zh) * | 2009-11-27 | 2011-06-01 | 中国银联股份有限公司 | Ic卡支付系统和方法以及多应用ic卡、支付终端 |
CN102469081A (zh) * | 2010-11-11 | 2012-05-23 | 中国移动通信集团公司 | 智能卡片操作的方法、设备及系统 |
-
2016
- 2016-02-24 CN CN201610101573.2A patent/CN105761071B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042738A (zh) * | 2006-03-24 | 2007-09-26 | 中国银联股份有限公司 | 一种实现智能卡多应用的方法及数据处理装置 |
CN101799954A (zh) * | 2009-11-20 | 2010-08-11 | 北京飞天诚信科技有限公司 | 一种对双电子钱包进行圈存的方法 |
CN102081821A (zh) * | 2009-11-27 | 2011-06-01 | 中国银联股份有限公司 | Ic卡支付系统和方法以及多应用ic卡、支付终端 |
CN102469081A (zh) * | 2010-11-11 | 2012-05-23 | 中国移动通信集团公司 | 智能卡片操作的方法、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105761071A (zh) | 2016-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102696047B (zh) | 加密切换处理 | |
CN101322424B (zh) | 用于初始化无线终端中的安全元件的方法和装置 | |
US20120246075A1 (en) | Secure electronic payment methods | |
KR101330867B1 (ko) | 결제 디바이스에 대한 상호인증 방법 | |
EA000730B1 (ru) | Способ защищенного дебетования электронного платежного средства | |
CN104412285A (zh) | 用于保护和管理安全元件上的应用程序的系统、方法和计算机程序产品 | |
US20160048460A1 (en) | Remote load and update card emulation support | |
CN101573723A (zh) | 安全金融交易 | |
EP3479323A1 (en) | Communications device, point of sale device, payment device and methods | |
CN105787727B (zh) | 一种hce脱机支付系统及实现方法 | |
CN105427106B (zh) | 电子现金数据的授权处理方法、支付处理方法及虚拟卡 | |
CN102096972A (zh) | 一种基于用户终端完成联机支付的方法、系统及用户终端 | |
CN104871186A (zh) | 用于移动支付的应用程序系统和用于提供并使用移动支付工具的方法 | |
CA2430456A1 (en) | Offline code based reloading system | |
ES2436426T3 (es) | Método basado en una tarjeta SIM para la realización de servicios con altas características de seguridad | |
CN102098401A (zh) | 充值卡生成、充值、查询方法及系统 | |
CN101866411A (zh) | 非接触式cpu卡一卡多应用安全认证加密方法及系统 | |
CN116151827A (zh) | 一种数字钱包安全框架及基于安全框架的双离线交易方法 | |
CN103336977A (zh) | 车辆电子信息卡安全保护系统及方法 | |
CN105761071B (zh) | 一种安全充值方法及其移动充值系统 | |
JP2001525088A (ja) | インテリジェント・データキャリヤのデータの安全な読み取りおよび処理のためのシステム | |
US20080209574A1 (en) | Partitioning data on a smartcard dependent on entered password | |
US7925892B2 (en) | Method to grant modification rights for a smart card | |
JPH09265254A (ja) | 情報記憶媒体の相互認証システム | |
CN101667258B (zh) | 一种智能卡上的数据操作方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |