CN110232568B - 移动支付方法、装置、计算机设备及可读存储介质 - Google Patents

移动支付方法、装置、计算机设备及可读存储介质 Download PDF

Info

Publication number
CN110232568B
CN110232568B CN201810181950.7A CN201810181950A CN110232568B CN 110232568 B CN110232568 B CN 110232568B CN 201810181950 A CN201810181950 A CN 201810181950A CN 110232568 B CN110232568 B CN 110232568B
Authority
CN
China
Prior art keywords
authentication response
payment
terminal
sim card
server
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
CN201810181950.7A
Other languages
English (en)
Other versions
CN110232568A (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.)
China Mobile Communications Group Co Ltd
China Mobile Group Sichuan Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Sichuan 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 China Mobile Communications Group Co Ltd, China Mobile Group Sichuan Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201810181950.7A priority Critical patent/CN110232568B/zh
Publication of CN110232568A publication Critical patent/CN110232568A/zh
Application granted granted Critical
Publication of CN110232568B publication Critical patent/CN110232568B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3229Use of the SIM of a M-device as secure element
    • 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/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明提供了移动支付方法、装置、计算机设备及可读存储介质。移动支付方法包括:在近场支付时,受理终端生成验证信息并将近场业务申请及验证信息发送至服务器;接收服务器对验证信息的反馈信息,控制开启摄像头并对反馈信息验证;当验证通过,接收通过摄像头扫描到的支付终端的扫描信息,控制开启近场设备;根据扫描信息与支付终端建立近场连接,在判定存在唯一支付终端建立近场连接后将第二随机码近场发送至支付终端以获取第一鉴权响应;获取输入金额,对输入金额、第一鉴权响应进行数字签名得到第二鉴权响应,将输入金额进行加密后发送至支付终端进行数字签名以得到第三鉴权响应;受理终端将第二鉴权响应和第三鉴权响应发送至服务器作验证。

Description

移动支付方法、装置、计算机设备及可读存储介质
技术领域
本发明涉及无线技术领域,尤其涉及移动支付方法、移动支付装置、计算机设备及计算机可读存储介质。
背景技术
随着移动LTE(Long Term Evolution,长期演进)的快速发展及宽带互联网的广泛普及,移动支付早已普遍应用,现有移动支付方式分为两类:近场支付及远程支付,实现方式又分为软件实现和硬件实现,软件实现依赖手机自有的存储器及应用软件,该类方式的近场支付通过用户间的扫码实现对绑定银行卡的账款转移,其远程支付也全依托软件实现。硬件实现是基于手机上额外增加用于保护敏感数据的独立硬件(如近距离无线通信技术NFC)及相应软件,主要用于手机的近场支付,其通过硬件级的安全器件(SE)与具有NFC的POS机(销售终端)和可信赖平台(TSM)完成对用户的身份认证以实现手机支付,其远程支付依赖手机终端额外增加的硬件级的安全器件(SE)与后台服务器交互数据完成安全支付。
现有的软件实现方式易被木马盗取用户信息或资金。为保障手机支付的安全,各芯片制造商、手机厂商以及运营商纷纷推出基于硬件“安全单元”(如,NFC、SIM-SWP(安全芯片))的支付系统,但其缺点是用户需更换手机,且具备NFC功能的POS数量严重不足,同时该方式在远程支付及固定宽带PC(个人计算机)用户却没解决方案。
发明内容
本发明实施例提供了移动支付方法、移动支付装置、计算机设备及计算机可读存储介质。以SIM卡作为类似金融级U盾的硬件防护器件SE,保障用户身份密钥及鉴权算法的安全性。解决了目前远近场支付木马、黑客盗号的难题,保护了用户资金及隐私,使得交易更安全、更广泛,极大地拓展了移动远近场的应用范围及场景,可用于生活的方方面面。
第一方面,本发明实施例提供了一种移动支付方法,用于受理终端,方法包括:在需要近场支付的时,生成验证信息,并将近场业务申请及验证信息发送至服务器;接收服务器对验证信息的反馈信息,控制开启摄像头并对反馈信息进行验证;当反馈信息验证通过后,接收通过摄像头扫描到的支付终端的扫描信息并控制开启近场设备;根据扫描信息与支付终端建立近场连接,并在判定存在唯一支付终端建立近场连接后将第二随机码近场发送至支付终端,以获取支付终端反馈的第一鉴权响应;获取输入金额,将输入金额、第一鉴权响应进行数字签名得到第二鉴权响应,同时将输入金额进行加密后发送至支付终端,以获得所述支付终端对所述输入金额数字进行签名得到的第三鉴权响应;将第二鉴权响应和第三鉴权响应通过受理终端发送至服务器,以供服务器验证后进行转账或扣款。
第二方面,本发明实施例提供了一种移动支付装置,用于受理终端,装置包括:受理终端内设置支付应用程序和具有Java Card虚拟机运行环境(JCRE)的用户身份识别模块SIM卡,支付应用程序还集成近场通信加密算法;SIM卡包括文件系统、Applet应用和电话通信模块及卡片操作系统,SIM卡内还包括预置入SIM卡标识及其SIM卡标识对应的身份认证密钥、身份鉴权算法以及第一加密算法、第一加解密钥;验证信息包括:SIM卡标识、第一随机码,还包括发送模块,用于在需要进行近场支付的情况下,生成验证信息,并将近场业务申请及验证信息发送至服务器;控制模块,用于接收服务器对验证信息的反馈信息,控制开启摄像头,并对反馈信息进行验证;当反馈信息验证通过时,接收通过摄像头扫描到的支付终端的扫描信息,并控制开启近场设备;发送模块,还用于根据扫描信息与支付终端建立近场连接,并在判定存在唯一支付终端建立近场连接后将第二随机码加密后近场发送至支付终端,以获取支付终端反馈加密的第一鉴权响应;还用于将输入金额加密后发给支付终端,以获取支付终端对输入金额反馈的数字签名;接收模块,用于接收服务器和支付终端反馈的信息,包括服务器反馈的交易结果信息;运算模块,用于Applet应用将第一随机码与身份鉴权算法和身份认证密钥进行运算得到第四鉴权响应;还用于Applet应用对输入金额、第一鉴权响应进行数字签名得到第二鉴权响应和支付终端的Applet应用对输入金额进行数字签名得到第三鉴权响应;判断模块,用于Applet应用对服务器反馈信息进行验证,当第五鉴权响应与第四鉴权响应不相同时,则结束流程;用于Applet应用对服务器反馈信息进行验证,比对第一消息序列码与第二消息序列码是否相同,若不同,则结束流程;用于支付应用程序对服务器发送的反馈信息进行时间判定,判定发出验证信息到收到服务器发送反馈信息的时间,若时间超时,则结束流程,若没超时,则将反馈信息传入SIM卡通讯录;用于SIM卡内JCRE运行环境监测到SIM卡短信被读取,则通知并激活Applet应用查询其内存是否有第二随机码记录,,若有记录,则在删除其内存第二随机码记录后运行多个连续空循环操作;若记录为空,则结束流程;还用于Applet应用在运行完多个连续空循环后读取存储于SIM卡通讯录的第一鉴权响应,若能读到第一鉴权响应,则获取并存于Applet应用内存;若不能读到,则结束流程;近场通信模块,用于对第二随机码加密后近场发送至支付终端;用于对近场接收支付终端发送加密的第一鉴权响应进行解密;用于对输入金额进行加密后近场发送至支付终端,以获取支付终端近场反馈加密的第三鉴权响应;发送模块,还用于将第二鉴权响应和第三鉴权响应发送至服务器,以供服务器验证后进行转账或扣款。
第三方面,本发明实施例提供了一种移动支付方法,用于支付终端,支付终端内设置支付应用程序和具有Java Card虚拟机运行环境的用户身份识别模块SIM卡,支付应用程序还集成近场通信加密算法,方法包括:通过支付应用程序生成扫描信息等待扫描,在扫描信息被受理终端扫描后建立近场连接,近场接收受理终端通过的加解密方法加密的第二随机码,支付应用程序利用加解密方法对加密的第二随机码进行解码,并将第二随机码存储于SIM卡通讯录;加解密方法,通过近场通信加密算法及近场通信加解密钥对需发送的数据加密或解密;Applet应用根据第二随机码以身份认证和身份鉴权算法运算得到第一鉴权响应,Applet应用将第一鉴权响应存于SIM卡短信区域,支付应用程序读出SIM卡短信,将第一鉴权响应经加解密方法后近场发送至受理终端;接收并显示来自受理终端近场发送通过加解密方法加密的输入金额;支付应用程序利用加解密方法对加密输入金额解密并显示,以供用户对输入金额进行确认,支付应用程序在接收到用户对输入金额的确认指令后,将输入金额传入SIM卡通讯录,Applet应用对输入金额进行数字签名得到第三鉴权响应,将第三鉴权响应存储于SIM卡短信区域,支付应用程序读出SIM卡短信,将第三鉴权响应经加解密方法加密后近场发给受理终端。
第四方面,本发明实施例提供了一种移动支付装置,用于支付终端,支付终端内设置支付应用程序和具有Java Card虚拟机运行环境的用户身份识别SIM卡,装置包括:接收模块,用于通过支付应用程序生成扫描信息等待扫描,在扫描信息被受理终端扫描后与之建立近场连接,通过近场接收由受理终端发送加密的第二随机码;还用于近场接收由受理终端发送加密的输入金额;发送模块,用于将加密的第一鉴权响应近场发送至受理终端;用于将加密的第三鉴权响应近场发送至受理终端,或连同用户选中的银行卡图标和对银行卡图标对应的银行支付密码变换值以及用户输入的服务器接入码一并加密后近场发送至受理终端;显示模块,用于接收并显示来自受理终端的输入金额,以供用户对输入金额进行确认;判断模块,用于判断输入金额得否大小系统规定金额,若是,则需调用并显示银行卡图标和银行卡号图标对应的银行支付密码变换值及其服务器接入码输入框;运算模块,用于SIM卡Applet应用将第二随机码与身份鉴权算法和身份认证密钥进行运算得到第一鉴权响应;用于在接收到用户对输入金额的确认指令后,将输入金额传入SIM卡通讯录,SIM卡Applet应用对输入金额进行数字签名得到第三鉴权响应;近场通信模块,用于对受理终端发送加密的第二随机码进行解密;还用于对第一鉴权响应进行加密;用于对受理终端发送加密的输入金额进行解密;对第三鉴权响应进行加密,或连同用户选中的银行卡图标和对银行卡号图标对应的银行支付密码变换值以及用户输入的服务器接入码一并加密后近场发送至受理终端;在需要进行远程支付的情况下,装置还包括:发送模块,还用于向支付网站或服务器发送验证信息及登陆申请和第六鉴权响应;接收模块,还用于接收支付网站或服务器发送的反馈信息;运算模块,用于SIM卡Applet应用将第二随机码与身份鉴权算法和身份认证密钥进行运算得到第四鉴权响应;判断模块,用于判断第四鉴权响应与第五鉴权响应是否相同,若不相同,则结束流程,同时还对服务器反馈第五鉴权响应的时间进行判断,若超过系统规定时间,则结束流程。
第五方面,本发明实施例提供了一种移动支付方法,服务器存储SIM卡标识及其对应的身份认证密钥、身份鉴权算法和第一加解码密钥、第一加密算法;存储有用户在服务器注册时预留的SIM卡标识对应的接入码,方法包括:接收由受理终端发送的验证信息;在服务器中根据验证信息、身份认证密钥和身份鉴权算法得到第五鉴权响应,同时查询与SIM卡标识对应的消息序列码并生成第二随机码,利用第一加解码密钥和第一加密算法将消息序列码和第二随机码一道加密,然后连同第五鉴权响应一并发送至受理终端,将消息序列码按本系统规则递增;接收由受理终端发送的受理终端和支付终端各自的用户身份识别模块SIM卡标识;依据SIM卡标识将第二随机码与SIM卡标识对应的身份认证密钥进行异域运算得到第二加解密钥和第三加解密钥;判断是否为唯一受理终端近场连接SIM卡的标识对应的支付终端,若是,则确定以第二随机码将受理终端和支付终端关联成功,向受理终端发送弹出输入金额交易框的指令;若在规定时间内没收到受理终端发送的第二鉴权响应和第三鉴权响应,则结束流程。
第六方面,本发明实施例提供了一种移动支付装置,服务器中存储SIM卡标识和SIM卡标识对应的身份认证密钥、身份鉴权算法、第一加解码密钥、第一加密算法,以及用户在服务器注册时预留的SIM卡标识对应的接入码或用户注册时绑定的银行卡号,装置包括:接收模块,用于接收由受理终端发送的验证信息和登陆申请;还用于接收由受理终端发送的第二鉴权响应和第三鉴权响应;还用于接收支付网站发送的远程终端的IP地址和对IP地址终端身份认证请求;接收支付网站转发由远程终端发送的验证信息;或者接收远程终端直接发送验证信息;发送模块,用于在服务器中根据验证信息、身份认证密钥和身份鉴权算法得到第五鉴权响应,同时查询与SIM卡标识对应的消息序列码并生成第二随机码,将消息序列码和第二随机码一起加密并连同第五鉴权响应一并发送至受理终端,将消息序列码按本系统规则递增;用于将所支付终端SIM卡标识和银行卡标识及银行卡存取密码的变换值转发给前置服务器;还用于将交易结果反馈给受理终端;接收模块,还用于接收由受理终端发送的受理终端和支付终端各自的用户身份识别模块SIM卡标识;还用于接收前置服务器反馈银行机构后台服务器对银行卡图标的转账或扣款信息;判断模块,用于判断是否为唯一受理终端连接SIM卡标识对应的支付终端;还用于在规定时间内没收到受理终端发送的第二鉴权响应和第三鉴权响应,则结束流程;还用于在规定时间内没收到远程终端发送的第六鉴权响应,则结束流程;发送模块,还用于判断是否为唯一受理终端近场连接SIM卡标识对应的支付终端,若是,则确定以第二随机码将受理终端和支付终端关联成功,则向受理终端发送弹出输入金额交易框的指令;验证模块,用于验证受理终端发送的第二鉴权响应和第三鉴权响应,若正确,则执行相应的扣款或后续操作,若不正确,则结束流程;还用于验证远程终端发送的第六鉴权响应,若正确,则执行相应的扣款或后续操作,若不正确,则结束流程;还用于对用户输入的接入码与SIM卡标识在服务器对应的接入码进行验证,若正确,则执行相应的扣款或后续操作,若不正确,则结束流程。
第七方面,本发明实施例提供了一种计算机设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面、第三方面、第五方面的方法。
第八方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面、第三方面、第五方面的方法。
本发明实施例提供了移动支付方法、移动支付装置、计算机设备及计算机可读存储介质。一方面,将电话SIM卡更换为Java Card虚拟机(JCVM)的智能SIM卡,赋予SIM卡类U盾的安全特性,通过对SIM卡存取指令的变通及卡内数据的倒换,实现了身份认证数据在手机与SIM卡间双向传送,贯通了手机与SIM卡的“机-卡”通道,使得SIM卡拥有对用户身份的运算能力。保障用户身份认证密钥及鉴权算法的安全,做到一次一密,使得防篡改、防伪造、防盗窃、防抵赖的身份认证安全体系成为可能。一方面,服务器发送的第二随机码和第一消息序列码是加密的,对第二随机码加密的目的是其必须在受理终端的SIM卡内解码才能获得,这样在受理终端读取SIM卡内解码的第二随机码时,以便能启动卡内Applet应用的计时进程。显然由于盗号木马手机没有实体SIM卡、不能正确运算身份认证数据,其只能远端调用用户SIM卡进行运算,但其又不能在规定时间内返回认证数据,故本系统能够完全防止盗号木马的盗号。另外,鉴于SIM卡内没有专门的计时器,本发明实施例在Applet应用内运行一定次数的空循环来构建连续的时长,并在该时长结束时读取支付终端返回的认证数据,若没能读到返回的认证数据,则确定认证数据发送为木马所为,因为木马远程调用用户SIM卡标准接口以盗取用户认证数据需往返两次才能取回,故其在该时间内无法返回数据,因此能够通过计时器对支付手机返回身份认证数据的时间甄别木马。再一方面,对第一消息序列码加密的目的是防止木马对消息序列码修改或复制后对SIM卡的身份认证实施重放攻击,同时对验证信息及反馈信息通信时间的限定,旨在防止利用高速云计算机群对本系统加密算法的破解,进而骗取服务器的身份认证、盗取用户款项。又一方面,近场交易中,通过支付终端对近场设备及近场通道的占用和对读取卡内短信先后顺序的判定,并结合用户对交易金额的确认和短信回复手段,以及综合本机此时是否有多个设备以该连接码申请连接的判断,来防阻交易点附近木马手机因抢先与用户数据交互而实施对用户的盗款行为。又一方面,用户不再需输入银行卡号及存取密码,只需传送手机上存储的银行卡标识和密码变换值同时输入本系统的接入码,这样既保护用户敏感数据不被截屏,又实现密码的输入,符合人民银行关于“双因素”的认证要求,同时也防范了因手机丢失造成的资金被盗的风险。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明一个实施例提供的支付系统的示意图;
图2示出了本发明一个实施例提供的用于受理终端的移动支付方法的流程示意图;
图3示出了本发明另一个实施例提供的用于受理终端的移动支付方法的流程示意图;
图4示出了本发明一个实施例提供的用于受理终端的移动支付装置的示意框图;
图5示出了本发明一个实施例提供的用于支付终端的移动支付方法的流程示意图;
图6示出了本发明一个实施例提供的用于支付终端的移动支付装置的示意图;
图7示出了本发明一个实施例提供的用于服务器的移动支付方法的流程示意图;
图8示出了本发明一个实施例提供的用于服务器的移动支付装置的示意图;
图9示出了本发明一个实施例提供的支付系统的示意图;
图10a示出了本发明一个实施例提供的支付系统的近场支付方法示意图;
图10b示出了本发明另一个实施例提供的支付系统的近场支付方法示意图;
图10c示出了本发明再一个实施例提供的支付系统的近场支付方法示意图;
图11示出了本发明一个实施例提供的远程支付的示意图;
图12示出了本发明一个实施例提供的计算机设备的示意框图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
移动支付的实质是身份认证,本发明实施例将电话SIM卡更换为Java Card虚拟机(JCVM)的智能SIM卡,赋予SIM卡类U盾的安全特性,既能用于近场应用、也能用于远程应用,既适于移动用户、也适于PC用户。本发明采用国际标准ISO/IEC规范的GSM11.11通用指令和标准接口对SIM卡通讯录读写以及对短信的读取,实现了身份认证数据在手机与SIM卡间双向传送,贯通了手机与SIM卡的“机-卡”通道,使得SIM卡拥有对用户身份的运算能力。保障用户身份认证密钥及鉴权算法的安全性,做到一次一密。同时,为防止木马或黑客对SIM卡标准接口的调用而实施盗号及为防止木马对SIM卡身份认证流程的重放攻击,本发明在SIM卡内构建了近场通信的计时环节和消息序列码SQN计数机制。
本发明实施例基于智能SIM卡对用户身份的认证能力,极大地增强了系统的安全性,由此大大拓展了基于移动互联网的应用场景,不仅能保障远近场的支付安全,还可广泛地用于生活的方方面面,如,小区门禁、汽车门锁、停车缴费和智能家居以及无人驾驶、物联网等。下面对本发明实施例涉及的一些应用场景和术语进行说明。
一、JAVA SIM卡
为使SIM卡具有用户身份的计算能力,本发明实施例将现有SIM卡更换为JavaCard虚拟机的智能SIM卡,智能SIM卡符合ISO/IEC 7816规范,卡内包含Java Card运行环境(JCRE)及服务于系统的Applet应用、标准组件及GSM Applet和GSM API接口等,其中Applet应用为采用Java编程语言编写的小应用程序。Applet内构建有计时机制和消息序列码SQN,以防止木马远程调用中木马的用户手机SIM卡标准接口及近端不法用户利用自身SIM卡作为POS以发起对支付用户实施的重放攻击,卡内预植用户身份认证密钥、身份鉴权算法、加解密算法以及SIM卡标识id码和第一加密算法、第一加解密钥。卡内的这些预植数据或程序外界不可访问、不可篡改、不可逆向破解。
二、服务器及用户注册
如图1所示,本发明实施例后台服务器从功能上分为本系统服务器和本系统前置服务器。为实现本发明实施例要求的功能,用户需在本发明实施例本系统服务器上完成注册。支付用户登陆本网站下载APP(Application,应用程序),下载完毕后手机连接到联网平台并在本系统服务器提供的网页上填写注册信息,如电话号码及本服务器的接入码,其中,SIM卡标识id码可由APP自动上传服务器。用户在绑定银行卡时跳转到下述的本系统前置服务器,该前置服务器可以设置在合作银行机构(银行A......银行M、银行N),即由银行机构托管该些前置服务器,在该前置服务器设置了银行卡号与本系统标银行卡图符的替代规则,该前置服务器与银行机构自有的后台现有金融服务器连接,该金融服务器用于银行机构按现有流程的扣款操作。或用户在银行柜台申请银行卡绑定时,银行柜机将绑定的银行卡信息存储在所述前置服务器。在前置服务器完成银行卡绑定时,一方面该前置服务器将绑定的银行卡号根据本系统的转换规则用相应图标符作替换,并且对用户输入的银行卡存取密码依据该银行卡归属银行的算法进行了变换,其后前置服务器仅将该些银行卡的图标或部分卡号数字以及存取密码的变换值推送给用户手机并存储。当用户有支付行为或支付金额较大时,手机屏幕弹出存储的、供用户选择的银行卡图标或显示部分卡号数字及本系统服务器的接入码对话框,用户在显示的多张银行卡图标中点选需要的银行卡并输入在本系统预留的接入码后,手机便从存储的银行卡标识中选取相应的标识及其存取密码变换值,然后将其与其他认证参数一起加密运算,其后经受理终端(诸如手机、扫描抢及POS或ATM(Automated Teller Machine,自动取款机)等)发给本系统的服务器。本系统服务器对该标识建立对应的交易订单或流水号,然后将该银行卡标识及密码变换值发给对应收单银行托管的本系统前置服务器,并由该前置服务器根据系统转换规则查询其对应的银行卡号及其存取密码后发给该收单银行自有的后台金融服务器(后台金融服务器A......后台金融服务器M、后台金融服务器N)。该后台金融服务器再与发卡银行自有的后台金融服务器按银行体系的现有规则及流程完成扣款或转账,其后将处理结果回复收单银行自有的后台金融服务器,该后台金融服务器将处理结果回复本系统托管的前置服务器,所述前置服务器将该银行卡对应标识的收付款情况发给本系统服务器。
由上述可知,本发明实施例的本系统服务器并不知晓和记录用户的银行卡号及其存取密码,仅记录与SIM卡标识对应的交易流水号。特别地,对于远程支付在用户跳转到所属银行前置服务器页面后,由于已经过系统接入码验证,因此支付用户不用再需输入银行卡号及存取密码,而直接在终端上点选银行卡图标,其后终端将存储的对应银行卡图标及密码变换值和其身份码id发给本系统托管在银行机构的前置服务器,这就大大地降低了因用户输入卡号和密码而可能泄漏隐私数据的风险。
三、对SIM卡的存取操作
鉴于SIM卡属硬件级的安全防范设施,本系统将诸如身份认证密钥、身份鉴权算法、加解密算法1、加解密钥1等关键数据均存于智能SIM卡,采用国际标准ISO/IEC规范的GSM11.11指令及接口将第三方数据当作成电话号码存入SIM卡通讯录,例如,将身份认证数据作为用户名A的电话号码存入SIM卡通讯录,卡内的JCRE命令管理模块监听到并对该APDU(应用协议数据单元)的命令头(INS)检查后对指令及数据进行分发,若不是本业务的数据,则分发给GSM Applet,由其对GSM文件系统读写操作;若是,则将其分发给Applet以激活其对该指令及携带信息的处理,但需注意的是,当对SIM卡存入电话号码的时候,也相应地在手机数据库作了备份,因此若想从手机读取SIM卡内经Applet处理后的通讯录电话号码,其读取的是手机数据库的电话号码,而并非是SIM卡通讯录的电话号码。
为解决此问题,本系统将卡内Applet处理结果以短信格式存储,然后再通过读短信将存于短信区域的数据取出,这样就实现了第三方数据(如,随机码rand及鉴权响应Sres)在手机操作系统与SIM卡间的双向传送。例如,若JCRE命令分发模块监听到进出SIM卡的指令为本业务的,则将该指令信息直接分发到Applet,Applet将该指令携带电话号码表示的数据与身份认证密钥和身份鉴权算法进行运算,然后将该运算结果存储于SIM卡短信区域供手机读出。
四、远近场支付的方法,以下分别给出在受理终端、支付终端、服务器中移动支付的方法。
图2示出了本发明一个实施例提供的用于受理终端的移动支付方法的流程示意图。受理终端内设置具有Java Card虚拟机运行环境的用户身份识别模块SIM卡,如图2所示,该方法包括:
步骤202,在需要近场支付的时,受理终端生成验证信息,并将近场业务申请及验证信息发送至服务器;
步骤204,接收服务器对验证信息的反馈信息,控制开启摄像头并对反馈信息进行验证;
步骤206,当反馈信息验证通过后,接收通过摄像头扫描到的支付终端的扫描信息并控制开启近场设备;
步骤208,根据扫描信息与支付终端建立近场连接,并在判定存在唯一支付终端建立近场连接后将第二随机码近场发送至支付终端,以获取支付终端反馈的第一鉴权响应,并完成对第一鉴权响应的计时;
步骤210,受理终端获取输入金额,将输入金额、第一鉴权响应进行数字签名得到第二鉴权响应,同时将输入金额进行加密后发送至支付终端,以获得支付终端对输入金额数字进行签名得到的第三鉴权响应;
步骤212,受理终端将自身的第二鉴权响应以及支付终端发送的第三鉴权响应发送至服务器,以供服务器验证后进行转账或扣款。
其中,受理终端内设置支付应用程序和具有Java Card虚拟机运行环境的用户身份识别SIM卡,SIM卡包括文件系统、Applet应用和电话通信模块及卡片操作系统,SIM卡内还包括预置入SIM卡标识,以及与标识对应的身份认证密钥、身份鉴权算法、第一加密算法、第一加解密钥;验证信息包括:SIM卡标识、第一随机码;反馈信息包括对第二随机码、第一消息序列码的加密和第五鉴权响应,第二随机码由服务器随机生成,第一消息序列码由服务器提取现有的消息序列码,其后服务器将第一消息序列码按本系统规则递增后更新现有的消息序列码,其中,对第二随机码和第一消息序列码的加密系由服务器根据第一加解密钥经第一加密算法进行加密得到,第五鉴权响应由服务器根据与SIM卡标识对应的身份认证密钥和身份鉴权算法与第一随机码进行运算得到;扫描信息包括支付终端支付应用程序随机生成的近场通信加解密钥、随机生成的近场通道连接码以及支付终端SIM卡标识、手机操作系统识别码。
步骤202,生成验证信息,并将近场业务申请及验证信息发送至服务器,可以包括:通过支付应用程序提取SIM卡标识以及生成第一随机码,将第一随机码存储至SIM卡通讯录;通过Applet应用将第一随机码与身份鉴权算法和身份认证密钥进行运算,得到第四鉴权响应,并将第四鉴权响应存储于Applet应用;将SIM卡标识、第一随机码发送至服务器,以供服务器对验证信息提供反馈信息;
步骤204,接收服务器对验证信息的反馈信息,控制开启摄像头,并对反馈信息进行验证,可以包括:通过支付应用程序接收来自服务器发送的反馈信息,支付应用程序判断接收的反馈信息如果没有超过系统规定时间,则将反馈信息传入SIM卡通讯录,同时控制开启摄像头,否则结束流程;通过Applet应用比对第四鉴权响应与第五鉴权响应是否相同,若相同,则利用第一加解密钥和第一加密算法对加密的第二随机码和第一消息序列码进行解密并比对第一消息序列码与Applet应用内的第二消息序列码;若第一消息序列码与第二消息序列码相同,则将第二随机码与身份认证密钥进行异域运算得到第二加解密钥,并将第二随机码和第二加解密钥存储于Applet应用内,并将第二随机码以短信形式存储至SIM卡短信区域,同时将第二消息序列码按本系统规则递增后更新Applet应用第二消息序列码;
步骤208,根据扫描信息与支付终端建立近场连接,并在判定存在唯一与支付终端建立近场连接后,将利用扫码获得的近场通信加解密钥和自有的近场通信加密算法将第二随机码加密后近场发送至支付终端,以获取支付终端反馈的加密第一鉴权响应,第一鉴权响应是在支付终端SIM卡的Applet应用将第二随机码与支付终端SIM卡身份认证密钥和身体鉴权算法运算所得,还包括:根据手机操作系统识别码选用并开启相应的近场设备,以近场通道连接码建立与支付终端的近场连接,并判断近场设备的近场通道是否有多个设备以近场通道连接码申请连接,若无,则判定存在唯一支付终端建立近场连接;在判定存在唯一支付终端建立近场连接后,Applet应用将第二随机码以短信形式存储至SIM卡短信区域。受理终端在读取SIM卡短信时,卡内的JCRE运行环境监测到SIM卡短信被读取,于是通知并激活Applet应用查询其内存是否有第二随机码的记录,若有,则Applet应用在删除第二随机码后运行多个空循环以构建一段时间环境。受理终端支付应用程序利用近场通信加解密钥和加密算法对第二随机码加密,进而近场发送加密后的第二随机码至支付终端,并等待接收支付终端反馈的第一鉴权响应,若接收到第一鉴权响应则将其解密后存储至SIM卡通讯录;Applet应用在多个空循环执行完毕时,读取并判断是否能够从SIM卡通讯录中读取到第一鉴权响应,若能够读取到第一鉴权响应则直接获取第一鉴权响应,若不能够读取到第一鉴权响应则结束。
一方面,受理终端需对服务器的身份进行认证,以防止伪基站所属的伪服务器对受理终端实施攻击以套取用户的交易信息;另一方面,第二随机码为服务器发送的新数据,其作为核心数据贯穿于每个交易终端及遍历整个支付环节,因此用复制的历史的认证数据向服务器申请扣款则不会成功;再一方面,第二随机码和第一消息序列码加密的目的是其必须在该SIM卡的身份标识对应的SIM卡内解码才能获得随机码第二随机码,以此在受理终端读出经解码的第二随机码时,能激活并在Applet应用中对支付终端返回的身份认证数据时间进行计时,并根据该时间来甄别木马。又一方面,Applet应用内进行一定次数的空循环来构建连续的时长,并在该循环结束时读取存入SIM卡通讯录中支付终端返回的该认证数据,即第一鉴权响应,若没能读到认证数据,则确定认证数据发送为木马所为,因为木马远程调用用户SIM卡标准接口以盗取用户认证数据需往返两次才能取回,故其在该时间内无法返回数据,因此能够甄别木马,其后将第一鉴权响应与其他数据加密后发往服务器,也即必须以服务器下发的且须在SIM卡内解码的第二随机码并经相关运算得到的鉴权值才能被服务器认可。
图3示出了本发明另一个实施例提供的用于受理终端的移动支付方法的流程示意图。如图3所示,该方法包括:
步骤302,在需要近场支付的时,受理终端生成验证信息,并将近场业务申请及验证信息发送至服务器;
步骤304,接收服务器对验证信息的反馈信息,控制开启摄像头,并对反馈信息进行验证;
步骤306,当反馈信息验证通过后,接收通过摄像头扫描到的支付终端的扫描信息并控制开启近场设备;
步骤308,根据扫描信息与支付终端建立近场连接,并在判定存在唯一支付终端建立近场连接后将第二随机码近场发送至支付终端,以获取支付终端反馈的第一鉴权响应;
步骤310,获取输入金额,将输入金额、第一鉴权响应进行数字签名得到第二鉴权响应,同时将输入金额进行加密后发送至支付终端,以获得支付终端对输入金额数字进行签名得到的第三鉴权响应;
步骤312,受理终端将自身的第二鉴权响应以及支付终端发送的第三鉴权响应发送至服务器,以供服务器验证后进行转账或扣款;
步骤314,在需要进行远程支付的情况下,支付终端或远程终端通过支付应用程序向支付网站发送远程终端登陆请求和验证信息,验证信息包括SIM卡标识和随机生成第一随机码,支付网站向服务器转发验证信息,或者在远程终端通过支付应用程序登录支付网站时,支付网站将远程终端的IP地址发送给服务器请求对IP地址的远程终端进行身份认证,服务器与远程终端建立连接,远程终端支付应用程序向服务器发送验证信息;同时远程终端支付应用程序将第一随机码传入SIM卡通讯录,通过Applet应用将第一随机码与身份鉴权算法和身份认证密钥进行运算,得到第四鉴权响应,并将第四鉴权响应存储于Applet应用内;
步骤316,接收来由服务器发送或者经支付网站转发服务器反馈信息,反馈信息包括第二随机码和第五鉴权响应,第二随机码是服务器随机生成,第五鉴权响应是服务器根据远程终端SIM卡标识查询对应数据库,并将查询所得的身份认证密钥和身份鉴权算法与第一随机码进行运算得到;将反馈信息存储至SIM卡通讯录,通过Applet应用将第五鉴权响应与第四鉴权响应进行比对;
步骤318,若第五鉴权响应与第四鉴权响应不同,则Applet应用将验证未通过验证的信息存储于SIM卡的短信区域,支付应用程序读取并识别出信息后终止与支付网站或服务器的连接;若第五鉴权响应与第四鉴权响应相同,则Applet应用将第二随机码与身份认证密钥及身份鉴权算法进行运算得到第六鉴权响应,将第六鉴权响应以短信形式存储至SIM卡短信区域,支付应用程序读取SIM卡的短信,将筛选出的第六鉴权响应发送给支付网站,支付网站将第六鉴权响应转发至服务器,或者将筛选出的第六鉴权响应直接发送给服务器,以供服务器在判断第六鉴权响应正确并且未超服务器规定时间后,控制网站连接进而进行支付。
在该实施例中,在实现近场支付功能的同时,还能够实现远程支付。用户在登陆第三方网站前需点击本系统应用图标以激活本系统远程模块,或在第三方网站APP中嵌入本发明的功能,然后再点击网站应用图标并输入账号及密码以尝试登陆该网站。本环节,该网站并不立即允许用户登陆账号,而是向本服务器申请认证并传送该手机登陆的IP地址,服务器以该IP地址或经该网站连接用户进行双向认证,此举一方面对用户身份进行认证,另一方面对网站也进行认证以防止“钓鱼网站”。
图4示出了本发明一个实施例提供的用于受理终端的移动支付装置400的示意框图。如图4所示,该装置包括:
发送模块402,用于在需要进行近场支付的情况下,受理终端生成验证信息,并将近场业务申请及验证信息发送至服务器;
控制模块404,用于接收服务器对验证信息的反馈信息,控制开启摄像头,并对反馈信息进行验证;当反馈信息验证通过时,接收通过摄像头扫描到的支付终端的扫描信息,并控制开启近场设备;
发送模块402,还用于根据扫描信息与支付终端建立近场连接,并在判定存在唯一支付终端建立近场连接后将加密的第二随机码近场发送至支付终端,以获取支付终端反馈加密的第一鉴权响应;还用于将加密的输入金额发给支付终端,以获取支付终端对对输入金额反馈的数字签名;
接收模块406,用于接收服务器和支付终端反馈的信息,包括服务器反馈的交易结果信息;
运算模块408,用于Applet应用将第一随机码与身份鉴权算法和身份认证密钥进行运算得到第四鉴权响应;还用于Applet应用对输入金额、第一鉴权响应进行数字签名得到第二鉴权响应;
判断模块410,用于Applet应用对服务器反馈信息进行验证,当第五鉴权响应与第四鉴权响应不相同时,则结束流程;用于Applet应用对服务器反馈信息进行验证,比对第一消息序列码与第二消息序列码是否相同,若不同,则结束流程;用于支付应用程序对服务器发送的反馈信息进行时间判定,判定发出验证信息到收到服务器发送反馈信息的时间,若时间超时,则结束流程,若没超时,则将反馈信息传入SIM卡通讯录;用于所述SIM卡内JCRE运行环境监测到SIM卡短信被读取,通知并激活Applet应用查询是其内存是否有第二随机码记录,,若有记录,则运行多个连续空循环操作;若记录为空,则结束流程;用于Applet应用运行多个连续空循环之前删除其内存第二随机码记录;还用于Applet应用在运行完多个连续空循环后读取存储于SIM卡通讯录的第一鉴权响应,若能读到第一鉴权响应,则获取并存于Applet应用内存;若不能读到,则结束流程;
近场通信模块412,用于对第二随机码利用所述加解密方法加密后近场发送至支付终端;用于对近场接收支付终端发送通过利用所述加解密方法加密的第一鉴权响应进行解密;用于对输入金额利用所述加解密方法进行加密后近场发送至支付终端,以获取支付终端近场反馈加密的第三鉴权响应,并通过所述加解密方法对其解密;
发送模块402,还用于将第二鉴权响应和第三鉴权响应发送至服务器,以供服务器验证后进行转账或扣款。
其中,受理终端内设置支付应用程序和具有Java Card虚拟机运行环境的用户身份识别模块SIM卡,SIM卡包括SIM卡通讯录、Applet应用、所述SIM卡内还包括预置入所述SIM卡标识及其所述SIM卡标识对应的身份认证密钥、身份鉴权算法以及第一加密算法、第一加解密钥;验证信息包括:SIM卡的标识、第一随机码;所述反馈信息包括对第二随机码、第一消息序列码的加密数据和第五鉴权响应,所述第二随机码由服务器随机生成,所述第一消息序列码由服务器提取现有的消息序列码,所述第五鉴权响应是所述服务器根据所述SIM卡标识查询对应数据库,并将查询所得的所述身份认证密钥和所述身份鉴权算法与所述第一随机码进行运算得到;扫描信息包括随机生成的本次近场通信加解密钥、随机生成的本次近场通道连接码、支付终端SIM卡标识、手机操作系统识别码。
可以为:通过支付应用程序提取SIM卡标识以及生成第一随机码,并将第一随机码存储至SIM卡通讯录;通过Applet应用将第一随机码与身份鉴权算法和身份认证密钥进行运算,得到第四鉴权响应,并将第四鉴权响应存储于Applet应用;将SIM卡标识、第一随机码发送至服务器,以供服务器生成反馈信息;
可以为:通过支付应用程序接收来自服务器的对第二随机码、第一消息序列码的加密数据、第五鉴权响应,并传入SIM卡通讯录内,同时控制开启摄像头;通过Applet应用比对第四鉴权响应与第五鉴权响应是否相同,若相同则利用第一加解密钥和第一加密算法对加密的第二随机码和第一消息序列码进行解码,并比对第一消息序列码与Applet应用的第二消息序列码;若第一消息序列码与第二消息序列码相同,则将第二随机码与身份认证密钥进行异域运算得到第二加解密钥,并将第二随机码和第二加解密钥存储于Applet应用内存,并将第二随机码存储于SIM短信区域,同时将第二消息序列码按规则进阶;
发送模块402,还用于根据手机操作系统识别码选用近场设备,控制开启近场设备,以近场通道连接码建立与支付终端的近场连接,并判断近场设备的近场通道是否有多个设备以近场通道连接码申请连接,若无则判定存在唯一支付终端建立近场连接;在判定存在唯一所述支付终端建立近场连接后,所述支付应用程序读取所述SIM卡内的短信,并从读取所述SIM卡短信中出筛选出所述第二随机码,利用通过扫码获得的所述近场通信加解密钥和所述支付应用程序的近场通信加密算法将所述第二随机码加密,进而近场发送所述加密的第二随机码至所述支付终端,并等待接收所述支付终端以所述近场通信加解密钥和所述近场通信加密算法反馈加密的所述第一鉴权响应。与此同时,所述SIM卡内JCRE运行环境监测到所述SIM卡短信被读取,则通知并激活Applet应用查询所述Applet应用内存是否有所述第二随机码记录,若有记录,所述Applet应用在删除其内存所述第二随机码记录后运行多个连续的空循环以构建一段时间环境;若没有记录,则结束流程。若接收到所述支付终端反馈加密的所述第一鉴权响应,则对其加密解密后,将所述第一鉴权响应存储至所述SIM卡通讯录;
在需要进行远程支付的情况下,所述支付终端或远程终端通过所述支付应用程序向支付网站发送验证信息,所述验证信息包括所述SIM卡标识和随机生成第一随机码,所述支付网站向所述服务器转发所述验证信息,或者在所述远程终端通过所述支付应用程序登录支付网站时,所述支付网站将所述远程终端的IP地址发送给所述服务器请求对所述IP地址的远程终端进行身份验证,所述服务器与所述远程终端建立连接,所述远程终端支付应用程序向所述服务器发送所述验证信息。同时所述远程终端支付应用程序将所述第一随机码传入所述SIM卡通讯录,通过所述Applet应用将所述第一随机码与所述身份鉴权算法和所述身份认证密钥进行运算,得到所述第四鉴权响应,并将所述第四鉴权响应存储于Applet应用内;接收来由所述服务器直接发送或者经所述支付网站转发所述服务器反馈信息,所述反馈信息包括第二随机码和第五鉴权响应,所述第二随机码是服务器随机生成,所述第五鉴权响应是所述服务器根据所述远程终端SIM卡标识查询对应数据库,并将查询所得的所述身份认证密钥和所述身份鉴权算法与所述第一随机码进行运算得到;将所述反馈信息存储至所述SIM卡通讯录,通过所述Applet应用将所述第五鉴权响应与所述第四鉴权响应进行比对;若所述第五鉴权响应与所述第四鉴权响应不同,则所述Applet应用将验证未通过验证的信息存储于所述SIM卡的短信区域,所述支付应用程序读取并识别出所述信息后终止与所述支付网站或所述服务器的连接;若所述第五鉴权响应与所述第四鉴权响应相同,则所述Applet应用将所述第二随机码与所述身份认证密钥及所述身份鉴权算法进行运算得到第六鉴权响应,将所述第六鉴权响应以短信形式存储至所述SIM卡短信区域,所述支付应用程序读取所述SIM卡的短信,将筛选出的所述第六鉴权响应发送给所述支付网站,所述支付网站所述将所述第六鉴权响应转发至所述服务器,或者所述将筛选出的所述第六鉴权响应直接发送给所述服务器,以供所述服务器在判断所述第六鉴权响应正确并且未超所述服务器规定时间后,控制网站连接进而进行支付。
图5示出了本发明一个实施例提供的用于支付终端的移动支付方法的流程示意图。支付终端内设置支付应用程序和具有Java Card虚拟机运行环境的用户身份识别模块SIM卡,支付应用程序还集成近场通信加密算法,如图5所示,该方法包括:
步骤502,通过支付应用程序生成扫描信息等待扫描,在扫描信息被受理终端扫描后建立近场连接,近场接收受理终端通过的所述的加解密方法加密的第二随机码,支付应用程序利用所述的加解密方法对加密的第二随机码进行解密,并将第二随机码存储于SIM卡通讯录;加解密方法,通过近场通信加密算法及扫码获得的近场通信加解密钥对需发送的数据加密或解密;
步骤504,Applet应用根据第二随机码以身份认证和身份鉴权算法运算得到第一鉴权响应,Applet应用将第一鉴权响应存于SIM卡短信区域,支付应用程序读出SIM卡短信,将第一鉴权响应经加解密方法后近场发送至受理终端;
步骤506,接收并显示来自受理终端近场发送通过加解密方法加密的输入金额;支付应用程序利用加解密方法对加密输入金额解码并显示,以供用户对输入金额进行确认,支付应用程序在接收到用户对输入金额的确认指令后,将输入金额传入SIM卡通讯录,Applet应用对输入金额进行数字签名得到第三鉴权响应,将第三鉴权响应存储于SIM卡短信区域,支付应用程序读出SIM卡短信,将第三鉴权响应经加解密方法加密后近场发给受理终端。
其中,SIM卡包括文件系统、Applet应用和电话通信模块及卡片操作系统,SIM卡内还包括预置入SIM卡标识及其SIM卡标识对应的身份认证密钥、身份鉴权算法以及第一加密算法、第一加解密钥;支付终端内还包括用户注册时从前置服务器下载的绑定的银行卡号图标及银行卡号图标对应的银行支付密码的变换值。
步骤504,根据第一随机码得到第一鉴权响应,将第一鉴权响应进行加密后发送至受理终端,可以包括:在判定存在唯一受理终端建立近场连接以及无终止交易通知的情况下占用支付终端近场设备的近场通道,利用近场通信加解密钥和近场通信加密算法解密对加密的第二随机码进行解密,将解密后的第二随机码存储至SIM卡通讯录,并通过Applet应用将第二随机码与身份认证密钥和身份鉴权算法进行运算,得到第一鉴权响应,同时将第一鉴权响应与身份认证密钥进行异域运算得到第三加解密钥,并将第三加解密钥存储至Applet应用内,同时Applet应用将第一鉴权响应存储于SIM卡短信区域,并由支付应用程序将SIM卡短信读出,并利用加解密方法对第一鉴权响应进行加密,进而近场发送加密的第一鉴权响应至受理终端。
步骤506,受理终端接收服务器发送的弹出输入金额框指令并输入金额,将输入金额存入受理终端SIM卡通讯录,并在卡内进行数字签名得到第二鉴权响应,包括:
受理终端将输入金额存入受理终端SIM卡通讯录,受理终端SIM卡的Applet应用将输入金额与身份鉴权算法和身份认证密钥进行运算得到运算结果,然后以身份认证密钥经第一加密算法对运算结果进行加密形成数字签名,以第二加解密钥经第一加密算法对数字签名和输入金额及的第一鉴权响应一起进行加密得到第二鉴权响应。将第二鉴权响应存储于SIM卡短信区域,并由受理终端支付应用程序将SIM卡短信读出,并从读取短信中出筛选出第二鉴权响应;
步骤506中,接收并显示来自受理终端的输入金额,以供用户对输入金额进行确认,包括:接收来自受理终端的输入金额,若输入金额小于系统设定额值,则支付应用程序直接显示输入金额以供用户对输入金额进行确认,并将确认的输入金额存入SIM卡通讯录;若输入金额大于等于系统设定额值,则支付应用程序显示可供用户选择的用户银行卡图标及在服务器的接入码输入框。
在SIM卡内对输入金额进行数字签名得到第三鉴权响应,包括:通过Applet应用将输入金额与身份鉴权算法和身份认证密钥进行运算得到运算结果,以身份认证密钥经第一加密算法对运算结果进行加密形成数字签名,以第三加解密钥经第一加密算法对数字签名和输入金额进行加密得到第三鉴权响应。将第三鉴权响应存储于SIM卡短信区域,并由支付应用程序将SIM卡短信读出,并从读取短信中出筛选出第三鉴权响应,支付应用程序利用所述的加密方法对第三鉴权响应,或连同用户选中的用户银行卡图标和对银行卡号图标对应的银行支付密码变换值以及用户输入的服务器接入码一并加密后近场发送至受理终端。
在该实施例中,支付终端以该连接码建立近场连接后,即刻占用近场通信设备及通道,同时判断包括本选用的近场设备在内是否有多个近场设备以该连接码在申请本机连接,若在其选用的通道出现两个及以上的该连接码,显然是附近木马在申请连接本机,应取消交易,并还需判断是否在交易金额确认键按下前或在收到交易金额前就有读SIM卡短信的指令,若是,则判定交易失败,此举目的是防止交易点附近的不法终端作受理终端对该用户实施盗款,如假设支付终端中了附近不法终端的木马。支付用户需对交易金额的确认,作为支付用户对交易金额认可的记录,并且也为了防范用户附近不法终端对用户的盗款。
图6示出了本发明一个实施例提供的用于支付终端的移动支付装置600的示意图。支付终端内设置支付应用程序和具有Java Card虚拟机运行环境的用户身份识别SIM卡,如图6所示,该装置包括:
接收模块602,用于通过支付应用程序生成扫描信息等待扫描,在扫描信息被受理终端扫描后与之建立近场连接,通过近场接收由受理终端发送加密的第二随机码;还用于近场接收由受理终端发送加密的输入金额;
发送模块604,用于将加密的第一鉴权响应近场发送至受理终端;用于将加密的第三鉴权响应近场发送至受理终端,或连同用户选中的银行卡图标和对银行卡图标对应的银行支付密码变换值以及用户输入的服务器接入码一并加密后近场发送至受理终端;
显示模块606,用于接收并显示来自受理终端的输入金额,以供用户对输入金额进行确认;
判断模块608,用于判断输入金额得否大小系统规定金额,若是,则需调用并显示银行卡图标和银行卡号图标对应的银行支付密码变换值及其在服务器的接入码输入框;
运算模块610,用于SIM卡Applet应用将第二随机码与身份鉴权算法和身份认证密钥进行运算得到第一鉴权响应;用于在接收到用户对输入金额的确认指令后,将输入金额传入SIM卡通讯录,SIM卡Applet应用对输入金额进行数字签名得到第三鉴权响应;
近场通信模块612,用于对受理终端发送加密的第二随机码进行解密;还用于对第一鉴权响应进行加密;用于对受理终端发送加密的输入金额进行解密;对第三鉴权响应进行加密,或连同用户选中的银行卡图标和对银行卡号图标对应的银行支付密码变换值以及用户输入的服务器的接入码一并加密后近场发送至受理终端;
在需要进行远程支付的情况下,装置600还包括:发送模块604,还用于向支付网站或服务器发送验证信息和登陆申请及第六鉴权响应;接收模块602,还用于接收支付网站或服务器发送的反馈信息;运算模块610,用于SIM卡Applet应用将第二随机码与身份鉴权算法和身份认证密钥进行运算得到第四鉴权响应;判断模块608,用于判断第四鉴权响应与第五鉴权响应是否相同,若不相同,则结束流程。
图7示出了本发明一个实施例提供的用于服务器的移动支付方法的流程示意图。服务器存储SIM卡标识及其对应的身份认证密钥、身份鉴权算法和第一加解码密钥、第一加密算法,以及用户在服务器注册时预留的SIM卡标识对应的接入码或用户注册时绑定的银行卡号,如图7所示,该方法包括:
步骤702,接收由受理终端发送的验证信息;在服务器中根据验证信息、身份认证密钥和身份鉴权算法得到第五鉴权响应,同时查询与SIM卡标识对应的消息序列码并生成第二随机码,利用第一加解码密钥和第一加密算法将消息序列码和第二随机码一道加密,然后连同第五鉴权响应一并发送至受理终端,将消息序列码按本系统规则递增;
步骤704,接收由受理终端发送的受理终端和支付终端各自的用户身份识别模块SIM卡标识,以此判断是否为唯一近场设备连接SIM卡的标识对应的支付终端,若是,则确定以所述第二随机码将所述受理终端和所述支付终端关联成功,并向受理终端发送弹出输入金额交易框的指令;
步骤706,在规定时间内没收到受理终端发送的第二鉴权响应和第三鉴权响应,则结束流程。
在该实施例中,对第二随机码加密的目的是其必须在对应的SIM卡内解码才能获得,由于盗号木马没有实体SIM卡所以能够完全防止盗号木马的盗号;另外对第一消息序列码加密的目的是防止木马对消息序列码修改或复制后对SIM卡的身份认证实施重放攻击。
在本发明另一个实施例提供的用于服务器的移动支付方法的实施例中,还包括与银行机构的后台金融服务连接的本系统前置服务器器,服务器中存储身份认证密钥、身份鉴权算法、第一加解码密钥、第一加密算法和SIM卡标识及该标识对应在服务器的接入码,该方法包括:
接收由受理终端发送的验证信息;
在服务器中根据验证信息、身份认证密钥和身份鉴权算法得到第五鉴权响应,同时查询与SIM卡标识对应的消息序列码并生成第二随机码,利用第一加解码密钥和第一加密算法将消息序列码和第二随机码一道加密,然后连同第五鉴权响应一并发送至受理终端,将消息序列码按本系统规则递增;
接收由受理终端发送的受理终端和支付终端各自的用户身份识别模块SIM卡标识,以此判断是否为唯一近场设备连接SIM卡的标识对应的支付终端,若是,则确定以所述第二随机码将所述受理终端和所述支付终端关联成功,并向受理终端发送弹出输入金额交易框的指令;
在规定时间内没收到受理终端发送的第二鉴权响应和第三鉴权响应,则结束流程;
服务器接收受理终端发送的包括银行卡图标和银行卡存取密码的变换值,若对第六鉴权响应认证通过,则建立交易订单或流水号,并将所支付终端的SIM卡标识以及用户的银行卡标识和用户银行卡存取密码的变换值发送至前置服务器;
通过前置服务器中预置入的本系统对用户的银行卡图标和银行卡存取密码的变换值的转换规则和对应的SIM卡标识,将银行卡图标及银行卡存取密码变换值编译为对应的真实银行卡号及银行卡存取密码,并将银行卡及存取密码发送至归属银行机构后台金融服务器;
银行机构后台金融服务器根据银行卡及存取密码进行转账或扣款,接收前置服务器反馈的银行机构后台服务器对银行卡图标的转账或扣款信息;
在需要进行远程支付的情况下,接收支付网站转发由远程终端直接发送的验证信息和登陆申请,或者接收支付网站发送的远程终端IP地址及其对IP地址的终端进行身份认证的请求;向远程终端直接发送或者经支付网站转发的反馈信息,反馈信息包括第二随机码和第五鉴权响应,第二随机码是服务器随机生成,第五鉴权响应是服务器根据远程终端SIM卡标识查询对应数据库,并将查询所得的身份认证密钥和身份鉴权算法与第一随机码进行运算所得。接收支付网站转发的由远程终端支付应用程序发送的第六鉴权响应,或者直接接收由远程终端支付应用程序直接发送的第六鉴权响应,判断第六鉴权响应正确并且未超服务器规定时间后,控制网站连接进而进行支付。
图8示出了本发明一个实施例提供的用于服务器的移动支付装置800的示意图。服务器中存储SIM卡标识和SIM卡标识对应的身份认证密钥、身份鉴权算法、第一加解码密钥、第一加密算法,以及用户在服务器注册时预留的SIM卡标识对应的接入码或用户注册时绑定的银行卡号,如图8所示,该装置包括:
接收模块802,用于接收由受理终端发送的验证信息和登陆申请;还用于接收由受理终端发送的第二鉴权响应和第三鉴权响应;还用于接收支付网站发送的远程终端的IP地址和对IP地址终端身份认证请求;接收支付网站转发由远程终端发送的验证信息;或者接收远程终端直接发送验证信息;
发送模块804,用于在服务器中根据验证信息、身份认证密钥和身份鉴权算法得到第五鉴权响应,同时查询与SIM卡标识对应的消息序列码并生成第二随机码,将消息序列码和第二随机码一起加密并连同第五鉴权响应一并发送至受理终端,将消息序列码按本系统规则递增;用于将所支付终端的SIM卡标识以及银行卡图标和银行卡存取密码的变换值转发给前置服务器;还用于将交易结果反馈给受理终端;
接收模块802,还用于接收由受理终端发送的受理终端和支付终端各自的用户身份识别模块SIM卡标识;还用于接收前置服务器反馈银行机构后台金融服务器对银行卡图标的转账或扣款信息;
判断模块806,用于判断是否为唯一近场设备连接SIM卡标识对应的支付终端;还用于在规定时间内没收到受理终端发送的第二鉴权响应和第三鉴权响应,则结束流程;还用于在规定时间内没收到远程终端发送的第六鉴权响应,则结束流程;
发送模块804,还用于若是,则确定以所述第二随机码将所述受理终端和所述支付终端关联成功,并向受理终端发送弹出输入金额交易框的指令;
验证模块808,用于验证受理终端发送的第二鉴权响应和第三鉴权响应,若正确,则执行相应的扣款或后续操作,若不正确,则结束流程;还用于验证远程终端发送的第六鉴权响应,若正确,则执行相应的扣款或后续操作,若不正确,则结束流程;还用于对输入的接入码与SIM卡标识对应的服务器接入码进行验证,若正确,则执行相应的扣款或后续操作,若不正确,则结束流程。
图9示出了本发明一个实施例提供的支付系统的示意图。其中,该支付系统包括:服务器、伪基站及其服务器、运营商网络、受理终端、远端用户。
本系统服务器用于对用户身份的认证,其上预写入与实体智能SIM卡对应的电话号码、身份认证密钥和身份鉴权算法以及SIM卡标识码id和第一加密算法、第一加解密钥,并还存有用户预留该SIM卡id在本系统的接入码,用户从服务器下载的本系统APP具备收款及支付模块,所述APP内集成近场通信的近场通信加密算法及其加解码密钥发生器和用于近场通道连接随机码发生器。本系统属于双向鉴权,手机既对服务器作认证以防伪服务器,服务器也对用户终端的身份作认证以防止盗号木马。本系统的接入码一方面是作为大额交易时需输入的密码,另一方面是为防止手机丢失而设置的保护密码。
图10a至10c示出了本发明一个实施例提供的支付系统的近场支付方法示意图。其中,该支付方法包括:
受理终端(即收款终端)用户点击APP图标并选择收款模块以向服务器上传近场业务申请及SIM卡标识id1和随机码rand1,同时将rand1作为用户1的手机号码存入SIM卡通讯录,该指令和其数据被JCRE监听到后分发给Applet并对其激活,其后Applet将rand1与身份鉴权算法和身份认证密钥运算得Sres4,存于Applet内存。服务器收到该交易申请后,查询并以所述id1对应的数据库,并将查得id1的身份认证密钥和身份鉴权算法与所述随机码rand1运算得鉴权响应Sres5,同时查询该id1对应的消息序列码SQN1(Sequence Number),然后在生成随机码rand2后,用第一加解码密钥经第一加密算法将随机码rand2和消息序列码SQN1一起加密,其后对序列码SQN1计数器加1变为SQN1+1,若SQN1达到系统最大值,则该最大值以SQN1_MAX标记参与运算,下一个SQN1便以复位的初始值参与运算,以此类推。随后将rand2和SQN1的加密数据包连同Sres5一起发给受理终端(即收款终端或POS机)。受理终端收到服务器发送的数据后开启摄像头,同时将所述Sres5和所述rand2及SQN1的加密数据包以用户2的手机号码存入SIM卡通讯录,该数据被JCRE监听到后分发给Applet并对其激活,其后Applet将Sres5与所述Sres4进行比对,若不同,则Applet结束后续流程,此举为受理终端与服务器的双向鉴权,受理终端比对Sres4和Sres5是否相同先对服务器进行鉴权,旨在防止伪基站或伪服务器,而对交易终端的鉴权是服务器对受理终端返回的交易数据进行验证;若相同,则一方面利用第一加解密钥和第一加密算法对所述的加密数据包解码得rand2和SQN1,其后将解码的序列码SQN1与Applet的消息序列码计数SQN2比对,若不相同,则Applet直接结束认证流程;若相同,则将解码的rand2与身份认证密钥进行异域运算得到第二加解密钥,将所述rand2和第二加解密钥存于Applet内存,并将所rand2存储到SIM卡短信区域,同时将序列码SQN2计数器按本系统规则进阶,如,步进1个自然数,即将计数器置为SQN2+1,等待下一次序列码为SQN2+1的消息到来,该计数器构建于Applet的EEPROM。此处,其一,对所述随机码rand2加密的目的是其必须在该id1对应的SIM卡内解码才能获得随机码rand2,以便在受理终端读出随机码rand2时能在Applet中启动计时进程,对支付终端返回的身份认证数据时间进行计时,并根据该时间来甄别木马;其二,对所述序列码SQN1加密的目的是防止木马对SQN1修改或复制后对SIM卡的身份认证实施重放攻击。如上所述,若消息序列码SQN1与SQN2相同,Apple还需将解码的随机码rand2经JCRE调用GSM Applet以用户3存SIM卡短信。
与此同时,支付用户点击APP图标选择支付模块并生成被扫描的二维码,其内容包括支付终端SIM卡身份码id2、近场通道连接码以和近场通信加解码密钥及手机操作系统识别码。受理终端扫描二维码获取支付终端操作系统后屏幕显示“同意”或“取消”启动近场设备,若点击“同意”,则开启相应的近场设备,并与支付终端建立近场连接,随后受理终端将扫码获取的支付终端id2上传服务器。所述通道连接码并非支付码,而是用于终端间的近场连接以交互数据,该连接码由支付终端随机生成,一次一密,如蓝牙连接码,即使被盗也不能用于复制银行卡。近场通道可以是蓝牙或WIFI,交易完成便自动拆除连接。支付用户点击“同意”按键后开启近场设备,其后双方以该连接码建立近场连接,支付终端本业务APP(Application,手机应用程序)即刻占用该近场通信设备及近场通道,并判定包括本近场通道在内是否有多个设备以所述连接码申请连接本机,同时还判断此时是否有调用短信接口的操作,以及判断是否在交易金额“确认”键按下前或没收到交易金额前就有读取SIM卡短信的指令,若有,则通过短信对服务器发送本id2认证失败的信息,此举旨在防止附近的木马手机先于本受理终端与支付终端连接并交互数据而实施盗款。如上所述,近场通道被本业务占用,木马就不能通过近场通道将盗得的二维码数据传送给该木马手机,若木马通过短信发二维码数据,则支付终端侦测到有短信发出时,便向服务器发出认证失败的短信。另外,按理交易现场只有一个终端以近场连接码申请与本机连接,但若有两个及以上终端申请连接本机,则判定有木马侵入,因此,不仅是支付终端,包括受理终端若收到两个及以上的设备在申请连接,则均判定认证失败。除此之处,服务器也要判断本次交易结束前是否有两个以上的id申请对支付终端id2的关联,若是,则判定认证失败。同时本发明实施例用户需对交易金额确认才能完成交易,即才能将交易金额送入SIM卡加密,因此若在确认键按下前或没收到交易金额前就有读取SIM卡短信的指令以期能获取Applet对交易金额的加密数据,此情况也判定为认证失败。
近场通道一旦建立,在判定存在唯一所述支付终端建立近场连接后,所述支付应用程序读取所述SIM卡内的短信并筛选出用户3的短信数据rand2,利用通过扫码获得的所述近场通信加解密钥和所述支付应用程序的近场通信加密算法将随机码rand2加密,进而近场发送所述加密的随机码rand2至所述支付终端,并等待接收所述支付终端以所述近场通信加解密钥和所述近场通信加密算法反馈加密的所述第一鉴权响应Sres1。在Applet收到JCRE分发的读取SIM卡短信事件后,查询所述Applet应用内存是否有rand2记录,若有记录,所述Applet应用在删除其内存rand2记录后运行多个连续的空循环以构建一段时间环境;若没有记录,则结束流程;所述Applet应用在运行完所述多个连续空循环执行完后,即刻读取所述SIM卡通讯录的所述第一鉴权响应,若能够读取到所述第一鉴权响应,则将读取的所述第一鉴权响应存于其内存,若不能够读取到所述第一鉴权响应则结束。
该空循环构建的时间△t旨在对支付终端返回认证数据的计时,该次循环一结束便读取通讯录约定地址的手机号码,即,支付终端返回的认证数据。如上所述计时机理如下:鉴于SIM卡内没有专门的计时器,本发明实施例在Applet内进行一定次数的空循环来构建连续的时长△t,该时长△t应略大于终端的近场通信时间。在该时段内受理终端将支付终端返回的SIM卡身份认证数据(即第一鉴权响应)作为用户4的手机号码存入SIM卡通讯录,JCRE监听到对用户4的指令及数据后,调用GSM Applet将其存入通讯录约定地址。当Applet的△t循环一结束便通过JCRE读取SIM卡通讯录约定地址的该手机号码(即第一鉴权响应),若能读到手机号码,则Applet将读到的该手机号码存于Applet内存;若没能读到手机号码,则为木马所为,因为木马远程调用用户SIM卡标准接口以盗取用户认证数据需往返两次才能取回,故其在△t时间内无法返回数据,此情情况Applet结束认证流程,即,Applet不会对短信区域存写任何数据,那么受理终端就不能获得本次交易的加密数据,若服务器在规定时间没有收到受理终端返回的认证数据或数据加密错误或没有加密,则终止本次认证流程,并对受理终端发送本次交易失败的通知信息。本环节重点是需防止木马调用SIM卡标准接口及对SIM卡身份认证的重放攻击,如,第一种情况:木马读取并复制服务器下发的、受理终端已解密的rand2,然后将rand2发往远端用户终端,并调用SIM卡端口盗取用户SIM卡的身份运算数据,即第一鉴权响应,虽然Applet已启动对返回数据的计时进程,若超时,最多造成本次认证失败,而木马仍可在远程盗回用户SIM卡认证数据后再以读取SIM卡短信方式并由JCRE重新激活Applet发起新的循环计时进程,然后木马将将来的认证数据(第一鉴权响应)在Applet计时的△t内传入SIM卡通讯录以使Applet读取该认证数据,这样就实现了重放攻击,但由于本发明实施例使用了SQN并对其进行了加密,木马没有该id对应的身份认证密钥便不能更改加密的SQN数据,同时鉴于此时Applet已将SQN计数器置为SQN+1,因此若再用复制的该加密数据包传入SIM卡,以使Apple解码成功后能启动循环计时,并在计时进程结束读取在△t内存入SIM卡通讯录约定地址的该手机号码,但会因为Applet对两个SQN比对不一致而终止认证流程;再如,第二种情况:木马在盗回用户身份认证数据后不使用如上所述的方法,而是直接通过读取SIM卡短信方式以期由JCRE激活Applet运行△t的计时进程,并臆想在△t内将盗来的认证数据以用户4手机号码存入SIM卡通讯录,并指望在计时结束后能被Applet读到存入通讯录的该手机号码(即第一鉴权响应),但由于本发明实施例Applet在启动循环计时进程前需查询是否有随机码rand2记录,若有,在对该随机码rand2删除后再才启动循环计时进程;若无,则结束流程,因此即使木马盗取或复制了随机码rand2,但由于Applet内存已没有rand2的记录,也不可能实施重放攻击。
通过上述描述,此处将受理终端及支付终端交互流程疏理如下:受理终端收到JCRE对加密数据包处理结果回复的状态字后(如0x9000),便以读短信从其SIM卡读出并筛选出用户4的数据rand2,其后以从支付终端扫码获取的加解码密钥和所述加密算法对rand2加密并通过近场通道传给支付终端,支付终端以所述近场通信加解码密钥及所述近场通信加密算法对其解码后以用户5的手机号码存入SIM卡通讯录。如上所述,JCRE监听到用户5的指令后分发给Applet并对其激活,Applet一方面将rand2经与身份认证密钥和身份鉴权算法运算后得Sres1,并将Sres1以用户6存短信,并经JCRE向终端回复处理结果的状态字;另一方面将该rand2与身份认证密钥进行异域运算得加密密钥3,然后存内存。支付终端在收到JCRE回复的处理结果状态字后(如0x9000),其通过读卡内短信并筛选出用户6对应的Sres1数据,然后经所述加近场通信解码密钥及近场通信加密算法加密后通过近场通道发给受理终端,受理终端以所述近场通信加解码密钥及近场通信加密算法对其解码,然后将支付终端返回的认证数据Sres1作为用户6的手机号码存SIM卡通讯录约定地址,正常情况下,该Sres1应该在计时△t内写入SIM卡通讯录。如上所述,当循环执行完毕,则Applet马上读取通讯录约定地址用户6的手机号码,并存于Applet内存。另一方面,服务器在收到受理终端上传的用户终端id2后便指令受理终端屏幕弹出的所述输入金额框,受理终端屏幕弹出所述输入金额输入框后,收款用户在该金额框中输入数字并点击确定,其后一方面受理终端将该所述输入金额以用户7的手机号码存入本SIM卡通讯录,Applet在收到JCRE分发的该所述输入金额数据后,以身份认证密钥和身份鉴权算法对所述输入金额进行运算,然后再以身份认证密钥经第一加密算法对所述运算结果加密以形成“数字签名1”,其后以所述第二加解密钥(加解密钥2)经第一加密算法(加密算法1)对“数字签名1”及所述输入金额和所述手机号码一起加密得到第二鉴权响应Sres2,然后以用户8对应Sres2存短信。受理终端收到JCRE回复处理结果的状态字后,读取卡内短信并筛选出用户8对应的Sres2,其后发与服务器;另一方面将该输入金额经所述近场通信加解密钥及近场通信加密算法加密后传给支付终端,支付终端用所述近场通信加解密钥及近场通信加密算法对其解码。对于所述输入金额的不同有两情况:
(1)若解码后的所述输入金额小于系统设定额值,则屏显交易金额数字并等待用户确认,若因金额不对而点击取消,则终止交易,并通过近场通道回复受理终端,然后受理终端将该回复发给服务器,或,支付终端通过短信将本id取消交易信息发给服务器。此环节,由于本系统近场支付的支付终端并不上网,而是通过受理终端向服务器发送数据来完成身份认证和交易信息,因此若服务器在规定时间内没收到上传的数据,则终止交易,此举旨在防止附近的木马手机盗得支付用户终端id2而先于受理终端向服务器申请对id2关联,但由于用户点击取消,因此木马手机不能获得用户回送的确认信息,则其在服务器上完成不了交易;服务器要在规定时间内收到回复的数据,主要是防止超高速集群计算机破解本系统的加密算法;若用户点击确认,则支付终端将所述输入金额作为用户7的手机号码存入其SIM卡通讯录。Applet收到JCRE分发的用户7和其携带交易金额数据,将所述输入金额与其身份鉴权算法和身份认证密钥进行运算,然后再以其身份认证密钥经第一加密算法1对所述运算结果加密以形成“数字签名2”,其后以所述第三加解密钥(加解密钥3)经所述第一加密算法1对“数字签名2”及所述输入金额一起加密运算得鉴权响应三Sres3,并以用户8对应Sres3存短信,然后支付终端读取卡内短信并筛选用户8对应的Sres3,随后经如上所述的加密方法加密后发给受理终端,并由受理终端按如上所述的方法对加密的Sres3解密,其后受理终端将Sres3发给服务器作验证。在服务器上对该些加密数据作反向运算,若能通过服务器认证,且返回的数据Sres2、Sres3没有超时,则服务器将所述SIM卡标识通过集中化的网联服务器传给收单行前置服务器,前置服务器依据本系统的替换规则查询SIM卡标识并将该标识对应的银行卡号及支取密码变换值译出对应的银行卡及存取密码,然后通知该收单行后台金融服务器进行相应扣款;若通不过验证,则终止交易。
(2)若解码后的所述输入金额大于系统设定额值,则支付终端显示用户存储的多个银行卡图标以及本系统的接入码输入框,此处用户输入的接入码并非其银行卡支付密码,而是用户在本服务器注册时预留的口令码,目的是防止木马对银行卡密码输入时的截屏、盗获。如上“四、远近场支付的方法”所述,在用户点选银行卡图标、输入用户注册时预留的本系统接入码并点击确认后将所述输入金额作为用户7的手机号码存入SIM卡通讯录,Applet收到JCRE分发的用户7及其携带的该交易金额数据后,将所述输入金额数据与身份认证密钥和身份鉴权算法进行运算,然后再以其身份认证密钥经第一加密算法1对所述运算结果加密以形成“数字签名2”,其后以所述第三加解密钥经第一加密算法1对“数字签名2”及所述输入金额一起加密运算得第三鉴权响应Sres3,并以用户8将其对应的数据Sres3存短信,然后支付终端读卡内短信并筛选用户8对应的数据Sres3,随后支付终端将所述接入码、银行卡图标和支取密码变换值以及所述的Sres3经所述加解密方法加密后发给受理终端,并由受理终端按如上所述的加解密方法对支付终端近场发送加密的Sres3解码,然后受理终端将所述的解码数据发给服务器作验证。本发明实施例另一特别之处是,由于受理终端的SIM卡id1及支付终端的SIM卡id2均需要发送到服务器,于是便以服务器发送的第二随机码将id1及id2在服务器上进行了关联、绑定,鉴于交易环节的所有认证数据均需受理终端的身份认证密钥运算,包括对随机码rand2的解码和交易数据的签名,因此所返回的数据也必须由该受理终端返回,若木马盗走支付用户的认证数据在其他终端上使用,由于其他终端的SIM卡身份认证密钥与所述受理终端的不同,因此其盗得的数据在其他受理终端上是不能用的。当然,也可以由支付终端扫码受理终端二维码来建立近场通道。
本系统的加密属于对称加密算法,如3DES或AES-256或SM4对称加密算法,所述加密算法及加解码密钥等服务器与用户端完全相同。鉴于身份认证密钥专属该用户所有,可视为其私钥,因此本系统用其参与对交易数据的“数字签名”运算。当然,也可以由支付终端扫码受理终端二维码来建立近场通道。
下面对上述收/付款流程进行一些解释说明。
(1)对于受理终端而言,既要防止伪基站及其伪服务器,又防止受理终端木马的重放攻击及盗号木马,也即,一方面受理终端需对服务器的身份进行认证,目的是防止伪基站所属的伪服务器对受理终端实施重放攻击以套取用户的交易信息,如果没有受理终端对服务器的身份认证,而仅有服务器对受理终端身份的单向认证,则伪基站的所属伪服务器可利用盗取的且已通过认证的数据诱导受理终端向其申请交易以此盗取用户交易信息;另一方面服务器对受理终端发送随机码rand2旨在防止木马对支付用户的重放攻击,如果没有服务器对受理终端身份的认证,那么受理终端的木马可复制若干已通过认证身份认证且完成支付的历史数据,然后以该些数据原封不动重复地向服务器申请交易、扣款,而服务器却不能识别是木马的重放攻击或是用户的真实行为,但由于此环节的随机码rand2系服务器发送的新数据,其作为核心数据贯穿于每个交易终端及遍历整个支付环节,因此用复制的历史的认证数据向服务器申请扣款则不会成功;
(2)对支付终端而言,终端以该连接码建立近场连接后,支付终端即刻占用近场通信设备及通道,同时判断包括本选用的近场设备在内是否有多个近场设备以该连接码在申请本机连接,并还需判断是否在交易金额确认键按下前或在收到交易金额前就有读SIM卡短信的指令,若是,则判定交易失败,此举目的是防止交易点附近的不法手机作受理终端对该用户实施盗款,如假设支付终端中了附近不法终端的木马(此情况概率极小),当支付终端生成二维码但还没被收款用户扫码就被木马盗走并传与附近的不法手机,其后该不法手机抢先以盗得的近场接入码与支付终端交互认证数据,并向支付终端发送任意的虚拟金额,然后支付终端在木马作用下盗取支付终端SIM卡对该金额加密数据,并以此向服务器申请对该用户的扣款,此环节,由于此时近场设备及通道已被占用,因此木马盗取的数据发不出来,这也就阻断了不法受理终端盗取数据的通道。
同时,鉴于只能有一个交易终端与本机连接,因此若在其选用的通道出现两个及以上的该连接码,显然是附近木马在申请连接本机,则也应取消交易。另外,该情形的另一种情况是,近场通道已被本系统阻绝,但木马仍可以通过短信将二维码盗走并发给该不法终端,则因用户判定交易金额不对而点击取消后,支付终端也同时通过短信向服务器通知取消交易。另外,本系统服务器对扣款的实际操作需延时若干时间,但交易结果却是实时通知受理终端的。此处,支付用户需对交易金额的确认,一方面作为支付用户对交易金额认可的记录,另一方面主要是也是为了防范用户附近不法手机对用户的盗款,由于本系统嵌入了用户确认的动作,而不法用户不清楚本次交易金额,若其通过近场通道向支付终端任意发送交易金额,显然该金额与支付用户耳眼所获得的数字不符,因此若用户点击取消,则交易金额不会传入SIM卡,也就没有第三鉴权响应Sres3,虽然木马可以将任意交易金额传入SIM卡并获得运算值Sres3,但一方面因该Sres3错误不能通过服务器认证,另一方面用户取消交易后会通过短信通知服务器,这就防范了附近木马的盗款行为。
进一步地,不仅是支付终端,受理终端也要判断包括其选用的近场通道在在内是否还有其他近场设备以此连接码申请连接支付终端,理由如上所述,交易现场只能是本机与另一个终端连接,若有两个及以上以此连接码申请连接,则交易失败。除此之处,服务器也要判断上传的支付终端id2是否重复地关联,此举也是为防止交易点附近不法手机对用户的盗款,若不法手机先于受理终端向服务器申请对该支付终端id2交易,其后受理终端再向服务器申请交易,此时服务器就有两个对支付终端id2的关联申请,则取消交易;
更进一步地,受理终端本机的SIM卡id2及支付终端的SIM卡id2发给服务器,于是便对id2及id2在服务器上进行了关联,服务器以下发的rand2作为链条将支付终端、受理终端及服务器绑定,鉴于交易环节的所有认证数据均需受理终端的身份认证密钥运算,因此若木马盗走支付用户的认证数据,由于其身份认证密钥不同,其盗得的数据也不能使用。
五、远程支付的方法,相关业务流程举例说明如下
由于手机上众多的APP可能没有嵌入本系统的认证功能,因此用户登陆的该第三方网站在云端可向本服务器申请帮助其对用户身份认证。该第三方网站向本服务器发送用户的IP地址,服务器依据该IP地址与用户连接,并通过用户手机上的本系统APP交互认证数据;或若在第三方APP中嵌入本系统的认证功能,手机APP发出的相应的数据及启动认证流程经该第三方网站中转给服务器。如图11所示,该第三方网站并不立即允许用户登陆账号,而是向本系统服务器申请对该用户身份认证,并向服务器传送该手机的IP地址,服务器以该IP地址或经该网站连接用户进行双向认证,此举一方面对用户身份进行认证。
(1)手机用户登陆网站
用户在手机点击并启动本系统APP,然后手机在登陆该网站。本服务器收到该网站身份认证请求后与用户连接,对用户身份进行认证。于是手机以本系统远程模块向本服务器发送rand1,同时将rand1作为用户a手机号码传入SIM卡通讯录,如上所述,Applet收到指令分发器分发的rand1数据后,将其与身份认证密钥及身份鉴权算法算得Sres1并暂存。服务器随机生成随机码rand1′,同时以用户上传的所述SIM卡的id查询对应的数据库,并将获取的用户身份认证密钥及身份鉴权算法与所述随机码rand1运算得鉴权响应Sres1′,然后服务器向其发送随机码rand1′及Sres1′或经该网站中转。手机将收到的Sres1′和rand1′作为用户b的手机号码存入SIM卡通讯录,JCRE将监听到用户b及其携带的信息分发给Applet,并对其激活,于是Applet将所述Sres1与Sres1′进行比对,若不同,则Applet不做任何身份认证运算、也不存任何短信数据,此举是用户终端与服务器双向认证,防范伪基站及伪服务器;若相同,则将rand1′与身份认证密钥及身份鉴权算法算得Sres2,并以用户b对应Sres2存短信,其后手机将读短信并筛选出用户b对应的Sres2发往服务器。若Sres2在规定时间内发给服务器,且Sres2与服务器以相同身份认证密钥及身份鉴权算法算出的值一致,则服务器通知该网站认证通过,其后该网站便与用户建立通信;若超时或不同,则通不过认证。就木马盗号登陆他人账号而言,由于其需要将服务器发送的随机码rand1′传与远端中木马的用户手机,然后再取回身份认证数据,因此其需要来回地往返两次才能得逞,故其通信时间是正常通信时间的3倍。考虑到网络的延时和网速不稳定的因素,若用户返回时间超过正常时间,则对用户进行n次认证(如3次),如果身份认证数据Sres2(即鉴权响应)的回复时间3次均约为正常时间的3倍及以上,则认证失败。
(2)PC(个人电脑)登陆网站
第一种情况:PC与手机在同个无线局域网内,如家庭WIFI。
PC通过第三方网站连接本系统服务器后,若不能向服务器传送已安装的鉴权算法特征值以及绑定该设备的MAC值,即该PC没有安装所登陆账号对应SIM卡id的专属鉴权算法,属第一次登陆网站该账号,则本系统服务器需对其推送该账号对应SIM卡id的鉴权算法,目的是主动构建一个计时环境,使之与手机在规定时间内完成认证数据的交互。此处,在PC下载专属鉴权算法前,还需对用户的身份进行认证。为防止木马或黑客在其PC上也能下载他人的鉴权算法,以便其将该算法提前发给远程用户手机预驻留,旨在远程用户SIM卡发出随机码rand并要求限时返回运算数据时能及时回复,以既能满足时间要求、又能满足运算正确的要求,从而达到骗过服务器的认证登陆用户账号的目的。在服务器向该PC机推送该鉴权算法前,PC屏幕显示:需用户点击手机上本系统APP登陆所述服务器,以便启动本系统APP连接本服务器进行身份认证,若通过认证,则服务器还要求用户在手机上输入本手机号码用户姓名,此举旨在防范木马或山寨APP自动登陆网站所为,其后服务器依据手机实名制查询该手机号码与用户姓名对应关系,若正确,则向PC推送鉴权算法并安装,安装完毕后,PC需向服务器报送该鉴权算法特征值和绑定本设备的MAC值。PC在完成所述鉴权算法安装后便通过无线路由器局域网与手机建立近场连接,其后PC向服务器报送与手机连接成功信息,随后服务器便对PC发送加密的随机码rand,PC通过局域网发送到手机。如“四、远近场支付的方法”所述,手机将加密的随机码rand在SIM卡内解密,然后将解密的随机码rand存短信,其后一方面手机读取SIM卡短信并筛选出随机码rand,此时触发卡内Applet查询其内存是否有该随机码rand记录,若有,则删除该随机码rand后启动计时进程,若无,则结束流程;另一方面手机将读出的随机码rand通过局域网发给PC,由PC调用所述鉴权算法对所述rand运算,其后将运算得到的鉴权响应Sres回复手机。计时进程一结束,便读取存入SIM卡通讯录约定地址的手机号码,即,PC返回的鉴权响应Sres。为更进一步防范木马,若服务器验证返回数据的时间超过正常时间,则服务器可对PC发起n次认证(如3次),如上“四、远近场支付的方法”所述,木马需来回地往返两次才能取回远端用户的SIM卡的身份认证数据,若n次均超过正常时间约3倍及以上,则认证失败。若通过服务器验证,则通知对应的网站认证通过、可与用户建立连接,否则终止认证、登陆失败。若PC自带近场设备,则可直接启动并与手机建立连接。
第二种情况:PC通过有线宽带单独上网
此情况由于没有用于计时的近距离参照物,本发明实施例仍沿用短信验证码作身份验证,如下:PC登陆网站时,由于PC不会向服务器发送近场连接成功信息,则服务器向PC提示需用手机登陆账号,用户一方面点击网站登陆,另一方面点击本系统APP以启动手机连接服务器,进而与本服务器进行用户作身份认证,其认证流程如上所述。若通过认证,服务器向手机发送“是否切换为短信验证”,若回复是,服务器便要求在PC机上输入需接收短信验证码的用户姓名或用户姓名+手机号码,然后服务器在后台作实名认证后将短信验证直接发给该手机号码,而不再对本PC机发送,此举旨在防止本PC机中盗号木马而导致短信验证码被盗,若用户输入或点击本机号码,则PC直接登陆该账号,无需再发送短信验证码;若回复否,则取消认证。此情况可用于他人登陆本人账号辅助处理一些事务。
当然,也可以给PC机配置外挂USB蓝牙配件,以构建用于计时的参照体。
六、其它应用
本发明实施例的支付系统能够保障较高的安全特性,其不仅用于远近场的支付,还可于共享车锁、门禁/车门或公交/地铁及智能家居、网络摄像头、基站门禁及无人驾驶等领域。下面对本发明的一些应用场景进行说明。
(1)以目标体为共享单车锁作为一个具体实例加以说明
目标体内集成身份认证密钥和身份鉴权算法及随机码发生器、加密算法、加解密钥和计时器,并配置有蓝牙或WIFI类的近场有源设备和外贴身份识别码id。用户点击APP图标后向服务器申请业务并上传其SIM卡标识id1及随机码rand1,同时将随机码rand1作为用户i的手机号码存入SIM卡通讯录,卡内指令分发器将监听到的用户i及其携带的随机码rand1分发给Applet,并对其激活。Applet将随机码rand1与身份认证密钥和身份鉴权算法运算的Sres1,并暂存Applet内。服务器将收到的随机码rand1与SIM卡标识id1对应的身份认证密钥和身份鉴权算法运算得鉴权响应Sres1′,然后将Sres1′发给手机。手机收到服务器下发的数据Sres1′并判断通信时间符合系统时间后开启摄像头,同时将该Sres1′作为用户j的手机号码存入SIM卡通讯录,其后指令分发器将监听到用户j及其携带的Sres1′分发给Applet,并对其激活。Applet将Sres1与Sres1′进行比对,若不同,则Applet以用户k对应的数字“0”存短信;若相同,则Applet以用户k对应的数字“1”存短信。与此同时,手机扫码目标体显性或粘贴的二维码,该二维码中包括目标体身份码id、近场设备连接码和目标体操作系统识别码,随后手机读取卡内短信并筛选出用户k对应的数字,若数字为“0”,则判定为伪基站或伪服务器,手机便与该服务器断开连接,同时终止与目标体的信息交互;若数字为“1”,则按扫描获取的操作系统准备开启相应的近场设备并等待用户的确认(如WIFI或蓝牙),若点击“同意”以确认,则启动相应近场设备并与目标体以近场连接码建立连接,随后目标体一方面生成随机码rand2并通过近场通道发往手机,另一方面此刻便触发目标体对手机返回该rand2的鉴权响应(即身份认证数据)的时长计时,同时目标体将随机码rand2与身份认证密钥及身份鉴权算法算得的Sres2,并暂存目标体内。目标体的计时器可以集成在内存,其计时可以精准到微秒级,且可以由返回的数据直接终止计时进程。手机将扫描二维码获取的目标体身份码id2和从近场通道收到的随机码rand2一并上传服务器,同时将rand2作为用户m手机号码存入SIM卡通讯录,其后指令分发器将监听到用户m及其携带的rand2分发给Applet,并对其激活,Applet将随机码rand2与身份认证密钥和身份鉴权算法运算得鉴权响应Sres2′,然后以用户n对应Sres2′存短信。其后手机读卡内短信并筛选出用户n对应的数据Sres2′,随后将该Sres2′发给目标体,目标体收到该Sres2′后终止计时,计为△t,所述△t是近场通信时间,其作用是利用短暂的通信时间阻断木马通过短信或即时通信往返两次远端盗取用户SIM卡的身份认证数据的途径。其后目标体以加解密钥经加密算法将△t及Sres2′一起加密,随后将该加密数据包通过近场通道发给手机并经其转发服务器。此处,△t和Sres2′必须一起加密,不然手机木马在收到目标体发送的△t及Sres2′数据后,将超时的△t替换为符合系统要求的△t,以掩盖其远程盗取用户数据超时的企图。服务器收到手机发送的数据后作反向运算,若通过验证且未超系统规定时间,则服务器向手机发送鉴权响应Sres3并由其通过近场通道转发给目标体,所述Sres3是服务器将所述的随机码rand2与目标体身份码id2对应的身份认证密钥和身份鉴权算法算得的鉴权响应值。目标体将收到的该Sres3与暂存的Sres2进行比对,若相同,则进行相应的动作,如,开锁;否则不动作。本环节的计时功能在目标体内而非手机,其对手机SIM卡的鉴权响应返回时间△t计时,然后再通过手机将该些加密的认证数据返回服务器,显然若盗用他人的SIM卡标识id申请交易,则其不能提供对应的鉴权响应值,或需远端盗用用户SIM卡的鉴权响应值,但此方式时长△t又超时。从上述可见,即使目标体的粘贴的二维码被替换,但由于其仅是通道连接码和身份码id,其顶多只是交易双方不能建立近场连接,但不至于对用户的账款形成威胁。
目标体的上述功能可以作为功能模块及认证数据可以集成在设备内,也可以使用Java SIM卡插入目标体内,若使用Java SIM卡,则其功能和流程仍如“四、远近场支付的方法”所述。
(2)以目标提高速公路ETC作为一个具体实例加以说明
用户仍不需上网,其通过高速公路道闸收费机连接服务器来完成认证数据的交互,道闸收费机内有与服务器相同的加密算法和加解密钥以及道闸收费机的身份码id。出于防干扰的考虑,道闸收费机信号较弱、覆盖较窄,本系统由道闸收费机向外发送本机的近场通道连接码及操作系统识别码。当手机进入信号覆盖区域收到连接码信息及操作系统识别码后,其以此操作系统识别码开启近场设备并在该近场通道以该连接码向道闸收费机发送连接请求。如前所述,近场通道建立后交易双方需进行双向认证,手机将随机生成的随机码rand1和其SIM卡标识id通过近场通道发给道闸收费机并经其转发给服务器,同时手机将随机码rand1传入SIM卡,在卡内Applet应用将其与身份认证密钥及身份鉴权算法算得的Sres1暂存。服务器随机生成随机码rand2,其后将该随机码rand2及鉴权响应Sres1′发送给道闸收费机并经其通过近场通道转发给手机,与此同时触发道闸收费机对手机返回鉴权响应的时长△t计时。所述Sres1′是服务器将随机码rand1与SIM卡标识id1对应的身份认证密钥和身份鉴权算法算得的鉴权响应。手机将rand2、Sres1′以及手机预存的行业标识传入SIM卡,在卡内将该Sres1′与暂存的Sres1进行比对,若不同,则结束流程;若相同,则将rand2与其身份认证密钥和身份鉴权算法算得的鉴权响应Sres2,然后将所述Sres2和行业标识以“四、远近场支付的方法”所述第一加解密钥经第一加密算法一起加密后回复道闸收费机。同样,此处将行业标识和Sres2一同加密,目的是为防止附近伪收费手机收到手机发送的行业标识和Sres2数据后,将所述数据中的行业标识撤掉而只剩下Sres2,以能绕开服务器对SIM卡标识id与行业标识的匹配甄别,但由于其不能解码,因此拆不开。其后道闸收费机在收到有数据返回后便终止计时,计为△t,然后道闸收费机对用户发来的所述加密数据连同认证时间△t经道闸收费机的加密算法经其加解密钥加密后发往服务器,若通过服务器验证且未超时,则完成对该SIM卡标识id的绑定的银行卡扣款。本环节特别之处:为防止附近大功率近场信号的伪收费机远距离优先连接用户而臆想在服务器上申请盗款,本发明实施例在手机经近场通道发给道闸机的数据中增加了行业标识,其是有权行业用户(如高速收费单位)在本服务器上注册时就将每台道闸收费机身份码id与所述行业标识进行了绑定,无权用户是绑不了该行业标识的,用户从本服务器下载的行业APP已带有该行业标识。每个道闸机拥有一个身份码id,但行业标识只有一个,考虑到不同路段的收费权属,高速银行收款账号以道闸收费机身份码id来绑定而不是行业标识。如,若附近黑客伪收费手机与用户手机优先连接,并收到用户发送的加密数据,但由于其解不了码、不能拆分用户发送数据中的行业标识,因此在其向服务器上传数据作身份认证时,伪收费机的身份码id与行业标识不匹配,则服务器不认可。显然,若冒用他人SIM卡标识id并通过短信或微信盗取远端用户的身份认证数据,但又超时,其不会通过服务器的验证。
特别地,鉴于本提案没有银行卡号对应的SIM实物卡便不能通过认证,也即取不了现金,因此若本提案用在现有的ATM及POS上,那么即使他人盗取银行卡及其存取密码也取不出钱或不能完成转账,极大降低了电信诈骗的几率。
本发明实施例能够获得如下技术效果中的至少一个。1、采用国际标准ISO/IEC规范的GSM11.11指令及接口,将互联网通道下发的第三方认证数据作为电话号码存入SIM卡通讯录,然后由JCRE将指令分发并在Applet内进行运算,并将运算结果存短信,其后手机再以读短信方式将卡内Applet运算的数据取出,这就避免了开机状态下无法读取SIM卡通讯录电话号码而只能读到手机数据库中对应电话号码的弊病,真正实现了手机与SIM卡间数据的双向传送。2、服务器发送的随机码是加密的,以便在受理终端的SIM卡内解码获取随机码时能启动卡内的计时进程,防止了因在手机上解码或无加密随机码而出现被木马修改计时数据的弊病。3、服务器发送的序列码SQN也是加密的,以便在受理终端的SIM卡内解码,防止了在手机上解码或因没加密而出现被木马修改或复制再利用的弊端。4、通过对近场通信时间的计时防止木马远程盗取用户SIM卡鉴权响应数据。通过序列码SQN计数器及删除随机码rand旨在防止木马对SIM卡认证流程重放攻击。5、对于支付终端返回认证数据的计时器按照行业应用的不同,可以位于SIM卡内,也可以位于行业专用设备内。6、一些应用中,支付用户提交的数据中嵌入了行业码,并以此行业码与收款用户SIM卡标识id匹配与否判定交易是否合规,防范伪POS或伪收款终端盗刷盗款,如ETC卡。7、远近场交易中,通过服务器发送的随机码临时绑定交易的收/付款终端,防止了重放攻击和中间人攻击及近场截获数据,即使其身份认证数据被盗也不能用于在其他受理终端。8、近场交易中,通过支付终端对近场设备及近场通道的占用和对读取卡内短信先后顺序的判定,并结合用户对交易金额的确认和短信回复手段,以及综合本机此时是否有多个设备以该连接码申请连接的判断,来防阻交易点附近木马手机因抢先与用户数据交互而实施对用户的盗款行为。9、用户不再需输入银行卡号及存取密码,只需传送手机上存储的银行卡标识和密码变换值,或输入本系统的接入码,这样既保护用户敏感数据不被截屏,又实现密码的输入,符合人民银行关于“双因素”的认证要求,同时也防范了因手机丢失造成的资金被盗的风险。10、在被扫二维码中嵌入了手机操作系统识别码,以便根据操作系统的不同选用对应的近场设备以建立近场通道。
另外,结合图2、3、5、7、8描述的本发明实施例的移动支付方法可以由计算机设备来实现。图12示出了本发明实施例提供的计算机设备的硬件结构示意图。计算机设备可以包括处理器301以及存储有计算机程序指令的存储器302。
具体地,上述处理器301可以包括中央处理器(CPU),或者特定集成电路(应用程序Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器302可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器302可包括硬盘驱动器(HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器302可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器302可在数据处理装置的内部或外部。在特定实施例中,存储器302是非易失性固态存储器。在特定实施例中,存储器302包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器301通过读取并执行存储器302中存储的计算机程序指令,以实现上述实施例中的任意一种移动支付方法。在一个示例中,计算机设备还可包括通信接口303和总线310。其中,如图12所示,处理器301、存储器302、通信接口303通过总线310连接并完成相互间的通信。通信接口303,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线310包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线310可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
另外,结合上述实施例中的移动支付方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种移动支付方法。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种移动支付方法,其特征在于,用于受理终端,所述方法包括:
在需要进行近场支付的情况下,生成验证信息,并将近场业务申请及所述验证信息发送至服务器;
接收所述服务器对所述验证信息的反馈信息,控制开启摄像头,并对所述反馈信息进行验证;
当所述反馈信息验证通过后,接收通过所述摄像头扫描到的支付终端的扫描信息,并控制开启近场设备;
根据所述扫描信息与所述支付终端建立近场连接,并在判定存在唯一所述支付终端建立近场连接后将第二随机码近场发送至所述支付终端,以获取所述支付终端反馈的第一鉴权响应;
获取输入金额,将所述输入金额、所述第一鉴权响应进行数字签名得到第二鉴权响应,同时将所述输入金额进行加密后发送至所述支付终端,以获得所述支付终端对所述输入金额数字进行签名得到的第三鉴权响应;
将所述第二鉴权响应和所述第三鉴权响应发送至所述服务器,以供所述服务器对其验证并进行转账或扣款;
所述受理终端内设置支付应用程序和具有Java Card虚拟机运行环境的用户身份识别模块SIM卡,所述SIM卡包括Applet应用,所述SIM卡内还包括预置入所述SIM卡标识及其所述SIM卡标识对应的身份认证密钥、身份鉴权算法;所述验证信息包括:所述SIM卡标识、第一随机码;
生成验证信息,并将近场业务申请及所述验证信息发送至服务器,包括:
通过所述支付应用程序提取所述SIM卡标识以及生成第一随机码,将所述第一随机码存储至SIM卡通讯录;通过所述Applet应用将所述第一随机码与所述身份鉴权算法和所述身份认证密钥进行运算,得到第四鉴权响应,并将所述第四鉴权响应存储于所述Applet应用;
将所述SIM卡标识、所述第一随机码发送至所述服务器,以供所述服务器对所述验证信息提供所述反馈信息;
所述支付应用程序还集成近场通信加密算法;所述SIM卡包括JCRE运行环境,所述SIM卡内还包括预置入第一加密算法和第一加解密钥;所述反馈信息包括对第二随机码、第一消息序列码的加密和第五鉴权响应,所述第二随机码由服务器随机生成,所述第一消息序列码由服务器提取现有的消息序列码,其后所述服务器将所述第一消息序列码按本系统规则递增后更新所述现有的消息序列码,其中,所述对第二随机码和所述第一消息序列码的加密系由所述服务器根据所述第一加解密钥经所述第一加密算法进行加密得到,所述第五鉴权响应由所述服务器根据与所述SIM卡标识对应的所述身份认证密钥和所述身份鉴权算法与所述第一随机码进行运算得到;
接收所述服务器对所述验证信息的反馈信息,控制开启摄像头,并对所述反馈信息进行验证,包括:
通过所述支付应用程序接收来自所述服务器发送的所述反馈信息,所述支付应用程序判断接收的所述反馈信息如果没有超过系统规定时间,则将所述反馈信息传入所述SIM卡通讯录,同时控制开启摄像头;否则结束流程;
通过所述Applet应用比对所述第四鉴权响应与所述第五鉴权响应是否相同,若相同,则利用所述第一加解密钥和所述第一加密算法对加密的所述第二随机码和所述第一消息序列码进行解密并比对所述第一消息序列码与所述Applet应用内的第二消息序列码;
若所述第一消息序列码与所述第二消息序列码相同,则将所述第二随机码与所述身份认证密钥进行异域运算得到第二加解密钥,并将所述第二随机码和所述第二加解密钥存储于所述Applet应用内,并将所述第二随机码以短信形式存储至SIM卡短信区域,同时将所述第二消息序列码按本系统规则递增后更新所述Applet应用所述第二消息序列码,所述第二加解密钥用于经所述第一加密算法对所述数字签名和所述输入金额及所述第一鉴权响应一起进行加密得到所述第二鉴权响应;
所述扫描信息包括所述支付终端支付应用程序随机生成的本次近场通信的加解密钥、随机生成的本次近场通道连接码以及所述支付终端SIM卡标识、手机操作系统识别码;
根据所述扫描信息与所述支付终端建立近场连接,并在判定存在唯一与所述支付终端建立近场连接后,将利用扫码获得的所述近场通信加解密钥和所述近场通信加密算法将所述第二随机码加密后近场发送至所述支付终端,以获取所述支付终端反馈的加密第一鉴权响应,所述第一鉴权响应是在所述支付终端SIM卡的Applet应用将所述第二随机码与所述支付终端SIM卡身份认证密钥和身体鉴权算法运算所得,还包括:
根据所述手机操作系统识别码选用并开启相应的近场设备,以所述近场通道连接码建立与所述支付终端的近场连接,并判断所述近场设备的近场通道是否有多个设备以所述近场通道连接码申请连接,若无则判定存在唯一所述支付终端建立近场连接;
还包括:
在判定存在唯一所述支付终端建立近场连接后,所述支付应用程序读取所述SIM卡内SIM卡短信区域的短信,并从读取的所述短信中筛选出所述第二随机码,利用通过扫码获得的所述近场通信加解密钥和所述支付应用程序的近场通信加密算法将所述第二随机码加密,进而近场发送所述加密的第二随机码至所述支付终端,并等待接收所述支付终端以所述近场通信加解密钥和所述近场通信加密算法反馈加密的所述第一鉴权响应;与此同时,所述SIM卡内JCRE运行环境监测到所述SIM卡短信区域的短信被读取,则通知并激活Applet应用查询所述Applet应用内存是否有所述第二随机码记录,若有记录,所述Applet应用在删除其内存所述第二随机码记录后再运行多个连续的空循环以构建一段时间环境;若没有记录,则结束流程;若接收到所述支付终端反馈加密的所述第一鉴权响应,则对其加密解密后,将所述第一鉴权响应存储至所述SIM卡通讯录;
所述Applet应用在运行完所述多个连续空循环执行完后即刻读取所述SIM卡通讯录的所述第一鉴权响应,若能够读取到所述第一鉴权响应,则将读取的所述第一鉴权响应存于所述Applet应用内存,若不能够读取到所述第一鉴权响应则结束;
所述受理终端接收所述服务器发送的弹出输入金额框指令并输入金额,将所述输入金额存入所述受理终端SIM卡通讯录,并在卡内进行数字签名得到第二鉴权响应,包括:
所述受理终端将所述输入金额存入所述受理终端SIM卡通讯录,所述受理终端SIM卡的Applet应用将所述输入金额与所述身份鉴权算法和所述身份认证密钥进行运算得到运算结果,然后通过所述身份认证密钥经所述第一加密算法对所述运算结果进行加密形成数字签名,利用所述第二加解密钥经所述第一加密算法对所述数字签名和所述输入金额及所述的第一鉴权响应一起进行加密得到所述第二鉴权响应;将所述第二鉴权响应存储于所述SIM卡短信区域,并由所述受理终端支付应用程序将所述SIM卡内短信区域的短信读出,并从读取的所述短信中筛选出所述第二鉴权响应。
2.根据权利要求1所述的移动支付方法,其特征在于,还包括:
在需要进行远程支付的情况下,所述支付终端或远程终端通过所述支付应用程序向支付网站发送远程终端登陆请求和验证信息,所述验证信息包括所述SIM卡标识和随机生成第一随机码,所述支付网站向所述服务器转发所述验证信息,或者所述支付网站响应于登录请求,使得所述远程终端登录至所述支付网站,在所述远程终端通过所述支付应用程序登录支付网站时,所述支付网站将所述远程终端的IP地址发送给所述服务器请求对所述IP地址的远程终端进行身份认证,所述服务器与所述远程终端建立连接,所述远程终端支付应用程序向所述服务器发送所述验证信息;同时所述远程终端支付应用程序将所述第一随机码传入所述SIM卡通讯录,通过所述Applet应用将所述第一随机码与所述身份鉴权算法和所述身份认证密钥进行运算,得到所述第四鉴权响应,并将所述第四鉴权响应存储于Applet应用内;接收来由所述服务器发送或者经所述支付网站转发所述服务器反馈信息,所述第五鉴权响应是所述服务器根据所述SIM卡标识查询对应数据库,并将查询所得的所述身份认证密钥和所述身份鉴权算法与所述第一随机码进行运算得到;
将所述反馈信息存储至所述SIM卡通讯录,通过所述Applet应用将所述第五鉴权响应与所述第四鉴权响应进行比对;
若所述第五鉴权响应与所述第四鉴权响应不同,则所述Applet应用将验证未通过验证的信息存储于所述SIM卡的短信区域,所述支付应用程序读取并识别出所述信息后终止与所述支付网站或所述服务器的连接;若所述第五鉴权响应与所述第四鉴权响应相同,则所述Applet应用将所述第二随机码与所述身份认证密钥及所述身份鉴权算法进行运算得到第六鉴权响应,将所述第六鉴权响应以短信形式存储至所述SIM卡短信区域,所述支付应用程序读取所述SIM卡的短信,将筛选出的所述第六鉴权响应发送给所述支付网站,所述支付网站所述将所述第六鉴权响应转发至所述服务器,或者所述支付应用程序将筛选出的所述第六鉴权响应直接发送给所述服务器,以供所述服务器在判断所述第六鉴权响应正确并且未超所述服务器规定时间后,控制网站连接进而进行支付。
3.一种移动支付装置,其特征在于,用于受理终端,所述受理终端内设置支付应用程序和具有Java Card虚拟机运行环境的用户身份识别模块SIM卡,所述SIM卡包括Applet应用,所述SIM卡内还包括预置入所述SIM卡标识及其所述SIM卡标识对应的身份认证密钥、身份鉴权算法、第一加密算法和第一加解密钥;所述装置包括:
发送模块,用于在需要进行近场支付的情况下,生成验证信息,并将近场业务申请及所述验证信息发送至服务器,所述验证信息包括:所述SIM卡标识、第一随机码;
控制模块,用于接收所述服务器对所述验证信息的反馈信息,控制开启摄像头,并对所述反馈信息进行验证;当所述反馈信息验证通过时,接收通过所述摄像头扫描到的支付终端的扫描信息,并控制开启近场设备;
所述发送模块,还用于根据所述扫描信息与所述支付终端建立近场连接,并在判定存在唯一所述支付终端建立近场连接后将加密的第二随机码近场发送至所述支付终端,以便获取所述支付终端反馈加密的第一鉴权响应;
还用于将加密的输入金额发给所述支付终端,以便获取所述支付终端对所述输入金额进行数字签名得到反馈的第三鉴权响应;
接收模块,用于接收所述服务器和所述支付终端反馈的信息,包括所述支付终端反馈的所述第一鉴权响应、所述第三鉴权响应和所述服务器发送的所述反馈信息及交易结果信息,所述反馈信息包括对第二随机码、第一消息序列码的加密和第五鉴权响应,所述第二随机码由服务器随机生成,所述第一消息序列码由服务器提取现有的消息序列码;运算模块,用于所述Applet应用将所述第一随机码与所述身份鉴权算法和所述身份认证密钥进行运算得到第四鉴权响应,所述第一随机码为通过所述受理终端的支付应用程序提取所述SIM卡标识生成的;
还用于所述Applet应用对所述输入金额、所述第一鉴权响应进行数字签名得到第二鉴权响应;
判断模块,用于所述Applet应用对所述服务器反馈信息进行验证,当第五鉴权响应与所述第四鉴权响应不相同时,则结束流程,当所述第五鉴权响应与所述第四鉴权响应相同时,则利用所述第一加解密钥和所述第一加密算法对加密的所述第二随机码和所述第一消息序列码进行解密并比对所述第一消息序列码与所述Applet应用内的第二消息序列码;
用于所述Applet应用对所述服务器反馈信息进行验证,比对所述第一消息序列码与所述第二消息序列码是否相同,若不同,则结束流程,若相同,则将所述第二随机码与所述身份认证密钥进行异域运算得到第二加解密钥,并将所述第二随机码和所述第二加解密钥存储于所述Applet应用内,并将所述第二随机码以短信形式存储至SIM卡短信区域,同时将所述第二消息序列码按本系统规则递增后更新所述Applet应用所述第二消息序列码;所述第二加解密钥用于经所述第一加密算法对所述数字签名和所述输入金额及所述的第一鉴权响应一起进行加密得到所述第二鉴权响应;
用于所述支付应用程序对所述服务器发送的所述反馈信息进行时间判定,判定发出所述验证信息到收到所述服务器发送所述反馈信息的时间,若时间超时,则结束流程,若没超时,则将所述反馈信息传入SIM卡通讯录;
用于所述SIM卡内JCRE运行环境监测到所述SIM卡短信区域的短信被读取,则通知并激活Applet应用查询其内存有无所述第二随机码记录,若有记录,则删除所述Applet应用其内存所述第二随机码记录后再运行多个连续空循环的计时进程以构建时间环境;若记录为空,则结束流程;用还用于所述Applet应用在运行完多个连续空循环后读取存储于所述SIM卡通讯录的所述第一鉴权响应,若能读到所述第一鉴权响应,则获取并存于Applet应用内存;若不能读到,则结束流程;
近场通信模块,用于对所述第二随机码加密后近场发送至所述支付终端;用于对近场接收所述支付终端发送加密的所述第一鉴权响应进行解码;
用于对所述输入金额进行加密后近场发送至所述支付终端,以获取所述支付终端近场反馈加密的所述第三鉴权响应,并对其解密;
所述发送模块,还用于将所述第二鉴权响应和所述第三鉴权响应发送至所述服务器,以供所述服务器验证后进行转账或扣款。
4.一种移动支付方法,其特征在于,用于支付终端,所述支付终端内设置支付应用程序和具有Java Card虚拟机运行环境的用户身份识别模块SIM卡,所述支付应用程序还集成近场通信加密算法,所述SIM卡包括Applet应用,所述SIM卡内还包括预置入所述SIM卡标识及其所述SIM卡标识对应的身份认证密钥、身份鉴权算法,所述方法包括:
通过所述支付应用程序生成扫描信息等待扫描,在所述扫描信息被受理终端扫描后建立近场连接,近场接收所述受理终端通过加解密方法加密的第二随机码,所述支付应用程序利用所述加解密方法对加密的所述第二随机码进行解码,并将所述第二随机码存储于所述SIM卡通讯录;
所述加解密方法,通过所述近场通信加密算法及所述支付应用程序随机生成的本次近场通信的加解密钥对需发送的数据加密或解密;
所述Applet应用根据所述第二随机码以所述身份认证密钥和所述身份鉴权算法运算得到第一鉴权响应,所述Applet应用将所述第一鉴权响应存于SIM卡短信区域,所述支付应用程序读取所述SIM卡短信区域的短信并筛选出所述第一鉴权响应,将所述第一鉴权响应经所述加解密方法加密后近场发送至所述受理终端;
所述支付终端接收并显示来自所述受理终端近场发送通过所述加解密方法加密的输入金额;所述支付应用程序利用所述加解密方法对所述加密的输入金额解密并显示,以供用户对所述输入金额进行确认,所述支付应用程序在接收到所述用户对所述输入金额的确认指令后,将所述输入金额传入所述SIM卡通讯录,所述Applet应用对所述输入金额进行数字签名得到第三鉴权响应,将所述第三鉴权响应存储于所述SIM卡短信区域,所述支付应用程序读出所述SIM卡短信区域的短信并筛选出所述第三鉴权响应,将所述第三鉴权响应经所述加解密方法加密后近场发给所述受理终端。
5.根据权利要求4所述的移动支付方法,其特征在于,所述SIM卡包括文件系统、Applet应用和电话通信模块及卡片操作系统,所述SIM卡内还包括预置入所述SIM卡标识及其所述SIM卡标识对应的身份认证密钥、身份鉴权算法以及第一加密算法、第一加解密钥;所述支付终端内还包括用户注册时从前置服务器下载用户绑定的银行卡图标及所述银行卡图标对应的银行支付密码的变换值;
根据所述第二随机码得到第一鉴权响应,将所述第一鉴权响应通过所述加解密方法加密后近场发送至所述受理终端,包括:
在判定存在唯一所述受理终端建立近场连接以及无终止交易通知的情况下占用所述支付终端近场设备的近场通道,利用所述近场通信加解密钥和所述近场通信加密算法解密对所述加密的第二随机码进行解密,将解密后的所述第二随机码存储至所述SIM卡通讯录,并通过所述Applet应用将所述第二随机码与所述身份认证密钥和所述身份鉴权算法进行运算,得到第一鉴权响应,同时将所述第一鉴权响应与所述身份认证密钥进行异域运算得到第三加解密钥,并将所述第三加解密钥存储至所述Applet应用内,同时所述Applet应用将所述第一鉴权响应存储于所述SIM卡短信区域,并由所述支付应用程序将所述SIM卡短信读出,筛选并利用所述加解密方法对所述第一鉴权响应进行加密,进而近场发送加密的所述第一鉴权响应至所述受理终端;
接收并显示来自所述受理终端的输入金额,以供用户对所述输入金额进行确认,包括:接收来自所述受理终端的输入金额,若所述输入金额小于系统设定额值,则所述支付应用程序直接显示所述输入金额以供用户对所述输入金额进行确认,并将确认的所述输入金额存入所述SIM卡通讯录;若所述输入金额大于等于所述系统设定额值,则所述支付应用程序显示可供用户选择的所述银行卡图标及在所述服务器的接入码输入框;
在所述SIM卡内对所述输入金额进行数字签名得到第三鉴权响应,包括:
通过所述Applet应用将所述输入金额与所述身份鉴权算法和所述身份认证密钥进行运算得到运算结果,通过所述身份认证密钥经所述第一加密算法对所述运算结果进行加密形成数字签名,利用所述第三加解密钥经所述第一加密算法对所述数字签名和所述输入金额进行加密得到所述第三鉴权响应;将所述第三鉴权响应存储于所述SIM卡短信区域,并由所述支付应用程序将所述SIM卡短信区域的短信读出,并从读取所述短信中出筛选出所述第三鉴权响应,所述支付应用程序利用所述加解密方法对所述第三鉴权响应,或连同用户选中的所述银行卡图标和对所述银行卡图标对应的银行支付密码变换值以及用户输入的所述服务器的接入码一并加密后近场发送至所述受理终端。
6.一种移动支付装置,其特征在于,用于支付终端,所述支付终端内设置支付应用程序和具有Java Card虚拟机运行环境的用户身份识别SIM卡,所述支付应用程序还集成近场通信加密算法,所述SIM卡包括Applet应用,所述SIM卡内还包括预置入所述SIM卡标识及其所述SIM卡标识对应的身份认证密钥、身份鉴权算法,所述装置包括:
接收模块,用于通过所述支付应用程序生成扫描信息等待扫描,在所述扫描信息被受理终端扫描后与之建立近场连接,通过所述近场接收由所述受理终端发送加密的第二随机码;还用于近场接收由所述受理终端发送加密的输入金额;
发送模块,用于将加密的第一鉴权响应近场发送至所述受理终端;
用于将加密的第三鉴权响应近场发送至所述受理终端,或连同用户选中的银行卡图标和对所述银行卡图标对应的银行支付密码变换值以及用户输入的服务器接入码一并加密后近场发送至所述受理终端;
显示模块,用于接收并显示来自所述受理终端的输入金额,以供用户对所述输入金额进行确认;
判断模块,用于判断所述输入金额是否大于等于系统设定额值,若是,则需调用并显示所述银行卡图标和所述银行卡号图标对应的银行支付密码变换值及其在所述服务器的接入码输入框;
运算模块,用于所述SIM卡Applet应用将所述第二随机码与所述身份鉴权算法和所述身份认证密钥进行运算得到所述第一鉴权响应;
用于在接收到所述用户对所述输入金额的确认指令后,将所述输入金额传入所述SIM卡通讯录,所述SIM卡Applet应用对所述输入金额进行数字签名得到第三鉴权响应;
近场通信模块,用于对所述受理终端发送的通过加解密方法加密的所述第二随机码进行解密;还用于对所述第一鉴权响应利用所述加解密方法进行加密,所述加解密方法,通过所述近场通信加密算法及支付应用程序随机生成的本次近场通信的加解密钥对需发送的数据加密或解密;
用于对所述受理终端发送的通过所述加解密方法加密的所述输入金额进行解密;对所述第三鉴权响应利用所述加解密方法进行加密,或连同用户选中的所述银行卡图标和对所述银行卡号图标对应的银行支付密码变换值以及用户输入的所述服务器接入码利用所述加解密方法一并加密后近场发送至所述受理终端;
在需要进行远程支付的情况下,所述装置还包括:
所述发送模块,还用于向支付网站或所述服务器发送验证信息、登陆请求和第六鉴权响应。
7.一种移动支付方法,其特征在于,服务器存储SIM卡标识及其对应的身份认证密钥、身份鉴权算法和第一加解码密钥、第一加密算法;存储有用户在所述服务器注册时预留的所述SIM卡标识对应的接入码及用户注册时绑定的银行卡号,所述方法包括:
接收由受理终端发送的验证信息;
在所述服务器中根据所述验证信息、所述身份认证密钥和所述身份鉴权算法得到第五鉴权响应,同时查询与所述SIM卡标识对应的第一消息序列码并生成第二随机码,利用所述第一加解码密钥和所述第一加密算法将所述第一消息序列码和所述第二随机码一道加密,然后连同所述第五鉴权响应一并发送至所述受理终端,将所述第一消息序列码按本系统规则递增;
接收由所述受理终端发送的所述受理终端和支付终端各自的用户的SIM卡标识;判断是否为唯一所述受理终端近场连接所述SIM卡的标识对应的所述支付终端,若是,则确定以所述第二随机码将所述受理终端和所述支付终端关联成功,向所述受理终端发送弹出输入金额交易框的指令;若在规定时间内没收到所述受理终端发送的第二鉴权响应和第三鉴权响应,则结束流程,所述第二鉴权响应是受理终端通过将输入金额、第一鉴权响应进行数字签名得到的,所述第三鉴权响应支付终端对所述输入金额数字进行签名得到的,所述服务器在接收到所述第二鉴权响应和所述第三鉴权响应的情况下,对所述第二鉴权响应和所述第三鉴权响应验证后进行转账或扣款,所述第一鉴权响应是在所述支付终端的Applet应用,将所述第二随机码与所述SIM卡标识对应的身份认证密钥和身份鉴权算法进行运算所得;
所述服务器还包括本系统前置服务器,所述方法还包括:
所述服务器接收所述受理终端发送的包括银行卡图标和银行卡存取密码的变换值,并接收所述受理终端发送的或者支付网站转发的第六鉴权响应,若对第六鉴权响应认证通过,则建立交易订单或流水号,并将所述支付终端SIM卡标识以及所述银行卡图标和所述银行卡存取密码的变换值发送至所述前置服务器;通过所述前置服务器中预置入本系统对银行卡标识及所述银行卡存取密码变换值的转换规则和对应所述SIM卡标识,将所述银行卡图标及所述银行卡存取密码变换值编译为对应的真实银行卡及存取密码,并将所述银行卡及所述存取密码发送至银行机构后台自有的金融服务器,所述第六鉴权响应为所述受理终端的Applet应用将所述第二随机码与所述身份认证密钥及所述身份鉴权算法进行运算得到的,在所述第六鉴权响应认证通过并且未超所述服务器规定时间后,控制网站连接进而进行支付;
所述银行机构后台自有的金融服务器,是银行机构依据现有流程、自有的、用于扣款的金融服务器根据所述银行卡及所述存取密码进行转账或扣款,接收所述前置服务器反馈的所述银行机构后台服务器对所述银行卡图标的转账或扣款信息;
所述方法还包括:
在需要进行远程支付的情况下,接收所述支付网站转发由远程终端直接发送的所述验证信息,或者接收所述支付网站发送的所述远程终端IP地址及其对所述IP地址的终端进行身份认证的请求;
向所述远程终端直接发送或者经所述支付网站转发的反馈信息,所述反馈信息包括所述第二随机码和所述第五鉴权响应,所述第二随机码是服务器随机生成,所述第五鉴权响应是所述服务器根据所述远程终端SIM卡标识查询对应数据库,并将查询所得的所述身份认证密钥和所述身份鉴权算法与第一随机码进行运算所得;接收所述支付网站转发的由所述远程终端支付应用程序发送的所述第六鉴权响应,或者直接接收由所述远程终端支付应用程序直接发送的所述第六鉴权响应,判断所述第六鉴权响应正确并且未超所述服务器规定时间后,控制网站连接进而进行支付,所述第一随机码为通过所述受理终端的支付应用程序提取所述SIM卡标识生成的,接收所述第一随机码以供服务器对所述验证信息提供反馈信息,所述验证信息包括所述第一随机码。
8.一种移动支付装置,其特征在于,服务器中存储SIM卡标识和所述SIM卡标识对应的身份认证密钥、身份鉴权算法、第一加解码密钥、第一加密算法,以及用户在所述服务器注册时预留的所述SIM卡标识对应的接入码或用户注册时绑定的银行卡号,所述装置包括:
接收模块,用于接收由受理终端发送的验证信息;
还用于接收由所述受理终端发送的第二鉴权响应和第三鉴权响应;还用于接收支付网站发送的远程终端的IP地址和对所述IP地址终端身份认证请求;接收所述支付网站转发由所述远程终端发送的验证信息;或者接收所述远程终端直接发送所述验证信息,所述第二鉴权响应是受理终端通过将输入金额、第一鉴权响应进行数字签名得到的,所述第三鉴权响应支付终端对所述输入金额数字进行签名得到的,所述服务器在接收到所述第二鉴权响应和所述第三鉴权响的情况下,对所述第二鉴权响应和所述第三鉴权响应验证后进行转账或扣款,所述第一鉴权响应是在所述支付终端的Applet应用,将第二随机码与所述SIM卡标识对应的身份认证密钥和身份鉴权算法进行运算所得;
发送模块,用于在所述服务器中根据所述验证信息、所述身份认证密钥和所述身份鉴权算法得到第五鉴权响应,同时查询与所述SIM卡标识对应的第一消息序列码并生成所述第二随机码,将所述第一消息序列码和所述第二随机码一起加密并连同所述第五鉴权响应一并发送至所述受理终端;
用于将支付终端SIM卡标识和银行卡标识及银行卡存取密码的变换值转发给前置服务器;
还用于将所述前置服务器反馈交易结果发送给所述受理终端;
所述接收模块,还用于接收由所述受理终端发送的所述受理终端和所述支付终端各自的用户身份识别模块SIM卡标识;
还用于接收所述前置服务器反馈银行机构后台服务器对银行卡图标的转账或扣款信息;
判断模块,用于判断是否为唯一所述受理终端连接所述SIM卡标识对应的所述支付终端;
还用于在规定时间内没收到所述受理终端发送的所述第二鉴权响应和所述第三鉴权响应,则结束流程;
还用于在规定时间内没收到所述远程终端发送的第六鉴权响应,则结束流程,所述受理终端发送的或者支付网站转发的第六鉴权响应为所述受理终端Applet应用将所述第二随机码与所述身份认证密钥及所述身份鉴权算法进行运算得到的,用于在所述第六鉴权响应正确并且未超所述服务器规定时间后,控制网站连接进而进行支付;
所述发送模块,还用于判断是否为唯一所述受理终端近场连接所述SIM卡标识对应的所述支付终端,若是,则确定以所述第二随机码将所述受理终端和所述支付终端关联成功,则向所述受理终端发送弹出输入金额交易框的指令;
验证模块,用于验证所述受理终端发送的所述第二鉴权响应和所述第三鉴权响应,若正确,则执行相应的扣款或后续操作,若不正确,则结束流程;
还用于验证所述远程终端发送的所述第六鉴权响应,若正确,则执行相应的扣款或后续操作,若不正确,则结束流程;
还用于对用户输入所述接入码与所述SIM卡标识在所述服务器对应的所述接入码进行验证,若验证通过,则执行相应的扣款或后续操作,若不正确,则结束流程。
9.一种计算机设备,其特征在于,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如权利要求1至2中任一项所述的移动支付方法,和/或如权利要求4或5中所述的移动支付方法,和/或如权利要求7 所述的移动支付方法。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求1至2中任一项所述的移动支付方法,和/或如权利要求4或5中所述的移动支付方法,和/或如权利要求7所述的移动支付方法。
CN201810181950.7A 2018-03-06 2018-03-06 移动支付方法、装置、计算机设备及可读存储介质 Active CN110232568B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810181950.7A CN110232568B (zh) 2018-03-06 2018-03-06 移动支付方法、装置、计算机设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810181950.7A CN110232568B (zh) 2018-03-06 2018-03-06 移动支付方法、装置、计算机设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN110232568A CN110232568A (zh) 2019-09-13
CN110232568B true CN110232568B (zh) 2023-09-05

Family

ID=67862164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810181950.7A Active CN110232568B (zh) 2018-03-06 2018-03-06 移动支付方法、装置、计算机设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN110232568B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11687929B2 (en) * 2018-03-23 2023-06-27 American Express Travel Related Services Co., Inc. Authenticated secure online and offline transactions
CN111429129A (zh) * 2020-03-20 2020-07-17 上海依图网络科技有限公司 一种基于标识信息验证的业务处理方法及装置
CN115499816A (zh) * 2020-03-24 2022-12-20 支付宝(杭州)信息技术有限公司 基于近距离通信信号的信息处理方法、装置和系统
JP7540207B2 (ja) * 2020-06-09 2024-08-27 富士フイルムビジネスイノベーション株式会社 情報処理装置及びコンピュータプログラム
CN112749971B (zh) * 2020-08-21 2024-07-19 腾讯科技(深圳)有限公司 支付验证方法、装置、可拆卸摄像头组件及存储介质
CN114648333A (zh) * 2020-12-21 2022-06-21 花瓣云科技有限公司 一种身份验证方法、装置及系统
CN112596818B (zh) * 2020-12-30 2023-12-05 上海众源网络有限公司 一种应用程序控制方法、系统及装置
CN112769824B (zh) * 2021-01-07 2023-03-07 深圳市大富网络技术有限公司 一种信息传输状态更新方法、终端、装置及存储介质
CN112862040B (zh) * 2021-03-04 2023-04-18 珠海格力电器股份有限公司 多机组解密方法、系统、装置和计算机设备
CN113496395B (zh) * 2021-05-25 2022-09-09 城家酒店管理有限公司 一种支付方法及系统
CN113988858A (zh) * 2021-11-10 2022-01-28 上海商米科技集团股份有限公司 非接触式交易的安全支付方法及系统
CN114867017A (zh) * 2022-03-22 2022-08-05 支付宝(杭州)信息技术有限公司 一种身份认证方法、装置、设备及系统
CN114726897B (zh) * 2022-04-11 2023-12-08 厦门科拓软件研发中心有限公司 一种车场远程坐席通道服务系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096972A (zh) * 2009-12-15 2011-06-15 中国移动通信集团公司 一种基于用户终端完成联机支付的方法、系统及用户终端
CN103164738A (zh) * 2013-02-06 2013-06-19 厦门盛华电子科技有限公司 一种基于移动支付多通道数字认证的手机用户识别卡
CN103501191A (zh) * 2013-08-21 2014-01-08 王越 一种基于nfc近场通信技术的移动支付装置及其方法
CN104320779A (zh) * 2014-11-13 2015-01-28 熊文俊 基于u/sim卡鉴权响应及限时反馈近场通信认证方法
CN104363199A (zh) * 2014-09-30 2015-02-18 熊文俊 基于时间同步码的安全认证方法及时间同步码模块
CN106228362A (zh) * 2016-07-22 2016-12-14 萨摩亚商.繁星科技有限公司 行动支付方法、行动支付系统及其电信端处理单元、销售端处理单元、交易平台
FR3047376A1 (fr) * 2016-02-02 2017-08-04 Ingenico Group Procede de transmission de donnees, dispositif, systeme et programme d'ordinateur correspondant

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096972A (zh) * 2009-12-15 2011-06-15 中国移动通信集团公司 一种基于用户终端完成联机支付的方法、系统及用户终端
CN103164738A (zh) * 2013-02-06 2013-06-19 厦门盛华电子科技有限公司 一种基于移动支付多通道数字认证的手机用户识别卡
CN103501191A (zh) * 2013-08-21 2014-01-08 王越 一种基于nfc近场通信技术的移动支付装置及其方法
CN104363199A (zh) * 2014-09-30 2015-02-18 熊文俊 基于时间同步码的安全认证方法及时间同步码模块
CN104320779A (zh) * 2014-11-13 2015-01-28 熊文俊 基于u/sim卡鉴权响应及限时反馈近场通信认证方法
FR3047376A1 (fr) * 2016-02-02 2017-08-04 Ingenico Group Procede de transmission de donnees, dispositif, systeme et programme d'ordinateur correspondant
CN106228362A (zh) * 2016-07-22 2016-12-14 萨摩亚商.繁星科技有限公司 行动支付方法、行动支付系统及其电信端处理单元、销售端处理单元、交易平台

Also Published As

Publication number Publication date
CN110232568A (zh) 2019-09-13

Similar Documents

Publication Publication Date Title
CN110232568B (zh) 移动支付方法、装置、计算机设备及可读存储介质
US9886688B2 (en) System and method for secure transaction process via mobile device
EP2378451B1 (en) User authentication in a tag-based service
EP2919497B1 (en) Soft sim card activating method and network-joining method and terminal, and network access device
CN101373528B (zh) 基于位置认证的电子支付系统、设备、及方法
JP6704919B2 (ja) 支払いトークンのセキュリティを確保する方法
US8588415B2 (en) Method for securing a telecommunications terminal which is connected to a terminal user identification module
JP2018088292A (ja) モバイル機器による安全なトランザクションプロセスのためのシステム及び方法
EP3099090B1 (en) Network locking or card locking method and device for a mobile terminal, terminal, sim card, storage media
US9055061B2 (en) Process of authentication for an access to a web site
TW200531493A (en) Method for authenticating applications
EP2751733B1 (en) Method and system for authorizing an action at a site
CN105373919A (zh) 基于远近场数据交互的用户身份安全认证设备及认证方法
CN101521886A (zh) 一种对终端和电信智能卡进行认证的方法和设备
CN107733652B (zh) 用于共享交通工具的开锁方法和系统及车锁
US20170286873A1 (en) Electronic ticket management
CN105868975A (zh) 电子金融账户的管理方法、管理系统和移动终端
CN113989958A (zh) 数字钥匙共享系统、方法及装置、车辆及存储介质
KR20150003297A (ko) 사이버 id를 이용하여 보안 트랜잭션을 제공하는 방법 및 시스템
EP0948851A1 (en) Method for identification of a data transmission device
CN101425901A (zh) 一种在处理终端中用于对用户身份验证的控制方法及装置
KR101879843B1 (ko) Ip 주소와 sms를 이용한 인증 방법 및 시스템
CN111404965B (zh) 一种实现移动端应用安全验证的方法
KR20170070379A (ko) 이동통신 단말기 usim 카드 기반 암호화 통신 방법 및 시스템
KR20170042137A (ko) 인증 서버 및 방법

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