CN109558756B - 一种emv报文解析工具 - Google Patents

一种emv报文解析工具 Download PDF

Info

Publication number
CN109558756B
CN109558756B CN201811523700.3A CN201811523700A CN109558756B CN 109558756 B CN109558756 B CN 109558756B CN 201811523700 A CN201811523700 A CN 201811523700A CN 109558756 B CN109558756 B CN 109558756B
Authority
CN
China
Prior art keywords
data
tag
apdu
emv
tags
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
CN201811523700.3A
Other languages
English (en)
Other versions
CN109558756A (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.)
Vanstone Electronic Beijing Co Ltd
Original Assignee
Vanstone Electronic Beijing 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 Vanstone Electronic Beijing Co Ltd filed Critical Vanstone Electronic Beijing Co Ltd
Priority to CN201811523700.3A priority Critical patent/CN109558756B/zh
Publication of CN109558756A publication Critical patent/CN109558756A/zh
Application granted granted Critical
Publication of CN109558756B publication Critical patent/CN109558756B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0008General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer
    • 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/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种EMV报文解析工具,涉及POS机程序开发技术领域。该解析工具包括APDU指令解析模块和TAG解析模块,根据APDU指令为节点,将整体报文解析成多个APDU指令下的内容,获得每个APDU指令下对应的发送数据和接收数据,并根据TAG为节点,对接收数据中的DATA进行解析,获得每个TAG对应的描述和值,从而将纷杂的、多种元素混合在一起的EMV报文中的内容分门别类展示在表格中,使得其内容变得清晰易读,便于POS机程序开发人员解读和使用,极大的提高了工作效率。

Description

一种EMV报文解析工具
技术领域
本发明涉及POS机程序开发技术领域,尤其涉及一种EMV报文解析工具。
背景技术
在POS机应用程序开发中,需要用到大量的EMV报文。EMV是由国际三大银行卡组织--Europay(欧陆卡,已被万事达收购)、MasterCard(万事达卡)和Visa(维萨)共同发起制定的银行卡从磁条卡向智能IC卡转移的技术标准,是基于IC卡的金融支付标准,已成为公认的全球统一标准。
在POS机程序中,EMV报文是POS机跟银行卡交互的数据,其中包括指令、要传输至银行卡的数据,以及从银行卡返回的数据。
目前,所使用的报文中,纷杂的TAG和数据交织在一起,不仅会让人们眼花缭乱,而且晦涩难懂,初步使用者很难捕捉到有效信息。
比如,以下的EMV报文日志:
“Command:00A40400
Lc=0E00
Data(to Icc):325041592E5359532E4444463031
Le=0001
swa:90swb:00
LenOut:3300
DataOut:
6F31840E325041592E5359532E4444463031A51FBF0C1C611A4F08A0000003330101
02500B50424F4320435245444954870101
Command:00A40400
Lc=0800
Data(to Icc):A000000333010102
Le=0001
swa:90swb:00
LenOut:4600
DataOut:
6F448408A000000333010102A538500B50424F43204352454449548701019F38189F
66049F02069F03069F1A0295055F2A029A039C019F37045F2D027A68BF0C059F4D020B0A”。
上述EMV日志已经让人眼花缭乱,如果把所有的日志堆在一起想清晰的读解日志是很不容易的一件事,从而极大的降低了工作效率。
发明内容
本发明的目的在于提供一种EMV日志解析工具,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明采用的技术方案如下:
一种EMV报文解析工具,包括:
APDU指令解析模块,用于读取EMV报文中的所有APDU指令,并按照读取的顺序,生成APDU指令对应的标题以及该标题下的三个表格,还用于将读取到的该APDU指令发送的数据、接收的数据分别存储在一个表格中,形成发送数据表格、和接收数据表格;
TAG解析模块,用于获取APDU指令接收的数据中的DATA数据,还用于获取DATA数据中所有的TAG,遍历所有的TAG对其进行解释,并将TAG及其对应的描述和值存储在APDU指令对应标题下的一个表格中,形成解析数据表格。
优选地,所述读取EMV报文中的所有APDU指令,具体为,所述EMV报文解析工具还包括APDU指令库,所述APDU指令库中包括EMV报文包含的所有APDU指令,顺序读取EMV报文,在所述APDU指令库中进行检索,能够在所述APDU指令库中检索到的EMV报文数据,即为APDU指令。
优选地,所述发送数据表格包括两列,第一列用于存储APDU指令中所有的发送子指令,第二列用于存储每个发送子指令对应的值和说明。
优选地,所述接收数据表格包括两列,第一列用于存储APDU指令中的所有返回子指令,第二列用于存储每个返回子指令对应的值和说明。
优选地,所述解析数据表格包括多行,每一行用于记录一个TAG以及对应的描述和值,其中,如果下一个TAG包含在上一个TAG的数据中,则记录下一个TAG的对应行缩进一列存储在表格中,否则,同列存储。
优选地,所述获取DATA数据中所有的TAG,遍历所有的TAG对其进行解释,具体为,所述EMV报文解析工具还包括TAG释义库,且所述TAG释义库包括EMV报文包含的所有TAG及其描述,顺序读取DATA数据,并在所述TAG释义库中进行检索,如果该DATA数据能够在所述TAG释义库中检索到,则该的DATA数据为TAG,根据所述TAG释义库对该DATA数据进行描述,如果有值,则对其值进行表示。
本发明的有益效果是:本发明提供的EMV报文解析工具,包括APDU指令解析模块和TAG解析模块,根据APDU指令为节点,将整体报文解析成多个APDU指令下的内容,获得每个APDU指令下对应的发送数据和接收数据,并根据TAG为节点,对接收数据中的DATA进行解析,获得每个TAG对应的描述和值,从而将纷杂的、多种元素混合在一起的EMV报文中的内容分门别类展示在表格中,使得其内容变得清晰易读,便于POS机程序开发人员解读和使用,极大的提高了工作效率。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供了一种EMV报文解析工具,包括:
APDU指令解析模块,用于读取EMV报文中的所有APDU指令,并按照读取的顺序,生成APDU指令对应的标题以及该标题下的三个表格,还用于将读取到的该APDU指令发送的数据、接收的数据分别存储在一个表格中,形成发送数据表格、和接收数据表格;
TAG解析模块,用于获取APDU指令接收的数据中的DATA数据,还用于获取DATA数据中所有的TAG,遍历所有的TAG对其进行解释,并将TAG及其对应的描述和值存储在APDU指令对应标题下的一个表格中,形成解析数据表格。
可见,本发明中,通过获取报文中的APDU指令,并以APDU指令为节点,对每个APDU指令中的内容分别进行解析,解析过程具体为,将不同指令中的发送数据和接收数据进行分类,并分别存储在不同的表格中,遍历所有的APDU指令,实现对EMV报文的解析。
同时,由于接收到的数据中DATA数据还是比较繁杂,包括所有的TAG及其对应的数据,所以,利用TAG解析模块对DATA数据再次进行解析,解析过程为,以TAG为节点,将不同的TAG及其对应的描述和值分别进行记录,形成解析数据表。
从而,按照上述方法,将纷杂的、多种元素混合在一起的EMV报文中的内容分门别类展示在表格中,使得其内容变得清晰易读,便于POS机程序开发人员解读和使用,极大的提高了工作效率。
其中,所述读取EMV报文中的所有APDU指令,具体为,所述EMV报文解析工具还包括APDU指令库,所述APDU指令库中包括EMV报文包含的所有APDU指令,顺序读取EMV报文,在所述APDU指令库中进行检索,能够在所述APDU指令库中检索到的EMV报文数据,即为APDU指令。
所述发送数据表格包括两列,第一列用于存储APDU指令中所有的发送子指令,第二列用于存储每个发送子指令对应的值和说明。
所述接收数据表格包括两列,第一列用于存储APDU指令中的所有返回子指令,第二列用于存储每个返回子指令对应的值和说明。
所述解析数据表格包括多行,每一行用于记录一个TAG以及对应的描述和值,其中,如果下一个TAG包含在上一个TAG的数据中,则记录下一个TAG的对应行缩进一列存储在表格中,否则,同列存储。
所述获取DATA数据中所有的TAG,遍历所有的TAG对其进行解释,具体为,所述EMV报文解析工具还包括TAG释义库,且所述TAG释义库包括EMV报文包含的所有TAG及其描述,顺序读取DATA数据,并在所述TAG释义库中进行检索,如果该DATA数据能够在所述TAG释义库中检索到,则该的DATA数据为TAG,根据所述TAG释义库对该的DATA数据进行描述,如果有值,则对其值进行表示。
具体实施例:
例如报文“Command:00A40400
Lc=0E00
Data(to Icc):325041592E5359532E4444463031
Le=0001
swa:90swb:00
LenOut:3300
DataOut:
6F31840E325041592E5359532E4444463031A51FBF0C1C611A4F08A000000333010102500B50424F4320435245444954870101”
在上述报文中,“00A40400”为APDU指令,该指令下的“Data(to Icc)”是APDU指令中的发送指令,“swa,swb”是APDU指令中的回复指令来判断银行卡返回的状态,“DataOut”是接收到的回复数据,其值为:6F31840E325041592E5359532E4444463031A51FBF0C1C611A4F08A000000333010102500B50424F4320435245444954870101。
对于上述EMV报文,根据本发明提供的EMV报文解析工具,其解析过程为:用户可以直接将报文拖拽到EMV报文解析工具里,然后工具会识别出其中的APDU指令,按照顺序,对于每个APDU指令自动生成一个标题,因为报文里会有多个APDU指令,所以解析工具会按顺序生成一个个标题。然后在标题下生成三个表格,其中,一个表格用于存储APDU指令的发送数据,一个表格用于存储APDU指令的接收数据,第三个表格用于存储TAG解析模块对于APDU指令接收数据中的DATA数据的解析数据。
具体的,解析工具收到放进的来的报文后,从报文的开始查找APDU指令,找到一个APDU指令就生成一个标题,然后生成三个表格:
用于存储APDU指令的发送数据的表格为两列的表格,左边一列用于存放按照APDU的指令“CLA INS P1P2LC DATA LE”形成七行,右边一列用于存放这些APDU指令所对应的值和说明,本实施例中,解析得到的发送数据表具体如表1所示。
表1
CLA 00
INS A4
P1 04(通过名称选择)
P2 00(第1个有或仅有一个)
LC 0E(05-10)
DATA 325041592E5359532E4444463031(文件名:2PAY.SYS.DDF01)
LE 00
用于存储APDU指令的接收数据的表格为两列的表格,左边一列用于存放按照APDU的返回指令“SWASWB LEN DATA”形成三行,右边一列用于存放这些返回指令所对应的值和说明。本实施例中,解析得到的接收数据表具体如表2所示。
Figure BDA0001903865620000061
通过上述过程,解析得到了接收数据中的DATA(如表2中的最后一行的数据)后,使用TAG解析模块对DATA进行解析,并生成解析数据表格。在解析的过程中,顺序读取DATA数据,并在所述TAG释义库中进行检索,如果该DATA数据能够在所述TAG释义库中检索到,则该的DATA数据为TAG,根据所述TAG释义库对该的DATA数据进行描述,如果有值,则对其赋值,同时,将解析得到的TAG和其所对应的描述、值分别存储在解析数据表中,其中,存储时,解析数据表包括多行,每一行用于记录一个TAG以及对应的描述和值,每一行中,左边的列用于记录TAG,右边的列用于记录TAG所对应的描述及其值。如果下一个TAG包含在上一个TAG的数据中,则记录下一个TAG的对应行缩进一列存储在表格中,否则,同列存储,本实施例中,解析得到的解析数据表如表3所示。
表3
Figure BDA0001903865620000071
Figure BDA0001903865620000081
表3中,第一行中,“6F”为一个TAG,其描述为:文件控制信息(FCI)模板,其长度为‘31(此为16进制长度)’”;
第二行中的信息与第一行的信息相比,其数据缩进一列进行记录,是因为第二行的数据包含在第一行的数据中,所以,将其缩进一列记录。其中,“84”为一个TAG,其描述为:专用文件(DF)名称,其值为:325041592E5359532E4444463031(2PAY.SYS.DDF01);
第三行中的信息与第二行的信息相比,其数据同列进行记录,是因为第三行的数据与第二行的数据同级别的,所以,将其同列记录。其中,“A5”为一个TAG,其描述为:文件控制信息(FCI)专用模板;
第四行中的信息与第三行的信息相比,其数据缩进一列进行记录,是因为第四行的数据包含在第三行的数据中,所以,将其缩进一列记录。其中,“BF0C”为一个TAG,其描述为:文件控制信息(FCI)发卡行自定义数据;
第五行中的信息与第四行的信息相比,其数据缩进一列进行记录,是因为第五行的数据包含在第四行的数据中,所以,将其缩进一列记录。其中,
“61”一个TAG,其描述为:应用模板。
DATA数据中的其他内容依次类推,按照该方法进行解析并存储在表格中,其中,TAG和对应的描述、值包括:
“4F-应用标识符(AID),‘08-长度’,‘A000000333010102-数据内容’”
“50-应用标签,‘0B-长度’,‘50424F4320435245444954-数据内容’”
“87-应用优先指示器,‘01-长度’,‘01-数据内容’”
通过采用本发明公开的上述技术方案,得到了如下有益的效果:本发明提供的EMV报文解析工具,包括APDU指令解析模块和TAG解析模块,根据APDU指令为节点,将整体报文解析成多个APDU指令下的内容,获得每个APDU指令下对应的发送数据和接收数据,并根据TAG为节点,对接收数据中的DATA进行解析,获得每个TAG对应的描述和值,从而将纷杂的、多种元素混合在一起的EMV报文中的内容分门别类展示在表格中,使得其内容变得清晰易读,便于POS机程序开发人员解读和使用,极大的提高了工作效率。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

Claims (4)

1.一种EMV报文解析工具,其特征在于,包括:
APDU指令解析模块,用于读取EMV报文中的所有APDU指令,并按照读取的顺序,生成APDU指令对应的标题以及该标题下的三个表格,还用于将读取到的该APDU指令发送的数据、接收的数据分别存储在一个表格中,形成发送数据表格和接收数据表格;
TAG解析模块,用于获取APDU指令接收的数据中的DATA数据,还用于获取DATA数据中所有的TAG,遍历所有的TAG对其进行解释,并将TAG及其对应的描述和值存储在APDU指令对应标题下的一个表格中,形成解析数据表格;
其中,所述读取EMV报文中的所有APDU指令,具体为,所述EMV报文解析工具还包括APDU指令库,所述APDU指令库中包括EMV报文包含的所有APDU指令,顺序读取EMV报文,在所述APDU指令库中进行检索,能够在所述APDU指令库中检索到的EMV报文数据,即为APDU指令;
所述获取DATA数据中所有的TAG,遍历所有的TAG对其进行解释,具体为,所述EMV报文解析工具还包括TAG释义库,且所述TAG释义库包括EMV报文包含的所有TAG及其描述,顺序读取DATA数据,并在所述TAG释义库中进行检索,如果该DATA数据能够在所述TAG释义库中检索到,则该的DATA数据为TAG,根据所述TAG释义库对该DATA数据进行描述,如果有值,则对其值进行表示。
2.根据权利要求1所述的EMV报文解析工具,其特征在于,所述发送数据表格包括两列,第一列用于存储APDU指令中所有的发送子指令,第二列用于存储每个发送子指令对应的值和说明。
3.根据权利要求1所述的EMV报文解析工具,其特征在于,所述接收数据表格包括两列,第一列用于存储APDU指令中的所有返回子指令,第二列用于存储每个返回子指令对应的值和说明。
4.根据权利要求1所述的EMV报文解析工具,其特征在于,所述解析数据表格包括多行,每一行用于记录一个TAG以及对应的描述和值,其中,如果下一个TAG包含在上一个TAG的数据中,则记录下一个TAG的对应行缩进一列存储在表格中,否则,同列存储。
CN201811523700.3A 2018-12-13 2018-12-13 一种emv报文解析工具 Active CN109558756B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811523700.3A CN109558756B (zh) 2018-12-13 2018-12-13 一种emv报文解析工具

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811523700.3A CN109558756B (zh) 2018-12-13 2018-12-13 一种emv报文解析工具

Publications (2)

Publication Number Publication Date
CN109558756A CN109558756A (zh) 2019-04-02
CN109558756B true CN109558756B (zh) 2022-04-12

Family

ID=65869757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811523700.3A Active CN109558756B (zh) 2018-12-13 2018-12-13 一种emv报文解析工具

Country Status (1)

Country Link
CN (1) CN109558756B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042736A (zh) * 2006-03-24 2007-09-26 中国银联股份有限公司 一种智能卡及智能卡中存取对象的方法
CN103744890A (zh) * 2013-12-23 2014-04-23 清华大学 日志分离方法及装置
CN106649729A (zh) * 2016-12-23 2017-05-10 深圳市金证科技股份有限公司 日志运行方法及系统、客户端和服务器
CN107633008A (zh) * 2017-08-10 2018-01-26 阿里巴巴集团控股有限公司 Web工程数据处理方法、装置、服务器及系统
CN108376364A (zh) * 2018-02-07 2018-08-07 深圳市雁联计算系统有限公司 一种支付系统对账的方法、设备及终端设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9304761B2 (en) * 2013-06-12 2016-04-05 Nuesoft Technologies, Inc. System and method for collaborative programming of data entry workflows between system developers, end users, and third party developers

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042736A (zh) * 2006-03-24 2007-09-26 中国银联股份有限公司 一种智能卡及智能卡中存取对象的方法
CN103744890A (zh) * 2013-12-23 2014-04-23 清华大学 日志分离方法及装置
CN106649729A (zh) * 2016-12-23 2017-05-10 深圳市金证科技股份有限公司 日志运行方法及系统、客户端和服务器
CN107633008A (zh) * 2017-08-10 2018-01-26 阿里巴巴集团控股有限公司 Web工程数据处理方法、装置、服务器及系统
CN108376364A (zh) * 2018-02-07 2018-08-07 深圳市雁联计算系统有限公司 一种支付系统对账的方法、设备及终端设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"EMVtag系列《支付环境响应数据》";佚名;《CSDN》;20140729;第1页 *
"适合EMV标准的银行卡交易脚本处理机制";黄声国等;《中国信用卡》;20090415(第8期);第28-29页 *

Also Published As

Publication number Publication date
CN109558756A (zh) 2019-04-02

Similar Documents

Publication Publication Date Title
CN109062874A (zh) 财政数据的获取方法、终端设备及介质
US8869025B2 (en) Method and system for identifying advertisement in web page
CN109542916A (zh) 平台商品入驻方法、装置、计算机设备及存储介质
CN104317850B (zh) 数据处理方法和装置
CN109308254A (zh) 一种测试方法、装置及测试设备
CN113362157A (zh) 异常节点识别方法、模型的训练方法、装置及存储介质
CN110352427A (zh) 用于收集与网络化环境中的欺诈性内容相关联的数据的系统和方法
CN104598625A (zh) 基于自动识别标识符的数据表存储方法
CN107133165A (zh) 浏览器兼容性检测方法及装置
CN110134592A (zh) 一种补充数据字段的方法及装置、电子设备
CN112395418A (zh) 网页中的目标对象提取方法、装置、电子设备
CN110969000B (zh) 数据合并的处理方法及装置
CN100357952C (zh) 一种二进制数据的访问方法
US4965802A (en) Memory arrangement utilized for IC card
CN109558756B (zh) 一种emv报文解析工具
CN107526795B (zh) 知识库的构建方法及装置、存储介质、计算设备
CN113159960A (zh) 一种冲正交易的处理方法、装置、设备和存储介质
CN107016028A (zh) 数据处理方法及其设备
CN102117293B (zh) 文件动态定位及查询方法
JP4234698B2 (ja) 構造化文書処理システム
US20080162165A1 (en) Method and system for analyzing non-patent references in a set of patents
US20140013194A1 (en) System and method for collecting financial information over a global communications network
CN112818687B (zh) 一种用于构建标题识别模型的方法、装置、电子设备以及存储介质
KR20020043993A (ko) 패턴정보를 이용한 상품정보 추출 장치 및 방법
CN103793486A (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