联机认证
规范中定义了应用密文生成和发卡行认证需要的数据源、算法。应用密文和发卡行认证的机制要求发卡行管理使用唯一的发卡行应用密文(AC)主密钥。
1应用密文生成
一个应用密文是由基于以下数据生成的报文鉴别码组成的:
>引用IC卡的DOL并通过生成应用密文(GENERATEAC)命令或其他命令从终端传输到IC卡的数据。
>IC卡内部访问的数据。
具体需包含在应用密文生成中的数据源的选择,见JR/T0025.5附录D.1。
应用密文生成的方法是以一个唯一的16字节的IC卡应用密文(AC)子密钥MKAC以及规范描述选择的数据作为输入,然后按以下的2步计算8字节的应用密文:
1.第一步从IC卡应用密文(AC)子密钥MKAC和两字节的IC卡应用交易计数器作为输入,分散得到16字节的应用密文过程密钥SKAC。
2.第二步使用上一步分散得到的16字节的应用密文过程密钥对输入数据进行加密生成8字节的应用密文。
2发卡行认证
生成8字节的授权响应密文ARPC的方法是将16字节的应用密文过程密钥SKAC按照对称加密算法对8字节长的由IC卡按应用密文产生方法生成的ARQC和2字节的授权响应码ARC进行加密:
1.在2字节的ARC的后面补上6个“00”字节来获得一个8字节的数X:=(ARCI1“00”II“00”11“00”I1“00”11“00”1I“00”)。
2.计算Y:=ARQC④X。
3.计算ARPC。
基于64位分组加密算法获得8字节的ARPC ARPC:=ALG(SKAC)[Y]
基于128位分组加密算法获得16字节ARPC ARPC:=ALG(SKAC)(YII“00”II“00”11“00”1I“00”
1l“00”1l“001l“00”1l“00”)