2016-10-18 42 views
3

私は非接触カードを持っており、それがMIFAREカードであることを知っています。私は文書も認証キーもありません。リセット後、私は次のようATS受信:グーグルでATSの上に検索した後DESFireとDESFire EV1カードの違いは何ですか?

 

[email protected]:~$ nfc-list 
nfc-list uses libnfc 1.7.1 
NFC device: ACS/ACR122U PICC Interface opened 
1 ISO14443A passive target(s) found: 
ISO/IEC 14443A (106 kbps) target: 
    ATQA (SENS_RES): 03 44 
     UID (NFCID1): 04 8c 4c 92 e9 48 80 
     SAK (SEL_RES): 20 
       ATS: 75 77 81 02 80 

を、私は次の情報hereを見つけました:

enter image description here

だから、私のカードはどちらかDESFireカードですかDESFire EV1カード。問題は、私のカードのどれが正確にどのカードを検出できるのでしょうか?

答えて

6

MIFARE DESFire EV1は、MIFARE DESFireのフォローアップ世代です。 DESFire EV1は、新しい暗号アルゴリズム(特にAES)のサポートを追加し、MIFARE DESFireで知られているサイドチャネル攻撃に対する暗号操作のセキュリティを向上させます。

カードにGetVersionコマンド(コマンドコード0x60)を送信することによって、2つのバージョンを区別することができます。

 
READER ---> CARD: 60 
CARD <--- READER: AF 04 01 XX XX XX XX 05 
READER ---> CARD: AF 
CARD <--- READER: AF 04 01 01 HH LL XX 05 
READER ---> CARD: AF 
CARD <--- READER: 00 XX XX XX XX XX XX XX XX XX XX XX XX XX XX 

バイトHHがDESFireについては0x00とDESFire EV1のための0x01である主要なソフトウェアバージョンを、含まれています。あなたはネイティブコマンドモードを使用している場合は

、これは次のようになります。

あなたがカードと通信するためのPC/SCリーダーを使用している場合、あなたはおそらく代わりに設定DESFire APDU-包まれたネイティブコマンドを使用する必要があります:

 
READER ---> CARD: 90 60 00 00 00 
CARD <--- READER: 04 01 XX XX XX XX 05 91 AF 
READER ---> CARD: 90 AF 00 00 00 
CARD <--- READER: 04 01 01 HH LL XX 05 91 AF 
READER ---> CARD: 90 AF 00 00 00 
CARD <--- READER: XX XX XX XX XX XX XX XX XX XX XX XX XX XX 91 00 
0

あなたは、カードの種類を識別することができますあなたはHHは次のようになり、この

Reader  Card 
60  -> 
     <- AF 04 01 XX HH LL XX 05 
AF  -> 
     <- AF 04 01 01 XX XX XX 05 
AF  -> 
     <- 00 XX XX XX XX XX XX XX XX XX XX XX XX XX XX 

のようになるだろう主要なハードウェアのバージョン番号

  • は0x00 = DESFire(MF3ICD40)
  • は0x01 = MIFARE DESFire EV1
  • 0x12を= MIFARE DESFire EV2
関連する問題