PBOCEMV交易流程详解--POS与卡片的数据交互进行分析
POS收单业务流程
POS收单业务流程概述POS收单业务流程是指商户通过POS终端机向银行发起交易请求,银行对交易进行处理并返回结果,最终完成支付。
本文将对POS收单业务流程进行详细介绍。
流程步骤步骤一:商户向银行发送交易请求商户首先通过POS终端机向银行发送交易请求。
交易请求包含以下信息: - 商户编号:商户在银行开立的唯一标识符 - 终端编号:POS终端机的唯一标识符 - 交易金额:商户发起的交易的金额 - 交易类型:交易的种类,如消费、退款等 - 其他交易相关信息:如商户订单号、交易时间等步骤二:银行进行交易处理银行收到商户发送的交易请求后,会进行交易处理。
处理过程包含以下步骤: 1. 校验商户信息:银行会根据商户编号和终端编号,验证商户的合法性和POS终端机的有效性。
2. 风险评估:银行会对交易进行风险评估,判断交易是否存在风险。
例如,根据商户的历史交易数据和金额,判断是否存在异常交易。
3. 身份验证:银行会对持卡人的身份进行验证,以确保交易的合法性。
验证方式可以包括密码输入、短信验证码等。
4. 资金检查:银行会检查商户的账户余额是否足够支付交易金额。
5. 交易处理:银行根据交易类型和金额,将交易记录到持卡人账户和商户账户中,并更新账户余额。
步骤三:银行返回交易结果银行处理完交易后,会将交易结果返回给商户。
交易结果包含以下信息: - 交易状态:标识交易是成功、失败还是处理中 - 错误码:如果交易失败,返回错误码以说明失败原因 - 交易流水号:银行为每笔交易生成的唯一标识符 - 其他与交易结果相关的信息:如交易时间、交易参考号等步骤四:商户通知持卡人交易结果商户在收到银行返回的交易结果后,需要将交易结果通知持卡人。
通知方式可以包括打印小票、发送短信或电子邮件等。
步骤五:日结和清算交易完成后,银行会定期进行日结和清算操作。
具体操作包括: - 结算商户账户:银行会根据交易金额,从商户账户中扣除手续费并结算给商户。
pos流程框架
pos流程框架POS流程框架一、引言在现代商业中,POS(Point of Sale)系统被广泛应用于零售业、餐饮业、服务行业等各个领域。
POS流程框架是指商家使用POS 系统进行交易时的一系列操作流程。
本文将介绍POS流程框架的各个环节,并探讨其重要性和优势。
二、POS流程框架的组成1. 商品扫描在POS系统中,商家首先需要对待售商品进行扫描。
POS系统通常配备条码扫描器,可快速读取商品条码,并在系统中自动匹配商品信息。
这一步骤的目的是准确获取商品信息和价格。
2. 商品信息确认商家在扫描商品后,POS系统会根据商品条码自动显示商品名称、价格等详细信息。
商家需要仔细核对这些信息,确保商品信息的准确性。
如果有任何问题,商家可以手动修改或补充商品信息。
3. 销售数量输入商家需要在系统中输入销售数量。
POS系统通常会自动计算销售金额,但有些情况下,商家可能需要手动输入销售数量。
输入数量后,系统会自动计算销售金额和应收金额。
4. 支付方式选择商家需要根据顾客的支付方式选择相应的支付方式。
POS系统常见的支付方式包括现金支付、刷卡支付、移动支付等。
商家在系统中选择支付方式后,系统会自动计算找零金额或支付确认。
5. 结账商家在确认支付方式后,系统会生成订单信息,并打印小票。
商家需要将小票交给顾客,并完成交易。
同时,POS系统会自动更新库存信息、销售报表等相关数据。
三、POS流程框架的重要性1. 提高工作效率POS流程框架能够有效提高商家的工作效率。
通过自动化的商品扫描和销售计算,商家无需手动录入商品信息和计算销售金额,减少了人工错误和时间成本。
2. 提升顾客体验POS流程框架使交易过程更加快捷和便利。
顾客只需将商品交给商家扫描,系统会自动计算销售金额,并根据支付方式选择进行支付。
顾客不再需要等待商家手动计算金额,提升了整体购物体验。
3. 管理信息准确性POS流程框架能够帮助商家准确记录销售数据和库存信息。
商家可以通过POS系统生成的销售报表了解销售情况,根据数据分析制定更科学的经营策略。
PBOC和EMV中TLV结构介绍
Length域说明
此图为Length域第一字节的编码格式。
•当b8为0时,该字节的b7-b1作为value域的长度, 也就是说value长度可为0~127字节; •当b8为1时,b7-b1作为后续字节的长度,例如 length第一字节为:10000010(0x82),后续 还有2字节的length作为value域的长度。例如: length为0x82FFFF,那么后续的value长度节
此图为Tag域后续字节的编码格式。
• 从图中我们看到BER-TLV编码中,若有后续字节, 则在后续字节中,当b8为1时,Tag还需要有后续 字节,直到b8为0为止。当b8为0时,该Tag域结 束。 (PS:EMV文档中说明,Tag最多只占用2 个字节,所以后续只有1字节,其b8必定为0)
Value域说明
• 简单数据元结构:
• 其中value不再包含子Tag
Value域说明
• 符合数据元结构:
• Value中包含一个简单数据元结构,或一个 符合数据元结构。
参考
• EMV Integrated Circuit Card Specifications for Payment Systems _Application Specification ( version4.1 2004 )
Tag域说明
此图为Tag域第一个字节的编码格式。其中b8-b1代表1个字节 中的8个位。
Tag域说明
• 其中b8,b7代表数据的类别。根据2个位的组合,有四 种类别:通用类别,应用类别,上下文语境类别,专 用类别。这个主要用于在于终端设备交互的时候,确 定数据处理的类型。 • b6代表的是数据元结构,也就是说它是属于简单数据 元结构,还是属于结构(复合)数据元结构。当b6为 1的时候,就需要后续的字节进行扩展。也就是说复合 的TLV中,value域里也包含一个或多个TLV。简单 TLV的后续字节无扩展,value域里不包含TLV。(参 见value域说明) • b5-b1代表串行号,当5个位都为1时,需要将tag域扩 展到下一个字节中,也就是Tag占2个字节;而当5个 位不全为1时,该Tag域就只占1个字节。
PBOC电子钱包规范简介
PBOC电子钱包规范简介中国人民银行PBOC(People’s Bank Of China)在EMV96的基础之上发布了中国的金融集成电路卡规范,行业内把这个规范称作PBOC 1.0。
EMV96是第一个针对银行应用的国际性智能卡标准,此前包括法国在内很多欧洲国家曾经推出过自己的银行领域智能IC卡标准。
从内容上看,这个PBOC1.0规范基本上是翻译了EMV96规范的内容(从某种意义上讲,一些所谓的中国标准90%以上都是翻译国际标准)。
分别定义了卡片和终端的接口、卡片本身的技术指标、和应用相关的交易流程、终端的技术要求等。
从应用的角度看,卡片上有电子钱包EP(Electronic Purse)和电子存折ED(Electronic Deposit)两种应用类型。
每种应用类型分别对应着不同的交易流程和交易命令。
其中电子钱包支持:消费、圈存交易,消费不需要密码保护;电子存折支持:消费、取现、圈存、圈提、修改透支限额交易,需要密码保护。
简单解释一下几个名词:消费:几乎不用解释,就是利用卡片在POS(Point Of Sales)终端上进行插卡(对于IC 卡而言不是刷卡而是需要插入卡片)消费;圈存:就是一种转账交易,把银行账户的资金转移到电子钱包或者电子存折的账户中;取现:ATM(Auto Teller Machine)取现,不用解释;圈提:和圈存刚好相反,是把电子存折账户的资金转移到银行账户中,电子钱包不支持圈提;修改透支限额:因为电子存折支持透支,所以可以通过这个交易过程来修改持卡人的透支限额。
从交易的方式来看,有脱机交易和联机交易两种,其中:消费和取现属于脱机交易,而圈存、圈提和修改透支限额属于联机交易。
在脱机交易过程中,用户的卡片和终端(POS机或者ATM机)里面的消费安全访问控制模块PSAM(Purchase Secure Access Module)卡之间需要进行安全认证,这样才能够让终端获得授权,从卡片上进行扣款。
基于PBOC的电子钱包消费交易过程
基于PBOC的电子钱包消费交易过程首先终端和卡片有一个共同的密钥叫做消费密钥:PurchKey假设PurchKey = 11223344556677888877665544332211在满足安全条件的情况下:第一步:终端向卡片发送消费初始化命令:Apdu: 80 50 01 02 0B 01 00001000 001122334455CLA INS P1 P2 LC KeyIndex 交易金额终端机编号卡片返回15个字节的数据如下(不包括9000):00000000 0000 000000 01 00 11223344卡片余额交易序号透支限额密钥版本号算法标识随机数MAC1的计算过程如下(终端):1.计算过程密钥:SessionKeyInputData = 11223344 0000 0001 (8bytes)随机数卡片脱机交易序号终端交易序号后四位 PurchKey = 11223344556677888877665544332211SessionKey = 3DESEnypt(InputData, PurchKey) = 003238ABC57659DD用LoadKey对InputData 做3DES加密2.计算MAC1InputData1 = 00001000 06 001122334455 20120229135100交易金额交易类型终端机编号日期时间 SessionKey = 003238ABC57659DDMAC1 = MAC(InputData1 SessionKey ) = F15CAB75用SessionKey对InputData1做MAC运算第二步:终端向卡片发送消费命令:Apdu: 80 54 01 00 0F 00000001 20111221214822 3A845BF0 CLA INS P1 P2 LC 终端交易序号交易日期时间 MAC1卡片用同样的方法计算MAC1并验证终端发来的MAC1是否正确,从而确认终端是否合法。
POS应用基础及基本交易流程
POS应用基础及基本交易流程POS基本概念POS含义POS = Point Of Sale,销售终端,就是超市、商场等交易场所常见的POS机。
代指能够接受磁条卡信息,具有通讯功能,并接受柜员的指令而完成金融交易信息和有关信息交换的设备。
POS最终执行的是转账功能。
即将消费者(持卡人)银行卡上的消费金额,转账到所消费商户的关联账户里。
POS安装在特约商户内,为持卡人提供消费、结算、授权等服务。
POS终端工作原理POS终端操作员通过签到,获取工作密钥(WK),用于交易类报文的计算MAC校验值和用户密码的加密。
用户通过在POS上刷卡、挥卡或者插入IC卡操作,同时输入交易金额和用户密码(可输可不输),POS机通过拨号或者网络或者无线方式将相关数据组织成银行或银联标准的8583报文,发送给相应的后台,如POS中心(中国银联POS收单处理平台),后台再将数据转发回POS,POS根据相应的响应码进行相应的处理。
POS操作员系统管理员负责对POS系统进行管理,包括软件下载、参数设置。
POS使用密码认证系统管理员身份。
主管操作员管理POS和其他操作员,包括增加、删除操作员等,本身不能做POS签到和进行交易。
退货和撤销交易需要经过主管确认。
一般操作员执行POS签到,完成交易功能。
POS基本功能联机功能包括:余额查询、消费、撤销、退货、预授权、预授权撤销、预授权完成(请求)、预授权完成(通知)、预授权完成撤销、自动冲正、回响测试等功能。
脱机功能包括:查询、操作员管理、重打印、离线结算、电子现金消费交易等。
POS工作状态POS机正常情况下可以有三种工作状态,分别是:正常工作状态指POS签到后POS终端所处的工作状态。
此时POS终端可以实现规范规定的交易功能。
已签退状态指POS终端签到之前或指POS终端签退之后的状态。
此时POS终端应显示签到提示。
此时不允许终端执行任何交易。
锁定状态操作员可以将POS终端设为锁定状态,只有重新输入原操作员号和密码或者主管密码解锁后才能退出锁定状态。
EMV流程介绍
脱机 PIN
持卡人的PIN安全存储在IC卡中
支持两种验证方式: – 明文 PIN – 加密 PIN
明文 PIN – 终端以明文形式将 PIN 发送到卡片进行验证
加密 PIN – 公钥加密算法 – 终端使用公钥加密PIN – IC卡用私钥验证加密的PIN
卡片与终端交互过程
Start-up 启动 数据 认证 持卡人 验证 终端 功能 卡片 行为分析 结束
示例 终端行为分析 终端验证结果 – 将请求批准、拒绝或联机 01000000 00000000 00000000 00000000 00000000 – 基于终端验证结果和下面数据的比 静态数据认证失败 较: 发卡行行为代码 (IAC) 发卡行行为代码 – 拒绝 终端行为代码 (TAC) 01000000 00000000 00000000 00000000 00000000 – 给卡片发送生成应用密文(Generate 如果静态数据认证失败,拒绝交易 AC)命令
卡片与终端交互过程
Start-up 启动 数据 认证 持卡人 验证 终端 功能 卡片 行为分析 结束
联机授权 发卡行脚本处理 结束
联机处理
Start-up 启动 数据 认证 持卡人 验证 终端 功能 卡片 行为分析 结束
联机授权请求
终端验证结果 - 数据认证结果 - 持卡人验证结果 卡片验证结果 - 卡片行为分析结果 密文 - 授权请求密文ARQC
应用密文生成
应用密文生成
基于DES算法(3DES) 卡片使用下面数据生成密文:
– 存储在卡片上的唯一发散密钥(UDK) – 指定的终端和卡片数据 – CDOL1和CDOL2
卡片在密文信息数据(CID)中指示密文类型
第四讲-EMV&PBOC最新动态091203
BC
TCห้องสมุดไป่ตู้
2.3小额支付最新变化
¾ 小额试点中终端须修改的内容
2.失效日期的处理 取得失效日期后立刻判断是否失效
BC
TC
2.1PBOC 颁布最新的ATM、POS、卡片规范
}
引入了安全上的要求,明确敏感信息不能存储 增加了IC卡的处理
BC
对交易界面、交易流程、交易凭证进行了规定 对于报文等内容未作规定,各行自定
TC
ATM标准 JR/T002-2009 银行卡自动柜员机(ATM)终端规范 2009年3月发布,2009年7月1日起实施
BC
11.银行IC发卡数据验证 IC发卡数据个人化认证的卡片须通过cos认证。 目前有些银行发非接触PBOC卡,在个人化数据 验证时发现卡片未通过非接触PBOC测试。
TC
2.3小额支付最新变化
¾ 内核配置
BC
TC
PBOC配置没有要求不能支持No CVM EMV 配置建议不支持基于AIP执行风险管理
BC
TC
JR/T 0001-2009银行卡销售点(POS)终端规范 2009年3月发布,2009年7月1日起实施
2.1PBOC 颁布最新的ATM、POS、卡片规范
} POS测试
编写了POS的测试大纲,开展最新标准的间联 pos测试。
BC
TC
2.1PBOC 颁布最新的ATM、POS、卡片规范
可选配置内核 EMV定义的选择标准: 1. CVM性能基于交易金额可变 2. CVM性能基于交易类型(cashback)可变 3. CVM性能和终端类型(有操作员值守相对自助)基于 交易金额 AID也总是被用在选择标准中,和以上标准一起使用。
pos流程架构
pos流程架构POS流程架构一、引言随着电子支付的快速发展和普及,POS(Point of Sale)终端作为一种重要的支付工具,被广泛应用于各个行业。
POS流程架构是指POS终端在处理支付交易时所涉及的各个环节和流程。
本文将从硬件设备、软件系统以及交易流程等方面来介绍POS流程架构。
二、硬件设备POS终端的硬件设备是POS流程的基础。
一般而言,POS终端包括以下几个主要部件:输入设备、显示设备、打印设备、读卡设备和网络设备。
其中,输入设备主要用于输入用户的支付信息,如键盘、触摸屏等;显示设备用于展示交易信息和操作界面,如液晶屏等;打印设备用于打印交易凭证,如热敏打印机等;读卡设备用于读取支付卡信息,如磁条读卡器、IC卡读卡器等;网络设备用于连接POS终端与支付系统,如以太网、无线网络等。
这些硬件设备相互配合,共同构成了POS终端的硬件基础。
三、软件系统POS终端的软件系统是POS流程的核心。
一般而言,POS软件系统包括以下几个主要模块:操作系统、应用程序和驱动程序。
操作系统是POS终端的基础软件,负责管理硬件设备、提供基本功能接口等;应用程序是POS终端的核心软件,包括支付交易处理、用户界面设计、数据存储等功能;驱动程序是与硬件设备相匹配的软件,用于控制硬件设备的操作和通信。
这些软件模块相互配合,共同构成了POS终端的软件基础。
四、交易流程POS终端的交易流程是POS流程的关键环节。
一般而言,POS交易流程包括以下几个主要步骤:初始化、验证、选择支付方式、输入支付金额、读取支付卡信息、验证支付卡信息、处理支付交易、打印交易凭证、完成交易。
具体而言,初始化是指POS终端启动时的准备工作,包括加载软件、检测硬件等;验证是指验证POS终端的合法性和安全性,如验证终端序列号、验证用户身份等;选择支付方式是指用户选择支付方式,如银行卡支付、支付宝支付等;输入支付金额是指用户输入支付金额,如购买商品的总金额;读取支付卡信息是指POS终端读取支付卡的相关信息,如卡号、有效期等;验证支付卡信息是指验证支付卡的合法性和有效性,如验证卡号、验证有效期等;处理支付交易是指POS终端向支付系统发送支付请求,并等待支付系统的响应;打印交易凭证是指POS终端打印交易的凭证,如小票、发票等;完成交易是指交易结束后的处理工作,如清空交易信息、提示用户等。
pboc2.0和emv规范、技术、检测和认证最新动态-pboc规范2010
PBOC2.0规范的修订
第7部分:借记/贷记应用安全规范 修订复合动态数据认证/应用密文生成 (CDA) 修订密钥分散的输入数据(主张号序列 号)及填充方式
PBOC2.0规范的修订
第9 部分:电子钱包扩展应用指南
删除了本部分中圈提的相关内容; 将EP消费的交易明细中出现的“卡片交易序号”勘误 为“EP脱机交易序号”,并对规范中多处出现的“电子 钱包交易序号” 明确是“电子钱包脱机交易序号”还 是“电子钱包联机交易序号”; 与JR/T 0025.2 保持一致,将加密生成MAC1 的数据 顺序进行了调整(交易金额&交易类型标识);
非接触支付应用介绍-qPBOC
多卡检测处理 - 应用选择前检测到多张卡,或超时无 卡,读卡器应向持卡人显示,要求放置一 张卡
非接触支付应用介绍-qPBOC
应用选择 终端
1.Select PPSE 支持的AID 2.Select AID 返回PDOL
非接触支付应用介绍-qPBOC
qPBOC卡片风险管理 • 卡片执行何种风险管理取决与9F68的个人化设置 • 关键的数据元:卡片附加处理(9F68)
支持小额检查、小额和CTTA 检查、小额或CTTA 检查、新卡检查、PIN 尝试次数超限检查、允许 不匹配货币的脱机交易、优先选择接触式PBOC 联机、返回脱机消费可用余额、支持预付、不允 许不匹配货币的交易、如果是新卡且终端仅支持 脱机拒绝交易、匹配货币的交易支持联机PIN、 不匹配货币的交易支持联机PIN、对于不匹配货 币交易,卡片要求CVM、支持签名
非接触支付应用介绍-qPBOC
收到GPO响应后的处理
当读卡器检查卡片GPO命令响应数据中的发卡行应用数 据(Tag‘9F10’)来确定卡片提供的密文类型。基于 密文类型,判断交易拒绝、联机处理,或脱机批准。
《EMV流程介绍》课件
EMV的未来发展
06
EMV技术的演进和趋势
安全性提升: EMV芯片卡将 逐步取代磁条 卡,提高支付
安全性
非接触式支付: NFC技术的普 及将使非接触 式支付成为主
流
移动支付:智 能手机、平板 电脑等移动设 备的普及将推 动移动支付的
发展
生物识别技术: 指纹识别、人 脸识别等生物 识别技术的应 用将提高支付 便捷性和安全
EMV的优点和缺点
安全性高:采用芯片卡技术,不易被复制和盗刷 兼容性好:支持多种支付方式,如信用卡、借记卡等 交易速度快:芯片卡处理速度更快,减少排队等待时间 成本较高:芯片卡制作成本较高,需要更换设备 技术门槛高:需要银行、商户、消费者共同配合,推广难度较大
EMV流程
03
申请和审批流程
申请:商户向银行提交申请,包括商户信息、业务类型等 审批:银行对商户进行审核,包括商户资质、业务合规性等 签约:银行与商户签订协议,明确双方权利和义务 开通:银行为商户开通EMV功能,包括硬件安装、软件配置等 测试:商户进行测试,确保EMV功能正常运行 正式上线:商户正式使用EMV功能,提供安全、便捷的支付服务
安装和配置流程
硬件安装:安装EMV读卡器、PIN 输入设备等硬件设备
软件安装:安装EMV软件,包括操 作系统、驱动程序、应用程序等
配置设置:设置EMV参数,如交易 类型、交易金额、交易时间等
测试验证:进行EMV交易测试,确 保系统正常运行
培训使用:对员工进行EMV操作培 训,确保正确使用EMV系统
性
EMV与其他技术的融合和创新
区块链技术: 提高交易安全
性和透明度
人工智能技术: 提高交易处理 速度和准确性
生物识别技术: 提高用户身份 验证的安全性
EMV流程介绍范文
EMV流程介绍范文EMV(Europay-Mastercard-Visa)是全球金融卡片领域的一种安全交易技术标准。
它结合了芯片技术和密码技术,旨在提高支付卡交易的安全性和可靠性。
EMV流程包括卡片的授权、持卡人验证和交易过程中的加密等环节。
EMV流程的第一步是卡片的授权。
在这一步中,卡片的相关信息被授权给一家金融机构或银行,该机构将发行一张具有EMV芯片的支付卡。
卡片上的芯片存储着持卡人的个人和账户信息,并提供了一种安全的方式来进行交易。
第二步是持卡人验证。
当持卡人想要使用EMV芯片卡进行交易时,商家的POS终端会要求持卡人进行验证操作。
这通常需要插入卡片到POS终端并输入密码或提供其他验证方式(如指纹识别)来确认持卡人的身份。
这种验证方式可以防止持卡人的信息被盗用,提高了交易的安全性。
第三步是交易过程中的加密。
一旦持卡人验证成功,交易信息将被加密并存储在芯片中。
这种加密方式可以防止交易信息被黑客截取和篡改。
此外,卡片还可以生成一次性的动态安全码,用于验证特定交易的有效性。
这种动态安全码的使用可以进一步提高交易的安全性。
在EMV流程的最后一步,交易信息将通过POS终端发送给发卡方或相关的金融机构进行处理。
发卡方会根据持卡人的账户余额和其他条件来决定是否批准该笔交易。
一旦交易被批准,POS终端将向商家发出支付确认,完成交易。
EMV流程的优点是提高了支付卡交易的安全性和可靠性。
通过使用芯片技术和密码技术,EMV能够防止卡片信息被盗用或复制,并提供了一种更安全的交易方式。
此外,动态安全码的生成和使用还可以进一步防止交易被欺诈。
然而,EMV流程也存在一些挑战和限制。
首先,EMV技术的部署需要大量的投入和更新旧的POS终端设备,这对于商家和金融机构来说可能是一项昂贵的工作。
其次,EMV芯片卡在交易过程中需要插入到POS终端,这可能会增加交易的时间。
此外,EMV芯片卡在全球范围内的兼容性也是一个挑战,因为不同地区和国家可能使用不同的技术标准。
PBOC交易流程图.
应用选择终端卡片说明 应用初始化读取应用数据 脱机数据认证 SDA 或DDA 处理限制持卡人验证终端行为分析联机处理发卡行认证完成处理 发卡行脚本处理卡片支持应用的列表卡片支持的功能提供应用数据记录生成动态应用密文PIN 尝试计数器 PIN 校验上次联机交易计数器值(A TC )执行卡片行为分析,并生成应用密文校验ARPC 密文进行最终检查以及生成最终应用密文执行脚本终端风险管理SELECT 命令/响应 READ RECORD 命令/响应 GET PROCESSING OPTIONS 命令/响应 READ RECORD 命令/响应INTERNAL AUTHENTICATE 1命令/响应GET DATA 2 命令/响应VERIFY 3命令/响应GET DATA 命令/响应GENERATE APPLICATION CRYPTOGRAM 命令GENERATE APPLICATION CRYPTOGRAM 响应GENERATE APPLICATION CRYPTOGRAM 命令/响应 EXTERNAL AUTHENTICATE命令/响应 发卡行脚本 命令/响应NY 必备 可选必备,但包括可选处理步骤1.如果是DDA2.如果支持脱机PIN ,则可选 3.如果支持脱机PIN联机交易?交易流程图终端检查卡片所支持的应用,并建立应用候选列表 是否有双方都支持的应用?终端是否支持持卡人选择应用? 终端是否支持持卡人确认应用? 应用没有确认,是否允许选择?终端发出SELECT 命令 返回是否成功(9000)? 终端开始【应用初始化】处理步骤 终端终止交易终端按照优先级显示应用并要求持卡人选择终端显示最高级别的应用要求持卡人确认 终端将最高级别应用看作无需持卡人确认的应用 持卡人是否选择?持卡人是否确认?终端从应用列表中移去此应用卡片返回FCI及9000(成功),或6283(锁定),或其他T TB BNNY YY Y YYNN NNN YSelect命令Select 命令返回 卡片终端应用选择处理流程图终端读取卡片需要的PDOL数据终端发出Get Process Option 命令(包括PDOL 数据)卡片返回为“使用条件不满足” ?终端收到AFL 和AIP终端进行【读取应用数据】处理流程终端从应用列表中剔除此应用,并返回至【应用选择】卡片是否支持地域检查?卡片返回AFL和AIP卡片决定终端需要读取哪些记录和文件发出Get Process Option 命令N Y卡片 终端Get Process Option 命令返回终端【应用初始化】处理完成终端从AFL 中选择第一个文件入口终端通过Read Record 命令从文件中读取记录记录是否将用于脱机数据认证?终端按照SDA 输入格式连接数据读取记录是否为AFL 文件入口中最后一条?是否还有其他AFL 文件入口?终端开始【脱机数据认证】处理卡片将记录数据传送给终端 终端选择下一AFL 文件入口YYYNNN卡片 终端发出READ RECODE 命令 READ RECODE 命令返回Read Record命令响应返回,包括PBOC CA公钥索引、发卡行公钥证书、SAD通过使用RID和公钥索引恢复出PBOC CA 公钥使用PBOC CA 公钥从发卡行公钥证书恢复出发卡行公钥使用发卡行公钥从SAD中恢复出静态应用数据的Hash值使用用静态数据计算出Hash值,并与恢复出的数据比较如果上面的任何一步不成功,则将TVR中SDA结果设置为“1”Read Record命令响应数据卡片终端通过使用RID 和公钥索引恢复出PBOC CA 公钥使用PBOC CA 公钥从发卡行公钥证书恢复出发卡行公钥使用发卡行公钥从IC 卡公钥证书恢复出Hash值与IC 卡公钥使用用静态数据计算出Hash 值,并与恢复出的数据比较向卡片发出内部认证(Internal Authenticate )命令和动态数据卡片终端用IC 卡公钥验证动态数签名的正确性如果DDA 失败,则在TVR 中设置DDA 结果为“1”用IC 卡私钥计算动态签名Internal Authenticate命令Internal Authenticate命令响应 标准动态数据认证(DDA)卡片和终端是否提供了应用版本号?应用版本号是否一致? 终端将TVR 中“IC 卡与终端应用版本不同”位置为“1”是否提供了应用用途控制和发卡行国家代码?是否有相关限制? 终端将TVR 中“卡片不支持该服务”位置为“1”卡片生效日期≤当前日期?卡片失效日期≥当前日期? 终端将TVR 中“应用还未生效”位置为“1”终端将TVR 中“应用已过期”位置为“1”终端开始【持卡人验证】处理步骤YYYYNNYYNNNN终端卡片 处理限制流程图持卡人验证成功卡片支持持卡人验证?CVM=无需CVM?卡片是否提供了CVM 列表?终端在TVR中设置缺少卡片数据CD终端从CVM列表中选择第一个CVMCVM验证条件满足?终端支持该CVM?终端在TVR中设置不支持的CVM编号CVM=PIN?进行PIN验证处理C ACVM编号=下一CVM?A是否有其他CVM入口?终端从CVM列表中选择下一个CVMBCVM=失败的CVM?CVM是校验签名,终端打印带签名栏的凭条终端在TVR中设置“持卡人验证没有成功”终端进入【终端分险管理】处理DBNNNNNNNNNYYYYYYYYY 终端持卡人验证方法列表(CVM)处理流程图进行PIN 处理 CVM 是联机或脱机PINPINPad 是否可用?PIN 的类型 进行CVM 编码动作(见上图-A )向卡片发出Get Data 命令请求PIN 尝试计数器(此步骤可选)卡片是否允许Get Data 返回PIN 计数返回不支持GET DATA 命令返回PIN 尝试计数器值返回PIN 尝试计数器,并且是否为“0”进行CVM 编码动作(见上图-A ) 提示输入PIN是否输入PIN ?进行CVM 编码动作(见上图-A )是联机PIN 还是脱机PIN?脱机PIN 处理从下图的A 返回至此处加密PIN 并且加入授权请求中终端进行【终端分险管理】处理NNNNYYYY 脱机PIN脱机PIN联机PIN联机PIN终端卡片PIN 验证处理流程图(2-1)PIN 验证处理流程图(2-2)脱机PIN 处理明文PIN向卡片发出Verify 命令PIN 尝试次数是否超输入PIN 是否正确? 重置PIN 尝试计数器 PIN 可尝试次数减1 PIN 尝试次数超限? ADA 中“若PIN 尝试超限则锁应用”=1? 卡片锁定应用 将Verify 返回码置为“成功完成” 将Verify 返回码置为“失败”,并返回剩余尝试次数 将Verify 返回码置为“失败”,并返回已无尝试机会将Verify 响应数据返回给终端 Verify 返回是否正确?PIN 尝试次数超限?返回至上图-A ,提示输入PIN进行CVM 编码动作终端进行【终端分险管理】处理BBNN NNNNY YY YY Y卡片 终端Verify 命令Verify 命令返回终端将TVR 中“卡出现在异常文件中”位置为1终端存在异常文件?卡片是否出现在异常文件中?商户是否要求强制联机?终端将TVR 中“商户强制联机交易”位置为1终端存在交易流水日志?流水日志中有该卡的交易?授权金额+日志中金额≥终端最低限额?授权金额≥终端最低限额? 终端将TVR 中“交易金额超限”位置为1终端随机交易选择为联机处理? 终端将TVR 中“随机选择联机处理”位置为1BNNNNNNN N YYYYYYYY终端是否读取了连续脱机交易上限和下限?ATC 和上次联机ATC 寄存器值是否都返回?ATC -上次联机ATC 寄存器值>脱机连续交易下限? B 终端发出GET DA TA 命令得到ATC 和上次联机ATC 寄存器值卡片响应GET DATA命令,返回ATC 和上次联机ATC 寄存器值ATC -上次联机ATC 寄存器值>脱机连续交易上限?终端将TVR 中“超过脱机连续交易下限”位置为1终端将TVR 中“超过脱机连续交易上限”位置为1上次联机ATC 寄存器=0?终端将TVR 中“新卡”位置为1终端进行【终端行为分析】处理终端将TVR 中“超过脱机连续交易下限”和“超过脱机连续交易上限”位都置为1终端将TVR 中“缺少卡片数据”位置为1NNNN NYYYYY卡片终端Get Data 命令 Get Data 返回密文类型=ARQC(需要联机)卡片或终端是否将交易设置为拒绝?终端是否具备联机能力?卡片或终端是否将交易设置为联机授权?如果不能联机,卡片或终端是否将交易设置为拒绝密文类型=TC (脱机通过)密文类型=AAC(脱机拒绝) 向卡片请求应用密文进行【卡片行为分析】处理NNNYYYNYGenerate AC 命令卡片终端终端在【终端行为分析】处理过程中第一次请求密文(ARQC,AAC,TC )检查上次交易处理结果:联机授权没有完成;发卡行认证失败;SDA 或DDA 失败;发卡行脚本处理情况根据以上结果设置相应指示器新卡检查。
PBOC交易流程图.
应用选择终端卡片说明 应用初始化读取应用数据 脱机数据认证 SDA 或DDA 处理限制持卡人验证终端行为分析联机处理发卡行认证完成处理 发卡行脚本处理卡片支持应用的列表卡片支持的功能提供应用数据记录生成动态应用密文PIN 尝试计数器 PIN 校验上次联机交易计数器值(A TC )执行卡片行为分析,并生成应用密文校验ARPC 密文进行最终检查以及生成最终应用密文执行脚本终端风险管理SELECT 命令/响应 READ RECORD 命令/响应 GET PROCESSING OPTIONS 命令/响应 READ RECORD 命令/响应INTERNAL AUTHENTICATE 1命令/响应GET DATA 2 命令/响应VERIFY 3命令/响应GET DATA 命令/响应GENERATE APPLICATION CRYPTOGRAM 命令GENERATE APPLICATION CRYPTOGRAM 响应GENERATE APPLICATION CRYPTOGRAM 命令/响应 EXTERNAL AUTHENTICATE命令/响应 发卡行脚本 命令/响应NY 必备 可选必备,但包括可选处理步骤1.如果是DDA2.如果支持脱机PIN ,则可选 3.如果支持脱机PIN联机交易?交易流程图终端检查卡片所支持的应用,并建立应用候选列表 是否有双方都支持的应用?终端是否支持持卡人选择应用? 终端是否支持持卡人确认应用? 应用没有确认,是否允许选择?终端发出SELECT 命令 返回是否成功(9000)? 终端开始【应用初始化】处理步骤 终端终止交易终端按照优先级显示应用并要求持卡人选择终端显示最高级别的应用要求持卡人确认 终端将最高级别应用看作无需持卡人确认的应用 持卡人是否选择?持卡人是否确认?终端从应用列表中移去此应用卡片返回FCI及9000(成功),或6283(锁定),或其他T TB BNNY YY Y YYNN NNN YSelect命令Select 命令返回 卡片终端应用选择处理流程图终端读取卡片需要的PDOL数据终端发出Get Process Option 命令(包括PDOL 数据)卡片返回为“使用条件不满足” ?终端收到AFL 和AIP终端进行【读取应用数据】处理流程终端从应用列表中剔除此应用,并返回至【应用选择】卡片是否支持地域检查?卡片返回AFL和AIP卡片决定终端需要读取哪些记录和文件发出Get Process Option 命令N Y卡片 终端Get Process Option 命令返回终端【应用初始化】处理完成终端从AFL 中选择第一个文件入口终端通过Read Record 命令从文件中读取记录记录是否将用于脱机数据认证?终端按照SDA 输入格式连接数据读取记录是否为AFL 文件入口中最后一条?是否还有其他AFL 文件入口?终端开始【脱机数据认证】处理卡片将记录数据传送给终端 终端选择下一AFL 文件入口YYYNNN卡片 终端发出READ RECODE 命令 READ RECODE 命令返回Read Record命令响应返回,包括PBOC CA公钥索引、发卡行公钥证书、SAD通过使用RID和公钥索引恢复出PBOC CA 公钥使用PBOC CA 公钥从发卡行公钥证书恢复出发卡行公钥使用发卡行公钥从SAD中恢复出静态应用数据的Hash值使用用静态数据计算出Hash值,并与恢复出的数据比较如果上面的任何一步不成功,则将TVR中SDA结果设置为“1”Read Record命令响应数据卡片终端通过使用RID 和公钥索引恢复出PBOC CA 公钥使用PBOC CA 公钥从发卡行公钥证书恢复出发卡行公钥使用发卡行公钥从IC 卡公钥证书恢复出Hash值与IC 卡公钥使用用静态数据计算出Hash 值,并与恢复出的数据比较向卡片发出内部认证(Internal Authenticate )命令和动态数据卡片终端用IC 卡公钥验证动态数签名的正确性如果DDA 失败,则在TVR 中设置DDA 结果为“1”用IC 卡私钥计算动态签名Internal Authenticate命令Internal Authenticate命令响应 标准动态数据认证(DDA)卡片和终端是否提供了应用版本号?应用版本号是否一致? 终端将TVR 中“IC 卡与终端应用版本不同”位置为“1”是否提供了应用用途控制和发卡行国家代码?是否有相关限制? 终端将TVR 中“卡片不支持该服务”位置为“1”卡片生效日期≤当前日期?卡片失效日期≥当前日期? 终端将TVR 中“应用还未生效”位置为“1”终端将TVR 中“应用已过期”位置为“1”终端开始【持卡人验证】处理步骤YYYYNNYYNNNN终端卡片 处理限制流程图持卡人验证成功卡片支持持卡人验证?CVM=无需CVM?卡片是否提供了CVM 列表?终端在TVR中设置缺少卡片数据CD终端从CVM列表中选择第一个CVMCVM验证条件满足?终端支持该CVM?终端在TVR中设置不支持的CVM编号CVM=PIN?进行PIN验证处理C ACVM编号=下一CVM?A是否有其他CVM入口?终端从CVM列表中选择下一个CVMBCVM=失败的CVM?CVM是校验签名,终端打印带签名栏的凭条终端在TVR中设置“持卡人验证没有成功”终端进入【终端分险管理】处理DBNNNNNNNNNYYYYYYYYY 终端持卡人验证方法列表(CVM)处理流程图进行PIN 处理 CVM 是联机或脱机PINPINPad 是否可用?PIN 的类型 进行CVM 编码动作(见上图-A )向卡片发出Get Data 命令请求PIN 尝试计数器(此步骤可选)卡片是否允许Get Data 返回PIN 计数返回不支持GET DATA 命令返回PIN 尝试计数器值返回PIN 尝试计数器,并且是否为“0”进行CVM 编码动作(见上图-A ) 提示输入PIN是否输入PIN ?进行CVM 编码动作(见上图-A )是联机PIN 还是脱机PIN?脱机PIN 处理从下图的A 返回至此处加密PIN 并且加入授权请求中终端进行【终端分险管理】处理NNNNYYYY 脱机PIN脱机PIN联机PIN联机PIN终端卡片PIN 验证处理流程图(2-1)PIN 验证处理流程图(2-2)脱机PIN 处理明文PIN向卡片发出Verify 命令PIN 尝试次数是否超输入PIN 是否正确? 重置PIN 尝试计数器 PIN 可尝试次数减1 PIN 尝试次数超限? ADA 中“若PIN 尝试超限则锁应用”=1? 卡片锁定应用 将Verify 返回码置为“成功完成” 将Verify 返回码置为“失败”,并返回剩余尝试次数 将Verify 返回码置为“失败”,并返回已无尝试机会将Verify 响应数据返回给终端 Verify 返回是否正确?PIN 尝试次数超限?返回至上图-A ,提示输入PIN进行CVM 编码动作终端进行【终端分险管理】处理BBNN NNNNY YY YY Y卡片 终端Verify 命令Verify 命令返回终端将TVR 中“卡出现在异常文件中”位置为1终端存在异常文件?卡片是否出现在异常文件中?商户是否要求强制联机?终端将TVR 中“商户强制联机交易”位置为1终端存在交易流水日志?流水日志中有该卡的交易?授权金额+日志中金额≥终端最低限额?授权金额≥终端最低限额? 终端将TVR 中“交易金额超限”位置为1终端随机交易选择为联机处理? 终端将TVR 中“随机选择联机处理”位置为1BNNNNNNN N YYYYYYYY终端是否读取了连续脱机交易上限和下限?ATC 和上次联机ATC 寄存器值是否都返回?ATC -上次联机ATC 寄存器值>脱机连续交易下限? B 终端发出GET DA TA 命令得到ATC 和上次联机ATC 寄存器值卡片响应GET DATA命令,返回ATC 和上次联机ATC 寄存器值ATC -上次联机ATC 寄存器值>脱机连续交易上限?终端将TVR 中“超过脱机连续交易下限”位置为1终端将TVR 中“超过脱机连续交易上限”位置为1上次联机ATC 寄存器=0?终端将TVR 中“新卡”位置为1终端进行【终端行为分析】处理终端将TVR 中“超过脱机连续交易下限”和“超过脱机连续交易上限”位都置为1终端将TVR 中“缺少卡片数据”位置为1NNNN NYYYYY卡片终端Get Data 命令 Get Data 返回密文类型=ARQC(需要联机)卡片或终端是否将交易设置为拒绝?终端是否具备联机能力?卡片或终端是否将交易设置为联机授权?如果不能联机,卡片或终端是否将交易设置为拒绝密文类型=TC (脱机通过)密文类型=AAC(脱机拒绝) 向卡片请求应用密文进行【卡片行为分析】处理NNNYYYNYGenerate AC 命令卡片终端终端在【终端行为分析】处理过程中第一次请求密文(ARQC,AAC,TC )检查上次交易处理结果:联机授权没有完成;发卡行认证失败;SDA 或DDA 失败;发卡行脚本处理情况根据以上结果设置相应指示器新卡检查。
emv流程及术语解析
当终端向卡发送GenerateAC命令时,IC卡执行卡片行为分析,然后IC卡返回应用密文应用密文Application Cryptogram(AC)对于脱机批准交易,卡片返回交易证书(TC);对于联机处理交易,卡片返回授权请求密文(ARQC);对于脱机拒绝交易,卡片返回应用认证密文(AAC)。
TC可以作为脱机批准交易的凭据,以及确保交易数据未被商户或收单行改动。
出自Pboc3.0 第七部分,IC卡密钥参考pboc3.0第十部分8.32节PBOC 完整流程应用初始化读应用数据数据认证处理限制持卡人验证终端行为分析终端风险管理联机/脱机判断联机处理/发卡行验证脚本处理结束卡片行为分析联机脱机(以下流程详情参考pboc3.0第五部分:借记贷记应用卡片规范)应用选择处理决定了选择哪一个卡片和终端都支持的应用来完成交易。
这一处理分为两个步骤: 步骤1:终端建立终端和卡片都支持的应用列表; 步骤2:从列表中确定一个应用来处理交易。
具体见 JR/T 0025.17 10.3.2。
应用初始化在应用初始化处理中,终端通过发送获取处理选项( GPO)命令给卡片通知卡片交易处理开始。
在命令中,终端提供给卡片在处理选项数据对象列表( PDOL)中请求的数据元。
PDOL(一个数据元标签和长度的列表)是在应用选择处理中由卡片返回给终端的可选数据项。
卡片对GPO命令的响应信息包括: AIP和AFL。
AIP列出了交易在处理过程中执行的功能; AFL 列出交易需要读出的数据存放的短文件标识符、记录号、记录个数以及脱机数据认证需要的静态签名数据的存放位置。
读应用数据在读应用数据处理中,终端读出卡片中处理交易和执行SDA或DDA的必要数据。
脱机数据认证脱机数据认证是终端使用公钥技术认证卡片中的数据的操作。
脱机数据认证有两种类型:静态数据认证(SDA)动态数据认证(DDA)SDA是终端认证卡片中静态(不变)数据。
SDA可以确保卡片在个人化之后,发卡行选定的数据不会被篡改。
EMV认证流程
EMV认证EMV标准是由国际三大银行卡组织--Europay(欧陆卡,已被万事达收购)、MasterCard(万事达卡)和Visa(维萨)共同发起制定的银行卡从磁条卡向智能IC卡转移的技术标准,是基于IC卡的金融支付标准,目前已成为公认的全球统一标准。
其目的是在金融IC卡支付系统中建立卡片和终端接口的统一标准,使得在此体系下所有的卡片和终端能够互通互用,并且该技术的采用将大大提高银行卡支付的安全性,减少欺诈行为。
目前正式发布的版本有EMV96和EMV2000。
EMV2000标准是国际上金融IC卡借记/贷记应用的统一技术标准,由国际三大银行卡组织联合制定,标准的主要内容包括借贷记应用交易流程、借记/贷记应用规范和安全认证机制等。
EMV迁移是按照EMV2000标准,在发卡、业务流程、安全控管、受理市场、信息转接等多个环节实施推进银行磁条卡向芯片卡技术的升级,即把现在使用磁条的银行卡改换成使用IC卡的银行卡。
随着信息技术、微电子技术的发展和EMV标准的完善及国际ENV迁移计划的实施,银行磁条卡向IC卡的迁移是必然的发展趋势。
国际组织为推行EMV迁移计划,决定从2005年起,不再对欧洲地区因利用磁条卡犯罪所造成的损失承担相应责任,这一决定在亚太地区生效的时间定在2006年。
根据新的游戏规则,从2006年起,伪卡损失责任将按照是否符合EMV标准来划分,也就是说,如果交易中的一方符合EMV标准,而另一方不符合,将由不符合EMV标准的一方承担全部责任。
全球范围内统一使用IC卡的时限为2008年。
1999年2月,当时的国际三大卡组织共同成立了EMVCo组织,用来管理、维护和完善EMV智能(芯片)卡的规格标准。
EMVCo组织提供EMV LEVEL 1 和EMV LEVEL 2 认证.EMV Level 1 and Level 2认证EMV Level 1 认证规范- 受理卡片的插入而不引起机械部分的损坏.- 提供电源和时钟而不引起电器部分的损坏.- 确定支持的协议并与卡片进行通信.- 正确地下载卡片以利再用卡片.EMV Level 2认证规范- 定义卡片借记卡信用卡交易的应用需求- 定义卡片与终端间应用处理规范.- 卡片与终端的应用软件通常是可访问的.- 终端的应用软件可读取卡片应用列表.- 定义卡片持有者校验方法,比如密码验证.各方应对EMV 认证的措施发卡机构应发行EMV标准的卡.POS 终端生产商应提供:- 新的或升级设备(有EMV认证的)- 兼容EMV的密码键盘- 升级POS应用软件- EMVCo 组织认证发卡行与收单行应升级主机系统以支持:- 传送和处理每种交易所增加的数据域.- 增强的加密技术.- 应能满足EMVCo.组织的测试要求SAS 是一个模块化、集成化的大型应用软件系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
符号说明:RFU:预留使用近期在调试pboc的交易,就萌生了把所有数据交互进行分析的想法,目的是抛砖引玉,希望有高手指正本文错误,或者理解不透彻的地方。
事不宜迟,下面是pboc交易的开始:检测插片,检测卡片存在后:(1):选择支付环境pse:1PAY.SYS.DDF01选择(SSELECT)报文,00 A4 xx(通过命令选择) xx(第一个或仅有一个)a4############################################[IC LEN : 20][00] [a4] [04] [00][0e] [31] [50] [41] [59] [2e] [53] [59] [53] [2e] [44] [44] [46] [30] [31] [00]SELECT SEND END ddqwe##############################################################################################################[GET LEN : 40][6f] [24][84] [0e] [31] [50] [41] [59] [2e] [53] [59] [53] [2e] [44] [44] [46] [30] [31][a5] [12][88] [01] [01][5f] [2d] [08] [7a] [68] [65] [6e] [66] [72] [64] [65][9f] [11] [01] [01][90] [00] SELECT GET END dd#######################################################对PSE支付环境的响应6F:FCI模板84:DF名称A5:FCI专用模板88:目录基本文件的SFI (高三位为0,后面补100,进行读取文件数据)5F2D:首选语言9F11:发卡行代码表索引BF0C:发卡行自定义数据--(该卡没有带此数据)FCI(文件控制信息)包含FCI(短文件标识符),目录中的每个应用列出一个应用。
--至此,PSE选择完成。
如果卡片对选择支付环境的响应不是 90 00,POS需要尝试逐个选择AID(2):选择与PSE相关联的一个基本文件,该文件会列出所支持的支付应用。
(读记录)READ RECORD 00 b2 xx(记录号) xx(表明读记录号)b2############################################[IC LEN : 5][00] [b2] [01] [0c] [00] SELECT SEND END dd#######################################################asd#######################################################[GET LEN : 49][70] [2d][61] [2b][4f] [07] [a0] [00] [00] [03] [33] [01] [01][50] [0b] [50] [42] [4f] [43] [20] [43] [72] [65] [64] [69] [74] [87] [01] [01][9f] [12] [0f] [43] [41] [52] [44] [20] [49] [4d] [41] [47] [45] [20] [30] [30] [30] [31][90] [00] SELECT GET END dd#######################################################卡片的响应: 70 xx(长度) xx(记录模板)70:基本数据模板61:应用模板,有pse才会存在,包含应用目录入口相关的数据对象4F:应用标识符 = RID + PIX (应用提供商和专用应用标识符)50:应用标签,EMV规定为必备数据,用于应用选择,与AID相关的便于记忆的数据此处为PBOC Credit87:应用优先指示器,如果卡片有多个应用,指出同一目录中应用的优先级。
bit8=》1:没有持卡人确认应用不能选择;0:没有持卡人确认可以选择应用bit7-bit5:RFUbit4-bit10000:不指定优先级。
:xxxx:1-15,1优先级最高9f12:应用首选名称此处是:CARD IMAGE 0001获得一个AID后,应该选入AID列表继续读取文件的下一个记录b2############################################[IC LEN : 5][00] [b2] [02] [0c] [00] SELECT SEND END dd#######################################################asd#######################################################[GET LEN : 2][6a] [83] SELECT GET END dd#######################################################直到没有任何记录可读取(3):根据读取的记录的应用标识符加入AID列表,然后根据用户按键进行选择应用或者根据优先级选择应用。
a4############################################[IC LEN : 13][00] [a4] [04] [00] [07] [a0] [00] [00] [03] [33] [01] [01] [00] SELECT SEND END ddqwe##############################################################################################################[GET LEN : 48][6f] [2c][84] [07] [a0] [00] [00] [03] [33] [01] [01] [a5] [21] [87] [01] [01][9f] [38] [0c][9f] [1a] [02][9f] [7a] [01][9f] [02] [06][5f] [2a] [02][5f] [2d] [08] [7a] [68] [65] [6e] [66] [72] [64] [65][9f] [11] [01] [01][90] [00] SELECT GET END dd#######################################################--选择ADF的响应报文6F: FCI模板84: DF名称9F38: PDOL的数据(9F1A:终端国家代码;9F7A: 电子现金指示器,9F02:授权金额,5F2A:交易货币代码)5F2D:首选语言9F11: 发卡行代码表索引进行最终选择,要求用户输入金额,判断POS是否能走电子现金交易路径,表示电子现金指示器。
(4):获取处理选项(GPO) 通知卡片交易开始。
根据PDOL选项进行组包。
GPO指令的发送 80 a8 00 00 xx(长度) 83(PDOL标签)xx(PDOL长度)xx xx (数据)a8############################################[IC LEN : 19][80] [a8] [00] [00] [0d][83] [0b][01] [56][01][00] [00] [00] [00] [00] [09][01] [56][00] SELECT SEND END ss##############################################################################################################[GET LEN : 18][80] [0e][58] [00][08] [01] [01] [00][10] [01] [04] [01][18] [01] [03] [00][90] [00] SELECT GET END ss#######################################################GPO的响应格式包括: 80 xx(长度) xx(应用交互特征) xx(AFL)如上,应用交互特征为: 58 00解析:bit8:RFU;bit7:1=支持SDA;bit6:1=支持DDA;bit5:1=支持持卡人认证bit4:执行终端风险管理bit3:支持发卡行认证bit2:RFUbit1:1=支持CDA字节2:RFUAFL(应用文件定位器),每个AFL包括4个字节字节1:bit8-bit4:SFI(短文件标识符)bit3-bit1:000字节2:文件中要读的第1个记录的记录号(不能为0)字节3:文件中要读的最后一个记录的记录号(大于或等于字节2)字节4:从字节2的记录好开始,用于静态数据记录的个数(从0开始,不大于(字节3)-(字节2)+1)根据GPO返回的AFL,读文件。
读文件号格式为:SFI左移3位,右边补100。
比如上面的08 十六进制就是 0000 1000 bit8-bit4才是SFI,所以真实的是:0000 0001 ,读取文件的时候,右补0100(表明读取指定记录),得到0000 1100,就是0x0c。
同理,02文件就是:0x14b2############################################[IC LEN : 5][00] [b2] [01] [0c] [00] SELECT SEND END dd#######################################################asd#######################################################[GET LEN : 66][70] [3e][5f] [20] [0f] [46] [55] [4c] [4c] [20] [46] [55] [4e] [43] [54] [49] [4f] [4e] [41] [4c][57] [11] [62] [28] [00] [01] [00] [00] [11] [17] [d1] [01] [22] [01] [01] [23] [45] [67] [89] [9f] [1f] [16] [30] [31] [30] [32] [30] [33] [30] [34] [30] [35] [30] [36] [30] [37] [30] [38] [30] [39] [30] [41] [30] [42] [90] [00]SELECT GET END dd#######################################################70:模板5f20:持卡人姓名:FULL FUNCTIONAL57: 二磁道等价数据(包括主账户分隔符失效日期服务码 PIN验证域自定义数据如果不是偶数,补充F)9F1F: 磁道一自定义数据b2############################################[IC LEN : 5][00] [b2] [01] [14] [00] SELECT SEND END dd#######################################################asd#######################################################[GET LEN : 18][70] [0e][5a] [08] [62] [28] [00] [01] [00] [00] [11] [17][5f] [34] [01] [01][90] [00]SELECT GET END dd#######################################################5a:应用主账号(PAN)5F34: 应用主账号(应用PAN的序列号)b2############################################[IC LEN : 5][00] [b2] [02] [14] [00] SELECT SEND END dd#######################################################asd#######################################################[GET LEN : 89][70] [55][8c] [1d] [9f] [34] [03] [9f] [02] [06] [9f] [03] [06] [9f] [1a] [02] [95] [05] [9b] [02] [5f] [2a] [02] [9a] [03] [9f] [21] [03] [9c] [01] [9f] [37] [04][8d] [1c] [8a] [02] [9f] [02] [06] [9f] [03] [06] [9f] [1a] [02] [95] [05] [9b] [02] [5f] [2a] [02] [9a] [03] [9f] [21] [03] [9c] [01] [9f] [37] [04] [9f] [0e] [05] [00] [00] [00] [00] [00][9f] [0f] [05] [00] [00] [00] [00] [00][9f] [0d] [05] [00] [00] [00] [00] [00][90] [00] SELECT GET END dd#######################################################8C: 卡片风险管理数据对象列表1 CDOL18d: 卡片风险管理数据对象列表2 CDOL29F0E: 发卡行行为代码-拒绝9F0F: 发卡行行为代码-联机9F0D: 发卡行行为代码-缺省b2############################################[IC LEN : 5][00] [b2] [03] [14] [00] SELECT SEND END dd#######################################################asd####################################################### [GET LEN : 53][70] [31][5f] [25] [03] [95] [07] [01][5f] [24] [03] [10] [12] [31][5f] [28] [02] [01] [56][9f] [07] [02] [ff] [c0][9f] [08] [02] [00] [8c][8e] [0a] [00] [00] [00] [00] [00] [00] [00] [00] [1f] [00][5f] [30] [02] [02] [01][9f] [42] [02] [01] [56][90] [00] SELECT GET END dd#######################################################5F25: 应用生效日期5F24: 应用失效日期5F28: 发卡行国家代码9F07: 应用用途控制9f08:应用版本号8e:持卡人验证方法5F30: 服务码9F42:应用货币代码b2############################################[IC LEN : 5][00] [b2] [04] [14] [00] SELECT SEND END dd#######################################################asd####################################################### [GET LEN : 13][70] [09][9f] [74] [06] [45] [43] [43] [31] [31] [31][90] [00] SELECT GET END dd#######################################################9F74:电子现金发卡行授权码(如果没有9F74 不能进行电子现金交易)b2############################################[IC LEN : 5][00] [b2] [01] [1c] [00] SELECT SEND END dd#######################################################asd#######################################################[GET LEN : 139][70] [81][86][8f] [01] [80][90] [81][80] [22] [91] [03] [a5] [e3] [12] [0f] [2d] [28] [62] [09] [11] [76] [aa] [2b] [d4] [e2] [4d] [69] [e7] [ee] [f7] [b9] [19] [5c] [91] [ea] [00] [88] [ae] [cf] [f4] [7e] [df] [a0] [be] [ef] [7c] [39] [1d] [f3] [b0] [5f] [71] [7d] [cc] [06] [ff] [c8] [ee] [ff] [90] [ba] [14] [21] [2b] [8a] [52] [ad] [48] [b3] [32] [77] [b2] [e2] [30] [d4] [0b] [3e] [76] [dc] [59] [77] [89] [26] [f1] [d8] [73] [9e] [10] [6c] [d7] [41] [de] [06] [a7] [42] [3d] [fb] [a2] [5e] [02] [f1] [2e] [54] [3d] [13] [d1] [b4] [71] [80] [65] [26] [02] [49] [81] [b7] [d2] [6b] [4b] [f6] [e5] [55] [86] [04] [cc] [c2] [89] [f5] [9e] [8a] [80] [2f] [45] [fb] [3d] [9e] [67][90] [00] SELECT GET END dd#######################################################8F: 公钥索引90:发卡行公钥证书--用于脱机数据认证b2############################################[IC LEN : 5][00] [b2] [02] [1c] [00] SELECT SEND END dd#######################################################asd#######################################################[GET LEN : 46][70] [2a][9f] [32] [01] [03][92] [24] [8b] [64] [3d] [1e] [af] [2e] [a7] [84] [ac] [20] [53] [03] [c9] [0e] [74] [5e] [a2] [ef] [a5] [cb] [f0] [2c] [c4] [7d] [47] [83] [3b] [b7] [b2] [7e] [cc] [69] [62] [38] [5a] [4b][90] [00] SELECT GET END dd#######################################################9F32:发卡行公钥指数92:发卡行公钥余数b2############################################[IC LEN : 5][00] [b2] [03] [1c] [00] SELECT SEND END dd#######################################################asd#######################################################[GET LEN : 136][70] [81][83][93] [81][80] [33] [5d] [0c] [c2] [4c] [19] [70] [a2] [69] [bc] [a7] [9b] [d9] [2c] [ad] [12] [68] [35] [9d] [10] [5f] [af] [a1] [d0] [c5] [29] [46] [f3] [64] [5f] [bc] [d4] [6a] [45] [e6] [23] [a4] [37] [f6] [1e] [d7] [b4] [5d] [8f] [32] [42] [76] [7e] [69] [53] [4d] [ee] [7b] [a0] [35] [cd] [c0] [64] [9e] [14] [95] [cf] [7a] [13] [89] [03] [ae] [4f] [28] [05] [e5] [18] [b1] [12] [31] [88] [ed] [cc] [74] [52] [42] [e5] [f4] [c5] [2e] [e9] [34] [d9] [57] [df] [0d] [79] [e1] [4c] [c6] [12] [62] [7c] [ab] [bd] [f5] [fd] [1b] [a1] [a5] [dd] [23] [4e] [0e] [54] [0b] [59] [74] [91] [dd] [b5] [cb] [77] [50] [85] [61] [0d] [75] [83] [77] [a7] [fe] [c3][90] [00] SELECT GET END dd#######################################################93: 签名的静态应用数据-SDA文件中的记录已经读取完毕POS已经检查可以做电子现金交易,读取可用余额值:9F799F4F############################################[IC LEN : 5][80] [ca] [9f] [79] [00] SELECT SEND END EE##############################################################################################################[GET LEN : 11][9f] [79] [06] [00] [00] [00] [01] [00] [00] [90] [00] SELECT GET END EE #######################################################POS已经检查可以做电子现金交易,读取重置阀值:9F6D9F4F############################################[IC LEN : 5][80] [ca] [9f] [6d] [00] SELECT SEND END EE##############################################################################################################[GET LEN : 11][9f] [6d] [06] [00] [00] [00] [00] [15] [00] [90] [00] SELECT GET END EE #######################################################如果可用余额减去授权金额,小于重置阀值,POS将强制联机,需要用户输入后台账户。