梳理一下 Contact EMV L2(接触式 EMV 二级内核)流程简介。
在 EMV 架构里:
- L1(Level 1):物理层和链路层(ISO7816 通信,电气、时序、ATR 等)。
- L2(Level 2):应用层协议(EMV 内核,处理应用选择、认证、风险管理、交易处理)。
- L3(Level 3):终端应用,调用 L2 内核并处理业务逻辑(如支付应用 UI、联机请求等)。
下面是 Contact EMV L2 的典型交易流程(简化版):
🔹 1. 应用选择 (Application Selection)
- 终端读取卡片上的 AID 列表(通过
SELECT命令)。 - 与终端支持的 AID 列表比对,选出一个合适的应用。
- 完成 应用版本协商。
🔹 2. 初始化应用处理 (Initiate Application Processing)
- 终端读取应用数据(
GET PROCESSING OPTIONS→ 读取 AFL)。 - 根据 AFL(Application File Locator),发起多次
READ RECORD读取卡片数据(持卡人信息、限制条件、证书、公钥等)。
🔹 3. 处理限制检查 (Processing Restrictions)
- 校验卡是否可用(卡片状态、有效期、应用版本兼容性等)。
🔹 4. 卡片持有人验证(CVM)
-
根据卡片提供的 CVM 列表(CVM List),选择合适的验证方式:
- 签名
- 在线 PIN
- 离线明文/密文 PIN
- 无验证
🔹 5. 风险管理 (Terminal Risk Management)
- 终端检查交易金额、随机选择、交易限额等。
- 判断是否需要联机。
🔹 6. 卡片行为分析(Card Action Analysis)
-
终端生成 交易数据(CDOL1),送入
GENERATE AC(请求 AAC/TC/ARQC)。 -
卡返回一个应用密文(AC):
- AAC (拒绝交易)
- TC (本地批准交易)
- ARQC (联机授权请求)
🔹 7. 联机处理 (Online Processing, 如果需要)
- 终端将 ARQC 送后台主机进行验证。
- 主机返回授权响应(包括 ARPC)。
🔹 8. 发卡行认证 (Issuer Authentication)
- 如果主机有返回 ARPC,终端发
EXTERNAL AUTHENTICATE给卡片,确认授权。
🔹 9. 第二次生成 AC (Second Generate AC)
- 终端再次调用
GENERATE AC(携带联机结果 CDOL2)。 - 卡返回最终的 TC(批准) 或 AAC(拒绝)。
🔹 10. 交易结束 (Completion)
- 终端根据结果给用户反馈(交易成功 / 拒绝)。
📌 简化流程图:
应用选择 → 读取应用数据 → 限制检查
↓
持卡人验证 → 风险管理
↓
生成AC (第1次) → [可能联机]
↓
发卡行认证 → 生成AC (第2次)
↓
交易完成
完整的 Contact EMV L2 流程时序图(卡 ↔ 终端 ↔ 主机)
Contact EMV L2 Transaction Flow (Simplified Sequence)
+-----------+ +------------+ +-----------+
| Card | | Terminal | | Host |
+-----------+ +------------+ +-----------+
| | |
| <----- ATR -------------| |
| | |
|--- SELECT AID --------->| |
|<-- Application Data ----| |
| | |
|--- GET PROCESSING OPT ->| |
|<-- AFL -----------------| |
|--- READ RECORD(s) ------| |
|<-- Application Data ----| |
| | |
| Processing Restrictions / CVM / Risk Mgmt |
| | |
|--- GENERATE AC (CDOL1)->| |
|<-- ARQC / TC / AAC -----| |
| | |
| If ARQC (online request): |
| |--- Send ARQC --------->|
| |<-- Auth Response (ARPC)|
| | |
|--- EXTERNAL AUTH (ARPC)->| |
|<-- Response ------------| |
| | |
|--- GENERATE AC (CDOL2)->| |
|<-- Final TC / AAC ------| |
| | |
| Transaction Completion (Approved/Declined)|
| | |
📌 Legend:
- TC = Transaction Certificate (approved offline/online)
- ARQC = Authorization Request Cryptogram (online request)
- ARPC = Authorization Response Cryptogram (from host)
- AAC = Application Authentication Cryptogram (decline)
- CDOL1 / CDOL2 = Card Data Object Lists (data input for AC generation)


应用选择
在卡激活/重置后(寻到卡后)立即执行的第一个流程是应用选择。
终端根据协议使用ICC中的数据来确定在处理事务时使用哪一个应用程序的过程。
分为两步:1.创建终端支持的ICC应用程序列表(侯选列表) 2.从候选列表中选择要运行的应用程序。
两种方式:1.PSE选择法 2.AID遍历(只有在卡片不支持PSE时),即遍历终端支持的AID,一个个发送SELECT命令,卡返回成功就加入候选列表。
启动应用
目的:1.通知卡片新交易的的处理正在开始
2.向卡片提供有关终端交易的信息(卡片需要的终端数据)
3.从卡片获取用于处理交易的卡片数据(AIP、AFL)
步骤:1.组装PDOL数据(卡片需要的终端数据)
2.执行GPO(Get Processing options)指令。
读记录
(读终端需要的卡片数据)示例

脱机数据认证
目的:验证卡的合法性。

处理限制
目的:
确定终端与卡片的兼容性,若有不匹配的项需在TVR对应Bit置位。
1.检查终端与卡片的应用版本号
2.检查应用用途控制(AUC Application Usage Control Tag9F07)
3.检查卡片生效日期和失效日期

持卡人认证
目的:进行持卡人验证,确保出示ICC卡片的人就是卡片的持有人。
方式:
1.明文脱机PIN
2.密文脱机PIN
3.联机PIN
4.签名
5.NO CVM
根据Tag8E CVM List,得知卡片支持CVM方式。
终端参数Tag9F33设置了终端支持CVM方式。

终端风险管理
目的:终端风险管理是终端为保护收单机构、发卡机构和系统免受欺诈而进行的风险管理部分。防止在离线环境中可能无法检测到的威胁。终端风险管理的结果是在TVR中适当的Bit置位。
仅联机终端,无需进行任何风险检查。
1.Floor limit checking
检查交易金额是否>=最低限额
2.Random transaction selection
进行多笔交易时,可以使交易不会一直进行脱机交易,避免风险。
3.Velocity checking
3.1) ATC <= Last Online ATC 直接TVR置位
3.2)ATC > Last Online ATC两者的差值与9F14、9F23比较,若超过则TVR置位。
终端行为分析
目的:终端决定交易是请求批准、请求拒绝还是请求联机。
根据TVR、发卡行行动偏好(Issuer Action Code –Denial/Issuer Action Code – Online/Issuer Action Code –Default)和收单行行动偏好(Terminal Action Code –Denial/Terminal Action Code – Online/Terminal ActionCode – Default),初步决定拒绝交易、在线完成交易或离线完成交易。
终端行为分析-GAC指令

卡片行为分析
目的:ICC卡片执行自己的风险管理,以保护发行人免受欺诈。ICC内卡风险管理算法的详细信息特定于发卡机构,但作为风险管理过程的结果,ICC可能会决定在线或离线完成交易或拒绝交易。
卡片对GAC的处理及回应:
1.批准脱机处理
2.在线联机
3.拒绝交易
联机处理/脚本处理/完成
联机处理:在卡片确认需联机处理时,由上层支付应用,组装报文(8583/json)数据,发到收单行。由收单行校验数据,并确定是否批准交易。
脚本处理:发行方下发由终端发送给ICC的命令脚本。这些脚本终端不需要理解,它只对ICC卡片有意义,终端只负责发送到卡片。通过第二次GAC指令发送到卡片。
完成处理:终端向ICC卡片发送第二次GAC指令,确认卡片批准交易,并完成交易。
资料
EMVCO资料网址:https://www.emvco.com/processes-category/product-approvalprocess-acceptance-device/

1332

被折叠的 条评论
为什么被折叠?



