【学习同事】Contact EMV L2流程简介

梳理一下 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/
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黄人软件

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值