MIFARE ClassicのAccess Conditions

4,297 views

Published on

Published in: Technology
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
4,297
On SlideShare
0
From Embeds
0
Number of Embeds
1,695
Actions
Shares
0
Downloads
22
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

MIFARE ClassicのAccess Conditions

  1. 1. MIFARE Classic の Access Conditions Dec, 22, 2012 hiro99ma
  2. 2. MIFARE Classic とは?● NXP 社が作る NFC カードの1つ● 値段は安い● メモリも多い● 鍵を掛けることができる
  3. 3. メモリ構成● 1 ブロックは 16byte● 1 セクタは以下で構成される ● 3 つの data block ● 1 つの sector trailer● sector trailer にメモリアクセス方法を設定 data block 16 byte data block 16 byte data block 16 byte sector trailer Key A Access Bits Key B
  4. 4. Access Conditions とは?● メモリへのアクセス設定のこと – read / write 設定 ● read/write block でも value block でもできる – increment / decrement / transfer / restore 設定 ● value block のみ● ブロックごとに設定できる● Access Conditions は sector trailer に書き込む – 設定データのことを Access Bits と呼ぶ – sector trailer には鍵 A 、鍵 B というデータも書く – 鍵 B は optional らしい
  5. 5. Access Conditions の設定● Access Conditions の設定は Access Bits data block 16 byte data block 16 byte data block 16 byte sector trailer Key A Access Bits Key B● Access Bits は 4byte で、有効なのは 3byte ● 残り 1byte は、ユーザデータ ● チェックサムとか鍵バージョンに使うのか?● この設定値を理解するのが難しい ● と、私は思う。
  6. 6. Access Bits の意味 (1)● 「状態」は大きく 4 つ ● 鍵 A の認証でアクセスできる ● 鍵 B の認証でアクセスできる ● 鍵 A か鍵 B の認証でアクセスできる ● アクセス不可● data block と sector trail で異なる ● data block は、 read/write block と value block ● sector trail は、鍵 A 、鍵 B と Access Bits
  7. 7. Access Bits の意味 (2)● data block の場合 ● 出荷時は何でもできるように、パターン 0 – たぶん transport configuration と呼ばれている No. read write increment other 0 鍵 A or 鍵 B 鍵 A or 鍵 B 鍵 A or 鍵 B 鍵 A or 鍵 B 1 鍵 A or 鍵 B 不可 不可 鍵 A or 鍵 B 2 鍵 A or 鍵 B 不可 不可 不可 3 鍵B 鍵B 不可 不可 4 鍵 A or 鍵 B 鍵B 不可 不可 5 鍵B 不可 不可 不可 6 鍵 A or 鍵 B 鍵B 鍵B 鍵 A or 鍵 B 7 不可 不可 不可 不可
  8. 8. Access Bits の意味 (4)● sector trail の場合 ● 出荷時は、何でもできるようにパターン 1 No. 鍵A Access Bits 鍵B read write read write read write 0 不可 鍵A 鍵A 不可 鍵A 鍵A 1 不可 鍵A 鍵A 鍵A 鍵A 鍵A 2 不可 不可 鍵A 不可 鍵A 不可 3 不可 鍵B 鍵 A or B 鍵B 不可 鍵B 4 不可 鍵B 鍵 A or B 不可 不可 鍵B 5 不可 不可 鍵 A or B 鍵B 不可 不可 6 不可 不可 鍵 A or B 不可 不可 不可 7 不可 不可 鍵 A or B 不可 不可 不可
  9. 9. Access Bits の値● パターンが 8 つなので、 3bit ● その 3bit が 4 ブロック分なので、 12bit – ・・・ではなく、ビット反転などの組み合わせ● 出荷時 ● data block : パターン 0 ● sector trailer : パターン 1 – この組み合わせが、 FFh, 07h, 80h 、になる
  10. 10. おわりに● MIFARE Classic は NFC Forum の規格外だが 比較的安く手に入りやすい ● その割りには、鍵が使える● NFC Forum の規格外だが、 NXP が自前で Classic 用の NDEF 設定を考えているので Android でもそれが使えるのかも● 最近は Broadcom 社の NFC チップが 増えているので、 Android の libnfc-nxp も 変わってくるかも ● ってより、 NCI 対応になって汎用化するのかな

×