2024/09/01 CISTの学生証に使用されているNFC技術
ICカードリードしたかった By (Mac, RC-S300)#64aaad8c2bad8500005a55dcではCISTの学生証がFelicaではないかとされているが、これは誤りではないかt6o_o6t.icon
Google PlayストアからインストールできるNFC Toolsを利用したところ、
Tagタイプは下記のものだった。
ISO 14443-3A
NXP - Mifare Classic 1k
有効なテクノロジーには次のようなものがある。
NfcA
MifareClassic
NdefFormattable
おそらく学生証に使われているカード技術MifareのベンダーであるNXPは、Felicaを擁するSonyと競合関係にあった
https://qiita.com/gpsnmeajp/items/49db2212e632869edaf8#nfc-forumの立ち位置
NFC Forumは、これらのベンダーなどが共同で運営しているのではないか。
NFCには複数のTypeが存在する
ISO14443
Type-A
(ISO14443-3A)
Type-B
モトローラ
Type-F
Sony(Felica)
https://qiita.com/gpsnmeajp/items/49db2212e632869edaf8#nfcのtype-abftechnology
NFC Toolsでは160バイト表示されるのに対して、nfcpyでは12バイトしか表示されない
https://scrapbox.io/files/66d41e3fb7bfb1001ce99803.png
そもそもタグID以外の読み取りに失敗しているようにみえる
nfcpyとMifare Classicの関係については下記に言及がある
https://github.com/nfcpy/nfcpy/issues/144#issuecomment-572588053
Mifare Classicはnfcpyに対応していなさそう
Mifare Classicとは何か?
https://ja.wikipedia.org/wiki/MIFARE
このWikipediaページによると、
Mifare ClassicはISO14443に準拠していない?
歴史上はMIFARE Standardと呼ばれていた
RC-S330はMifareの読み取りにも対応していそう
https://xtech.nikkei.com/it/article/NEWS/20081126/320036/
あとは読み取ったバイト列を解釈できるようなミドルウェアがあれば良い
Mifare ClassicはNDEF規格の外にあり、NDEFタグとしては使用できない
https://qiita.com/gpsnmeajp/items/49db2212e632869edaf8#nfcのtype-1234platform
HCEを使って学生証をスマホで再現できるか
pyscard
https://tex2e.github.io/blog/python/get-idm-from-scard
AndroidはMiFare Classicの読み取りに対応している
MIFARE Classic Toolは暗号鍵の解析から復号までやってくれる優れたアプリ
1. READ TAGを選択
2. 「Map Keys to Sector」画面が表示される
3. std.keysのみを選択したうえで、「START MAPPING AND READ RAG」する
復号すると分かるが、学生証にはまったく情報が書き込まれていない。
製造時に設定されたUIDのみが書き込まれている
https://netagent.co.jp/study/blog/hard/20180628.html
このページにあるように、UIDを偽装することは容易である
https://www.reddit.com/r/NFC/comments/tii5ug/help_with_nfc_tag_cloning_what_tag_do_i_buy/
このページにあるように、CUIDというワードで検索するとUIDが変更できるカードが見つかる