脱机数据认证的目的是用于脱机验证卡片真伪和卡片上关键数据没被篡改。
IC卡中支持脱机数据认证的数据是可选的;AIP标记了它的存在性。如果终端和IC卡都支持脱机数据认证,则终端必须执行此功能。根据卡片和终端的能力,可以执
行脱机静态数据认证或动态数据认证,但不能都执行。
AIP中标记(b2、b6、b7)执行脱机数据认证的方式(CDA、DDA、SDA)优先级及条件:
CDA:卡上AIP和终端都支持CDA;
DDA:卡上AIP和终端都支持DDA,卡片和终端至少有一个不支持CDA;
SDA:卡上AIP和终端都支持SDA,卡片和终端至少有一个不支持CDA,卡片和终端至少有一个不支持DDA;
静态数据认证用来认证发卡行存在卡片中的静态数据。脱机动态数据认证用来认证IC 卡中的驻留数据、来自终端的数据和卡片本身。
由AFL标记的记录金额和有静态数据认证标签列表(tag‘9F4A’)标记的可选数据元构成了认证过程输入,用于脱机数据认证的记录必须是tag‘70’的TLV。
①对于SFI 为1-10 的文件,记录标签(‘70’)及记录长度不参与脱机数据认证过程。
除此之外的读记录响应报文数据域中的所有数据(SW1SW2 除外)都包括在认证
过程中。
②对于SFI 为11-30 的文件,记录标签(‘70’)及记录长度不从脱机数据认证过程中
删除,因此读记录命令返回的数据域中的所有数据(SW1SW2 除外)都包括在认证
过程中。
SDA执行步骤:
1、终端恢复认证中心公钥
2、终端恢复发卡行公钥
3、终端验证签名的静态应用数据
DDA、CDA执行步骤:
1、终端恢复认证中心公钥
2、终端恢复发卡行公钥
3、终端恢复IC卡公钥
4、终端验证签名的动态应用数据
DDA:检验签名的动态应用数据(DDOL+随机数)
CDA:检验签名的动态应用数据(CDOL1+CDOL2->交易数据hash码+随机数)
DDA验证数据过程中所用到的命令为内部认证命令。