CDA/DDA/SDA区别
SDA/DDA/CDA是三种不同的脱机数据认证方法。SDA是静态脱机数据认证,DDA是动态脱机数据认证。DDA可以是标准动态数据认证或复合动态数据认证/应用密文生成(CDA)。AIP指明了IC卡支持的脱机数据认证方法。这三种认证方法的具体实现方式和原理请参考本文的3.3借记/贷记安全体系部分。
它们的区别具体体现在三个方面:
(1)目的不同。
SDA的目的是确认存放在IC卡中的由应用文件定位器(AFL)和可选的静态数据认证标签列表所标识的,关键的静态数据的合法性,从而保证IC卡中的发卡行数据在个人化以后没有被非法篡改。
DDA的目的是确认存放在IC卡中和由IC卡生成的关键数据以及从终端收到的数据的合法性。DDA除了执行同SDA类似的静态数据认证过程,确保IC卡中的发卡行数据在个人化以后没有被非法篡改,还能防止任何对这样的卡片进行伪造的可能性。
(2)是否生成动态签名。
SDA是静态签名认证,卡片不生成动态签名。终端验证在个人化阶段写入卡片发卡行私钥签名的静态数据签名,来保证关键数据没有被篡改。
DDA和CDA是动态数据认证,卡片生成动态签名。终端验证卡片生成的每次交易都由不同的动态签名来验证卡片的合法性。
(3)是否包含命令。
SDA(静态数据认证),因为不需要IC生成动态签名,所以不需要给卡片发命令,仅需要将静态签名和公钥从卡片读到终端,由终端完成对静态签名的验证。
(5)IC卡动态签名的数据的不同。
SDA不生成动态签名数据。
DDA(标准的动态数据认证)过程,IC卡生成动态签名的数据包括IC卡动态数据(一般是应用交易计数器9F36)和终端动态数据(一般是终端不可预知数9F37)。
CDA(复合动态数据认证)过程,IC卡生成动态签名的数据除了包括IC卡动态数据(一般是应用交易计数器9F36)和终端动态数据(一般是终端不可预知数9F37),还包括终端根据PDOL、CDOL1、CDOL2发送给卡片的数据元。