CN109460992B - 一种基于nfc的高速公路etc卡查询与充值方法 - Google Patents

一种基于nfc的高速公路etc卡查询与充值方法 Download PDF

Info

Publication number
CN109460992B
CN109460992B CN201811346402.1A CN201811346402A CN109460992B CN 109460992 B CN109460992 B CN 109460992B CN 201811346402 A CN201811346402 A CN 201811346402A CN 109460992 B CN109460992 B CN 109460992B
Authority
CN
China
Prior art keywords
card
etc card
nfc
android
transaction
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
CN201811346402.1A
Other languages
English (en)
Other versions
CN109460992A (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.)
JIANGSU CHANGTIAN ZHIYUAN TRAFFIC TECHNOLOGY CO LTD
Original Assignee
JIANGSU CHANGTIAN ZHIYUAN TRAFFIC TECHNOLOGY 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 JIANGSU CHANGTIAN ZHIYUAN TRAFFIC TECHNOLOGY CO LTD filed Critical JIANGSU CHANGTIAN ZHIYUAN TRAFFIC TECHNOLOGY CO LTD
Priority to CN201811346402.1A priority Critical patent/CN109460992B/zh
Publication of CN109460992A publication Critical patent/CN109460992A/zh
Application granted granted Critical
Publication of CN109460992B publication Critical patent/CN109460992B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/34Payment 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/349Rechargeable cards
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B15/00Arrangements or apparatus for collecting fares, tolls or entrance fees at one or more control points
    • G07B15/06Arrangements for road pricing or congestion charging of vehicles or vehicle users, e.g. automatic toll systems
    • G07B15/063Arrangements for road pricing or congestion charging of vehicles or vehicle users, e.g. automatic toll systems using wireless information transmission between the vehicle and a fixed station
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/70Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
    • H04B5/77Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for interrogation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明一种基于NFC的高速公路ETC卡查询与充值方法,融合智能手机近场通信技术和高速公路收费系统领域,特别是涉及利用NFC技术和ISO 14443通讯规范与高速公路ETC卡进行数据交互,实现对高速公路ETC卡信息查询和预存费用的写入。该方法包括环境配置和参数设置、查询和充值三部分。节省用户采购专门设备读写ETC片的费用,节省用户专门去ETC充值点的排队等待时间。当非接触式高速公路ETC卡接触到智能手机NFC,自动触发识别卡片过滤Filter接口,智能识别高速公路ETC卡。以较高的速度和稳定性读取ETC卡片主目录下的各类文件,并结合高速公路ETC充值流程,实现通过手机NFC和互联网充值。

Description

一种基于NFC的高速公路ETC卡查询与充值方法
技术领域
本发明一种基于NFC的高速公路ETC卡查询与充值方法,融合智能手机近场通信技术和高速公路收费系统领域,特别是涉及利用NFC(near field communication,近场通信)技术和ISO 14443通讯规范与高速公路ETC卡进行数据交互,实现对高速公路ETC卡信息(用户号、姓名、身份证、余额和通行交易记录)查询和预存费用的写入。
背景技术
近年来,Android版智能手机普通配备了NFC芯片,基于NFC的应用雨后春笋般的涌现,可以对非接触卡进行快速读取和写入,应用比较普通的是公交卡、地铁卡、智汇卡等,实现了本地化读取和写入数据业务。
支持高速公路不停车缴费的ETC卡在高速公路全面推广使用,大大缩短了收费站通行时间,提高了每笔通行的效率,极大程度减小了由于人工收费而排队拥堵现象的发生。然而,高速公路不停车ETC卡的读写需要通过专门的OBU设备,插入OBU设备后方可查询卡内余额,用户无法知道各收费站通行历史记录;当用户ETC卡内金额用完,需要驱车去固定营业网点排队充值,造成用户的诸多不便。
发明内容
本发明的目的是针对上述查询和充值不便之处,提供一种基于NFC的高速公路ETC卡查询与充值方法,该方法是一种通过智能手机即可实现对高速公路不停车ETC卡的查询和充值的方法,大大提高工作效率,节约用户成本和时间,同时提供基于APDU智能解析响应帧与重组命令帧算法,提高了程序灵活程度,智能判断,并智能地请求下一步数据,避免静态代码的冗余,提高了发送和响应效率,提升了卡片接触手机NFC。
本发明是采取以下技术方案实现:
一种基于NFC的高速公路ETC卡查询与充值方法,包括如下步骤:
1)环境配置和参数设置;
1-1)配置Android环境参数;
在Android ETCAPP程序根目录下的配置文件AndroidManifest.xml进行硬件访问权限设置,即许可程序获取NFC硬件的访问权限;
1-2)配置对ETC卡的过滤;
在步骤1-1)所述的配置文件AndroidManifest.xml中的activity标签下设置的intent过滤声明;
通过设定该配置文件AndroidManifest.xml中的TECH_DISCOVERED intent信息,过滤忽略其他类型的intent;
1-3)配置识别ETC卡的过滤器文件
在xml目录下的nfc_tech_filter.xml中定义筛选ETC卡支持模式,当ETC卡靠近手机NFC,程序就可识别该标卡;其中的tech-list标签定义了android.nfc.tech.IsoDep,说明当接触到符合IsoDep标准的卡,android程序的主界面就会响应,所述ETC卡符合IsoDep标准。
2)通过识别指令进行基于NFC的高速公路ETC卡查询;
2-1)识别高速公路ETC卡,进入主目录;
发送识别指令的方式为通过发送Select指令,封装DFI_MF(十六进制0x3F00,两字节)或DFN_PSE(字符串“1PAY.SYS.DDF01”)内容;若ETC卡返回0x9000,表示识别ETC卡,并进入主目录;
2-2)读取持卡人基本数据文件
所述基本数据文件中包括用户名和身份证号码;
当Android ETCApp程序发送指令etctag.readBinary(十六进制0x16,一字节),以0x9000结尾,则成功返回ETC卡的姓名和身份证号;
Android ETCApp程序通过NFC向ETC卡发送指令etctag.readBinary(十六进制0x15,一字节),读取长三角地域高速公路ETC卡片基本数据文件;
2-3)选择主应用区MainAPPlication;
Android ETCApp程序发送指令MainApplicationId(十六进制0x1001,两字节),ETC卡返回字节以0x9000结尾,表示成功进入主应用区,获取得到最主要应用名;
2-4)读取卡内余额;
Android ETCApp程序通过手机的NFC向ETC卡发送余额查询指令,即etctag.getBalance()方法,ETC卡则返回卡内余额;
2-5)读取卡发行基本信息(十六进制0x15,一字节);
2-6)读取复合消费专用文件;
Android ETCApp程序通过NFC向ETC卡发送指令etctag.readBinary(十六进制0x19,一字节),返回成功;
2-7)进行Pin码的权限验证
在读取通行记录前,对ETC卡进行PINVerify指令验证,如果三次不成功则会锁死该ETC卡片,变为废卡。
2-8)读取高速公路通行与交易记录
通过步骤2-7)进行权限验证成功后,继续发送终端交易记录文件指令etctag.readRecord(0x18,1..50),其中0x18为标识号,1~50为记录号;发送记录读取指令后,返回成功码,读取到的数据循环存放,循环覆盖,记录长度为23字节,50条交易记录。
TAG分发系统(即Android NFC标签分发系统)定义了3种intent,优先级从高到低排列为NDEF_DISCOVERED、TECH_DISCOVERED、TAG_DISCOVERED,步骤1-2)中只配置TECH_DISCOVERED intent信息,其他类型的intent就被过滤忽略。
步骤2-5)中卡发行基本信息包括发卡方标识、卡片类型、卡片网络编号、卡片内部编号、启用时间、到期时间、车牌号码、用户类型和车牌颜色数据;
卡发行基本信息文件格式定义见《长三角ETC系统CPU卡、ESAM结构V4.0》。
步骤2-6)中,ETC卡内的数据内容格式为:入口收费路网号、入口收费站号、入口收费车道号、入口时间、车型、入出口状态、标识站、收费员工号、入口班次、车牌号码信息。
步骤2-8)中,数据解析规则如下:交易序列号为2字节;透支限额为3字节;交易金额为4字节;交易类型标识为1字节;终端机编号为6字节;交易时间为7字节。
3)高速公路ETC卡充值
用户通过智能终端进行实名制登录,交易中心验证该登录请求,合法则成功,否则无法进入终端充值程序,完整的网上充值交易包括余额查询、在线支付、交易记录中心保存、写入卡片四个步骤。
3-1)ETC卡内余额查询
Android ETCApp程序通过NFC向ETC卡发送指令etctag.getBalance,ETC卡则返回卡内余额;
3-2)在线支付
用户通过智能终端填入相关充值金额,Android ETCApp程序检查是否已经绑定第三方支付系统(如绑定银行卡或支付宝等);若未绑定则跳转到绑定界面;若已经绑定则调到支付操作,支付与扣款过程等一系列操作均由第三方支付系统完成,支付成功后继续下一步;
3-3)交易记录保存
支付成功后,将购买信息与用户信息保存到ETC卡交易中心,至此,ETC交易管理中心指示终端手机进行写卡;
3-4)金额写入到ETC卡
首先将查询到的余额加上新支付数值得到总金额,以约定的规则转换成十六进制,高位在前、低位在后;
通过中心秘钥验证接口在线获得ETC写卡PIN和权限码,Android ETCApp程序使用该Pin码进行写操作验证,写入成功后得到成功响应码。
上述充值方法把在线支付、交易记录中心保存、写入卡片三个步骤打包成一个事务处理,交易更加安全,每个步骤均有操作记录,任何失败,均能从失败处重新发起。
本发明所述的Android ETCApp手机应用程序(下文简称“Android ETCApp”)是ETC卡业务功能的实现应用程序,具有如下基本功能:
1)用户注册和登录;
2)进行身份识别;
3)ETC卡信息查询;
进行持卡人信息识别;开卡基本信息查询;卡内余额查询;历史通行查询;历史消费查询;
4)通行费用充值;
5)系统配置。
本发明通过具有NFC的智能手机(Android4.0以上版本)对非接触式高速公路ETC卡读取和写入的一种方法,节省用户采购专门设备读写ETC片的费用,节省用户专门去ETC充值点的排队等待时间。当非接触式高速公路ETC卡接触到智能手机NFC,自动触发识别卡片过滤Filter接口,通过APP程序发送Select指令发送DFI_MF(0x3F,0x00)或DFN_PSE(1PAY.SYS.DDF01)命令,智能识别高速公路ETC卡。本发明探索出智能解析ISO 14443-4、ISOREP通讯协议,发送指令MAID(main Application ID,0x1001),进入到主目录,可根据卡片的响应帧,智能重新组织命令与卡片通讯,获取更多正确的数据。本发明通过特有的方法和和流程,以较高的速度和稳定性读取ETC卡片主目录下的各类文件,诸与稳定如车牌、身份证、人名和和余额及高速公路通行交易记录,方便用户查询。并结合高速公路ETC充值流程,提出通过手机NFC和互联网对高速公路ETC进行充值,不再依赖特定充值设备和网点。由此,本发明将智能手机NFC用到高速公路ETC卡,提供一种快速实现对高速公路ETC卡读写,解决上述不足和不便。
附图说明
以下将结合附图对本发明作进一步说明:
图1是ETC卡数据定义目录结构图;
图2是本发明的基于NFC的高速公路ETC卡内信息查询的流程图;
图3为基于APDU智能解析响应帧与重组命令帧逻辑流程图;
图4是本发明的基于NFC和互联网向高速公路ETC卡充值时序图;
图5是本发明中终端交易记录文件存放顺序示意图;
图6是本发明基于NFC高速公路Android ETCApp查询与充值界面示例图。
具体实施方式
在结合附图作出说明之前,对本发明中出现的名词作出解释。
NFC:近场通信又称近距离无线通信,是一种短距离的高频无线通信技术,允许电子设备之间进行非接触式点对点数据传输,交换数据。这个技术由免接触式射频识别(RFID)演变而来,由飞利浦和索尼共同研制开发,其基础是RFID及互连技术。近场通信是一种短距高频的无线电技术,在13.56MHz频率运行于20厘米距离内。其传输速度有106Kbit/秒、212Kbit/秒或者424Kbit/秒三种。近场通信业务结合了近场通信技术和移动通信技术,实现了电子支付、身份认证、票务、数据交换、防伪、广告等多种功能,是移动通信领域的一种新型业务。近场通信业务改变了用户使用移动电话的方式,使用户的消费行为逐步走向电子化,建立了一种新型的用户消费和业务模式。
ETC:Electronic Toll Collection(ETC)不停车收费系统是目前世界上最先进的路桥收费方式。通过安装在车辆挡风玻璃上的车载电子标签与在收费站ETC车道上的微波天线之间的微波专用短程通讯,利用计算机联网技术与银行进行后台结算处理,从而达到车辆通过路桥收费站不需停车而能交纳路桥费的目的。
ETC卡是高速公路不停车采用的是TYPE B,高速公路非现金支付卡属于双界面的CPU卡,采用ISO 14443-4协议通讯。
ETC用户卡在发行后文件结构定义完成,由专门ETC发行中心定制初始化。ETC卡数据定义目录结构见图1。
高速公路ETC卡的信息查询和写入需遵循一定的指令请求顺序,(1)用select指令进入卡的根目录,成功后可获取卡的基本信息,包括持卡用户名和身份证等信息。(2)用select命令进入主要应用区,成功后可读取卡内余额、卡发行基本信息、符合消费文件等。(3)通过Pin码验证后,可读取卡内通行信息记录,共50条,循环存放。
基于NFC的高速公路ETC卡查询与充值方法实现的基础是进行环境配置和参数设置,主要步骤如下:
1-1)配置Android环境参数;
在Android ETCApp程序根目录下的配置文件AndroidManifest.xml进行硬件访问权限设置,即许可程序获取NFC硬件的访问权限,如下:
<uses-permission android:name="android.permission.NFC"/>
1-2)配置对ETC卡的过滤;
在配置文件AndroidManifest.xml的在activity标签下设置的intent过滤声明,如下:
<intent-filter>
<action android:name="android.nfc.action.TECH_DISCOVERED"/>
<action android:name="android.nfc.action.TAG_DISCOVERED"/>
</intent-filter>
<meta-data
android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/nfc_tech_filter"/>
1-3)配置识别ETC卡的过滤器文件
在xml/nfc_tech_filter.xml中定义筛选ETC卡支持模式,当ETC卡靠近手机NFC,程序就可识别该标卡,如下:
<tech-list>
<tech>android.nfc.tech.IsoDep</tech>
</tech-list>
tech-list标签定义了android.nfc.tech.IsoDep,说明当接触到符合IsoDep标准的卡,android程序的主界面就会响应,ETC卡是符合IsoDep标准;
通过设定该AndroidManifest.xml文件中的TECH_DISCOVERED intent信息,过滤忽略其他类型的intent;TAG分发系统定义了3种intent,优先级从高到低排列为NDEF_DISCOVERED、TECH_DISCOVERED、TAG_DISCOVERED,步骤1-2)中只配置TECH_DISCOVEREDintent信息,其他类型的intent就被过滤忽略。
如图2所示,为本发明进行基于NFC的高速公路ETC卡查询信息的流程图。
下面结合附图举例说明通过识别指令进行基于NFC的高速公路ETC卡查询过程:
2-1)识别高速公路ETC卡,进入主目录;
发送识别指令的方式为通过发送Select指令,封装DFI_MF(十六进制0x3F00两个字节)或DFN_PSE(字符串“1PAY.SYS.DDF01”)内容;若ETC卡返回0x9000,表示识别ETC卡,并进入主目录。
DFI_MF指令:0x00A4 00 00 02 3F 00 00
DFN_PSE指令:0x6F15840E315041592E5359532E4444463031A5038801019000。
2-2)读取持卡人基本数据文件
Android ETCApp程序发送指令etctag.readBinary(0x16),以0x9000结尾,则成功返回ETC卡的姓名和身份证号;
Android ETCApp程序通过NFC向ETC卡发送指令etctag.readBinary(0x15),读取长三角地域高速公路ETC卡片基本数据文件,如下:
读取基本持卡信息指令:00B0960000
返回:
0000D6ECC5F4B7C90000000000000000000000000000333231313139313937323132333137303131000000000000000000000000000000 9000
数据对应关系如下表:
Figure BDA0001863854700000091
2-3)选择主应用区MainAPPlication;
Android ETCApp程序发送指令MainApplicationId(十六进制0x1001,两字节),ETC卡返回字节以0x9000结尾,表示成功进入主应用区,如:
指令:0x00A4000002100100
返回:0x6F0C840A5041592E4554432E4A539000
获取得到最主要应用名:“PAY.ETC.JS”。
2-4)读取卡内余额;
Android ETCApp程序通过NFC向ETC卡发送指令etctag.getBalance,ETC卡则返回卡内余额;
指令的格式为:0x80 5C 00 02 04;
指令的格式为:0x00 00 03 5E 9000;即8.62元。
2-5)读取卡发行基本信息(十六进制0x15,一字节);
指令:00B0950000
返回:
BDADCBD5200100011611200117022200000131072017032920270328CBD541335658303800000000000000 9000
解析如下:
发卡方标识:BDADCBD5 20010001;通过编码转换成中文字符,即:江苏200100001。
卡片类型:16;
卡片版本号:10;
卡片网络编号:2001;
卡片内部编号:13032200 00005825
启用时间:20080101;即,2008年1月1日
到期时间:20501231;即,2050年12月31日
车牌号码:CBD54158 57313831 00000000,通过编码转换中文字符,即:苏AXW181;
用户类型:00,级普通用户;
车牌颜色:0000(0–蓝色,1–黄色,2–黑色,3–白色,),即蓝牌。
2-6)读取复合消费专用文件;
Android ETCApp程序通过NFC向ETC卡发送指令etctag.readBinary(0x19),返回成功,ETC卡内的数据内容格式为:入口收费路网号、入口收费站号、入口收费车道号、入口时间、车型、入出口状态、标识站、收费员工号、入口班次、车牌号码信息。
2-7)进行Pin码的权限验证
在读取通行记录前,ETC卡需要进行PINVerify指令验证;验证方法为,
etctag.verify(0x12,0x34,0x56),Pin验证码一般为3字节十六进制,返回0x9000表示成功;三次不成功则会锁定卡片。
指令:00 20 00 00 03 12 34 56(对应的Pin验证码“123456”)。
2-8)读取高速公路通行与交易记录
通过步骤2-7)进行权限验证成功后,继续发送终端交易记录文件指令etctag.readRecord(0x18,1..50),其中0x18为标识号,1~50为记录号,指令如下:
记录读取指令:00 B2 01 C4 00
成功返回:00E9000000000000000901320001AD0020180926202711 9000
数据循环存放,循环覆盖,见图5,存储空间为1150bytes,每次存档的记录字节长度为23字节,50条交易记录。
数据解析规则如下:
交易序列号(2bytes):00C2
透支限额(3bytes):000000
交易金额(4bytes):00000000
交易类型标识(1byte):09(圈存或消费)
终端机编号(6bytes):01320003E423
交易时间(7bytes):20180919111546,即2018-09-19 11:15:46。
图4所示为高速公路ETC卡的充值时序图。本发明使用户足不出户就能用智能手机中的APP实现对ETC卡的充值。
用户通过智能终端进行实名制登录,交易中心验证该登录请求,合法则成功,否则无法进入终端充值程序,完整的网上充值交易包括余额查询、在线支付、交易记录中心保存、写入卡片三个步骤。
3-1)ETC卡内余额查询
Android ETCApp程序通过NFC向ETC卡发送指令etctag.getBalance,ETC卡则返回卡内余额。
3-2)在线支付
填入相关充值金额(1000元),程序检查是否已经绑定第三方支付系统(绑定银行卡或支付宝等)。未绑定则跳转到绑定界面,已经绑定则调到支付操作,支付与扣款过程等一系列操作均有第三方支付系统完成,成功支付,成功后继续下一步。
3-3)交易记录保存
支付成功后,将购买信息与用户信息保存到ETC卡交易中心,至此,ETC交易管理中心指示终端手机进行写卡过程。
3-4)金额写入到ETC卡
首先将查询到的余额加上新支付数值得到总金额,以一定规则转换成十六进制,高位在前、地位在后,以1001.00元为例,数据格式为0x0003E800。
通过中心秘钥验证接口在线获得ETC写卡PIN和权限码,Android ETCApp程序使用该Pin码进行写操作验证。
Android ETCApp程序通过NFC向ETC卡写钱包0002标签写入金额,如下:
写金额指令:0x00 DA 02 00 04 0003E9 00;
响应:0x9000,表示成功。
该方法在线支付、交易记录中心保存、写入卡片三个步骤打包成一个事务处理,交易更加安全,每个步骤均有操作记录,任何失败,均能从失败处重新发起。
图3所示,为基于APDU智能解析响应帧与重组命令帧逻辑流程图。
整个过程如下:请求写卡金额的许可,ETC交易管理中心根据请求的数据进行验证,返回带有时间效率并加密过的圈存子密钥DLK,终端软件根据注册时分配的私钥进行解密得到写卡圈存子密钥DLK,通过该圈存子密钥DLK进行认证通过后可对卡片进行充值,返回SW1SW2(90 00)状态成功。图6展示了基于NFC高速公路ETC云充值界面示意图。
下面对涉及的基本的通信协议作出说明。
APDU的内容(代码以及对应的名称长度和描述)如下表1所示:
表1
Figure BDA0001863854700000121
对应的APDU命令格式如下:
(1)情形1:
Figure BDA0001863854700000131
(2)情形2:
Figure BDA0001863854700000132
(3)情形3:
Figure BDA0001863854700000133
(4)情形4:
Figure BDA0001863854700000134
在上述命令格式中,
CLA表示指令类别;
INS表示指令类型的指令码;
P1P2表示指令参数;
Lc表示数据DATA长度;
DATA表示数据域或应答数据域;
Le表示要求返回数据长度,其中,Le为00表示返回卡中最大数据长度。在命令格式中,返回格式如下表2所示:
表2
代码 名称 长度 描述
数据字段 数据 变量=L<sub>r</sub> 在响应的数据字段中收到的字节串
SW1 状态字节1 1 命令处理状态
SW2 状态字节2 1 命令处理受限字符
SW1和SW2的f定义分为两大类,包括处理完成和处理放弃;处理完成分正常处理和报警处理,正常处理以0x9000和0x61XX为结尾标识;报警处理以0x6200和0x6300结尾标识;处理放弃分执行差错和检验差错两大类,执行差错以0x64XX和0x65XX结尾标识,0x67XX~0x6FXX均为检验差错,XX为具体错误信息。
本发明与ETC卡通行协议采用的ISO7816-4通信协议,见上述相关APDU的内容规范,使用的APDU结构为响应APDU,R-APDU(Response APDU)。发送命令和响应命令相对复杂,且灵活多变,以静态硬代码的方式无法遍历所有路径,非常不经济,本发明提供一种根据响应命令中关键字自动解析重置请求命令的方法,不仅提高效率和速度,还能自动穷尽所有可能,并自动将多个响应的数据封装成长数据。其算法逻辑见图3所示。
本发明数据区的解析借助BER-TLV数据对象,见《ISO/IFC 8825规范》定义,一个BER-TLV数据对象包括2-3个连续数据域:
(1)标签域(T)包括一个或多个连续字节。它定义一种类别、类型和一个数字。规范规定的数据对象的标签域用一个或二个字节编码。
(2)长度域(L)包括一个或多个连续字节。它定义了接下来一个域的长度。规范规定的数据对象的长度用一个、或二个字节编码。
(3)值域(V)定义数据对象的值。如果L=‘00’,则值域不存在。
TLV数据对象属于以下两类之一:
(1)值域包括支付交易交换的数据元的基本数据对象。
(2)值域包括一个或多个基本或结构数据对象的结构数据对象。

Claims (7)

1.一种基于NFC的高速公路ETC卡查询与充值方法,其特征在于,包括如下步骤:
1)环境配置和参数设置;
1-1)配置Android 环境参数;
在Android ETCAPP程序根目录下的配置文件AndroidManifest.xml进行硬件访问权限设置,即许可程序获取NFC硬件的访问权限;
1-2)配置对ETC卡的过滤;
在步骤1-1)所述的配置文件AndroidManifest.xml中的activity标签下设置intent过滤声明;
通过设定该配置文件AndroidManifest.xml中的TECH_DISCOVERED intent信息,过滤忽略其他类型的intent;
1-3)配置识别ETC卡的过滤器文件
在xml目录下的nfc_tech_filter.xml中定义筛选ETC卡支持模式,当ETC卡靠近手机NFC,程序就可识别该ETC卡;其中的tech-list标签定义了android.nfc.tech.IsoDep,说明当接触到符合IsoDep标准的卡,android程序的主界面就会响应,所述ETC卡符合IsoDep标准;
2)通过识别指令进行基于NFC的高速公路ETC卡查询;
3)用户通过智能终端进行实名制登录,交易中心验证该登录请求,合法则成功登录,进行充值;不合法则无法进入终端充值程序。
2.根据权利要求1所述的基于NFC的高速公路ETC卡查询与充值方法,其特征在于,所述高速公路ETC卡查询的方法包括如下步骤:
2-1)识别高速公路ETC卡,进入主目录;
发送识别指令的方式为通过发送Select指令,封装DFI_MF或DFN_PSE内容;若ETC卡返回0x9000,表示识别到ETC卡,并进入主目录;
DFI_MF的内容为十六进制0x3F00 两个字节,DFN_PSE的内容为字符串“1PAY.SYS.DDF01”;
2-2)读取持卡人基本数据文件;
所述基本数据文件中包括用户名和身份证号码;
当Android ETCApp程序发送指令etctag.readBinary(0x16),返回结果以0x9000结尾,则成功返回ETC卡的姓名和身份证号;
Android ETCApp程序通过NFC向ETC卡发送指令etctag.readBinary(0x15),读取长三角地域高速公路ETC卡片基本数据文件;
2-3)选择主应用区MainAPPlication;
Android ETCApp程序发送指令MainApplicationId,ETC卡返回字节以0x9000结尾,表示成功进入主应用区,获取得到最主要应用名;
2-4)读取卡内余额;
Android ETCApp程序通过手机的NFC向ETC卡发送余额查询etctag.getBalance指令,ETC卡则返回卡内余额;
2-5)读取卡发行基本信息;
2-6)读取复合消费专用文件;
Android ETCApp程序通过NFC向ETC卡发送指令etctag.readBinary(0x19),返回成功;
2-7)进行Pin码的权限验证;
在读取通行记录前,对ETC卡进行PINVerify指令验证,如果三次不成功则会锁死该ETC卡片,变为废卡;
2-8)读取高速公路通行与交易记录
通过步骤2-7)进行权限验证成功后,继续发送终端交易记录文件指令etctag.readRecord(0x18, 1..50),其中0x18为标识号,1~50为记录号;发送记录文件指令后,返回成功码,读取到的数据循环存放,循环覆盖,记录长度为23字节,50条交易记录。
3.根据权利要求1所述的基于NFC的高速公路ETC卡查询与充值方法,其特征在于,TAG分发系统即Android NFC标签分发系统,定义了3种intent,优先级从高到低排列为NDEF_DISCOVERED、TECH_DISCOVERED、TAG_DISCOVERED,所述步骤1-2)中只配置TECH_DISCOVEREDintent信息,其他类型的intent被过滤忽略。
4.根据权利要求2所述的基于NFC的高速公路ETC卡查询与充值方法,其特征在于,步骤2-5)中卡发行基本信息包括发卡方标识、卡片类型、卡片网络编号、卡片内部编号、启用时间、到期时间、车牌号码、用户类型和车牌颜色数据。
5.根据权利要求2所述的基于NFC的高速公路ETC卡查询与充值方法,其特征在于,步骤2-6)中,ETC卡内的数据内容格式为:入口收费路网号、入口收费站号、入口收费车道号、入口时间、车型、入出口状态、标识站、收费员工号、入口班次、车牌号码信息。
6.根据权利要求2所述的基于NFC的高速公路ETC卡查询与充值方法,其特征在于,步骤2-8)中,数据解析规则如下:交易序列号为2字节;透支限额为3字节;交易金额为4字节;交易类型标识为1字节;终端机编号为6字节;交易时间为7字节。
7.根据权利要求1所述的基于NFC的高速公路ETC卡查询与充值方法,其特征在于,所述高速公路ETC卡充值的方法包括余额查询、在线支付、交易记录中心保存、写入卡片四个步骤,具体为:
3-1)ETC卡内余额查询;
Android ETCApp程序通过NFC向ETC卡发送指令etctag.getBalance, ETC卡则返回卡内余额;
3-2)在线支付;
用户通过智能终端填入相关充值金额, Android ETCApp程序检查是否已经绑定第三方支付系统;若未绑定则跳转到绑定界面;若已经绑定则调到支付操作,支付与扣款过程一系列操作均由第三方支付系统完成,支付成功后继续下一步;
3-3)交易记录保存;
支付成功后,将购买信息与用户信息保存到ETC卡交易中心,至此,ETC交易管理中心指示终端手机进行写卡;
3-4)金额写入到ETC卡
首先将查询到的余额加上新支付数值得到总金额,以约定的规则转换成十六进制,高位在前、低位在后;
通过中心秘钥验证接口在线获得表示ETC写卡权限的Pin码,Android ETCApp程序使用该Pin码进行写操作验证,写入成功后得到成功响应码;
所述充值方法把在线支付、交易记录中心保存、写入卡片三个步骤打包成一个事务处理,交易更加安全,每个步骤均有操作记录,任何失败,均能从失败处重新发起。
CN201811346402.1A 2018-11-13 2018-11-13 一种基于nfc的高速公路etc卡查询与充值方法 Active CN109460992B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811346402.1A CN109460992B (zh) 2018-11-13 2018-11-13 一种基于nfc的高速公路etc卡查询与充值方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811346402.1A CN109460992B (zh) 2018-11-13 2018-11-13 一种基于nfc的高速公路etc卡查询与充值方法

Publications (2)

Publication Number Publication Date
CN109460992A CN109460992A (zh) 2019-03-12
CN109460992B true CN109460992B (zh) 2020-12-29

Family

ID=65610311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811346402.1A Active CN109460992B (zh) 2018-11-13 2018-11-13 一种基于nfc的高速公路etc卡查询与充值方法

Country Status (1)

Country Link
CN (1) CN109460992B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104574530A (zh) * 2014-01-28 2015-04-29 深圳市金溢科技股份有限公司 通过移动终端向obu充值的方法及系统、移动终端和obu
CN106548575A (zh) * 2016-11-07 2017-03-29 贵阳货车帮科技有限公司 一种etc卡充值方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8401964B2 (en) * 2009-04-28 2013-03-19 Mastercard International Incorporated Apparatus, method, and computer program product for encoding enhanced issuer information in a card
US10311428B2 (en) * 2012-05-24 2019-06-04 Google Llc Systems, methods, and computer program products for providing a contactless protocol

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104574530A (zh) * 2014-01-28 2015-04-29 深圳市金溢科技股份有限公司 通过移动终端向obu充值的方法及系统、移动终端和obu
CN106548575A (zh) * 2016-11-07 2017-03-29 贵阳货车帮科技有限公司 一种etc卡充值方法

Also Published As

Publication number Publication date
CN109460992A (zh) 2019-03-12

Similar Documents

Publication Publication Date Title
US9866989B2 (en) Payment application download to mobile phone and phone personalization
US9516017B2 (en) System and device for consolidating SIM, personal token, and associated applications for electronic wallet transactions
US20120136797A1 (en) System and method for consolidating network, identification and transaction functions on a communication device
US20110246317A1 (en) System and device for facilitating a transaction through use of a proxy account code
US20110237224A1 (en) System and device for facilitating remote invocation of personal token capabilities
US9544303B2 (en) System and device for consolidating SIM, personal token, and associated applications for selecting a transaction settlement entity
US9112857B2 (en) System and device for facilitating a wireless transaction by consolidating SIM, personal token, and associated applications
US20080235132A1 (en) Transactional Device With Anticipated Pretreatment
CN1698059A (zh) 为智能卡读卡机提供无接触式接口的无线通信设备
CN103269326A (zh) 一种面向泛在网的安全设备、多应用系统和安全方法
CN101727630A (zh) 基于rfid技术的移动终端支付系统及方法
US20170011391A1 (en) Method and apparatus for mobile payment
KR101247965B1 (ko) 차량용 엔에프씨를 이용한 비용 결제 방법 및 시스템
KR100780243B1 (ko) 금융 거래를 위한 이동 단말기 및 이동 단말기를 이용한금융 거래 방법 및 그 시스템
CN101685511A (zh) 基于近场通信的终端支付方法、和基于近场通信的终端
CN109460992B (zh) 一种基于nfc的高速公路etc卡查询与充值方法
CN103559466A (zh) Nfc应用处理方法、终端和服务器
KR20080036180A (ko) 모바일 상품권 운용서버
KR101627105B1 (ko) 스마트 단말의 nfc 기능을 이용한 비호환 멀티포맷 rf 카드의 전자화폐사별 예치 기반의 통합형 전자화폐 거래 처리 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체
KR20040010092A (ko) 무선통신장치를 이용한 상품권 운용 방법 및 시스템
KR101272150B1 (ko) 스마트폰을 활용하여 신용카드 매출전표를 사용하지 않는 신용카드거래방법
Qian et al. Design of transnational mobile e-payment application based on SIM card
KR20050061009A (ko) 휴대폰으로의 전자화폐 자동충전방법 및 그 휴대폰
KR100577000B1 (ko) 스마트카드의 사용 내역 관리 시스템 및 방법
KR20040094128A (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
CB03 Change of inventor or designer information

Inventor after: Zhu Pengfei

Inventor after: Yang Jianling

Inventor after: Zhang Linong

Inventor after: Wang Zening

Inventor after: Other inventor requests not to publish the name

Inventor before: Yang Jianling

Inventor before: Zhang Linong

Inventor before: Wang Zening

Inventor before: Other inventor requests not to publish the name

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: Building 1, No. 88 Yurun Street, Jianye District, Nanjing City, Jiangsu Province, 210019, 6th Floor, 6-128

Patentee after: JIANGSU CHANGTIAN ZHIYUAN TRAFFIC TECHNOLOGY Co.,Ltd.

Country or region after: China

Address before: 13 / F, No.2 building, Nantah Sofitel science and Technology Innovation Park, 19 Qingjiang South Road, Nanjing City, Jiangsu Province, 210036

Patentee before: JIANGSU CHANGTIAN ZHIYUAN TRAFFIC TECHNOLOGY Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address