6

RFID カードが Mifare Ultralight か Mifare Ultralight C かを確認する信頼できる方法はありますか?

これまでに見つけた唯一の方法は、小さいカードの境界を越えて読み取りコマンドを発行する 2 つのカードのサイズの違いを利用することです。しかし、ハックのように見えます。カードが Ultralight C 認証メカニズムを使用している場合、読み取りコマンドが失敗する可能性があると思います。

const char* mifare_ultralight_identification(const nfc_target_info_t nti)
{
  byte_t abtCmd[2];
  byte_t abtRx[265];
  size_t szRxLen;

  abtCmd[0] = 0x30;  // MIFARE Ultralight READ command
  abtCmd[1] = 0x10;  // block address (1K=0x00..0x39, 4K=0x00..0xff)

  if (!nfc_initiator_transceive_dep_bytes(pnd,abtCmd,2,abtRx,&szRxLen)) {
    // READ command of 0x10 failed, we consider that Ultralight does have 0x10 address, so it's a "simple" Ultralight (i.e. not a Ultralight C)
    // When a READ failed, the tag returns in HALT state, so we need to reselect tag
    nfc_initiator_select_passive_target(pnd, NM_ISO14443A_106, nti.nai.abtUid, nti.nai.szUidLen, NULL);
    return "";
  }
  return " C";
}

ソース

4

2 に答える 2

6

はい、MIFARE Ultralight C 認証メカニズムの仕組みに関するドキュメントがあれば可能です。MIFARE Ultralight はこれをサポートしていないため、エラー状態が発生します。

于 2012-08-10T11:06:03.607 に答える
-1

NDA に同意して完全なデータ シートにアクセスすると、Mifare Ultralight C を他の Mifare タグと区別する方法を説明するセクションが表示されます。

于 2013-10-18T14:28:51.637 に答える