使用 APDU 命令克隆 NFC 电子护照
Posted
技术标签:
【中文标题】使用 APDU 命令克隆 NFC 电子护照【英文标题】:NFC E-passport cloning using APDU command 【发布时间】:2021-05-18 09:51:52 【问题描述】:一个项目指派我使用 A 类或 B 类 JavaCard 克隆电子护照。我的卡来自 Javacard OS (https://javacardos.com/javacardforum/)。
第一步:使用pyApduTool下载cap并安装小程序如下图:
第 2 步:使用 JMRTD 上传护照信息,APDU 跟踪如下:
克隆电子护照没有问题,使用JMRTD可以成功读取电子护照。
但是,我希望在护照克隆方面更加灵活。我没有使用 JMRTD 上传护照信息,而是从 JMRTD 中提取 APDU 命令,如上所示,并使用 python 代码键入 APDU。
APDU 命令如下:
RAW. C:
0000: 00 A4 04 0C 07 A0 00 00 02 47 10 01 .........G..
RAW. R:
0000: 90 00 ..
RAW. C:
0000: 00 A4 02 0C 02 01 1E .......
RAW. R:
0000: 6A 82 j.
RAW. C:
0000: 00 DA 00 62 1D 62 1B 04 09 31 32 33 34 35 36 37 ...b.b...1234567
0010: 38 39 04 06 37 35 30 31 30 31 04 06 32 35 30 31 89..750101..2501
0020: 30 31 01
RAW. R:
0000: 90 00 ..
RAW. C:
0000: 00 E0 00 00 06 63 04 00 5D 01 01 .....c..]..
RAW. R:
0000: 90 00 ..
RAW. C:
0000: 00 D6 00 00 5D 61 5B 5F 1F 58 50 3C 55 54 4F 42 ....]a[_.XP<UTOB
0010: 45 41 4E 3C 3C 48 41 50 50 59 3C 3C 3C 3C 3C 3C EAN<<HAPPY<<<<<<
0020: 3C 3C 3C 3C 3C 3C 3C 3C 3C 3C 3C 3C 3C 3C 3C 3C <<<<<<<<<<<<<<<<
0030: 3C 3C 3C 3C 3C 3C 31 32 33 34 35 36 37 38 39 37 <<<<<<1234567897
0040: 55 54 4F 37 35 30 31 30 31 32 4D 32 35 30 31 30 UTO7501012M25010
0050: 31 37 31 32 33 34 35 36 37 38 39 3C 3C 3C 3C 3C 17123456789<<<<<
0060: 37 3C 7<
RAW. R:
0000: 69 85
..
每次我尝试更新二进制时,卡都会返回 69 85。但是,使用 JMRTD 时不会出现问题。
有人可以帮忙吗?
谢谢
恒
【问题讨论】:
您似乎并不担心。您的第二个命令(恰好是一个选择)已经因“找不到文件”而失败。我认为,以后发生的任何事情都不能依赖。 嗨 Guidot 感谢您的回复。我不担心第二个命令,但我担心试图将二进制文件放入卡中的第五个命令,你对此有什么想法吗? 【参考方案1】:我无法使用 APDU 命令克隆护照。来自 JMRTD 的 APDU 跟踪不完整。您需要使用 USB BusHound 来提取详细的 APDU 命令。
【讨论】:
以上是关于使用 APDU 命令克隆 NFC 电子护照的主要内容,如果未能解决你的问题,请参考以下文章