Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7723066
  • 博文数量: 961
  • 博客积分: 15795
  • 博客等级: 上将
  • 技术积分: 16612
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-07 14:23
文章分类

全部博文(961)

文章存档

2016年(1)

2015年(61)

2014年(41)

2013年(51)

2012年(235)

2011年(391)

2010年(181)

分类: 嵌入式

2012-12-26 14:28:05

CDA其实是DDA的衍生方法所以它和DDA有很多相同的地方先简要说明一下CDA的几个要点:

它也执行SDA,这个和DDA是一致的

它也执行DDA,更先进的技术总是向下兼容的

它也用到签名的动态应用数据不过这个数据不是内部认证请求的,而是在GAC时终端请求的而且这个数据的组成除了一些和DDA相似的组成(DOL数据),还包括密文数据(TCARQC).

既然签名的动态数据多了卡片的密文数据,那最后的验证阶段也比DDA多了一些步骤,CDA还需要比较应用密文.


下面是详细的步骤:

第一步,IC卡公钥

这个和DDA的方法是一样的,不再说明.

 

第二步,取签名的动态数据

通过GAC返回,IC卡返回非AAC类型的密文时如果终端请求CDAIC卡会返回这个签名的数据.

这个签名数据的产生也比DDA稍复杂一些,其实是原理是一样的,只不过需要参与签名的数据项增加了,也即用于产生哈希结果的数据项增加了如果是在第一次GAC产生CDA签名,那么参与运算的数据项包括PDOL中的数据,CDOL1的数据以及其它(比如数据头,长度等), 如果是在第二次GAC产生CDA签名,那么还要加上CDOL2中指定的数据项.


第三步,验证数据

前面说到了,最后一步数据的验证较DDA是多了一个应用密文的比较终端首先将将恢复的密文数据和GAC返回的密文数据比较如果不等,CDA就失败.


剩下的步骤和DDA是一样的.


既然CDADDA有很多相同的地方,那么它存在的意义在哪呢我说说自己的理解.

CDADDA的区别核心就在于CDA对卡片行为分析产生的应用密文做了一层加密保护,确保密文是来自于合法的卡片这个有点像我们在ATM上取钱时,输入的密码,经过加密后再传到银行的服务器银行的服务器解密后再验证密码的正确性.这样更安全了.

另外一点,CDA参与哈希运算的数据项增加了就表示这种认证机制更加严格了比如我就遇到过因为终端国家代码的值设置错误导致CDA失败的情况.

根据信息安全行业发展的规律来推测, CDA应该会慢慢淘汰SDADDA成为主流甚至是强制要求当然以后也可能会产生新的更加安全的数据认证机制.

 

阅读(4137) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~