← 返回知识库

EMV Tag详解:完整EMV标签数据对象参考手册

更新于 2026-07-27 · 约8000字 · 卡智通知识库

目录

一、EMV Tag概述

EMV Tag(EMV标签)是EMV规范(Europay、Mastercard、Visa联合制定的智能卡支付标准)中定义的数据对象标识符。每个EMV Tag代表一个特定的支付数据元素——从最常见的卡号(PAN)到复杂的公钥证书,全部使用EMV TLV(Tag-Length-Value)格式编码。

EMV标签定义在以下EMV规范文档中:

前置知识

阅读本文前,建议先了解TLV编码格式(参见TLV格式详解)和APDU命令(参见APDU命令大全)。EMV标签数据通过APDU的READ RECORD命令从卡片读取,返回BER-TLV编码的字节序列。

二、EMV Tag的TLV编码格式

EMV标签采用BER-TLV编码(Basic Encoding Rules - Tag Length Value),每个EMV数据对象由三部分组成:

EMV BER-TLV 数据对象 = Tag + Length + Value

Tag:    1~2字节,唯一标识数据元素的语义类型
Length: 1~N字节,指示Value字段的字节数
Value:  实际数据内容(Primitive)或嵌套子TLV(Constructed)

EMV Tag的编码规则(与标准BER-TLV一致):

Tag首字节:
  b8-b7: Class (01=Application, 10=Context-specific)
  b6:    Data Object 类型 (0=Primitive原始值, 1=Constructed包含子TLV)
  b5-b1: Tag Number

# 单字节Tag示例
Tag 0x5A = 01 0 11010 → Application Class, Primitive, Tag Number=26
→ 语义:Application Primary Account Number (PAN),主账号

# 双字节Tag示例
Tag 0x9F 0x33 = 100 1 11111 + 0 0110011
→ Context-specific Class, Constructed, Tag Number=51
→ 语义:Terminal Capabilities,终端功能

三、EMV Tag编号体系与分类

EMV标签按首字节分为几个编号区间:

Tag区间类别Class典型用途
42发卡行公钥指数ApplicationIssuer Public Key Exponent
4FADF名称(AID)ApplicationApplication Dedicated File Name
50应用标签ApplicationApplication Label(应用名称,如"Visa Credit")
56磁条数据ApplicationTrack 1 Data(磁道1数据)
57磁条数据ApplicationTrack 2 Equivalent Data(磁道2等效数据)
5APAN(主账号)ApplicationApplication Primary Account Number (PAN)
5F20~5F3A持卡人/卡片基本数据Application姓名(5F20)、有效期(5F24)、生效日期(5F25)、国家代码(5F28)、币种(5F2A)、服务码(5F30)
6FFCI模板ApplicationFile Control Information Template
70记录模板ContextREAD RECORD返回的模板容器
71发卡脚本模板ContextIssuer Script Template
77响应消息模板ContextResponse Message Template (GPO返回格式)
80响应消息模板2ContextResponse Message Template Format 2
82AIP(应用交互特征)ContextApplication Interchange Profile
84专用文件名称ContextDedicated File (DF) Name
87应用优先级标识ContextApplication Priority Indicator
88SFIContextShort File Identifier
8A授权响应码ContextAuthorisation Response Code
8C~8FCDOL/发卡行认证数据ContextCard Risk Management Data
90发卡行公钥证书ContextIssuer Public Key Certificate
91发卡行认证数据ContextIssuer Authentication Data
92发卡行公钥剩余ContextIssuer Public Key Remainder
93签名静态应用数据ContextSigned Static Application Data
94AFL(应用文件定位器)ContextApplication File Locator
95终端验证结果ContextTerminal Verification Results (TVR)
97交易证书数据ContextTransaction Certificate Data Object
98交易证书哈希ContextTC Hash Value
99交易PIN数据ContextTransaction PIN Data
9A交易日期ContextTransaction Date (YYMMDD)
9B交易状态信息ContextTransaction Status Information (TSI)
9C交易类型ContextTransaction Type (00=购买, 01=取现, 20=退款...)
9F01~9F7FEMV扩展标签区Context发卡行数据、终端数据、交易数据等(最多标签定义的区域)
A5FCI专有模板ContextFCI Proprietary Template
BF0CFCI发卡行自定义数据ContextFCI Issuer Discretionary Data

四、卡片数据标签(5Fxx / 5A)

以下是EMV卡片数据标签——这些Tag携带卡片本身的基本信息:

Tag名称格式长度说明
5AApplication PAN (PAN)cn (压缩数字)0~10字节(最多19位PAN)主账号/卡号。EMV最重要的标签之一。变长、压缩BCD编码
5F20Cardholder Namean (字母数字)2~26字节持卡人姓名。ASCII编码,格式如"DOE/JOHN MR "
5F24Application Expiration Daten (数字)3字节应用有效期。YYMMDD格式,如251231
5F25Application Effective Daten3字节应用生效日期。YYMMDD格式
5F28Issuer Country Coden2字节发卡行国家代码。ISO 3166数字代码。0156=中国,0840=美国
5F2ATransaction Currency Coden2字节交易币种代码。ISO 4217。0156=CNY,0840=USD,0978=EUR
5F2DLanguage Preferencean2~8字节语言偏好。如"zh""en""ja"按优先级排列
5F30Service Coden1~3字节服务码。定义卡片的交易类型限制。第一个数字=1表示国际卡+集成电路
5F34Application PAN Sequence Numbern1字节PAN序列号。同卡号多张卡时区分用(如主卡/附属卡)
5F35CVM List变长变长持卡人验证方法列表,定义PIN/签名等验证方式及顺序
5F36Transaction Currency Exponentn1字节币种指数。定义金额小数位(如CNY通常为2位小数)
5F37Application Reference Data (ARPC)b变长发卡行认证响应码
5F50Issuer URLan变长发卡行网址URL
5F53Consecutive Transaction Limit (International)b4字节国际交易连续限额
5F55Announcement URLan变长发卡公告/服务URL

五、发卡行数据标签(9Fxx系列)

发卡行数据标签——这些标签携带发卡行写入卡片的个人化数据:

Tag名称说明
9F10Issuer Application Data (IAD)发卡行应用数据。发卡行自定义格式的关键数据,在GENERATE AC时返回
9F11Issuer Code Table Index发卡行代码表索引
9F12Application Preferred Name应用首选名称(如"Visa Credit")
9F14Lower Consecutive Offline Limit连续脱机交易下限
9F15Merchant Category Code商户类别码(MCC)
9F16Merchant Identifier商户标识
9F1ATerminal Country Code终端国家代码。ISO 3166
9F1BTerminal Identification终端标识号
9F1CTerminal Serial Number终端序列号
9F1DTerminal Risk Management Data终端风控数据
9F20Track 2 Discretionary Data磁道2自定义数据
9F21Transaction Time交易时间。HHMMSS格式
9F26Application Cryptogram (AC)应用密文。GENERATE AC返回的核心认证数据(TC/AAC/ARQC)
9F27Cryptogram Information Data (CID)密文信息数据。指示密文类型(TC/AAC/ARQC)和生成原因
9F32Issuer Public Key Exponent发卡行公钥指数
9F33Terminal Capabilities终端功能。位图编码,指示终端支持的认证方法、CVM方法等
9F34CVM Results持卡人验证结果。记录执行的CVM方法和结果
9F35Terminal Type终端类型。如22=POS终端、14=电子现金终端
9F36Application Transaction Counter (ATC)应用交易计数器。每次交易后递增的2字节计数器,防重放攻击
9F37Unpredictable Number不可预测数。终端生成的4字节随机数
9F38Processing Options Data Object List (PDOL)处理选项数据对象列表。GPO命令输入
9F39POS Entry ModePOS输入方式。指示卡片如何被读取(插卡/挥卡/手输)
9F40Additional Terminal Capabilities附加终端功能。9F33的扩展
9F41Sequence Counter交易序列号计数器
9F42Application Currency Code应用币种代码
9F44Application Currency Exponent应用币种指数
9F45Data Authentication Code数据认证码
9F46ICC Public Key CertificateICC公钥证书。DDA/CDA认证的核心数据
9F47ICC Public Key ExponentICC公钥指数
9F48ICC Public Key RemainderICC公钥剩余部分
9F49Dynamic Data Authentication Data Object List (DDOL)动态数据认证DOL
9F4AStatic Data Authentication Tag List静态数据认证标签列表
9F4BSigned Dynamic Application Data签名动态应用数据
9F4DLog Entry日志条目
9F4EMerchant Name and Location商户名称和地点
9F4FLog Format日志格式定义

六、终端数据标签(9Fxx终端类)

终端侧生成的EMV标签,在GENERATE AC命令中作为CDOL数据发送给卡片:

Tag名称长度说明
9F02Amount, Authorised (Numeric)6字节授权金额。压缩BCD,如 000000001000 = 10.00元
9F03Amount, Other (Numeric)6字节其他金额(如小费)
9F09Application Version Number (Terminal)2字节终端应用版本号
9F1ATerminal Country Code2字节终端国家代码
9F35Terminal Type1字节终端类型。如0x22=POS在线、0x14=电子现金
9F37Unpredictable Number4字节不可预测数。终端随机数,防重放
9F39POS Entry Mode2字节POS输入方式。接触/非接触/手输PAN等
9F41Transaction Sequence Counter2~4字节交易序列计数器
9F53Consecutive Transaction Limit (International)4字节国际连续交易限额
9F66Terminal Transaction Qualifiers (TTQ)4字节终端交易限定符。位图指示终端对CVM/CDCVM等的支持

七、交易数据标签(9Fxx交易类)

交易过程中生成或使用的EMV标签

Tag名称说明
9ATransaction Date交易日期。YYMMDD格式
9BTransaction Status Information (TSI)交易状态信息。位图,记录脱机SDA/DDA/CDA/CDCVM等是否已执行
9CTransaction Type交易类型。00=购买、01=取现、20=退款、28=余额查询
5F2ATransaction Currency Code交易币种。ISO 4217
9F02Amount, Authorised授权金额
9F03Amount, Other其他金额
9F1EInterface Device (IFD) Serial Number读卡器序列号
9F21Transaction Time交易时间。HHMMSS格式
9F53Consecutive Transaction Limit连续交易限额(国际/国内)

八、证书与认证标签

EMV认证体系中使用的证书和密钥相关标签:

Tag名称说明
90Issuer Public Key Certificate发卡行公钥证书。由CA(如Visa/MC)签发的发卡行RSA公钥证书
91Issuer Authentication Data发卡行认证数据
92Issuer Public Key Remainder发卡行公钥剩余。RSA公钥模数超出证书容量的下半部分
93Signed Static Application Data (SSAD)签名静态应用数据。SDA认证的核心——发卡行用私钥签名的关键静态数据
9F32Issuer Public Key Exponent发卡行公钥指数。通常为3或65537
9F46ICC Public Key CertificateICC公钥证书。DDA认证时,由发卡行签发的卡片公私钥对证书
9F47ICC Public Key ExponentICC公钥指数
9F48ICC Public Key RemainderICC公钥剩余
9F4BSigned Dynamic Application Data (SDAD)签名动态应用数据。DDA/CDA认证的核心——卡片用ICC私钥签名的动态交易数据

EMV三种脱机认证方式

九、AIP与AFL标签详解

AIPAFL是EMV交易流程中最关键的两个标签,均在GET PROCESSING OPTIONS(GPO)响应中返回。

AIP — Application Interchange Profile(Tag 82)

AIP(应用交互特征)是一个2字节的位图,指示卡片支持的EMV功能集

AIP 字节1 (EMV Book 3, Annex C.1):
  b8=1: SDA supported
  b7=1: DDA supported
  b6=1: Cardholder verification supported
  b5=1: Terminal risk management required
  b4=1: Issuer authentication using EXTERNAL AUTHENTICATE
  b3=1: CDA supported
  b2=1: Reserved

AIP 字节2:
  b8=1: EMV mode contact supported

AFL — Application File Locator(Tag 94)

AFL(应用文件定位器)指示终端需要从卡片读取哪些记录文件。它是EMV交易数据获取的"地图"。AFL由多个4字节条目组成:

AFL 条目结构(每条4字节):
  Byte 1: SFI (短文件标识符,bit7-3)
  Byte 2: 第一条记录号
  Byte 3: 最后一条记录号
  Byte 4: 参与脱机数据认证的记录数

# 示例 AFL: 08 01 01 00 10 01 01 00
# 条目1: SFI=1, 读记录1, 最后记录1, 0条参与脱机认证
# 条目2: SFI=2, 读记录1, 最后记录1, 0条参与脱机认证

十、DOL数据对象列表

DOL(Data Object List)是EMV规范中定义的一种特殊数据结构,它的Value由一系列Tag + Length对(无Value)组成,告诉对方"我需要你用这些Tag构建数据发给我"。

DOL名称存储位置用途
PDOL (Processing Options DOL)SELECT返回的FCI中,Tag 9F38卡片告诉终端:执行GPO时需要提供这些终端数据
CDOL1 (Card Risk Management DOL 1)卡片数据中,Tag 8C卡片告诉终端:第一次GENERATE AC时需要提供的数据
CDOL2 (Card Risk Management DOL 2)卡片数据中,Tag 8D卡片告诉终端:第二次GENERATE AC(在线授权后)需要的数据
DDOL (Dynamic DOL)卡片数据中,Tag 9F49DDA认证时需要签名的动态数据列表
TDOL (Transaction DOL)卡片数据中,Tag 97用于生成交易证书(TC)哈希的数据列表
# CDOL1 示例解析
Tag 8C = CDOL1
Length = 18 (24字节)
Value = 以下串接的Tag+Length对:
  9F02 06  → Amount Authorised (6字节)
  9F03 06  → Amount Other (6字节)
  9F1A 02  → Terminal Country Code (2字节)
  95    05  → TVR (5字节)
  5F2A 02  → Transaction Currency Code (2字节)
  9A    03  → Transaction Date (3字节)
  9C    01  → Transaction Type (1字节)
  9F37 04  → Unpredictable Number (4字节)

十一、CVM持卡人验证方法标签

CVM(Cardholder Verification Method,持卡人验证方法)定义在Tag 5F35(CVM List)中。每个CVM条目描述一种验证方法及其条件。

CVM List (Tag 5F35) 结构:
  每个条目由3字节组成:
  Byte 1 (高4位=CVM条件码, 低4位=CVM类型码):
    CVM条件码: 0=总是, 1=如果未有人值守现金, 2=如果非现金, 3=如果终端支持, 4=手动现金
    CVM类型码: 1=明文PIN(ICC验证), 2=加密PIN(联机), 3=明文PIN+签名,
               4=加密PIN+签名, 5=签名, 6=无需CVM
  Byte 2 (条件码): CVM失败时的处理方式
  Byte 3 (CVM金额): CVM阈值金额(可选)

十二、EMV标签速查总表

以下按功能分组列出EMV标签快速查找表:

分组Tag列表用途
卡片识别5A, 5F20, 5F24, 5F25, 5F28, 5F30, 5F34, 50卡号PAN、持卡人姓名、有效期、服务码、应用名称
应用选择4F, 50, 87, 9F12, 84AID、应用标签、优先级、DF名称
交易处理9F02, 9F03, 9A, 9C, 9F21, 5F2A, 9F1A金额、交易日期/时间/类型、币种、国家
GPO相关82, 94, 9F38AIP、AFL、PDOL
认证数据9F26, 9F27, 9F10, 9F36, 9F37应用密文、CID、IAD、ATC、不可预测数
脱机认证90, 92, 93, 9F32, 9F46, 9F47, 9F48, 9F4B发卡行证书、ICC证书、SDA/DDA/CDA相关
终端能力9F33, 9F35, 9F39, 9F40, 9F66终端功能、终端类型、POS输入方式
终端验证95, 9B, 9F1B, 8ATVR、TSI、授权响应码
CVM5F35, 5F34, 9F34CVM列表、PIN结果
DOL9F38, 8C, 8D, 9F49, 97PDOL、CDOL1、CDOL2、DDOL、TDOL
磁条数据56, 57, 5F20, 5F24Track1/Track2等效数据、持卡人姓名、有效期
风险管理9F14, 9F15, 9F1D, 9F53, 8F脱机交易限额、商户类别、风控数据
模板容器6F, 70, 71, 72, 77, 80, A5, BF0C各类Constructed模板(其Value包含子TLV)

十三、EMV TLV数据解析实例

以下是一个完整的EMV GPO响应(GET PROCESSING OPTIONS)的TLV解析实例:

# 原始GPO响应字节(Tag 77模板)
77 0E
  82 02 19 00           ← AIP = 1900
  94 08 08 01 01 00 10 01 01 00  ← AFL

# 解析:
# 外层: Tag=77 (Response Message Template), Len=14字节, Constructed
#   子TLV1: Tag=82 (AIP), Len=2, Value=19 00
#     AIP=0x1900: SDA支持, CVM支持, 终端风控
#   子TLV2: Tag=94 (AFL), Len=8, Value=08 01 01 00 10 01 01 00
#     AFL条目1: SFI=1 (0x08>>3=1), 第1条, 第1条, 0参与认证
#     AFL条目2: SFI=2 (0x10>>3=2), 第1条, 第1条, 0参与认证

继续按AFL读取记录后获得的数据:

# SFI=1, 记录1 的内容 (Tag 70 模板)
70 5D
  57 13 62 34 56 78 90 12 34 56 78 D2 51 22 31 00 00 00 00 00 0F
  5A 08 62 34 56 78 90 12 34 56
  5F20 1A 44 4F 45 2F 4A 4F 48 4E 20 4D 52 20 20 20 20 20 20 20 20 20 20 20 20 20
  5F24 03 26 12 31
  5F25 03 22 12 31
  5F28 02 08 40
  5F30 01 02
  5F34 01 01
  5F35 01 00
  9F07 02 FF 00

# 解析:
# Tag=57 (Track 2 Equivalent Data): 卡号/有效期/服务码 磁道2等效数据
#   PAN=6234567890123456, 分隔符D, 有效期=2512, 服务码=231, PVV=0000000000
# Tag=5A (PAN): 压缩BCD = 6234567890123456
# Tag=5F20 (持卡人姓名): "DOE/JOHN MR           "
# Tag=5F24 (有效期): 2026年12月31日
# Tag=5F25 (生效日期): 2022年12月31日
# Tag=5F28 (发卡行国家): 0840=美国
# Tag=5F30 (服务码): 02
# Tag=5F34 (PAN序列号): 01
# Tag=5F35 (CVM列表): 无需CVM (CDCVM)
# Tag=9F07 (AID): FF 00 (应用无关标识)

学习路径总结

EMV Tag详解是智能卡知识体系的顶层应用。完整学习路径:ISO7816完整教程(协议基础)→ APDU命令大全(命令通信)→ TLV格式详解(数据编码)→ ASN.1完全教程(数据描述语言)→ EMV Tag详解(本文,支付应用实战)。