【问题标题】:Card emulation Mifare卡模拟 Mifare
【发布时间】:2013-07-09 19:00:24
【问题描述】:

基于this article,我正在尝试在android上模拟管理APDU的mifare卡。根据收到的APDU,我的应用程序应该回答正确的APDU,从而模拟mifare行为。

使用 rfidiot.py,读取 mifare 卡给我:

>  FF CA 00 00 00
<  CD EA 7D 2B 90 0 
    Tag ID: CDEA7D2B
    ATR: 3B8F8001804F0CA000000306030001000000006A

  Setting Mifare Key A: FFFFFFFFFFFF

  Authenticating to sector 00 with Mifare Key A (FFFFFFFFFFFF)

>  FF 82 20 00 06 FF FF FF FF FF FF
<  []  90 0 
>  FF 88 00 00 60 00
<  []  90 0 
    OK

  Dumping data blocks 01 to 01:

>  FF 88 00 01 60 00
<  []  90 0 
>  FF B0 00 01 01
<  []  6C 10
>  FF B0 00 01 10
<  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90 0 
    01: 00000000000000000000000000000000 ................

在我的应用程序模拟卡片时,我得到了一个错误的行为:

>  FF CA 00 00 00
<  08 F0 82 65 90 0 
    Tag ID: 08F08265
    ATR: 3B80800101

  Setting Mifare Key A: FFFFFFFFFFFF

  Authenticating to sector 00 with Mifare Key A (FFFFFFFFFFFF)

>  FF 82 20 00 06 FF FF FF FF FF FF
<  []  90 0 
>  FF 88 00 00 60 00
<  []  90 0 
    OK

  Dumping data blocks 01 to 01:

>  FF 88 00 01 60 00
<  []  90 0 
>  FF B0 00 01 01
<  []  69 81
    Failed: Command incompatible with file structure

FF B0 00 01 01 APDU 命令出现错误。而且我不知道6981 APDU命令来自哪里..

有人可以帮助我解决这个“错误”吗?

【问题讨论】:

    标签: android nfc mifare apdu hce


    【解决方案1】:

    您尝试做的事情是不可能的...@NikolayElenkov 所做的是模拟符合 ISO 7816-4 的卡。 MIFARE Classic 不符合 ISO 7816-4(它不使用 APDU 命令和响应进行通信)。事实上,它甚至不符合 ISO 14443-4:它在 ISO 14443-3 之上使用专有加密。

    从阅读器端看通信看起来像 APDU 的事实是,因为您的阅读器在传递数据并将该数据包装在“虚拟”APDU 中之前剥离了所有加密。这样,MIFARE 卡可以与只能处理符合 ISO 7816-4 标准的卡的软件一起使用。

    【讨论】:

    猜你喜欢
    • 2013-12-02
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-12
    • 1970-01-01
    相关资源
    最近更新 更多