一、EMV组织介绍

EMV标准是由国际三大银行卡组织--Europay(欧陆卡,已被万事达收购)、MasterCard(万事达卡)和Visa(维萨)共同发起制定的银行卡从磁条卡向智能IC卡转移的技术标准,是基于IC卡的金融支付标准,已成为公认的全球统一标准。

1999年2月,当时的国际三大卡组织共同成立了EMVCo组织,用来管理、维护和完善EMV智能(芯片)卡的规格标准。

EMVCo组织提供EMV LEVEL 1 和 EMV LEVEL2 认证。

认证规范

EMV LEVEL 1

- 受理卡片的插入而不引起机械部分的损坏.

- 提供电源和时钟而不引起电器部分的损坏.

- 确定支持的协议并与卡片进行通信.

- 正确地下载卡片以利再用卡片.

EMV Level 2

- 定义卡片借记卡信用卡交易的应用需求

- 定义卡片与终端间应用处理规范.

- 卡片与终端的应用软件通常是可访问的.

- 终端的应用软件可读取卡片应用列表.

- 定义卡片持有者校验方法,比如密码验证.

二、EMV规范下载

EMV规范下载地址:http://www.emvco.com/

后续的内容均来源自这四本规范的笔记。由于本人从事L2部分工作,所以本系列笔记基本不会涉及L1部分,但是上述下载的规范里有L1部分,可以自行研究。

注:建议首先阅读Book 1的第12章的Application Selection部分,然后再阅读Book 3,最后是Book 4和Book 2。其中Book 2是安全和密钥相关的部分,例如脱机数据认证的详细过程等。

三、EMV交易流程图

绿色框内表示这四步执行没有先后顺序。

EMV规范(一)——背景介绍相关推荐

  1. EMV规范(四)——读应用数据

    读应用数据的目的是为了从卡片中获取后续交易需要的数据.例如,在脱机数据认证时,需要的认证数据,等.步骤:根据应用初始化时,由GPO命令返回的卡片数据中的AFL,来读取卡片数据. 一. AFL:Appl ...

  2. EMV规范(七)——持卡人验证(CVM)一

    此部分笔记是来源EMV Book3中的10.5 Cardholder Verification节,可以结合此篇笔记来阅读. 终于到CVM这章了,持卡人验证是非常非常重要的章节,反正我的leader是这 ...

  3. EMV规范(三)——应用初始化

    一.应用初始化的目的: ①通知卡片新交易开始 ②将交易所需的数据发送给卡片 ③从卡片上返回AIP和AFL ④决定交易是否被允许执行 二.应用初始化步骤: ①设置TVR和TSI中所有位为0 ②根据应用选 ...

  4. EMV规范(八)——持卡人验证(CVM)二

    现在到了TVR和CVM Results部分了.TVR是Terminal Verification Results,也就是终端验证的结果,包括了脱机数据认证,持卡人认证,处理限制等等是否成功.所以只要交 ...

  5. EMV规范(二)——应用选择

    应用选择的目的是给正在执行的交易选择一个应用.步骤:首先建立应用候选列表,然后从候选列表中选择一个应用. 一.建立候选列表 建立终端与卡片之间共同支持的应用列表. 两种方法:目录选择法和AID列表法 ...

  6. EMV规范学习与研究(三)——应用初始化

    应用初始化目的: ①通知卡片新交易开始: ②将交易所需的数据发送给卡片: ③从卡片上返回AIP和AFL: ④决定交易是否被允许执行: 应用初始化步骤:(GPO命令的格式) 设置TVR和TSI中所有位为 ...

  7. EMV规范学习与研究(十)——卡片行为分析

    卡片行为分析目的:IC卡可以执行它自己的风险管理以防止发卡行被欺诈或过度的信用风险.详细的IC卡内部风险管理由发卡行自行制定.通过风险管理,IC卡可以决定是联机完成交易或脱机完成交易或要求参考号或拒绝 ...

  8. EMV规范学习与研究(四)——读应用数据

    读应用数据的目的是为了从卡片中获取后续交易需要的数据,用以完成交易中的各种功能. 终端使用读记录命令(READ RECORD)读出在应用文件定位器(AFL)中标记的文件与记录,并在读记录命令中使用SF ...

  9. EMV内核使用中的常见问题

    EMV内核在使用上会由于调用不当引起的许多问题,本文旨在基于内核LOG(也就是与IC卡交互的指令LOG)的基础上,对一些常见问题作初步的分析与解答,方便不熟悉EMV规范的同学参考. 本文的前提是你已经 ...

最新文章

  1. 2021《程序员》数字科技企业研发实力榜TOP50
  2. 精通Zookeeper系列开篇:进大厂不得不学的分布式协同利器!
  3. R语言使用caret包对GBM模型进行参数调优实战:Model Training and Parameter Tuning
  4. idea下的工具栏中services不见了,怎么调出来?
  5. pythonis啥意思-Python中is和==的区别
  6. Oracle ORA-04031 错误 说明
  7. 区块链技术在出版业的三种应用
  8. 华为云服务器芯片,云服务器芯片
  9. 自定义sql_一个简单易用的开源BI软件,专为SQL用户设计的开源库
  10. Android textedit 背景,Android EditText 的使用及值得注意的地方
  11. 笔记本BIOS启动项中找不到新装的固态硬盘解决
  12. MacOS 下 Safari、Chrome 等浏览器 无法打开知到(智慧树)等网页解决方案
  13. 手游模拟器征途辅助脚本开发
  14. 搭建 Python 开发环境
  15. wordpress优化_WordPress性能优化的完整指南
  16. 多边形裁剪(Polygon Clipping) 2
  17. 超详细 LaTex数学公式
  18. SDK ..\OBJ\XXX.axf: Error: L6218E: Undefined symbol XXXX (referred from XXX.o).
  19. 2021年清华大学电子系985经验贴(一)
  20. lazada数据分析采集软件,各国市场第一视角帮你分析!

热门文章

  1. 必备技能06:UML类图要素及解析
  2. 20189200余超 2018-2019-2 移动平台应用开发实践第十一周作业
  3. MemSQL性能测试结果
  4. Unity使用FBX Exporter导入导出动画及FBX
  5. Word文档中如何快速切换英文大小写
  6. Java Application 程序
  7. 【学术方法 | 文献阅读】How to Read Papers
  8. 应用程序正常初始化0xc0000135失败的解决办法
  9. ubuntu 设置静态路由_ubuntu配置静态路由及重启生效
  10. Sql2012的下载与安装