2. 3DS协议基础

要理解3DS认证策略,必须先回到协议本身。3DS(Three-Domain Secure)并不是单一版本的技术,而是一套由EMVCo维护、持续演进的认证框架。它把一笔线上支付拆分为发卡域、收单域和互操作域三个信任边界,并通过浏览器或SDK在持卡人与发卡行之间建立受控的验证通道。3DS 1.0解决了“无卡交易无法验证持卡人”的原始问题,而3DS 2.0/2.2则把认证从“每次跳转+静态密码”升级为“风险评分+多因子+无感认证”。理解这条演进线,是后续配置认证策略、处理挑战流与豁免规则的前提。

一、核心原理:三个域与信任边界

3DS的名称来自其架构设计:发卡域(Issuer Domain)、收单域(Acquirer Domain)和互操作域(Interoperability Domain)。发卡域由发卡行及其ACS(Access Control Server)组成,负责最终决定是否放行以及是否发起挑战;收单域由商户、PSP和MPI(Merchant Plug-In)组成,负责发起认证请求并处理结果;互操作域由卡组织(如Visa、Mastercard)及其目录服务器(DS)组成,负责在收单侧与发卡侧之间路由消息、传递卡号范围与ACS地址。

这种分域设计的核心价值在于:商户不需要直接接触发卡行的验证逻辑,发卡行也不需要信任商户的验证结果,双方通过目录服务器和加密消息完成互操作。3DS 1.0与2.0在域模型上保持一致,但消息格式、传输通道和认证能力发生了根本变化。

二、从1.0到2.0/2.2:演进对比

3DS 1.0的典型体验是:持卡人输入卡号后跳转到发卡行页面,输入静态密码或短信验证码,再跳回商户完成支付。它的主要问题是跳转中断、移动端适配差、无法传递丰富的交易上下文,且认证结果只有“通过/失败”两种,缺乏风险分级能力。

3DS 2.0引入了三大变化:第一,消息格式从XML转向JSON,支持更丰富的字段;第二,认证通道从浏览器跳转扩展为浏览器、SDK和3RI(3DS Requestor Initiated)三种模式;第三,引入风险基础认证(RBA),发卡行可以根据交易上下文、设备信息、历史行为决定是否直接放行(frictionless)或发起挑战(challenge)。3DS 2.2在2.0基础上进一步增强了豁免规则、非支付认证(NPA)、白名单和Decoupled认证等能力,并优化了移动端SDK的交互。

维度 3DS 1.0 3DS 2.0 3DS 2.2
消息格式 XML JSON JSON
认证通道 浏览器跳转 浏览器、SDK、3RI 浏览器、SDK、3RI、Decoupled
认证模式 静态密码/短信 风险评分+挑战 风险评分+挑战+豁免+白名单
数据传递 字段有限 丰富交易上下文 增强上下文与设备指纹
用户体验 跳转中断明显 无感认证比例提升 进一步降低挑战率

三、交易流程:从AReq到RRes

3DS 2.x的核心流程可以概括为“先评估、后挑战、再授权”。以浏览器模式为例,典型步骤如下:

  1. 商户通过MPI向目录服务器发送认证请求(AReq),携带卡号、交易金额、设备信息、浏览器参数等。
  2. 目录服务器识别卡号所属发卡行,将AReq路由到对应ACS。
  3. ACS执行风险评分,返回认证响应(ARes),决定是直接放行(frictionless)还是发起挑战(challenge)。
  4. 若需挑战,ACS通过浏览器或SDK与持卡人交互,验证完成后返回最终结果。
  5. 商户根据认证结果决定是否继续授权请求,并将认证数据传递给收单行。

在3RI模式下,商户可以在无持卡人交互的场景(如订阅扣款、分期付款)中主动发起认证请求。此时ACS可能直接返回结果,也可能要求持卡人后续完成验证。Decoupled认证则允许持卡人在商户页面之外(如银行App)完成验证,适用于移动端和智能设备场景。

关键消息对:AReq/ARes用于认证请求与响应;CReq/CRes用于挑战请求与响应;RReq/RRes用于3RI场景。理解这些消息对的流向,是排查认证失败和挑战超时的基础。

四、认证模式:无感、挑战与豁免

3DS 2.x的认证结果不再是简单的“通过/失败”,而是分为三类:无感认证(Frictionless)、挑战认证(Challenge)和豁免(Exemption)。无感认证指ACS基于风险评分直接放行,持卡人无需任何操作;挑战认证指ACS要求持卡人完成额外验证,如OTP、生物识别或App确认;豁免则是在特定条件下(低金额、白名单、TRA豁免)跳过挑战,但商户需承担相应风险。

发卡行在ACS中配置风险规则时,通常会结合交易金额、商户类别、设备指纹、历史欺诈率等维度。例如,低金额交易可能直接触发豁免,而高风险跨境交易则强制挑战。商户侧则需要正确传递3DS数据字段,否则ACS可能因信息不足而提高挑战率。

实战提示:在3DS 2.2中,豁免规则与白名单的合理使用可以显著降低挑战率,但豁免交易一旦发生欺诈,责任可能转移至商户。因此,豁免策略必须与风控模型联动,不能单纯追求低挑战率。

五、案例与误区复盘

某跨境电商在升级3DS 2.2后,发现挑战率从35%降至18%,但欺诈率略有上升。复盘发现,其豁免规则配置过于宽松,对所有低于30美元的交易直接豁免,而欺诈者正是利用这一规则进行小额试探。调整后,该商户将豁免金额阈值降至15美元,并对高风险地区增加设备指纹校验,挑战率回升至22%,但欺诈率恢复到升级前水平。

常见误区包括:第一,认为3DS 2.0一定比1.0体验好,但若ACS配置不当,挑战率可能反而更高;第二,忽略3RI和Decoupled的适用场景,导致订阅类交易无法完成认证;第三,未正确传递浏览器参数或设备信息,导致ACS无法完成风险评分,只能强制挑战。排查时,应优先检查AReq字段完整性、ACS返回的ARes中的transStatus和challengeRequired字段,以及挑战超时后的重试逻辑。

{
  "messageType": "ARes",
  "messageVersion": "2.2.0",
  "transStatus": "C",
  "challengeRequired": "Y",
  "acsURL": "https://acs.examplebank.com/challenge",
  "authenticationValue": null
}

上述日志片段表示ACS要求发起挑战。若transStatus为“Y”,则表示无感认证通过;若为“N”,则表示认证失败;若为“U”,则表示无法完成认证,通常需要降级处理或转授权。掌握这些状态码的含义,是定位认证问题的第一步。

注意:3DS 1.0与2.x在消息格式和流程上不兼容。商户在迁移时,不能简单复用1.0的MPI配置,必须重新对接目录服务器和ACS,并确保3DS Method URL、挑战窗口和回调地址正确配置。