CN111954196B - 基于蓝牙的智能卡充值方法、***、终端设备及存储介质 - Google Patents
基于蓝牙的智能卡充值方法、***、终端设备及存储介质 Download PDFInfo
- Publication number
- CN111954196B CN111954196B CN202010846562.3A CN202010846562A CN111954196B CN 111954196 B CN111954196 B CN 111954196B CN 202010846562 A CN202010846562 A CN 202010846562A CN 111954196 B CN111954196 B CN 111954196B
- Authority
- CN
- China
- Prior art keywords
- recharging
- terminal
- card
- key
- random number
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- 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/349—Rechargeable cards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/40—Connection management for selective distribution or broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于蓝牙的智能卡充值方法、***、终端设备及存储介质,包括步骤:扫描二维码或扫描蓝牙广播向充值终端发送蓝牙连接请求,与充值终端建立明文的蓝牙连接;蓝牙连接成功后,向充值终端发送加密认证请求,与充值终端进行加密认证;加密认证成功后,向充值终端发送获取卡信息指令,并接收充值终端发送的读卡反馈信息;在读卡反馈信息前添加充值信息得到密钥获取指令,并发送至服务器;接收服务器反馈的充值请求密钥,将充值密钥转发至充值终端进行验证,验证成功后对智能卡进行充值。本发明通过与充值终端建立蓝牙连接,通过移动终端连接服务器实现获取充值请求密钥,再通过蓝牙发送至充值终端实现对智能卡的充值。
Description
技术领域
本发明涉及无线充值领域,特别涉及一种基于蓝牙的智能卡充值方法、***、终端设备及存储介质。
背景技术
非接触式智能卡是指含有微处理器的智能化票卡,例如校园卡、车卡、员工卡等。使用充值的智能卡时,只需将智能卡靠近读卡设备,不需要直接接触,便自动扣除费用。
目前对非接触式智能卡的充值,需要使用大型的联网充值终端进行充值,所述联网充值终端需要连接互联网,容易受网络环境因素的影响。
因而现有技术还有待改进和提高。
发明内容
鉴于上述现有技术的不足之处,本发明的目的在于提供一种基于蓝牙的智能卡充值方法、***、终端设备及存储介质,通过与充值终端建立蓝牙连接,通过移动终端连接服务器实现获取充值请求密钥,再通过蓝牙发送至充值终端实现对智能卡的充值。
为了达到上述目的,本发明采取了以下技术方案:
一种基于蓝牙的智能卡充值方法,包括步骤:
扫描二维码或扫描蓝牙广播向充值终端发送蓝牙连接请求,与充值终端建立明文的蓝牙连接;蓝牙连接成功后,向所述充值终端发送加密认证请求,与所述充值终端进行加密认证;第一认证响应报文加密认证成功后,向所述充值终端发送获取卡信息指令,并接收充值终端发送的读卡反馈信息;在所述读卡反馈信息前添加充值信息得到密钥获取指令,并发送至服务器;接收服务器反馈的充值请求密钥,将所述充值密钥转发至充值终端进行验证,验证成功后对智能卡进行充值。
蓝牙连接成功后,向所述充值终端发送加密认证请求,与所述充值终端进行加密认证的步骤具体包括:蓝牙连接成功后,向所述充值终端发送加密认证请求,并接收充值终端返回的认证信息,其中,所述认证信息由充值终端通过用户主密钥对第一随机数进行加密得到;将所述认证信息发送至加密器,并接收加密器返回的第一认证响应报文传至充值终端进行加密认证。
所述第一认证响应报文的生成过程包括步骤:加密器通过用户主密钥对所述认证信息进行解密后,得到第一随机数;对所述第一随机数填充第二随机数得到第三随机数,通过所述用户主密钥将所述第三随机数进行加密得到第一认证响应报文。
所述接收加密器返回的第一认证响应报文传至充值终端进行加密认证的步骤具体包括:接收加密器返回的第一认证响应报文之后,将所述第一认证响应报文发送至所述充值终端;在充值终端验证所述第一认证响应报文正确后,与所述充值终端建立加密认证连接。
所述第一认证响应报文的验证过程包括步骤:所述充值终端通过用户主密钥将所述第一认证响应报文进行加密,得到第三随机数;
当识别出所述第三随机数中存在第一随机数时,则加密第二随机数,得到第四随机数,并根据截取规则截取第四随机数一段数据与第一随机数的一段数据组合得到第五随机数;
将第五随机数加密得到加密认证密钥,并发回移动终端,则验证成功;
当验证成功时,与所述充值终端建立使用加密认证密钥的加密认证连接。
所述读卡反馈信息的生成过程包括步骤:
所述充值终端接收到所述获取卡信息指令后,对所述智能卡发送读卡指令;
所述智能卡接收到所述读卡指令后,根据自身存储的卡片数据计算第一验证数据,并将所述卡片数据和所述第一验证数据发送至所述充值终端;
当所述充值终端接收到所述卡片数据和所述第一验证数据后,根据所述卡片数据和所述第一验证数据生成所述读卡反馈信息。
将所述读卡反馈信息封装成密钥获取指令发送至服务器的步骤具体包括:
在所述读卡反馈信息,得到密钥获取指令。
所述充值请求密钥的生成过程包括步骤:
所述服务器接收到密钥获取指令后,提取所述密钥获取指令中的卡片数据;
根据所述卡片数据计算第二验证数据,将所述第二验证数据与所述第一验证数据进行比较;
当所述第二验证数据与所述第一验证数据一致时,根据所述密钥获取指令中的充值信息计算出充值请求密钥。
一种基于蓝牙的智能卡充值***,所述基于蓝牙的智能卡充值***包括移动终端、充值终端、服务器以及智能卡:
所述移动终端用于扫描二维码或扫描蓝牙广播向充值终端发送蓝牙连接请求,与充值终端建立明文的蓝牙连接;蓝牙连接成功后,向所述充值终端发送加密认证请求,与所述充值终端进行加密认证;加密认证成功后,向所述充值终端发送获取卡信息指令,并接收充值终端发送的读卡反馈信息;在所述读卡反馈信息前添加充值信息得到密钥获取指令,并发送至服务器;接收服务器反馈的充值请求密钥,将所述充值密钥转发至充值终端进行验证,验证成功后对智能卡进行充值;
所述充值终端用于根据蓝牙连接请求与移动终端进行蓝牙连接,并在蓝牙连接成功后接收移动终端发送的加密认证请求,与移动终端进行加密认证连接;在加密认证连接成功后,根据移动终端发送的获取卡信息指令读取智能卡的卡片数据,并生成读卡反馈信息反馈至移动终端;并根据充值请求密钥对智能卡进行充值;
所述服务器用于根据密钥获取指令生成充值请求密钥返回至移动终端;
智能卡用于根据所述读卡指令发送卡片数据至充值终端,并接收充值终端的充值信息写入。
一种终端设备,包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如上文所述的基于蓝牙的智能卡充值方法中的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上文所述基于蓝牙的智能卡充值方法中的步骤。
相较于现有技术,本发明提供的基于蓝牙的智能卡充值方法、***、终端设备及存储介质包括步骤:扫描二维码或扫描蓝牙广播向充值终端发送蓝牙连接请求,与充值终端建立明文的蓝牙连接;蓝牙连接成功后,向所述充值终端发送加密认证请求,与所述充值终端进行加密认证;加密认证成功后,向所述充值终端发送获取卡信息指令,并接收充值终端发送的读卡反馈信息;在所述读卡反馈信息前添加充值信息得到密钥获取指令,并发送至服务器;接收服务器反馈的充值请求密钥,将所述充值密钥转发至充值终端进行验证,验证成功后对智能卡进行充值。本发明通过与充值终端建立蓝牙连接,通过移动终端连接服务器实现获取充值请求密钥,再通过蓝牙发送至充值终端实现对智能卡的充值。
附图说明
图1为本发明提供的基于蓝牙的智能卡充值***的结构框图;
图2为本发明提供的基于蓝牙的智能卡充值方法的流程图;
图3为本发明提供的基于蓝牙的智能卡充值的步骤S100的流程图;
图4为本发明提供的第一认证响应报文的生成过程的流程图;
图5为本发明提供的基于蓝牙的智能卡充值的步骤S200的流程图;
图6为本发明提供的第一认证响应报文的验证过程的流程图;
图7为本发明提供的读卡反馈信息的生成过程的流程图;
图8为本发明提供的充值请求密钥的生成过程的流程图;
图9为本发明提供的终端设备可选实施例的结构原理图。
具体实施方式
鉴于现有技术中的问题,本发明中提供一种基于蓝牙的智能卡充值方法、***、终端设备及存储介质,通过与充值终端建立蓝牙连接,通过移动终端连接服务器实现获取充值请求密钥,再通过蓝牙发送至充值终端实现对智能卡的充值。
本发明的具体实施方式是为了便于对本发明的技术构思、所解决的技术问题、构成技术方案的技术特征和带来的技术效果做更为详细的说明。需要说明的是,对于这些实施方式的解释说明并不构成对本发明的保护范围的限定。此外,下文所述的实施方式中所涉及的技术特征只要彼此之间不构成冲突就可以相互组合。
为了方便理解本申请实施例,首先在此介绍本申请实施例涉及到的相关要素:
非接触式智能卡:非接触式智能卡是指含有微处理器的智能化票卡,例如校园卡、车卡、员工卡等。使用充值的智能卡时,只需将智能卡靠近读卡设备,不需要直接接触,便自动扣除费用。
充值终端:设置在固定位置的用于非接触式智能卡自助充值的终端设备,一般体积较大;例如,设置在地铁站的公交卡充值终端,设置在银行的ATM机,设置在校园充值处的PC机或者终端机等。
经过发明人研究发现,现有的非接触式智能卡的充值终端非常不方便,其体积较大,一般占用较多的空间位置,造价较高,耗电较多;而且需要连接互联网,一旦断网则无法进行充值。
鉴于现有技术存在的上述问题,本发明提供一种基于蓝牙的智能卡充值方法,通过移动终端连接服务器实现获取充值请求密钥,再通过蓝牙发送至充值终端实现对智能卡的充值;由于所述充值终端仅需要蓝牙功能,不需要连接互联网,因此,能够避免断网无法工作的情况;由于不需要连接互联网,因此设置的位置可以灵活变换,不受网线的制约;而且蓝牙模块相较于互联网模块价格低,降低了造价;因为设置位置能够灵活变动,因此可以设置为小型化或者便携式的设备,减小了体积,也可以设置在墙上、柱子上等等离地位置,不占用地面空间。
举例说明,本发明中的基于蓝牙的非接触智能卡13充值方法可以应用于如图1所示的场景,移动终端10与充值终端11进行蓝牙连接,所述移动终端10与服务器12通过app、网站或者微信小程序等进行通信,智能卡13放置在充值终端11的感应区。具体的,先由移动终端10与充值终端11建立蓝牙连接,再通过移动终端10中的APP、网站或者微信小程序向服务器12获取充值请求密钥,再由移动终端10将所述充值请求密钥通过蓝牙发送至充值终端11,经过所述充值终端11验证通过后对智能卡13进行充值。
下面结合附图,详细说明本发明的各种非限制性实施方式。
请参阅图2,示出了本实施例中的基于蓝牙的智能卡充值方法。在本实施例中,所述方法例如可以包括以下步骤:
S100、扫描二维码或扫描蓝牙广播向充值终端发送蓝牙连接请求,与充值终端建立明文的蓝牙连接。
具体实施时,本实施例中,通过移动终端扫描二维码或者直接扫描蓝牙广播,向充值终端发送蓝牙连接请求,所述充值终端接收到所述蓝牙连接请求后,与移动终端进行明文的蓝牙连接。
示例性的,在本实施例的一个方式中,所述充值终端上设置有二维码,所述二维码包括所述微信小程序或者网站的网址以及充值终端的蓝牙信息;可选的,所述二维码可以通过贴图的形式贴在充值终端能上,进一步的还可以在二维码上覆盖一层亚力克板或者玻璃板等透明盖板;所述充值终端还可以设置一个显示屏,所述二维码可以显示在所述显示屏的界面上。
当需要充值时,用户可通过移动终端扫描所述二维码,获取到所述网址及所述蓝牙信息,通过所述网址连接到服务器的充值网站,并根据所述蓝牙信息发送蓝牙连接请求至充值终端。特别的,当通过APP进行扫码时,可直接获取蓝牙信息,根据蓝牙信息发送蓝牙连接请求。其中,所述蓝牙信息为蓝牙设备广播名称,移动终端通过APP、网站或者微信小程序搜索所述蓝牙设备广播名称,即可发送蓝牙连接请求。
在另一可选实施例中,所述充值终端上也可以直接提供所述蓝牙信息(即蓝牙设备广播名称),用户可通过移动终端直接扫描蓝牙设备广播名称向充值设备发送蓝牙连接请求。
进一步的,所述充值终端接收到所述蓝牙连接请求后,检测当前是否与其他设备建立了蓝牙连接;若没有,则与所述移动终端建立蓝牙连接,若有,则蓝牙连接失败,向移动终端发送连接失败信号。
S200、蓝牙连接成功后,向所述充值终端发送加密认证请求,与所述充值终端进行加密认证。
具体实施时,本实施例中,当所述移动终端与所述充值设备建立蓝牙连接后,通过移动终端向充值设备发送加密认证请求,与所述充值终端进行加密认证,以避免后续的充值过程被黑客窃取资料,导致资金损失等问题。
示例性的,在本实施例的一个方式中,请参阅图3,所述S200的步骤具体包括:
S210、蓝牙连接成功后,向所述充值终端发送加密认证请求,并接收充值终端返回的认证信息,其中,所述认证信息由充值终端通过用户主密钥对第一随机数进行加密得到;
S220、将所述认证信息发送至加密器,并接收加密器返回的第一认证响应报文传至充值终端进行加密认证。
具体实施时,本实施例中,所述加密器可以设置在移动终端中,也可以设置在服务器中;所述加密器中设置有解密算法,所述充值终端中设置有加密算法。
示例性的,当所述加密器设置在移动终端中时:
在移动终端与充值终端进行蓝牙连接后,通过所述移动终端发送加密认证请求,所述充值终端接收到所述加密认证请求后,生成第一随机数,所述第一随机数是一组预设长度的随机数序列,可根据需要选择随机数序列的长度,本实施例中的随机数序列长度为RND_A[0:15],即16位随机数序列,当然也可以设置为8位、4位、32位等,在此不做限定。
所述充值终端中还保存有用户主密钥,所述用户主密钥是充值终端出厂即设置好的,在加密器中也设置有相同的用户主密钥。所述充值终端在生成第一随机数后,通过所述用户主密钥对所述第一随机数进行加密处理,得到认证信息,并发送回移动终端,再由移动终端转发至移动终端中的加密器。特别的,加密处理通过AES-128CBC加密模式进行加密。所述加密器接收到所述认证信息后,生成所述第一认证响应报文,并通过移动终端将所述第一认证响应报文转发至所述充值终端进行加密认证。
示例性的,当所述加密器设置在服务器中时:
在移动终端与充值终端进行蓝牙连接后,通过所述移动终端发送加密认证请求,所述充值终端接收到所述加密连接请求后,生成第一随机数;再通过用户主密钥对所述第一随机数进行AES-128CBC加密(通过加密算法进行计算),得到认证信息,并发送回移动终端。所述移动终端将所述认证信息上传至服务器中的加密器。所述加密器接收到所述认证信息后,生成第一认证响应报文,再通过服务器发送至移动终端,由所述移动终端将所述第一认证响应报文转发至充值终端进行加密认证。
需要说明的是,所述加密器中也可以设置加密算法,并在所述充值终端中设置解密算法;具体步骤与上文相同,仅在算法的不同。
具体的,请参阅图4,所述S220的步骤具体包括:
S221、接收加密器返回的第一认证响应报文之后,将所述第一认证响应报文发送至所述充值终端;
S222、在充值终端验证所述第一认证响应报文正确后,与所述充值终端建立加密认证连接。
当移动终端接收到加密器发送的第一认证报文后,将所述第一认证报文转发至所述充值终端,所述充值终端接收到所述第一认证响应报文后对所述第一认证响应报文进行验证,在验证正确后,建立移动终端与充值终端的加密认证连接。
示例性的,请参阅图5,所述第一认证响应报文的生成过程包括步骤:
M10、加密器通过用户主密钥对所述认证信息进行解密后,得到第一随机数;
M11、对所述第一随机数填充第二随机数填充得到第三随机数,通过所述用户主密钥将所述第三随机数进行加密得到第一认证响应报文。
具体实施时,本实施例中,当所述加密器接收到所述认证信息后,通过所述用户主密钥对所述认证信息进行解密算法的计算,还原出第一随机数,并在所述第一随机数基础上填充第二随机数,得到第三随机数。具体的,填充的第二随机数与第一随机数长度相同,本实施例中为RND_B[0:15];第二随机数可填充在所述第一随机数的之前,也可以填充在所述第一随机数之后。所述服务器再通过所述用户主密钥对所述第三随机数进行解密计算,得到第一认证响应报文。
示例性的,请参阅图6,所述第一认证响应报文的验证过程包括步骤:
M20、所述充值终端通过用户主密钥将所述第一认证响应报文进行加密,得到第三随机数;
M21、当识别出所述第三随机数中存在第一随机数时,则加密第二随机数,得到第四随机数,并根据截取规则截取第四随机数的一段数据与第一随机数的一段数据组合得到第五随机数;
M22、将第五随机数加密得到加密认证密钥,并发回手机,则验证成功;
M23、当验证成功时,与所述充值终端建立使用加密认证密钥的加密认证连接。
具体实施时,本实施例中,所述充值终端接收到所述第一认证响应报文后,通过用户主密钥对所述第一认证响应报文进行加密(通过加密算法进行计算),得到所述第三随机数。根据加密器与充值终端预设的规则提取第一随机数。例如,若所述加密器是在第一随机数的前面填充第二随机数得到第三随机数,那么提取第三随机数后半段的随机数,即为第一随机数;反之则提取前半段的随机数,即为第一随机数;可在出厂时即设定好填充第二随机数的规则。提取出第一随机数后,将提取到的第一随机数与充值终端生成的第一随机数进行比较,若一致,则所述第一认证响应报文通过了充值终端的验证,若不一致则验证失败。
进一步的,在充值终端对所述第一认证响应报文验证成功时,由充值终端通过用户主密钥对第二随机数RAN_B[0:15]进行加密,得到第四随机数,根据预设的截取规则截取第四随机数中的一段数据和所述第二随机数中的一段数据,生成第五随机数。示例性的,所述截取规则为截取所述第四随机数和第二随机数的前8个字节或者后8个字节的组合,当然也可以是从中间提取的字节,所截取的数据长度也可以根据需要进行设定,例如4个字节,10个字节等;所述截取规则可在设备出厂时设置好,在此不做限定。将所述第五随机数进行加密得到加密认证密钥,所述加密认证密钥记为SK[0:15]。将所述加密认证密钥发回所述移动终端,此时表示验证成功。
当验证成功后,从加密器发出的敏感数据都要使用所述加密认证密钥以AES-128CBC加密模式进行加密,再在充值终端进行验证才可传输至充值终端,即在加密认证成功后,后续对充值设备发送的敏感数据(例如充值、查询等指令)需要通过所述加密认证密钥进行解密,再发送至充值终端进行加密后进行认证,才能够写入相应的敏感数据,以执行相应的充值或查询等操作。
上述加密认证连接使得安全性更强,用户主密钥和加密认证密钥的双重加密,降低了被黑客设备获取到加密数据的可能性,另外用户主密钥的存在使得即使被获取到加密数据,在不知道用户主密钥的情况下也无法通过验证,进一步提高了安全性。特别的,上述的加密处理均通过AES-128CBC加密模式进行加密,也可以通过其他加密方法进行加密,在此不做限定。
S300、加密认证成功后,向所述充值终端发送获取卡信息指令,并接收充值终端发送的读卡反馈信息。
具体实施时,本实施例中,在加密认证成功后,即可对智能卡进行充值或者查询。将智能卡放置在充值终端的卡片感应区,所述移动终端通过APP、网站或者微信小程序向充值终端发送获取卡片数据指令,所述充值终端接收到所述获取卡信息指令后,读取智能卡的卡片数据并生成读卡反馈信息反馈至移动终端。
具体的,所述获取卡信息指令如下:
表1获取卡信息指令
CLA | INS | P1 | P2 | LC | 交易类型 | 交易金额 | 充值终端编号 |
80 | 50 | 00 | 01 | 0B | 01 | 00001000 | 001122334455 |
如表1所示,所述获取卡信息指令为32字节的数据,按上述数据按照表中顺序组合成获取卡指令发送至充值终端。CLA为指令类别,INS为指令码,P1为和P2为参数,LC为数据长度;上述指令为APDU指令规范,且APDU为现有技术,在此不再详述。由于每个人的需求不同,因此所述交易金额可以根据实际需求进行设置,本实施例中以1000rmb为例;所述充值终端的编号也是根据实际情况在出厂时已经存储好。
示例性的,请参阅图7,所述读卡反馈信息的生成过程包括步骤:
M30、所述充值终端接收到所述获取卡信息指令后,对所述智能卡发送读卡指令;
M31、所述智能卡接收到所述读卡指令后,根据自身存储的卡片数据计算第一验证数据,并将所述卡片数据和所述第一验证数据发送至所述充值终端;
M32、当所述充值终端接收到所述卡片数据和所述第一验证数据后,根据所述卡片数据和所述第一验证数据生成所述读卡反馈信息。
具体实施时,本实施例中,所述充值终端接收到所述获取卡信息后,生成读卡指令发送至智能卡,智能卡中的微处理器接收到所述读卡指令后,根据存储器中存储的卡片数据生成第一验证数据发送至所述充值终端。所述充值终端接收到所述卡片数据和第一验证数据后,根据所述卡片数据和所述第一验证数据生成读卡反馈信息发送至移动终端。具体地,所述智能卡和服务器中还设置有共有密钥Ekey,本实施例中为Ekey=11223344556677888877665544332211。
具体的,表2中为卡片数据与第一验证数据:
表2卡片数据与第一验证数据
如表2所示,卡片余额、交易序号、密钥版本号、算法标识以及随机数为卡片数据,所述MAC1为第一验证数据。智能卡接收到读卡指令后,智能卡中的微处理器提取所述随机数、交易序号,并添加第一填充数得到InData,所述随机数为11223344,所述交易序号为0000,所述第一填充数为0000即所述InData=1122334400000000。再由所述智能卡通过所述共有密钥对InData进行3DES加密,计算出第二过程密钥Skey;即:Skey=3DES_Enypt(InData,Ekey)=9B1D924E05595603。
再提取卡片余额、交易金额、交易类型及充值终端编号计算得到InData1,即InData1=000000000000100001001122334455。再通过所述第二过程密钥对所述InData1进行MAC运算,得到第一验证数据:MAC1=MAC(InData1,SKey)=2988AE5A。
S400、在所述读卡反馈信息前添加充值信息得到密钥获取指令,并发送至服务器。
具体实施时,本实施例中,所述充值信息包括交易金额、充值终端编号、交易类型、交易日期和交易时间;所述读卡反馈信息即包括卡片数据及第一验证数据。将所述充值信息填充至所述读卡反馈信息中,组合成如表3所示的密钥获取指令。所述移动终端生成所述密钥获取指令后发送至服务器。
表3密钥获取指令
具体的,所述交易金额的数据为00001000,所述终端机编号的数据为001122334455,所述交易类型的数据为01,所述交易日期的数据为20191221,所述交易时间的数据为214822,所述卡片余额的数据为00000000,所述交易序号的数据为0000,所述密钥版本号的数据为02(当密钥变更时版本号加1),所述算法标识的数据为00,所述随机数的数据为11223344,所述MAC1的数据为2988AE5A。
S500、接收服务器反馈的充值请求密钥,将所述充值密钥转发至充值终端进行验证,验证成功后对智能卡进行充值。
具体实施时,本实施例中,当所述服务器接收到所述密钥获取指令后,进行密钥验证后生成充值请求密钥,发送回移动终端。所述移动终端将所述接收所述充值请求密钥,并将所述充值请求密钥拼装成充值指令发送至充值终端,由所述充值终端对充值指令中的充值请求密钥进行验证,验证通过后对所述智能卡增值写入充值金额,即在原有卡片余额的基础上增加充值的金额,实现对智能卡的充值。最后交易序号加1,并返回数据9000至充值终端,表示充值成功,所述充值终端收到后,发给手机,代表充值成功。若是验证不成功,即充值失败则返回6985。
具体的,所述充值指令如表4所示:
表4充值指令
CLA | INS | P1 | P2 | LC | 交易日期 | 交易时间 | MAC2 |
80 | 52 | 00 | 00 | 0B | 20191221 | 214822 | 3A845BF0 |
示例性的,请参阅图8,所述充值请求密钥的生成过程包括步骤:
M40、所述服务器接收到密钥获取指令后,提取所述密钥获取指令中的卡片数据;
M41、根据所述卡片数据计算第二验证数据,将所述第二验证数据与所述第一验证数据进行比较;
M42、当所述第二验证数据与所述第一验证数据一致时,根据所述密钥获取指令中的充值信息计算出充值请求密钥。
具体实施时,本实施例中,当所述服务器接收到所述密钥获取指令后,提取所述密钥获取指令中的随机数和交易序号,并添加第一填充数据,得到InData2,并根据所述共享密钥Ekey1对所述InData2做3DES加密得到Skey1。再提取所述密钥获取指令中卡片余额、交易金额、交易类型和终端机编号得到InData3,最后根据Skey1和InData3做MAC运算得到第二验证数据MAC0。将MAC0与MAC1进行比较,若一致,则验证成功,若不一致则验证失败。
进一步的,当验证成功时,则继续提取所述密钥获取指令中的交易金额、交易类型、终端机编号、交易日期和交易时间得到InData4,再根据所述第二过程密钥Skey(当验证成功时,则证明Skey和Skey1相同,因此直接获取Skey,也可以使用Skey1)和所述InData4进行MAC运算,得到充值请求密钥MAC2,并将所述充值请求密钥发送至移动终端。
基于上述的基于蓝牙的智能卡充值方法,请继续参阅图1,本发明还提供一种基于蓝牙的智能卡充值***,所述基于蓝牙的智能卡充值***包括移动终端10、充值终端11、服务器12以及智能卡13;
所述移动终端10用于扫描二维码或扫描蓝牙广播向充值终端11发送蓝牙连接请求,与充值终端11建立明文的蓝牙连接;蓝牙连接成功后,向所述充值终端11发送加密认证请求,与所述充值终端11进行加密认证;加密认证成功后,向所述充值终端11发送获取卡信息指令,并接收充值终端11发送的读卡反馈信息;在所述读卡反馈信息前添加充值信息得到密钥获取指令,并发送至服务器12;接收服务器12反馈的充值请求密钥,将所述充值密钥转发至充值终端11进行验证,验证成功后对智能卡13进行充值;
所述充值终端11用于根据蓝牙连接请求与移动终端10进行蓝牙连接,并在蓝牙连接成功后接收移动终端10发送的加密认证请求,与移动终端10进行加密认证连接;在加密认证连接成功后,根据移动终端10发送的获取卡信息指令读取智能卡13的卡片数据,并生成读卡反馈信息反馈至移动终端10;并根据充值请求密钥对智能卡13进行充值;
所述服务器12用于根据密钥获取指令生成充值请求密钥返回至移动终端10;
智能卡13用于根据所述读卡指令发送卡片数据至充值终端11,并接收充值终端11的充值信息写入。由于所述基于蓝牙的非接触智能卡13充值方法已在上文进行了详细描述,在此不再详述。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例所述的一种基于蓝牙的智能卡充值方法中的步骤。
本发明还提供了一种终端设备,如图9所示,其包括至少一个处理器(processor)20,以及存储器(memory)22;还可以包括显示屏21,通信接口(Communications Interface)23和/或总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器30通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及移动终端中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
基于蓝牙的智能卡充值方法、***、终端设备及存储介质包括步骤:扫描二维码或扫描蓝牙广播向充值终端发送蓝牙连接请求,与充值终端建立明文的蓝牙连接;蓝牙连接成功后,向所述充值终端发送加密认证请求,与所述充值终端进行加密认证;加密认证成功后,向所述充值终端发送获取卡信息指令,并接收充值终端发送的读卡反馈信息;在所述读卡反馈信息前添加充值信息得到密钥获取指令,并发送至服务器;接收服务器反馈的充值请求密钥,将所述充值密钥转发至充值终端进行验证,验证成功后对智能卡进行充值。本发明通过与充值终端建立蓝牙连接,通过移动终端连接服务器实现获取充值请求密钥,再通过蓝牙发送至充值终端实现对智能卡的充值。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种基于蓝牙的智能卡充值方法,其特征在于,包括步骤:
扫描二维码或扫描蓝牙广播向充值终端发送蓝牙连接请求,与充值终端建立明文的蓝牙连接;
蓝牙连接成功后,向所述充值终端发送加密认证请求,与所述充值终端进行加密认证;
加密认证成功后,向所述充值终端发送获取卡信息指令,并接收充值终端发送的读卡反馈信息;
在所述读卡反馈信息前添加充值信息得到密钥获取指令,并发送至服务器;
接收服务器反馈的充值请求密钥,将所述充值密钥转发至充值终端进行验证,验证成功后对智能卡进行充值;蓝牙连接成功后,向所述充值终端发送加密认证请求,与所述充值终端进行加密认证的步骤具体包括:
蓝牙连接成功后,向所述充值终端发送加密认证请求,并接收充值终端返回的认证信息,其中,所述认证信息由充值终端通过用户主密钥对第一随机数进行加密得到;
将所述认证信息发送至加密器,并接收加密器返回的第一认证响应报文传至充值终端进行加密认证;所述第一认证响应报文的生成过程包括步骤:
加密器通过用户主密钥对所述认证信息进行解密后,得到第一随机数;
对所述第一随机数填充第二随机数得到第三随机数,通过所述用户主密钥将所述第三随机数进行解密得到第一认证响应报文。
2.根据权利要求1所述的基于蓝牙的智能卡充值方法,其特征在于,所述接收加密器返回的第一认证响应报文传至充值终端进行加密认证的步骤具体包括:
接收加密器返回的第一认证响应报文之后,将所述第一认证响应报文发送至所述充值终端;
在充值终端验证所述第一认证响应报文正确后,与所述充值终端建立加密认证连接。
3.根据权利要求2所述的基于蓝牙的智能卡充值方法,其特征在于,所述第一认证响应报文的验证过程包括步骤:
所述充值终端通过用户主密钥将所述第一认证响应报文进行加密,得到第三随机数;
当识别出所述第三随机数中存在第一随机数时,则加密第二随机数,得到第四随机数,并根据截取规则截取第四随机数一段数据与第一随机数的一段数据组合得到第五随机数;
将第五随机数加密得到加密认证密钥,并发回移动终端,则验证成功;
当验证成功时,与所述充值终端建立使用加密认证密钥的加密认证连接。
4.根据权利要求1所述的基于蓝牙的智能卡充值方法,其特征在于,所述读卡反馈信息的生成过程包括步骤:
所述充值终端接收到所述获取卡信息指令后,对所述智能卡发送读卡指令;
所述智能卡接收到所述读卡指令后,根据自身存储的卡片数据计算第一验证数据,并将所述卡片数据和所述第一验证数据发送至所述充值终端;
当所述充值终端接收到所述卡片数据和所述第一验证数据后,根据所述卡片数据和所述第一验证数据生成所述读卡反馈信息。
5.根据权利要求1或4所述的基于蓝牙的智能卡充值方法,其特征在于,所述充值请求密钥的生成过程包括步骤:
所述服务器接收到密钥获取指令后,提取所述密钥获取指令中的卡片数据;
根据所述卡片数据计算第二验证数据,将所述第二验证数据与第一验证数据进行比较;
当所述第二验证数据与所述第一验证数据一致时,根据所述密钥获取指令中的充值信息计算出充值请求密钥。
6.一种基于蓝牙的智能卡充值***,其特征在于,所述基于蓝牙的智能卡充值***包括移动终端、充值终端、服务器以及智能卡:
所述移动终端用于扫描二维码或扫描蓝牙广播向充值终端发送蓝牙连接请求,与充值终端建立明文的蓝牙连接;蓝牙连接成功后,向所述充值终端发送加密认证请求,与所述充值终端进行加密认证;加密认证成功后,向所述充值终端发送获取卡信息指令,并接收充值终端发送的读卡反馈信息;在所述读卡反馈信息前添加充值信息得到密钥获取指令,并发送至服务器;接收服务器反馈的充值请求密钥,将所述充值密钥转发至充值终端进行验证,验证成功后对智能卡进行充值;
所述充值终端用于根据蓝牙连接请求与移动终端进行蓝牙连接,并在蓝牙连接成功后接收移动终端发送的加密认证请求,与移动终端进行加密认证连接;在加密认证连接成功后,根据移动终端发送的获取卡信息指令读取智能卡的卡片数据,并生成读卡反馈信息反馈至移动终端;并根据充值请求密钥对智能卡进行充值;
所述服务器用于根据密钥获取指令生成充值请求密钥返回至移动终端;
智能卡用于根据所述读卡指令发送卡片数据至充值终端,并接收充值终端的充值信息写入;
蓝牙连接成功后,向所述充值终端发送加密认证请求,并接收充值终端返回的认证信息,其中,所述认证信息由充值终端通过用户主密钥对第一随机数进行加密得到;
加密器通过用户主密钥对所述认证信息进行解密后,得到第一随机数;
对所述第一随机数填充第二随机数得到第三随机数,通过所述用户主密钥将所述第三随机数进行解密得到第一认证响应报文。
7.一种终端设备,其特征在于,包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如权利要求1~5任意一项所述的基于蓝牙的智能卡充值方法中的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1~5任意一项所述基于蓝牙的智能卡充值方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010846562.3A CN111954196B (zh) | 2020-08-18 | 2020-08-18 | 基于蓝牙的智能卡充值方法、***、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010846562.3A CN111954196B (zh) | 2020-08-18 | 2020-08-18 | 基于蓝牙的智能卡充值方法、***、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111954196A CN111954196A (zh) | 2020-11-17 |
CN111954196B true CN111954196B (zh) | 2021-02-26 |
Family
ID=73359207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010846562.3A Active CN111954196B (zh) | 2020-08-18 | 2020-08-18 | 基于蓝牙的智能卡充值方法、***、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111954196B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113746801B (zh) * | 2021-07-30 | 2023-07-11 | 佛山市青松科技股份有限公司 | 基于临时密钥的通信方法、发送终端、接收终端及*** |
CN115379590B (zh) * | 2022-10-27 | 2023-02-14 | 深圳市正浩创新科技股份有限公司 | 蓝牙连接建立方法、装置、电子设备及计算机存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521745A (zh) * | 2011-12-05 | 2012-06-27 | 天津市通卡公用网络***有限公司 | 跨平台的智能卡在线售卡方法 |
CN103368735B (zh) * | 2012-04-06 | 2018-05-04 | 中兴通讯股份有限公司 | 应用接入智能卡的认证方法、装置和*** |
CN106412041B (zh) * | 2016-09-20 | 2020-03-03 | 徐蔚 | 移动终端与服务提供设备连接的***及服务提供方法 |
CN107392591B (zh) * | 2017-08-31 | 2020-02-07 | 恒宝股份有限公司 | 行业卡的在线充值方法、***及蓝牙读写装置 |
CN107833031A (zh) * | 2017-10-11 | 2018-03-23 | 联动优势电子商务有限公司 | 一种ic卡余额归集方法和装置 |
CN108322560A (zh) * | 2018-01-17 | 2018-07-24 | 深圳喆行科技有限公司 | 一种读写设备初始化的方法与*** |
CN111063098B (zh) * | 2019-11-26 | 2023-03-28 | 广州羊城通有限公司 | 一种蓝牙充值的实现方法及*** |
CN110992049B (zh) * | 2019-12-02 | 2021-02-26 | 北京市燃气集团有限责任公司 | 智能写卡方法和设备 |
-
2020
- 2020-08-18 CN CN202010846562.3A patent/CN111954196B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111954196A (zh) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6585281B2 (ja) | ウェアラブルデバイスを使用した電子決済を容易にするための方法および装置 | |
CN101667240B (zh) | 智能卡及其写卡方法、设备和*** | |
US9445262B2 (en) | Authentication server, mobile terminal and method for issuing radio frequency card key using authentication server and mobile terminal | |
US5202922A (en) | Data communication system | |
US20130173477A1 (en) | Storing and forwarding credentials securely from one RFID device to another | |
US20040025021A1 (en) | Smart card and settlement terminal | |
EP3128478A1 (en) | Payment processing system using encrypted payment information, and method therefor | |
CN111954196B (zh) | 基于蓝牙的智能卡充值方法、***、终端设备及存储介质 | |
JP2006099509A (ja) | 情報管理装置および方法、並びにプログラム | |
EP2128830A1 (en) | A method and an electronic device for transferring application data from a source electronic device to a destination electronic device | |
JP2015510640A (ja) | 取引処理システム及び方法 | |
WO2013071711A1 (zh) | 一种处理支付业务的方法和终端 | |
KR101157541B1 (ko) | 피투피 쿠폰 발급 시스템 및 그 방법 | |
CN104240073A (zh) | 一种基于预付卡的脱机支付方法和*** | |
EP2518671A1 (en) | Method and mobile terminal for realizing network payment | |
CN102812487A (zh) | 用于提供基于因特网交易的方法和*** | |
CN104754568A (zh) | 基于nfc的身份识别方法及装置 | |
CN101840599A (zh) | 一种电子钱包的圈存方法及*** | |
CN101944216A (zh) | 双因子在线交易安全认证方法及*** | |
WO2015168878A1 (zh) | 支付方法和装置以及支付要素处理方法和装置 | |
CN104881781A (zh) | 一种基于安全交易的方法、***及客户端 | |
CN101330675A (zh) | 一种移动支付终端设备 | |
US20140089169A1 (en) | System and Method of Processing Payment Transactions via Mobile Devices | |
CN101587458A (zh) | 智能存储卡的操作方法及装置 | |
CN105635164A (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 |