博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PBOC/EMV之静态数据认证(SDA)与动态数据认证(DDA)
阅读量:4109 次
发布时间:2019-05-25

本文共 1214 字,大约阅读时间需要 4 分钟。

PBOC/EMV里有两个非常重要的概念SDA(static data authentication)和DDA(dynamic data authentication),分别叫做静态数据认证和动态数据认证. 这两个认证都是脱机(off-line)的认证业内人都知道磁卡和IC卡迁移的一个很重要的原因就是安全问题.

举两个磁卡犯罪的例子:

磁卡本身的构造原理使得它的数据非常容易被非法修改, 你肯定不愿意有人非法修改你卡上的数据当然如果是在你的余额后面加几个0就另当别论了

2 相信下面要举的这个例子很多人都听过犯罪分子要用两个设备读卡器和针孔摄像机他们把读卡器与银行原来的读卡器固定一起,插卡口对齐当我们取钱时把卡插进去时我们的卡上的信息就被他们的读卡器读出然后他们用一张空白的卡就可以把我们的卡复制出来针孔摄影机的作用就是当我们取钱时窃取我们的密码卡有了密码也有了,剩下的步骤就是取钱了.

 

SDA可以解决上述第一个问题, 它实现的原理是数字签名简单的说过程如下: IC卡的里的数据先签个名怎么签名呢当然不是用笔直接上面写个名字它的做法是Hash为这些数据生成一个简短表示做为该数据的摘要然后,把这个摘要加密,得到一个"签名"再把数据和加密后的签名发给终端. 终端在这一头先把收到的数据Hash,得到一个签名, 然后再把收到的加密签名解密,又得到一个签名, 比较两个签名,就可以知道数据有没有被修改过,如果数据被修改过两个签名是不同的验证不会通过.  

 

DDA除了具有SDA的功能外,它最强大的地方就是解决上述第二种犯罪. 它实现的原理如下SDA相比它的签名是动态的SDA的签名在卡发行时就定好的它加密所用的私钥是发卡行的私钥(如果你不理解私钥和公钥的概念建议先看一下密码学的相关知识). DDA每次用来的签名的数据是当前交易中的一些动态数据签名加密所用的私钥是IC卡私钥这个私钥贮存在IC卡的一个安全区域里(这个很重要). 终端这一头有与之相对应的用来解密的公钥那么怎么实现防复制呢?

举个例子说张三的卡被李四复制了一张李四拿着这张卡去取钱在交易时,IC卡会生成一个动态的签名给终端确认关键的地方就在这里这个动态的签名需要一个私钥来加密而这个IC卡私钥贮存在IC卡里的安全区域里,李四不可能知道李四随便选一个私钥来加密签名所以在终端这一头的验证肯定是通不过的,因为公钥和私钥已经不对应了那么交易肯定会被强制中止张三卡里的钱也就不会被李四取走.

DDA实在是太强大了可以想像如果以后我们用的***全部都是有DDA功能的IC将极大减少金融犯罪. Visamaster 公司已经宣布2011年之后欧洲所有银行发行的具有脱机功能的IC卡都要使用DDA

转载地址:http://keosi.baihongyu.com/

你可能感兴趣的文章
内联函数与宏
查看>>
如何降低函数的圈复杂度
查看>>
字符串
查看>>
使用#define定义字面值和伪函数
查看>>
头文件重复包含
查看>>
CMYK颜色模型
查看>>
光照模型
查看>>
材质模型
查看>>
光滑着色
查看>>
自动计算顶点缓冲中所有顶点的法线
查看>>
struct 与class的关系
查看>>
cmake和make区别(转载)
查看>>
IntelliJ IDEA 14.0.2破解注册码文件
查看>>
Java 代码优化过程的实例介绍
查看>>
处理错误:ORA-27101: shared memory realm does not exist记实
查看>>
值得推荐的C/C++框架和库 (真的很强大)
查看>>
Json 解析
查看>>
转:LibCurl HTTP部分详细介绍
查看>>
C++ 制作 json 数据 并 传送给服务端(Server) 的 php
查看>>
C++网络通信库性能大比拼
查看>>