复合动态数据认证/应用密文生成处理流程:
对于复合动态数据认证/应用密文生成,终端执行标准动态数据认证的步骤1到3:
1、认证中心公钥的获取
终端使用认证中心公钥索引(PKI)以及卡片中的注册的应用提供商标识来获取存储在终端的认证中心公钥以及相关信息;

2、发卡行公钥的获取
终端用认证中心公钥验证发卡行公钥证书,验证正确则从发卡行公钥证书中取出发卡行公钥;

3、IC卡公钥的获取
终端用发卡行公钥验证IC卡公钥证书,验证正确则从IC卡公钥证书中取出IC卡公钥。如果IC卡公钥证书验证不正确,则动态数据认证失败;

终端要求使用第一个GENERATE AC命令生成的动态密文。不使用INTERNAL AUTHENTICATE命令。对此密文的要求和认证包括以下步骤:
1、动态签名生成(仅复合动态数据认证/应用密文生成)
终端行为分析中,如果终端要求一个联机密文(授权请求密文)或脱机批准密文(交易证书),第一个GENERATE AC命令表明复合数据认证/应用密文生成即将被执行。
如果卡片决定的应用密文是一个交易证书或授权请求密文,卡片就用IC卡私钥签名应用密文及相关数据,并在GENERATE AC命令响应中把动态签名返回给终端。

2、动态签名校验(仅复合动态数据认证/应用密文生成)
卡片行为分析中,如果最初的GENERATE AC响应包含一个交易证书或授权请求密文,终端就用IC卡公钥验证动态签名。
如果签名验证正确,交易就根据所收到的数据继续下去。
如果签名验证失败,则交易就脱机拒绝。


【Dynamic Signature Verification】(EMV Book2 6.6.2)

如果GAC响应返回TC or ARQC,则进行动态签名数据验证,具体步骤:

1、取出IC卡公钥ICCPK;

2、检查SDAD(Signed Dynamic Application Data)是否存在;

3、检查SDAD的数据长度是否与ICCPK长度是否相等,不相等则CDA失败;

4、通过ICCPK RSA公钥解密SDAD;

5、检查解密后的SDAD数据格式是否正确,解密后的数据格式如下:

6、提取出ICC Dynamic Data的数据,ICC Dynamic Data的数据格式:

7、取出ICC Dynamic Data中的“TC or ARQC”到Tag9F26(Application Cryptogram)中;

8、取出ICC Dynamic Data中的“Cryptogram Information Data”与Tag9F27(Cryptogram Information Data)的值进行比较,如果不相等则CAD失败;

(注:Tag9F27在GAC响应中得到并设置);

9、计算第一个Hash值,根据以下数据格式计算Hash值:

10、把步骤9中计算所得Hash值,与SDAD解密后的数据Hash Result进行比较,如果不相等则CAD失败;

11、计算第二个Hash值:计算交易数据(Transaction Data)相关的Hash值;计算的数据包括组装好的PDOL、CDOL1、CDOL2等等;

12、将第11步计算所得的Hash值与ICC Dynamic Data数据中提取出的Transaction Data Hash Code进行比较,如果不相等,则CAD失败;

如果以上所有步骤都执行成功,则CDA成功;

重要点:CDA中有两次计算Hash值的过程,需要明确每次计算Hash值需要包含哪些数据!!!

转载于:https://www.cnblogs.com/utank/p/8537449.html

【EMV L2】CDA复合动态数据认证/应用密文生成相关推荐

  1. PBOC规范研究之十一 ---复合动态数据认证(转)

    1. 概述 CDA由IC卡动态签名的生成和终端对签名的验证组成.由于直到CDA签名验证时才需要公钥,公钥的恢复可以在CDA签名前的任何时候.在公钥恢复阶段,发现的错误可能导致CDA失败(TVR&quo ...

  2. 【EMV L2】SDA静态数据认证处理流程

    [静态数据认证] 静态数据认证处理过程中,卡片没有执行任何处理,终端执行的处理流程: 1.认证中心公钥的获取 终端使用卡片上的认证中心公钥索引(PKI)[TAG:8F,Certification Au ...

  3. PBOC/EMV之DDA(动态数据认证)

    前一篇文章讲了SDA,DDA的步骤可以这样理解:先执行SDA,再执行DDA特有的步骤. 所以这篇文章主要讲这个特有的步骤.正是这个特有的步骤,使得DDA不仅具有SDA的功能(保证卡片上的数据在个人化后 ...

  4. EMV技术学习和研究(五)脱机数据认证之DDA

    转载请注明出处 作者:小旭 有了前面对SDA的熟悉,接下来再研究DDA就会感觉比较轻松一点了. 用于动态数据认证的数据和SDA部分所描述的一样,也是基于SFI的来组织的. 特别说明一下:之前有一个地方 ...

  5. QPBOC——数据认证

    非接数据认证三种方式 SDA数据认证,标准DDA数据认证,FDDA数据认证也是DDA一种快速表现方式. SDA二步曲: 步骤 1:取得 CA 公钥 终端使用卡片中的公钥索引和RID来唯一确定并取得存储 ...

  6. TOTP动态密码认证功能,让天下无贼!

    据多家媒体报道,勒索500万美元的Darkside病毒是通过泄露的VPN密码进入企业内网的,由此可见使用静态用户名密码的VPN系统存在很大的安全隐患.本文通过对现有的用户认证措施进行分析,论证了使用T ...

  7. Kafka配置动态SASL_SCRAM认证

    Kafka配置动态SASL_SCRAM认证 1.启动Zookeeper和Kafka 2.创建SCRAM证书 3.维护SCRAM证书 3.1查看SCRAM证书 3.1删除SCRAM证书 4.服务端配置 ...

  8. 前端工程化之动态数据代理

    引言 在前端开发过程中,开发者通常都会遇到前端数据不能正常获取的问题,这就需要开发者之间'想办法'搞到这些数据:开发过程中我们可能遇到的场景: 后端接口数据开发中暂时不可用,需要前端在自己本地mock ...

  9. C#毕业设计——基于C#+asp.net+SQL Server的动态口令认证网上选课系统设计与实现(毕业论文+程序源码)——网上选课系统

    基于C#+asp.net+SQL Server的动态口令认证网上选课系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+SQL Server的动态口令认证网上选课系统 ...

  10. 8个最有含金量的云计算和大数据认证

    当下与大数据相关的认证数量正迅速提升,小编为您甄选了5个热门大数据认证: 1.CDA数据分析师 CDA(Certified Data Analyst),全称"注册数据分析师",由& ...

最新文章

  1. 信息树和XML文件的遍历及XML文件的应用
  2. 毫秒级的时间处理上G的图片(生成缩略图)
  3. 【控制】《多智能体系统一致性协同演化控制理论与技术》纪良浩老师-第4章-具有随机扰动的多智能体系统脉冲一致性
  4. MNN通用端侧深度学习预测框架介绍
  5. 将RGB值转换为灰度值的简单算法(转)
  6. 第22件事 产品规划和运营规划
  7. JS-概述-基本语法-变量-数据类型
  8. Python版:实现双十一秒杀,防止超限
  9. python写ppt_python可以写PPT吗
  10. GMSM —— 国密简介、概念(SM1-9)、ZUC祖冲之算法
  11. java跳转_java后端实现页面跳转的方法
  12. 手机百度脑图app_百度脑图下载-百度脑图app手机安卓版下载-沧浪手游
  13. 7 11 藏尾诗c语言,为你写诗:11种杂体诗,汉语太神奇
  14. 通过netsh一键连接指定WIFI
  15. BUUCTF [强网杯 2019]随便注
  16. antd switch 没有根据数据更新
  17. 为什么要与MCN签约
  18. 运维工程师怎么找兼职?什么样的兼职合适?
  19. Activity是什么东西
  20. 机房安全监控设备连接图及指令发送

热门文章

  1. 品尝阿里云容器服务:食用注意事项
  2. WebRTC学习与DEMO资源一览
  3. 打开Visual Studio 2010,左下角显示加载工具箱内容
  4. windows server 2008配置之AD域服务器 2
  5. [原创]如何培养孩子的自信
  6. PAT A1053 Path of Equal Weight [树的DFS遍历]
  7. 洛谷P1238 走迷宫
  8. 基于visual Studio2013解决面试题之0909移动星号
  9. HDU 1213 How Many Tables 并查集 水~
  10. Windows Workflow Foundation开发环境配置