CN115099816A - 一种基于时间戳的虚拟电子票卡实现方法及系统 - Google Patents
一种基于时间戳的虚拟电子票卡实现方法及系统 Download PDFInfo
- Publication number
- CN115099816A CN115099816A CN202210676115.7A CN202210676115A CN115099816A CN 115099816 A CN115099816 A CN 115099816A CN 202210676115 A CN202210676115 A CN 202210676115A CN 115099816 A CN115099816 A CN 115099816A
- Authority
- CN
- China
- Prior art keywords
- validator
- data
- transaction
- nfc equipment
- time
- 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.)
- Pending
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/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
-
- 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/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
-
- 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/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0872—Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72409—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
- H04M1/72412—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于时间戳的虚拟电子票卡实现方法及系统,涉及电子支付技术领域。该方法包括:建立NFC设备与服务器之间的网络通信连接;NFC设备向服务器发出请求,服务器接收到请求后将票卡数据发送给NFC设备;NFC设备根据虚拟电子票卡的类型对票卡数据进行存储;NFC设备根据虚拟电子票卡的类型与validator端进行交易数据的传输、加密和验证。本方案实现了采用HCE方式在现有的android手机上实现虚拟电子票卡,使用者可以根据自己喜好选择是否在NFC设备显示交易日志信息,还可以将交易日志上送至云端服务器,一旦出现问题,可以快速定位。
Description
技术领域
本发明涉及电子支付技术领域,尤其涉及一种基于时间戳的虚拟电子票卡实现方法及系统。
背景技术
交通一卡通互联互通在公交和地铁上目前普遍采用JT/T978-2015标准,技术上可使用对称密钥或非对称密钥技术在公交检票机或地铁验票闸机上对一卡通发行机构发行的卡片真伪进行验证,验证成功后产生相应的票卡交易记录,通过公交和地铁运营机构上送至所属资金结算机构,再由所属资金结算机构将互联互通卡片的交易记录上送至所属省(区域)票卡数据交换机构,在上送并最终通过全国票卡数据交换中心实现数据交换和资金划拨。
HCE应用程序一般可以运行在NFC设备的富执行环境(Rich ExecutionEnvironment,REE)中,通过NFC设备的NFC接口与POS机或者读卡器等读卡设备进行通信。REE是一种安全级别较低的运行环境,即任何来源的应用程序经用户许可都可安装到NFC设备的REE中,并且对于REE中存储的数据的保护也不足以抵御各种恶意软件的威胁,故当HCE应用程序安装和运行在REE中时,其相关的用户账户等机密数据的安全级别较低,容易被窃取。
然而,目前常常需要利用HCE机制来实现一些安全性能要求较高的应用,诸如银行发布的HCE支付应用等,如果将这些安全性能要求较高的HCE应用安装到REE中,HCE应用关联的账户数据很容易被恶意程序的窃取。因此REE中的HCE程序的关联数据处于比较危险的状态。
因此,在TEE环境下,核心数据安全,但开发测试复杂;在REE环境下,核心数据安全度降低,但开发,测试简单,目前的虚拟电子票卡实现难以平衡。
发明内容
本发明所要解决的是目前的虚拟电子票卡实现难以平衡的问题,为了解决上述技术问题,本发明提供了一种基于时间戳的虚拟电子票卡实现方法及系统。
第一个方面,提供了一种基于时间戳的虚拟电子票卡实现方法,包括:
建立NFC设备与服务器之间的网络通信连接;
所述NFC设备向所述服务器发出请求,所述服务器接收到所述请求后将票卡数据发送给所述NFC设备;
所述NFC设备根据虚拟电子票卡的类型对所述票卡数据进行存储;
所述NFC设备根据所述虚拟电子票卡的类型与validator端进行交易数据的传输、加密和验证;
其中,所述票卡数据中包含密钥,所述NFC设备与所述validator端之间采用一级分散因子保持不变且将时间戳作为二级分散因子参与二级密钥分散的对称密钥分散方法进行加密和验证。
在第一个方面的一种可能实现中,所述NFC设备根据所述虚拟电子票卡的类型与validator端进行交易数据的传输、加密和验证,具体包括:
当所述虚拟电子票卡为电子钱包时,validator端将PPSE选择命令发送给所述NFC设备,所述NFC设备接收到所述PPSE选择命令后,将所述票卡数据中的PPSE响应报文数据返回给所述validator端;
所述validator端接收到所述PPSE响应报文数据后进行验证,验证通过后将ADF选择命令发送给所述NFC设备,所述NFC设备接收到所述ADF选择命令后,将所述票卡数据中的第一ADF响应报文数据返回给所述validator端;
所述validator端从所述第一ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将所述生效时间和所述失效时间与本机RTC交易时间进行比对,当所述交易时间在所述生效时间和所述失效时间之间时,所述validator端根据所述交易时间发送第一交易指令给所述NFC设备,所述NFC设备接收到所述第一交易指令后将交易数据返回给所述validator端,所述validator端接收到所述交易数据后,对所述交易数据进行识别;
所述validator端将所述一级分散因子、二级分散因子和所述交易数据发送给预设的PSAM卡计算第一MAC;
所述validator端根据所述第一MAC及所述交易数据生成第二交易指令并发送给所述NFC设备,所述NFC设备接收到所述第二交易指令后生成TAC和第二MAC并返回给所述validator端。
在第一个方面的一种可能实现中,还包括:
当所述虚拟电子票卡为电子钱包时,validator端将PPSE选择命令发送给所述NFC设备,所述NFC设备接收到所述PPSE选择命令后,将所述票卡数据中的PPSE响应报文数据返回给所述validator端;
所述validator端接收到所述PPSE响应报文数据后进行验证,验证通过后将ADF选择命令发送给所述NFC设备,所述NFC设备接收到所述ADF选择命令后,将所述票卡数据中的第一ADF响应报文数据返回给所述validator端;
所述validator端从所述第一ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将所述生效时间和所述失效时间与本机RTC交易时间进行比对,当所述交易时间在所述生效时间和所述失效时间之间时,所述validator端根据所述交易时间发送第一交易指令给所述NFC设备,所述NFC设备接收到所述第一交易指令后将交易数据返回给所述validator端,所述validator端接收到所述交易数据后,对所述交易数据进行识别;
所述validator端将所述一级分散因子、二级分散因子和所述交易数据发送给预设的PSAM卡计算第一MAC;
所述validator端根据所述第一MAC及所述交易数据生成第二交易指令并发送给所述NFC设备,所述NFC设备接收到所述第二交易指令后生成TAC和第二MAC并返回给所述validator端;
所述validator端将所述第二MAC发送给所述PSAM卡进行校验,校验成功后,所述validator端提示验证成功,将所述TAC和校验数据发送给所述服务器。
在第一个方面的一种可能实现中,所述NFC设备根据所述虚拟电子票卡的类型与validator端进行交易数据的传输、加密和验证,具体包括:
当所述虚拟电子票卡为电子现金时,validator端将PPSE选择命令发送给所述NFC设备,所述NFC设备接收到所述PPSE选择命令后,将所述票卡数据中的PPSE响应报文数据返回给所述validator端;
所述validator端接收到所述PPSE响应报文数据后进行验证,验证通过后将ADF选择命令发送给所述NFC设备,所述NFC设备接收到所述ADF选择命令后,将所述票卡数据中的第二ADF响应报文数据返回给所述validator端;
所述validator端从所述第二ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将所述生效时间和所述失效时间与本机RTC交易时间进行比对,当所述交易时间在所述生效时间和所述失效时间之间时,所述validator端根据所述交易时间发送GPO指令给所述NFC设备,所述NFC设备接收到所述GPO指令后,根据所述票卡数据中GPO类型验证所述GPO指令,当验证通过时,根据所述票卡数据计算应用密文和签名的动态应用数据并返回给所述validator端;
所述NFC设备识别到所述validator端发送的更新文件命令后,进行更新;
所述NFC设备识别到所述validator端发送的读记录命令后,根据记录号将所述票卡数据中的dgi数据返回给所述validator端。
在第一个方面的一种可能实现中,还包括:
当所述虚拟电子票卡为电子现金时,validator端将PPSE选择命令发送给所述NFC设备,所述NFC设备接收到所述PPSE选择命令后,将所述票卡数据中的PPSE响应报文数据返回给所述validator端;
所述validator端接收到所述PPSE响应报文数据后进行验证,验证通过后将ADF选择命令发送给所述NFC设备,所述NFC设备接收到所述ADF选择命令后,将所述票卡数据中的第二ADF响应报文数据返回给所述validator端;
所述validator端从所述第二ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将所述生效时间和所述失效时间与本机RTC交易时间进行比对,当所述交易时间在所述生效时间和所述失效时间之间时,所述validator端根据所述交易时间发送GPO指令给所述NFC设备,所述NFC设备接收到所述GPO指令后,将GPO响应报文数据发送给所述validator端;
所述validator端将所述一级分散因子、所述二级分散因子和所述GPO响应报文数据发送给预设的PSAM卡计算更新文件;
所述validator端根据所述GPO响应报文数据识别所述NFC设备返回的校验数据;
所述NFC设备根据所述校验数据进行fDDA校验,校验通过后所述validator端提示验证成功,并将所述GPO响应报文数据及其校验数据发送给所述服务器。
第二个方面,提供了一种基于时间戳的虚拟电子票卡实现系统,包括:NFC设备、服务器和validator端,所述NFC设备与所述服务器之间建立有网络通信连接,其中:
所述NFC设备用于向所述服务器发出请求,所述服务器用于接收到所述请求后将票卡数据发送给所述NFC设备;
所述NFC设备用于根据虚拟电子票卡的类型对所述票卡数据进行存储;
所述NFC设备用于根据所述虚拟电子票卡的类型与validator端进行交易数据的传输、加密和验证;
其中,所述票卡数据中包含密钥,所述NFC设备与所述validator端之间采用一级分散因子保持不变且将时间戳作为二级分散因子参与二级密钥分散的对称密钥分散方法进行加密和验证。
本方案实现了采用HCE方式在现有的android手机上实现虚拟电子票卡,使用者可以根据自己喜好选择是否在NFC设备显示交易日志信息,还可以将交易日志上送至云端服务器,一旦出现问题,可以快速定位,并且HCE方式虚拟电子票卡可以包括互联互通虚拟钱包应用票卡和互联互通虚拟现金应用票卡两个部分,每一种虚拟票卡均可使用国际和国密算法,并支持两种货币类型的交易。
本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。
附图说明
图1为本发明虚拟电子票卡实现方法的实施例提供的结构框架示意图;
图2为本发明的其他实施例提供的虚拟电子票卡实现和验证时序示意图;
图3为本发明虚拟电子票卡实现方法的其他实施例提供的电子钱包验证方法示意图;
图4为本发明虚拟电子票卡实现方法的实施例提供的电子现金验证方法示意图;
图5为现有的使用安全单元的卡模拟示意图;
图6为本发明使用HCE实现的NFC虚拟电子票卡示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实施例只用于解释本发明,并非用于限定本发明的范围。
需要说明的是,本发明依托预设的规范,对于一卡通票卡机构业务系统加密机(HSM)中的对称密钥或非对称密钥,采用如下方法:
对于对称密钥,使用了部分卡片主帐号:8位(例如:12345678)加时间戳(包含卡片生效时间:8位,例如:FFFFFFFF),作为二级分散因子参与二级密钥分散的方法,同时一级分散因子保持不变,从对称密钥生命周期管理角度看,缩短了对称密钥的有效时间,保证在对称密钥有效时间内,检票NFC设备(validator)对电子票卡数据的合法性使用通过二级分散后的对称密钥进行验证。
对于非对称密钥,使用的IC卡证书采用了修改后的主帐号(16位,例如:3105228000001117)、卡片生效日期(4字节,例如:FFFFFFFF)和卡片失效日期(4字节,例如:FFFFFFFF)等输入数据参与证书签名,从非对称密钥生命周期管理角度看,缩短了非对称密钥的有效时间,保证在非对称密钥有效时间内,检票NFC设备(validator)对电子票卡数据的合法性使用该非对称密钥的签名进行验证。
应理解,预设的规范可以为JT/T978-2015,也可以为其他规范,后续的说明中以此规范为例,其余规范不再一一赘述。
在上面设计的基础上,在虚拟电子票卡客户端(SmartPICC)分别实现了一种新型的互联互通虚拟电子票卡钱包应用EP_K6和一种新型的互联互通虚拟电子票卡现金应用EC_K5,并在Validator端给出了对上面两种虚拟电子票卡的合法性检票验证方法,下面详细说明。
如图1所示,为本发明虚拟电子票卡实现方法的实施例提供的结构框架示意图,在虚拟电子票卡云Se服务端,通过以上设计,结合国产SM2、SM3和SM4密码算法,通过一种新型的电子票卡应用数据准备系统,将电子票卡应用的数据分为常规数据和卡片应用密钥数据,对于JT/T978技术规范规定的电子票卡钱包应用,结合国产SM4密码算法,可以快速在支持NFC的手持设备中采用HCE方式实现一种新型的互联互通虚拟电子票卡钱包应用EP_K6;对于JT/T978技术规范规定的现金应用,结合国产SM2、SM3和SM4密码算法,可以快速在支持NFC的手持设备中采用HCE方式实现一种新型的互联互通虚拟电子票卡现金应用EC_K5。
在虚拟电子票卡客户端(SmartPICC)HCE方式实现的虚拟电子票卡(EP_K6和EC_K5)设计采用分层方式,各层之间相互关联,共分为2层:上层为应用的功能模块,下层为基础功能模块,具体结构如图1所示。
功能模块是用户通过界面与HCE进行交互的模块,包括账号管理和交易管理。其中账号管理是用户登陆操作;交易管理是用户对虚拟卡进行消费、圈存等操作;
基础模块是为功能模块的实现提供基础保障,利用Android底层虚拟机软件实现,而不是基于安全单元模块SE或TEE(Trust Execution Environment,android手机可信执行环境)环境。其中通信管理是指网络通信、NFC通信;显示管理是人机界面的显示;算法管理是功能应用涉及使用的算法,包括国际和国密算法;应用安装管理是应用AID的存储和使用;数据存储管理是云端下发的数据信息的存储。
HCE方式虚拟电子票卡打破了传统的卡COS实现方式,无需在卡内部的安全单元进行数据存储,仅需将电子票卡应用相关的数据和密钥存放在云SE服务端,同时它采用在Android平台的API进行JAVA程序开发,通过APDU通信方式完成卡片的交易流程,有效的提高了开发效率,降低了维护难度,缩短了交易时间。
对于该虚拟电子票卡,使用者可以根据自己喜好选择是否在SMART PICC端显示交易日志信息,还可以将交易日志上送至云端服务器,一旦出现问题,可以快速定位。
HCE方式的虚拟电子票卡包括互联互通虚拟钱包应用票卡(EP_K6)和互联互通虚拟现金应用票卡(EC_K5)两个部分。每一种虚拟票卡均可使用国际和国密算法,并支持两种货币类型的交易。
图5为现有的使用安全单元的卡模拟示意图,现有技术中,NFC读写器与NFC控制器通信,图6为本发明使用HCE实现的NFC虚拟电子票卡示意图,省去了安全模块,本发明完全兼容现有技术方案,将卡片的生效时间和卡片失效时间设置成实体卡片的时间,即支持发行基于安全单元的互联互通实体卡,手机全NFC设备模式的虚拟卡和手机NFC-SIM模式的虚拟卡,通过将卡片的生效时间和卡片失效时间设置成合理的时间,例如:300秒,即支持发行HCE互联互通虚拟票卡,在一定程度上解决了安全和便捷两者的矛盾统一,且完全支持国产密码算法。该方法即保证了原有的数据交换系统升级方便,在较小的更改下,就可以实现原有的数据功能,又保证了虚拟卡的应用安全。HCE模式给一卡通互联互通运营机构带来新的APP统一入口,给行业提供了更好的电子票卡服务。
下面结合具体示例对实现方法进行说明。
该基于时间戳的虚拟电子票卡实现方法包括:
建立NFC设备与服务器之间的网络通信连接;
NFC设备向服务器发出请求,服务器接收到请求后将票卡数据发送给NFC设备;
NFC设备根据虚拟电子票卡的类型对票卡数据进行存储;
NFC设备根据虚拟电子票卡的类型与validator端进行交易数据的传输、加密和验证;
其中,票卡数据中包含密钥,NFC设备与validator端之间采用一级分散因子保持不变且将时间戳作为二级分散因子参与二级密钥分散的对称密钥分散方法进行加密和验证。
如图2所示,提供了一种示例性的虚拟电子票卡实现和验证时序示意图,下面以SmartPICC端和云SE服务为例,进行进一步说明。
步骤1:SmartPICC端和云SE服务端之间通过HTTP协议进行网络通信;
步骤2:Smart PICC端向云SE服务端发起请求,申请电子票卡应用相关的数据和密钥;
电子票卡应用相关的数据可以为规范中的0x17文件,例如,可以为持卡人信息文件等,密钥可以为消费密钥等。
步骤3:云SE服务端在接收到Smart PICC端的请求后,按照卡的类型、机构号等信息划分,将电子票卡应用相关的数据和密钥发给Smart PICC端;
步骤4:Smart PICC端接收到电子票卡应用相关的数据和密钥后,按照应用类型(电子现金和电子钱包)对其进行存储,待步骤5中使用;
步骤5:HCE方式虚拟电子票卡的应用实现是以APDU数据通信方式完成。
应理解,APDU数据通信过程中可将通信数据实时显示在UI界面上,并对其进行解析。该部分的实现不是采用传统的整体移植JAVA实体卡的APPLET方式实现,避免了卡应用开发的复杂性,同时也节省了刷卡的交易时间。
HCE方式的虚拟电子票卡的应用分为电子钱包和电子现金两种,两种应用是独立的,运营机构和用户可根据自己业务需要选择实施其中的一种。
此外,在电子票卡受理端,Validator无需更换互联互通PSAM,仅需升级Validator电子票卡受理软件,即可对这种新型的HCE互联互通虚拟电子票卡进行验证,对验证票卡软件的测试方法简单,由于两种应用是独立的,交通一卡通运营机构可根据自己业务需要选择受理验证其中的一种。
票卡验证通过后,产生票卡记录和组包的方式不变,原有的互联互通数据交换体系不变。
本实施例实现了采用HCE方式在现有的android手机上实现虚拟电子票卡,使用者可以根据自己喜好选择是否在NFC设备显示交易日志信息,还可以将交易日志上送至云端服务器,一旦出现问题,可以快速定位,并且HCE方式虚拟电子票卡可以包括互联互通虚拟钱包应用票卡和互联互通虚拟现金应用票卡两个部分,每一种虚拟票卡均可使用国际和国密算法,并支持两种货币类型的交易。
可选地,在一些可能的实施方式中,NFC设备根据虚拟电子票卡的类型与validator端进行交易数据的传输、加密和验证,具体包括:
当虚拟电子票卡为电子钱包时,validator端将PPSE(Pr im Payment SystemsEnvironment,近距离支付系统环境)选择命令发送给NFC设备,NFC设备接收到PPSE选择命令后,将票卡数据中的PPSE响应报文数据返回给validator端;
validator端接收到PPSE响应报文数据后进行验证,验证通过后将ADF(Application Definition File,应用专用文件)选择命令发送给NFC设备,NFC设备接收到ADF选择命令后,将票卡数据中的第一ADF响应报文数据返回给validator端;
validator端从第一ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将生效时间和失效时间与本机RTC交易时间进行比对,当交易时间在生效时间和失效时间之间时,validator端根据交易时间发送第一交易指令给NFC设备,NFC设备接收到第一交易指令后将交易数据返回给validator端,validator端接收到交易数据后,对交易数据进行识别;
validator端将一级分散因子、二级分散因子和交易数据发送给预设的PSAM卡计算第一MAC;
validator端根据第一MAC及交易数据生成第二交易指令并发送给NFC设备,NFC设备接收到第二交易指令后生成TAC和第二MAC并返回给validator端。
其中,PSAM卡是用于配合Validator验证电子票卡应用的密码模块,主要存储对称密钥。
下面以SmartPICC端和云SE服务器为例,给出更为具体的说明。
电子钱包(EP_K6,Electric Purse电子钱包应用,一种交通一卡通电子客票应用,主要采用对称密钥方式实现和校验电子客票的合法性)的虚拟电子票卡应用具体实现步骤如下:
步骤01:将带有HCE虚拟电子票卡的手机放在validator端,进行NFC通讯识别。SmartPICC端识别到validator端发送的选择命令(PPSE),则将电子票卡应用相关的数据中的FCI数据(PPSE的响应报文数据)取出返回给validator端;
步骤02:SmartPICC端识别到validator端发送的选择命令(ADF),则将电子票卡应用相关的数据中的FCI数据(ADF的响应报文数据)取出返回给validator端,其中FCI数据必须包括tag9F0C;
步骤03:SmartPICC端识别到validator端发送的读记录命令,则将电子票卡应用相关数据中的记录值返回给validator端;
步骤04:SmartPICC端识别到validator端发送的复合消费初始化命令,首先判断是交易的币种为人民币还是外币,然后将电子票卡应用相关数据中的信息返回给validator端,返回的信息可以包括:余额(4字节)、交易序号(2字节)、透支限额(3字节)、密钥版本号(1字节)、算法标识(1字节)、随机数(4字节)。
步骤05:SmartPICC端识别到validator端发送的更新文件命令(1A或1E文件),SmartPICC端验证并执行更新。
步骤06:SmartPICC端识别到validator端发送的复合应用消费命令,则利用密钥进行验证应用交易的正确性,并将MAC(Authentication Code,报文鉴别码)和TAC(Transaction Authorization pto m,交易验证码)返回给validator端。
步骤07:SmartPICC端如果发生了闪卡则保存闪卡数据,并提示用户重新拍卡,再次执行步骤01-06。
其中,记录值、tag9F0C、1A和1E文件等为标准JTT978.2-2015中规定的值。
可选地,在一些可能的实施方式中,还包括:
当虚拟电子票卡为电子钱包时,validator端将PPSE选择命令发送给NFC设备,NFC设备接收到PPSE选择命令后,将票卡数据中的PPSE响应报文数据返回给validator端;
validator端接收到PPSE响应报文数据后进行验证,验证通过后将ADF选择命令发送给NFC设备,NFC设备接收到ADF选择命令后,将票卡数据中的第一ADF响应报文数据返回给validator端;
validator端从第一ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将生效时间和失效时间与本机RTC交易时间进行比对,当交易时间在生效时间和失效时间之间时,validator端根据交易时间发送第一交易指令给NFC设备,NFC设备接收到第一交易指令后将交易数据返回给validator端,validator端接收到交易数据后,对交易数据进行识别;
validator端将一级分散因子、二级分散因子和交易数据发送给预设的PSAM卡计算第一MAC;
validator端根据第一MAC及交易数据生成第二交易指令并发送给NFC设备,NFC设备接收到第二交易指令后生成TAC和第二MAC并返回给validator端;
validator端将第二MAC发送给PSAM卡进行校验,校验成功后,validator端提示验证成功,将TAC和校验数据发送给服务器。
下面以SmartPICC端和云SE服务器为例,给出更为具体的说明。
如图3所示,EP_K6的验证方法如下:
步骤01:validator天线开场寻卡,成功后发送选择PPSE指令给SmartPICC端,对SmartPICC端返回的FCI数据进行解析,识别tag4F、tag50和tag87,如果tag4F指定的ADF指令是在本validator支持的AID(Application Identifier,应用标识符)列表,进行步骤02;
步骤02:validator发送选择ADF指令给SmartPICC端,成功后对SmartPICC端返回的FCI数据进行解析,识别tag9F0C;
步骤03:validator从tag9F0C中提取一级分散因子和二级分散因子;
步骤04:validator从tag9F0C中提取生效时间和失效时间,与validator本机RTC交易时间进行比对,交易时间应在生效时间和失效时间之间,进行步骤05;
步骤05:validator按照步骤04指定的交易时间发送init for(capp)purchase指令给SmartPICC端,成功后对SmartPICC端返回数据进行识别,返回的交易数据为:余额(4字节)、交易序号(2字节)、透支限额(3字节)、密钥版本号(1字节)、算法标识(1字节)、随机数(4字节);
步骤06:validator将获取的一级分散因子和二级分散因子及返回的交易数据,发送给自带的PSAM卡计算MAC1;
步骤07:对于支持钱包应用capp交易的validator,可发送更新1A或1E指令;
步骤08:validator将获取的MAC1及返回交易的数据生成debit for(capp)purchase指令发送给SmartPICC端,识别SmartPICC端返回的指令数据:TAC(4字节)+MAC2(4字节);
步骤09:validator将获取的MAC2发送给自带的PSAM卡校验,成功后进入步骤10;
步骤10:如果发生了闪卡则保存闪卡数据,并提示用户重新拍卡,再次执行步骤01-09。
步骤11:validator提示EP_K6票卡验证成功,将TAC和验证TAC的相关数据组成相关的票卡交易报文上送给云SE服务.
其中,tag4F、tag50、tag87、tag9F0C、init for(capp)purchase指令和debit for(capp)purchase指令等为标准JTT978.2-2015中规定的值。
可选地,在一些可能的实施方式中,NFC设备根据虚拟电子票卡的类型与validator端进行交易数据的传输、加密和验证,具体包括:
当虚拟电子票卡为电子现金时,validator端将PPSE选择命令发送给NFC设备,NFC设备接收到PPSE选择命令后,将票卡数据中的PPSE响应报文数据返回给validator端;
validator端接收到PPSE响应报文数据后进行验证,验证通过后将ADF选择命令发送给NFC设备,NFC设备接收到ADF选择命令后,将票卡数据中的第二ADF响应报文数据返回给validator端;
validator端从第二ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将生效时间和失效时间与本机RTC交易时间进行比对,当交易时间在生效时间和失效时间之间时,validator端根据交易时间发送GPO指令给NFC设备,NFC设备接收到GPO指令后,根据票卡数据中GPO类型验证GPO指令,当验证通过时,根据票卡数据计算应用密文和签名的动态应用数据并返回给validator端;
NFC设备识别到validator端发送的更新文件命令后,进行更新;
NFC设备识别到validator端发送的读记录命令后,根据记录号将票卡数据中的dgi数据返回给validator端。
下面以SmartPICC端和云SE服务器为例,给出更为具体的说明。
电子现金(EC_K5,Electric Cash电子现金应用,一种交通一卡通电子客票应用,主要采用非对称密钥结合对称密钥方式实现和校验电子客票的合法性)的虚拟电子票卡应用具体实现步骤如下:
步骤01:将带有HCE虚拟票卡的手机放在validator端,进行NFC通讯识别。SmartPICC端识别到validator端发送的选择命令(PPSE),则将电子票卡应用相关的数据中的FCI数据(PPSE的响应报文数据)取出返回给validator端,用于validator端识别ADF值;
步骤02:SmartPICC端识别到validator端发送的选择命令(ADF),则将电子票卡应用相关的数据中的FCI数据(ADF的响应报文数据)取出返回给validator端;
步骤03:SmartPICC端识别到validator端发送的取数据命令,则将电子票卡应用相关数据中的值返回给validator端;
步骤04:SmartPICC端识别到validator端发送的GPO(Get Processing Options,获取处理选项)命令,则首先根据电子票卡应用相关数据中的GPO类型,验证GPO命令的正确性;然后根据电子票卡应用相关数据中的值计算应用密文(tag9F26)和签名的动态应用数据(tag9F4B)的值,最后返回给validator端,为validator端动态签名提供数据;
步骤05:SmartPICC端识别到validator端发送的更新文件命令,SmartPICC端执行更新;
步骤06:SmartPICC端识别到validator端发送的读记录命令,SmartPICC端根据记录号将电子票卡应用相关数据中的dgi数据返回给validator端;
步骤07:如果发生了闪卡则保存闪卡数据,并提示用户重新拍卡,再次执行步骤01-06。
步骤08:应用交易结束后,SmartPICC端和validator端具备同样的功能,可向云SE服务端上传交易日志。
其中,电子票卡应用相关数据中的值、tag9F26、tag9F4B和dgi数据等为标准JTT978.2-2015中规定的值。
可选地,在一些可能的实施方式中,还包括:
当虚拟电子票卡为电子现金时,validator端将PPSE选择命令发送给NFC设备,NFC设备接收到PPSE选择命令后,将票卡数据中的PPSE响应报文数据返回给validator端;
validator端接收到PPSE响应报文数据后进行验证,验证通过后将ADF选择命令发送给NFC设备,NFC设备接收到ADF选择命令后,将票卡数据中的第二ADF响应报文数据返回给validator端;
validator端从第二ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将生效时间和失效时间与本机RTC交易时间进行比对,当交易时间在生效时间和失效时间之间时,validator端根据交易时间发送GPO指令给NFC设备,NFC设备接收到GPO指令后,将GPO响应报文数据发送给validator端;
validator端将一级分散因子、二级分散因子和GPO响应报文数据发送给预设的PSAM卡计算更新文件;
validator端根据GPO响应报文数据识别NFC设备返回的校验数据;
NFC设备根据校验数据进行fDDA校验,校验通过后validator端提示验证成功,并将GPO响应报文数据及其校验数据发送给服务器。
下面以SmartPICC端和云SE服务器为例,给出更为具体的说明。
如图4所示,EC_K5的验证方法如下:
步骤01:validator天线开场寻卡,成功后发送选择PPSE指令,对卡片返回的FCI数据进行解析,识别tag4F、tag50和tag87,如果4F指定的ADF是在本validator支持的AID列表,进行步骤02;
步骤02:validator发送选择ADF指令,成功后对卡片返回的FCI数据进行解析,识别tagDF11和tag9F38;
步骤03:validator从tagDF11中提取一级分散因子和二级分散因子;
步骤04:validator从tagDF11中提取生效时间和失效时间,与validator本机RTC交易时间进行比对,交易时间应在生效时间和失效时间之间,进行步骤05;
步骤05:validator按照步骤04指定的交易时间以及其他tag9F38要求的数据发送GPO指令,成功后识别卡片返回数据:tag9F26、tag9F4B、tag94等数据;
步骤06:validator将获取的一级分散因子和二级分散因子及其他交易相关数据,发送给PSAM卡计算1A或1E文件更新保护MAC;
步骤07:对于支持电子现金ext交易的validator,可发送更新1A或1E指令;
步骤08:validator根据步骤05返回的tag94发送读记录(多条)指令,成功后识别卡片返回数据:tag90、tag9F46等数据;
步骤09:根据tag90、tag9F46、tag9F4B等数据进行fDDA校验,成功后进入步骤10;
步骤10:如果发生了闪卡则保存闪卡数据,并提示用户重新拍卡,再次执行步骤01-09。
步骤11:validator提示EC_K5票卡验证成功,将tag9F26和验证tag9F26的相关数据组成相关的票卡交易报文上送;
其中,tag4F、tag50、tag87、tagDF11、tag9F38、tag9F26、tag9F4B、tag94、tag90和tag9F46等为标准JTT978.2-2015中规定的值。
本发明还提供一种基于时间戳的虚拟电子票卡实现系统,包括:NFC设备、服务器和validator端,NFC设备与服务器之间建立有网络通信连接,其中:
NFC设备用于向服务器发出请求,服务器用于接收到请求后将票卡数据发送给NFC设备;
NFC设备用于根据虚拟电子票卡的类型对票卡数据进行存储;
NFC设备用于根据虚拟电子票卡的类型与validator端进行交易数据的传输、加密和验证;
其中,票卡数据中包含密钥,NFC设备与validator端之间采用一级分散因子保持不变且将时间戳作为二级分散因子参与二级密钥分散的对称密钥分散方法进行加密和验证。
本实施例实现了采用HCE方式在现有的android手机上实现虚拟电子票卡,使用者可以根据自己喜好选择是否在NFC设备显示交易日志信息,还可以将交易日志上送至云端服务器,一旦出现问题,可以快速定位,并且HCE方式虚拟电子票卡可以包括互联互通虚拟钱包应用票卡和互联互通虚拟现金应用票卡两个部分,每一种虚拟票卡均可使用国际和国密算法,并支持两种货币类型的交易。
可选地,在一些可能的实施方式中,当虚拟电子票卡为电子钱包时,validator端用于将PPSE选择命令发送给NFC设备,NFC设备用于接收到PPSE选择命令后,将票卡数据中的PPSE响应报文数据返回给validator端;
validator端用于接收到PPSE响应报文数据后进行验证,验证通过后将ADF选择命令发送给NFC设备,NFC设备用于接收到ADF选择命令后,将票卡数据中的第一ADF响应报文数据返回给validator端;
validator端用于从第一ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将生效时间和失效时间与本机RTC交易时间进行比对,当交易时间在生效时间和失效时间之间时,validator端用于根据交易时间发送第一交易指令给NFC设备,NFC设备用于接收到第一交易指令后将交易数据返回给validator端,validator端用于接收到交易数据后,对交易数据进行识别;
validator端用于将一级分散因子、二级分散因子和交易数据发送给预设的PSAM卡计算第一MAC;
validator端用于根据第一MAC及交易数据生成第二交易指令并发送给NFC设备,NFC设备用于接收到第二交易指令后生成TAC和第二MAC并返回给validator端。
可选地,在一些可能的实施方式中,当虚拟电子票卡为电子钱包时,validator端用于将PPSE选择命令发送给NFC设备,NFC设备用于接收到PPSE选择命令后,将票卡数据中的PPSE响应报文数据返回给validator端;
validator端用于接收到PPSE响应报文数据后进行验证,验证通过后将ADF选择命令发送给NFC设备,NFC设备用于接收到ADF选择命令后,将票卡数据中的第一ADF响应报文数据返回给validator端;
validator端用于从第一ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将生效时间和失效时间与本机RTC交易时间进行比对,当交易时间在生效时间和失效时间之间时,validator端用于根据交易时间发送第一交易指令给NFC设备,NFC设备用于接收到第一交易指令后将交易数据返回给validator端,validator端用于接收到交易数据后,对交易数据进行识别;
validator端用于将一级分散因子、二级分散因子和交易数据发送给预设的PSAM卡计算第一MAC;
validator端用于根据第一MAC及交易数据生成第二交易指令并发送给NFC设备,NFC设备接用于收到第二交易指令后生成TAC和第二MAC并返回给validator端;
validator端用于将第二MAC发送给PSAM卡进行校验,校验成功后,validator端提示验证成功,将TAC和校验数据发送给服务器。
可选地,在一些可能的实施方式中,当虚拟电子票卡为电子现金时,validator端用于将PPSE选择命令发送给NFC设备,NFC设备用于接收到PPSE选择命令后,将票卡数据中的PPSE响应报文数据返回给validator端;
validator端用于接收到PPSE响应报文数据后进行验证,验证通过后将ADF选择命令发送给NFC设备,NFC设备用于接收到ADF选择命令后,将票卡数据中的第二ADF响应报文数据返回给validator端;
validator端用于从第二ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将生效时间和失效时间与本机RTC交易时间进行比对,当交易时间在生效时间和失效时间之间时,validator端用于根据交易时间发送GPO指令给NFC设备,NFC设备用于接收到GPO指令后,根据票卡数据中GPO类型验证GPO指令,当验证通过时,根据票卡数据计算应用密文和签名的动态应用数据并返回给validator端;
NFC设备用于识别到validator端发送的更新文件命令后,进行更新;
NFC设备用于识别到validator端发送的读记录命令后,根据记录号将票卡数据中的dgi数据返回给validator端。
可选地,在一些可能的实施方式中,当虚拟电子票卡为电子现金时,validator端用于将PPSE选择命令发送给NFC设备,NFC设备用于接收到PPSE选择命令后,将票卡数据中的PPSE响应报文数据返回给validator端;
validator端用于接收到PPSE响应报文数据后进行验证,验证通过后将ADF选择命令发送给NFC设备,NFC设备用于接收到ADF选择命令后,将票卡数据中的第二ADF响应报文数据返回给validator端;
validator端用于从第二ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将生效时间和失效时间与本机RTC交易时间进行比对,当交易时间在生效时间和失效时间之间时,validator端用于根据交易时间发送GPO指令给NFC设备,NFC设备用于接收到GPO指令后,将GPO响应报文数据发送给validator端;
validator端用于将一级分散因子、二级分散因子和GPO响应报文数据发送给预设的PSAM卡计算更新文件;
validator端用于根据GPO响应报文数据识别NFC设备返回的校验数据;
NFC设备用于根据校验数据进行fDDA校验,校验通过后validator端提示验证成功,并将GPO响应报文数据及其校验数据发送给服务器。
应理解,上述实施方式为与在先方法实施方式对应的产品实施方式,关于产品实施方式的说明可以参考在先方法实施方式的说明,在此不再赘述。
应理解,在不违背本发明构思的前提下,本领域技术人员可以将上述实施方式进行任意组合,均在本发明的保护范围内。
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的方法实施例仅仅是示意性的,例如,步骤的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个步骤可以结合或者可以集成到另一个步骤,或一些特征可以忽略,或不执行。
上述方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于时间戳的虚拟电子票卡实现方法,其特征在于,包括:
建立NFC设备与服务器之间的网络通信连接;
所述NFC设备向所述服务器发出请求,所述服务器接收到所述请求后将票卡数据发送给所述NFC设备;
所述NFC设备根据虚拟电子票卡的类型对所述票卡数据进行存储;
所述NFC设备根据所述虚拟电子票卡的类型与validator端进行交易数据的传输、加密和验证;
其中,所述票卡数据中包含密钥,所述NFC设备与所述validator端之间采用一级分散因子保持不变且将时间戳作为二级分散因子参与二级密钥分散的对称密钥分散方法进行加密和验证。
2.根据权利要求1所述的基于时间戳的虚拟电子票卡实现方法,其特征在于,所述NFC设备根据所述虚拟电子票卡的类型与validator端进行交易数据的传输、加密和验证,具体包括:
当所述虚拟电子票卡为电子钱包时,validator端将PPSE选择命令发送给所述NFC设备,所述NFC设备接收到所述PPSE选择命令后,将所述票卡数据中的PPSE响应报文数据返回给所述validator端;
所述validator端接收到所述PPSE响应报文数据后进行验证,验证通过后将ADF选择命令发送给所述NFC设备,所述NFC设备接收到所述ADF选择命令后,将所述票卡数据中的第一ADF响应报文数据返回给所述validator端;
所述validator端从所述第一ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将所述生效时间和所述失效时间与本机RTC交易时间进行比对,当所述交易时间在所述生效时间和所述失效时间之间时,所述validator端根据所述交易时间发送第一交易指令给所述NFC设备,所述NFC设备接收到所述第一交易指令后将交易数据返回给所述validator端,所述validator端接收到所述交易数据后,对所述交易数据进行识别;
所述validator端将所述一级分散因子、二级分散因子和所述交易数据发送给预设的PSAM卡计算第一MAC;
所述validator端根据所述第一MAC及所述交易数据生成第二交易指令并发送给所述NFC设备,所述NFC设备接收到所述第二交易指令后生成TAC和第二MAC并返回给所述validator端。
3.根据权利要求2所述的基于时间戳的虚拟电子票卡实现方法,其特征在于,还包括:
当所述虚拟电子票卡为电子钱包时,validator端将PPSE选择命令发送给所述NFC设备,所述NFC设备接收到所述PPSE选择命令后,将所述票卡数据中的PPSE响应报文数据返回给所述validator端;
所述validator端接收到所述PPSE响应报文数据后进行验证,验证通过后将ADF选择命令发送给所述NFC设备,所述NFC设备接收到所述ADF选择命令后,将所述票卡数据中的第一ADF响应报文数据返回给所述validator端;
所述validator端从所述第一ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将所述生效时间和所述失效时间与本机RTC交易时间进行比对,当所述交易时间在所述生效时间和所述失效时间之间时,所述validator端根据所述交易时间发送第一交易指令给所述NFC设备,所述NFC设备接收到所述第一交易指令后将交易数据返回给所述validator端,所述validator端接收到所述交易数据后,对所述交易数据进行识别;
所述validator端将所述一级分散因子、二级分散因子和所述交易数据发送给预设的PSAM卡计算第一MAC;
所述validator端根据所述第一MAC及所述交易数据生成第二交易指令并发送给所述NFC设备,所述NFC设备接收到所述第二交易指令后生成TAC和第二MAC并返回给所述validator端;
所述validator端将所述第二MAC发送给所述PSAM卡进行校验,校验成功后,所述validator端提示验证成功,将所述TAC和校验数据发送给所述服务器。
4.根据权利要求1所述的基于时间戳的虚拟电子票卡实现方法,其特征在于,所述NFC设备根据所述虚拟电子票卡的类型与validator端进行交易数据的传输、加密和验证,具体包括:
当所述虚拟电子票卡为电子现金时,validator端将PPSE选择命令发送给所述NFC设备,所述NFC设备接收到所述PPSE选择命令后,将所述票卡数据中的PPSE响应报文数据返回给所述validator端;
所述validator端接收到所述PPSE响应报文数据后进行验证,验证通过后将ADF选择命令发送给所述NFC设备,所述NFC设备接收到所述ADF选择命令后,将所述票卡数据中的第二ADF响应报文数据返回给所述validator端;
所述validator端从所述第二ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将所述生效时间和所述失效时间与本机RTC交易时间进行比对,当所述交易时间在所述生效时间和所述失效时间之间时,所述validator端根据所述交易时间发送GPO指令给所述NFC设备,所述NFC设备接收到所述GPO指令后,根据所述票卡数据中GPO类型验证所述GPO指令,当验证通过时,根据所述票卡数据计算应用密文和签名的动态应用数据并返回给所述validator端;
所述NFC设备识别到所述validator端发送的更新文件命令后,进行更新;
所述NFC设备识别到所述validator端发送的读记录命令后,根据记录号将所述票卡数据中的dgi数据返回给所述validator端。
5.根据权利要求4所述的基于时间戳的虚拟电子票卡实现方法,其特征在于,还包括:
当所述虚拟电子票卡为电子现金时,validator端将PPSE选择命令发送给所述NFC设备,所述NFC设备接收到所述PPSE选择命令后,将所述票卡数据中的PPSE响应报文数据返回给所述validator端;
所述validator端接收到所述PPSE响应报文数据后进行验证,验证通过后将ADF选择命令发送给所述NFC设备,所述NFC设备接收到所述ADF选择命令后,将所述票卡数据中的第二ADF响应报文数据返回给所述validator端;
所述validator端从所述第二ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将所述生效时间和所述失效时间与本机RTC交易时间进行比对,当所述交易时间在所述生效时间和所述失效时间之间时,所述validator端根据所述交易时间发送GPO指令给所述NFC设备,所述NFC设备接收到所述GPO指令后,将GPO响应报文数据发送给所述validator端;
所述validator端将所述一级分散因子、所述二级分散因子和所述GPO响应报文数据发送给预设的PSAM卡计算更新文件;
所述validator端根据所述GPO响应报文数据识别所述NFC设备返回的校验数据;
所述NFC设备根据所述校验数据进行fDDA校验,校验通过后所述validator端提示验证成功,并将所述GPO响应报文数据及其校验数据发送给所述服务器。
6.一种基于时间戳的虚拟电子票卡实现系统,其特征在于,包括:NFC设备、服务器和validator端,所述NFC设备与所述服务器之间建立有网络通信连接,其中:
所述NFC设备用于向所述服务器发出请求,所述服务器用于接收到所述请求后将票卡数据发送给所述NFC设备;
所述NFC设备用于根据虚拟电子票卡的类型对所述票卡数据进行存储;
所述NFC设备用于根据所述虚拟电子票卡的类型与validator端进行交易数据的传输、加密和验证;
其中,所述票卡数据中包含密钥,所述NFC设备与所述validator端之间采用一级分散因子保持不变且将时间戳作为二级分散因子参与二级密钥分散的对称密钥分散方法进行加密和验证。
7.根据权利要求6所述的基于时间戳的虚拟电子票卡实现系统,其特征在于,当所述虚拟电子票卡为电子钱包时,所述validator端用于将PPSE选择命令发送给所述NFC设备,所述NFC设备用于接收到所述PPSE选择命令后,将所述票卡数据中的PPSE响应报文数据返回给所述validator端;
所述validator端用于接收到所述PPSE响应报文数据后进行验证,验证通过后将ADF选择命令发送给所述NFC设备,所述NFC设备用于接收到所述ADF选择命令后,将所述票卡数据中的第一ADF响应报文数据返回给所述validator端;
所述validator端用于从所述第一ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将所述生效时间和所述失效时间与本机RTC交易时间进行比对,当所述交易时间在所述生效时间和所述失效时间之间时,所述validator端用于根据所述交易时间发送第一交易指令给所述NFC设备,所述NFC设备用于接收到所述第一交易指令后将交易数据返回给所述validator端,所述validator端用于接收到所述交易数据后,对所述交易数据进行识别;
所述validator端用于将所述一级分散因子、二级分散因子和所述交易数据发送给预设的PSAM卡计算第一MAC;
所述validator端用于根据所述第一MAC及所述交易数据生成第二交易指令并发送给所述NFC设备,所述NFC设备用于接收到所述第二交易指令后生成TAC和第二MAC并返回给所述validator端。
8.根据权利要求7所述的基于时间戳的虚拟电子票卡实现系统,其特征在于,当所述虚拟电子票卡为电子钱包时,validator端用于将PPSE选择命令发送给所述NFC设备,所述NFC设备用于接收到所述PPSE选择命令后,将所述票卡数据中的PPSE响应报文数据返回给所述validator端;
所述validator端用于接收到所述PPSE响应报文数据后进行验证,验证通过后将ADF选择命令发送给所述NFC设备,所述NFC设备用于接收到所述ADF选择命令后,将所述票卡数据中的第一ADF响应报文数据返回给所述validator端;
所述validator端用于从所述第一ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将所述生效时间和所述失效时间与本机RTC交易时间进行比对,当所述交易时间在所述生效时间和所述失效时间之间时,所述validator端用于根据所述交易时间发送第一交易指令给所述NFC设备,所述NFC设备用于接收到所述第一交易指令后将交易数据返回给所述validator端,所述validator端用于接收到所述交易数据后,对所述交易数据进行识别;
所述validator端用于将所述一级分散因子、二级分散因子和所述交易数据发送给预设的PSAM卡计算第一MAC;
所述validator端用于根据所述第一MAC及所述交易数据生成第二交易指令并发送给所述NFC设备,所述NFC设备接用于收到所述第二交易指令后生成TAC和第二MAC并返回给所述validator端;
所述validator端用于将所述第二MAC发送给所述PSAM卡进行校验,校验成功后,所述validator端提示验证成功,将所述TAC和校验数据发送给所述服务器。
9.根据权利要求6所述的基于时间戳的虚拟电子票卡实现系统,其特征在于,当所述虚拟电子票卡为电子现金时,validator端用于将PPSE选择命令发送给所述NFC设备,所述NFC设备用于接收到所述PPSE选择命令后,将所述票卡数据中的PPSE响应报文数据返回给所述validator端;
所述validator端用于接收到所述PPSE响应报文数据后进行验证,验证通过后将ADF选择命令发送给所述NFC设备,所述NFC设备用于接收到所述ADF选择命令后,将所述票卡数据中的第二ADF响应报文数据返回给所述validator端;
所述validator端用于从所述第二ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将所述生效时间和所述失效时间与本机RTC交易时间进行比对,当所述交易时间在所述生效时间和所述失效时间之间时,所述validator端用于根据所述交易时间发送GPO指令给所述NFC设备,所述NFC设备用于接收到所述GPO指令后,根据所述票卡数据中GPO类型验证所述GPO指令,当验证通过时,根据所述票卡数据计算应用密文和签名的动态应用数据并返回给所述validator端;
所述NFC设备用于识别到所述validator端发送的更新文件命令后,进行更新;
所述NFC设备用于识别到所述validator端发送的读记录命令后,根据记录号将所述票卡数据中的dgi数据返回给所述validator端。
10.根据权利要求9所述的基于时间戳的虚拟电子票卡实现系统,其特征在于,当所述虚拟电子票卡为电子现金时,validator端用于将PPSE选择命令发送给所述NFC设备,所述NFC设备用于接收到所述PPSE选择命令后,将所述票卡数据中的PPSE响应报文数据返回给所述validator端;
所述validator端用于接收到所述PPSE响应报文数据后进行验证,验证通过后将ADF选择命令发送给所述NFC设备,所述NFC设备用于接收到所述ADF选择命令后,将所述票卡数据中的第二ADF响应报文数据返回给所述validator端;
所述validator端用于从所述第二ADF响应报文数据中提取出一级分散因子、二级分散因子、生效时间和失效时间,分别将所述生效时间和所述失效时间与本机RTC交易时间进行比对,当所述交易时间在所述生效时间和所述失效时间之间时,所述validator端用于根据所述交易时间发送GPO指令给所述NFC设备,所述NFC设备用于接收到所述GPO指令后,将GPO响应报文数据发送给所述validator端;
所述validator端用于将所述一级分散因子、所述二级分散因子和所述GPO响应报文数据发送给预设的PSAM卡计算更新文件;
所述validator端用于根据所述GPO响应报文数据识别所述NFC设备返回的校验数据;
所述NFC设备用于根据所述校验数据进行fDDA校验,校验通过后所述validator端提示验证成功,并将所述GPO响应报文数据及其校验数据发送给所述服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210676115.7A CN115099816A (zh) | 2022-06-15 | 2022-06-15 | 一种基于时间戳的虚拟电子票卡实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210676115.7A CN115099816A (zh) | 2022-06-15 | 2022-06-15 | 一种基于时间戳的虚拟电子票卡实现方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115099816A true CN115099816A (zh) | 2022-09-23 |
Family
ID=83291314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210676115.7A Pending CN115099816A (zh) | 2022-06-15 | 2022-06-15 | 一种基于时间戳的虚拟电子票卡实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115099816A (zh) |
-
2022
- 2022-06-15 CN CN202210676115.7A patent/CN115099816A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108027926B (zh) | 基于服务的支付的认证系统和方法 | |
CN107925572B (zh) | 软件应用程序到通信装置的安全绑定 | |
EP2526514B1 (en) | Method, device and system for securing payment data for transmission over open communication networks | |
EP3017580B1 (en) | Signatures for near field communications | |
US20160117673A1 (en) | System and method for secured transactions using mobile devices | |
JP7483688B2 (ja) | 非接触カードの暗号化認証のためのシステムおよび方法 | |
KR101138283B1 (ko) | 모바일 결제 방법 및 시스템 | |
CA2914956C (en) | System and method for encryption | |
US20150142666A1 (en) | Authentication service | |
JP2017537421A (ja) | 支払いトークンのセキュリティを確保する方法 | |
CN101739624A (zh) | 一种可信支付网络系统 | |
CN103942897A (zh) | 一种在atm机上实现无卡取款的方法 | |
KR102574524B1 (ko) | 원격 거래 시스템, 방법 및 포스단말기 | |
JP2016076262A (ja) | インターネット接続及び対応の端末を介した商業サイトにおける製品又はサービスの決済方法 | |
CN101223729B (zh) | 对移动支付设备进行更新 | |
US20180240113A1 (en) | Determining legitimate conditions at a computing device | |
CN108460597A (zh) | 一种密钥管理系统及方法 | |
KR102333811B1 (ko) | 블록체인 기반의 카드 결제 처리 시스템 및 방법 | |
CN104835038A (zh) | 一种联网支付装置及方法 | |
KR20180081099A (ko) | 거래 인가 | |
KR102348823B1 (ko) | 사용자가 소지한 금융 카드 기반 본인 인증 시스템 및 방법 | |
KR102122555B1 (ko) | 사용자가 소지한 금융 카드 기반 본인 인증 시스템 및 방법 | |
CA3239475A1 (en) | Key recovery based on contactless card authentication | |
US20180240111A1 (en) | Security architecture for device applications | |
CN115099816A (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 |