1.DDA的计算

1.1.DDA的GPO部分处理

与SDA的部分一致

可以参考 EMV交易中的SDA/DDA/CDA——SDA部分

 

1.2.DDA 的读应用记录的处理

与SDA的部分大体一致(EMV交易中的SDA/DDA/CDA——SDA部分) 

但是在文件记录的处理上增加了部分tag的处理:

tag90——ISSUER_PUBLIC_KEY_CERT

tag92——ISSUER_PUBLIC_KEY_REMAINDER

tag9f32—ISSUER_PUBLIC_KEY_EXP

以上三个tag都将用于Issuer公钥的还原

------------------------------------------------------------------------

tag9f46——ICC_PUBLIC_KEY_CERT

tag9f48——ICC_PUBLIC_KEY_REMAINDER

tag9f47—ICC_PUBLIC_KEY_EXP

以上三个tag都将用于ICC公钥的还原

------------------------------------------------------------------------

tag9f49——DDOL

生成 INTERNAL_AUTHENTICATE(00 88)数据的tag列表

------------------------------------------------------------------------

tag9F4A——SDA_TAG_LIST

将用于ICC公钥的校验

------------------------------------------------------------------------

 

1.3.DDA校验流程

a.根据DDOL来拼组内部认证数据

b.从内部认证数据中获取 9F4B--SIGNED_DYNAMIC_APPLICATION_DATA

c.还原ISSUR公钥(EMV交易中的SDA/DDA/CDA——SDA部分

d.还原ICC公钥

(参看 EMV book 2-- 6.4 Retrieval of ICC Public Key)

EMV交易中的SDA/DDA/CDA——DDA部分

使用Issuer公钥还原得到ICC卡公钥的数据

e.校验ICC公钥有效性

EMV交易中的SDA/DDA/CDA——DDA部分

note:此处着重说明一下,在计算hash的时候

需要用到

cert.certificateFormat
cert.applicationPan
cert.certExpirationDate
cert.certSerialNumber
cert.hashAlgoIndicator
cert.iccPubKeyAlgoIndicator
cert.iccPublicKeyLength
cert.iccPublicKeyExponentLength
cert.leftMostPubKeyDigits
cert.optionalPadding
iccRemainingBytes
iccPublicKeyExponent
sdaAuthenticationData(这个就是SDA里面的校验数据,根据9F4A是否存在来加上AIP的值)

f.校验内部数据验证的9F4B

先通过ICC公钥解密9F4B数据

然后按照

 

EMV交易中的SDA/DDA/CDA——DDA部分

EMV交易中的SDA/DDA/CDA——DDA部分

元素2到6 接上 DDOL请求数据,然后算hash,然后对比hash值,done!

 

Note1:原来ICC证书的值会跟 SDA的验证数据有关

Note2:CDA接的验证数据就是DDOL的数据,比SDA要简单

相关文章:

  • 2022-12-23
  • 2021-08-20
  • 2021-07-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-06
  • 2021-11-07
猜你喜欢
  • 2021-05-09
  • 2021-06-30
  • 2021-06-29
  • 2021-10-15
  • 2022-12-23
  • 2021-10-26
  • 2021-12-03
相关资源
相似解决方案