《静态数据认证详解》由会员分享,可在线阅读,更多相关《静态数据认证详解(9页珍藏版)》请在金锄头文库上搜索。
1、静态认证( SDA)详解步骤 1. CA公钥已下载这一步是前提。如果你的终端仅用到银联给的文件形式的公钥,可省略下载步骤。无论如何,你的终端需存在一些公钥。例: (发往银联的获取公钥报文)010E60000900010810001800000AC00012105108120132323631343332373930 3233303031323334353637383930303131323337373634313139300011000000 0837000203319F0605A0000003339F220108DF050420201231DF060101DF0701 01DF028190B
2、61645EDFD5498FB246444037A0FA18C0F101EBD8EFA54573CE6E6 A7FBF63ED21D66340852B0211CF5EEF6A1CD989F66AF21A8EB19DBD8DBC3706D 135363A0D683D046304F5A836BC1BC632821AFE7A2F75DA3C50AC74C545A7545 62204137169663CFCC0B06E67E2109EBA41BC67FF20CC8AC80D7B6EE1A95465B 3B2657533EA56D92D539E5064360EA4850FED2D1BFDF040103D
3、F0314EE23B616 C95C02652AD18860E48787C079E8E85A 报文解析如下:解析如下:ic 卡公钥参数下载 返回BMP:00 18 00 00 0a c0 00 12 00 00 00 00 00 00 00 00 TPDU:60 00 09 00 01 MSGTYPE:08 10 Fields: 12,13,37,39,41,42,60,63, 域 长度 字节 域类 数类 数据012 006 003 FIX Half 设备时间 10 51 08 013 004 002 FIX Half 设备日期 12 01 037 012 012 FIX Full 检索参考号
4、 32 32 36 31 34 33 32 37 39 30 32 33 226143279023 039 002 002 FIX Full 应答码 30 30 00 041 008 008 FIX Full 终端标识码 31 32 33 34 35 36 37 38 12345678 042 015 015 FIX Full 受卡方标识码 39 30 30 31 31 32 33 37 37 36 34 31 31 39 30 900112377641190 060 011 006 LLL Half 自定义域 60 00 00 00 08 37 00 063 203 203 LLL Full
5、 自定义域 63 31 9f 06 05 a0 00 00 03 33 9f 22 01 08 df 05 04 20 20 12 31 df 06 01 01 df 07 01 01 df 02 81 90 b6 16 45 ed fd 54 98 fb 24 64 44 03 7a 0f a1 8c 0f 10 1e bd 8e fa 54 57 3c e6 e6 a7 fb f6 3e d2 1d 66 34 08 52 b0 21 1c f5 ee f6 a1 cd 98 9f 66 af 21 a8 eb 19 db d8 db c3 70 6d 13 53 63 a0 d6 83
6、d0 46 30 4f 5a 83 6b c1 bc 63 28 21 af e7 a2 f7 5d a3 c5 0a c7 4c 54 5a 75 45 62 20 41 37 16 96 63 cf cc 0b 06 e6 7e 21 09 eb a4 1b c6 7f f2 0c c8 ac 80 d7 b6 ee 1a 95 46 5b 3b 26 57 53 3e a5 6d 92 d5 39 e5 06 43 60 ea 48 50 fe d2 d1 bf df 04 01 03 df 03 14 ee 23 b6 16 c9 5c 02 65 2a d1 88 60 e4 87
7、87 c0 79 e8 e8 5a 参考协议, 63 域 : 公钥就长这样 :-) 31 9f 06 05 a0 00 00 03 33 9f 22 01 08 df 05 04 20 20 12 31 df 06 01 01 df 07 01 01 df 02 81 90 b6 16 45 ed fd 54 98 fb 24 64 44 03 7a 0f a1 8c 0f 10 1e bd 8e fa 54 57 3c e6 e6 a7 fb f6 3e d2 1d 66 34 08 52 b0 21 1c f5 ee f6 a1 cd 98 9f 66 af 21 a8 eb 19 db
8、d8 db c3 70 6d 13 53 63 a0 d6 83 d0 46 30 4f 5a 83 6b c1 bc 63 28 21 af e7 a2 f7 5d a3 c5 0a c7 4c 54 5a 75 45 62 20 41 37 16 96 63 cf cc 0b 06 e6 7e 21 09 eb a4 1b c6 7f f2 0c c8 ac 80 d7 b6 ee 1a 95 46 5b 3b 26 57 53 3e a5 6d 92 d5 39 e5 06 43 60 ea 48 50 fe d2 d1 bf df 04 01 03 df 03 14 ee 23 b6
9、16 c9 5c 02 65 2a d1 88 60 e4 87 87 c0 79 e8 e8 5a 这个 31 表示后面还有密钥需取。不属于密钥的一部分。使用 TLV工具解析后:第 0 个 ,T=9f06 (应用标识符 AID-终端 ), L=5, V=A000000333 第 1 个 ,T=9f22 (认证中心公钥索引 ), L=1, V=08 第 2 个 ,T=df05 (认证中心公钥有效期 ), L=4, V=20201231 第 3 个 ,T=df06 (认证中心公钥哈希算法标识 ), L=1, V=01 第 4 个 ,T=df07 (认证中心公钥算法标识 ), L=1, V=01
10、第 5 个 ,T=df02 (认证中心公钥模值 ), L=144, V=B61645EDFD5498FB246444037A0FA18C0F101EBD8EFA54573CE6E6A7FBF63ED21D66340852B0211CF5EEF6A1CD989F66AF21A8EB19DBD8DBC3706D135363A0D683D046304F5A836BC1BC632821AFE7A2F75DA3C50AC74C545A754562204137169663CFCC0B06E67E2109EBA41BC67FF20CC8AC80D7B6EE1A95465B3B2657533EA56D92D5
11、39E5064360EA4850FED2D1BF 第 6 个 ,T=df04 (认证中心公钥指数 ), L=1, V=03 第 7 个 ,T=df03 (认证中心公钥校验值 ), L=20, V=EE23B616C95C02652AD18860E48787C079E8E85A 步骤 2. 读 IC 卡 ,获取以下 tag 走正常流程,发送 gpo 以后读取所有 record 即可获取。93 (签名的静态应用数据 SAD)68630694DC90C1189FEFA83765EA0E50CB1720A53296ECFF526B009A5671DF94D0EE292D240C209A5F867B08
12、2126AB6435DB6127E5199168F330CFAA720C05257A9A8C30DB2E4FEC41E3D3F1CDF0EE42DEF363F85FAB4415DA12F25FA0A00796BF856B9858EB41B331909D7FF5EBBC8C835E5933F929A06A0B99BBEB47FEA9ED1E9EC66175221684EF0207D07798DFE3 90 (发卡行公钥 IPK证书 ) 988431EF60935AD351A0BBAF1F38481699A875AB740E56BAC799D8AA5848BC9545A58D83A3F1B2AED
13、512A60D6B872526E151144092A9F4EDACF3C57BD316B7B775EA9C64DBD2A7266EF05DFBEB0B4D526F90C16CD60CF58F8E72C4A926293DA5445B4CE9912F0D927CFBBC383ED91447FAA32587239D77FE48A9A65AAB8EAB6C64CB1498BF1EFD7794931E7C19E259E9 92 (发卡行公钥余数 ) FFABC8ECF62FE4B096949FAE88A331792873163BECD90D75D8F1570F47ED40F78690B7FB 9f32
14、(发卡行公钥指数 ) 03 8f (CA 公钥索引 PKI) 08 步骤 3. 获取发卡行公钥3.1 根据 RID (AID前 5 位 :A000000333 )和 8f(CA 公钥索引 PKI:08) 找到对应 CA公钥信息。查找方法:步骤 1 获取到的密钥,解出来,取 Tag9f06=RID并且 Tag9f22=PKI的那一组就是了。主要使用:df02 ( 认证中心公钥模值 ) df04 ( 认证中心公钥指数 ) 使用 CA 公钥解密 90(发卡行公钥 IPK证书) ,得到发卡行的公钥信息本例中对应的那一条记录已经在步骤 1 里面了。就不再重复。/ 公钥解密:输入参数 N=TagDF02,
15、 E=TagDF04, DATA=Tag90, DF02/DF04 来源于公钥参数, 90 来源于卡片/-input N= B61645EDFD5498FB246444037A0FA18C0F101EBD8EFA54573CE6E6A7FBF63ED21D66340852B0211CF5EEF6A1CD989F66AF21A8EB19DBD8DBC3706D135363A0D683D046304F5A836BC1BC632821AFE7A2F75DA3C50AC74C545A754562204137169663CFCC0B06E67E2109EBA41BC67FF20CC8AC80D7B6EE
16、1A95465B3B2657533EA56D92D539E5064360EA4850FED2D1BF /-input E=03 /-input DATA= 988431EF60935AD351A0BBAF1F38481699A875AB740E56BAC799D8AA5848BC9545A58D83A3F1B2AED512A60D6B872526E151144092A9F4EDACF3C57BD316B7B775EA9C64DBD2A7266EF05DFBEB0B4D526F90C16CD60CF58F8E72C4A926293DA5445B4CE9912F0D927CFBBC383ED91447FAA32587239D77FE48A9A65AAB8EAB6C64CB1498BF1EFD7794931E7C19E259E9 / 函数: RSA_public_decrypt 55555555555555555555 /-output = 6A02622500FF123000008301019