コンテンツへスキップ

← NFC.cool Blogに戻る

NFCタグ大全:すべてのチップの用途と、何で読めるか

光るNFCアイコンを背にしたiPhoneと、一列に並んだNFCタグの形状:ステッカー、コイン、PVCカード、キーホルダー、リストバンド、透明なインレイ

NFCタグのパック商品のページを開くと、「NFC 213」とか「NTAG215互換」とか、あるいは単に「1K NFCカード、全スマホ対応」と書いてあります。知りたいことは一つだけです。これは自分が考えている用途に使えるのか、ということ。ところが商品ページはそれに答えてくれません。書いた本人も知らないからです。

私は何年もかけてNFC.cool Toolsを作ってきました。このアプリがタップのたびに最初にやる仕事は、まさにその問いに答えることです。これは何のチップで、何ができるのか。識別コードだけで7社のおよそ60製品を認識しますが、そのどれもが、誰かがスマホにかざしてみたら商品ページの約束どおりに動かなかった、という経緯でリストに加わったものです。このガイドは、そのコードを書いていたときに私が欲しかった資料です。わざと長くしてあります。短い版がよければ、NFCタグ入門ガイドから始めてください。詳しい話はそこからこのガイドにリンクしています。

表に入る前に、結論を一文で書いておきます。最高のNFCタグというものはなく、用途に合ったチップがあるだけです。そして用途は3つのことで決まります。どれだけのデータを保存したいか、誰を締め出したいか、そして何で読み取れる必要があるか、です。


このガイドの使い方

このガイドの数値はすべて、メーカーのデータシート、AppleやGoogleのプラットフォーム資料、あるいは私自身のアプリのコードから取っています。出典は最後にまとめました。実際にチップを手元で試したものは「実機メモ」でそう書いています。試していないものも、そう明記します。珍しいチップの情報はデータシート由来で、データシートは約束であって、測定値ではありません。

ここに書いていないことが2つあります。初めてタグに書き込む手順(それは書き込みガイドにあります)と、NTAG 424 DNAの詳しい話です。後者には専用の記事があります。


NFCタグの物理的な正体

NFCタグは、3つのものを貼り合わせたものです。砂粒ほどの大きさのチップ、エッチングしたアルミや銅を数回巻いたアンテナ、そしてそれらを支える基材です。基材は紙のステッカーのこともあれば、PETインレイ、PVCカード、ガラスカプセルのこともあります。チップにはバッテリーがありません。電力はスマホから供給されます。

その仕組みは電磁誘導です。スマホのアンテナはコイルで、1秒間に1356万回向きが変わる磁界を生み出しています。その磁界の中に2つ目のコイルを持ち込むと、そこに電流が誘起されます。ワイヤレス充電器と同じ原理で、電力がほんのわずかなだけです。タグのチップはその誘導電流で動きます。データを送り返すときも、自分から何かを送信するわけではありません。アンテナにつないだ負荷をオンオフし、それをスマホのコイルが自分の磁界のごくわずかな変化として感じ取るのです。この仕掛けは負荷変調と呼ばれます。スマホがすべての仕事をし、タグが8セントで済むのはこのためです。

読み取り距離がこの程度なのも、同じ理由です。小さなコイルの磁界は距離の3乗で弱まるので、1センチで完璧に読めるタグも、10センチでは何も届きません。私はろうそくのようなものだと考えています。近ければその明かりで本が読めますが、部屋の反対側からではいくら目を凝らしても無駄です。NFC Forum自身の定義は「通常は最大2 cm」、Androidのドキュメントは「4 cm以下」、NXPのデータシートは「磁界強度とアンテナ形状により最大100 mm」としています。3つとも正しいのです。スマホで実際に体験するのは前の2つの数字で、100 mmは大きなリーダーと大きなアンテナを使ったときにチップが出せる性能です。

データ転送速度は控えめですが、それ以上は必要ないからです。Type AやType Bのタグは106 kbit/sで通信し、高速なチップは最初のハンドシェイクの後で212、424、848 kbit/sを取り決めます。FeliCaは212か424です。長距離向けのファミリーであるISO 15693はさらに遅く、通常モードで26.48 kbit/sです。スマホではなく、1メートル離れた倉庫のゲートから読まれるように設計されたためです。いずれにしても、NTAG216の888バイトを丸ごと読み出すのに1秒もかかりません。

規格基本速度高速モード返信方式
ISO/IEC 14443 Type AおよびB106 kbit/s対応チップ(DESFire、Plus、NTAG 424 DNA)では212、424、848 kbit/s847.5 kHzのサブキャリアによる負荷変調
FeliCa(JIS X 6319-4、ISO/IEC 18092)212 kbit/s424 kbit/s負荷変調
ISO/IEC 1569326.48 kbit/s(低速モードは6.62 kbit/s)NXPの高速モードで53 kbit/s、ICODE 3は最大212 kbit/s423.75 kHzのサブキャリアによる負荷変調

略語だらけの世界:規格、Forumタイプ、NFCではないもの

商品ページはどれも、3つの命名体系を混ぜて使っています。無線部分を定めるISO規格、データの配置を定めるNFC Forumのタグタイプ、そしてメーカーの製品名です。ここでその地図を示します。

規格

規格定めている内容NFC Forumでの名称チップの例
ISO/IEC 14443 Type A(パート1から3)近接型カード、106 kbit/s、Type A変調、衝突防止、UIDNFC-ANTAG、MIFARE Ultralight、MIFARE Classic、Topaz
ISO/IEC 14443 Type B同上。ただし変調方式が異なり、同じ意味でのUIDを持たないNFC-BST SRI512、Calypsoの交通カード、多くのICパスポート
ISO/IEC 14443-4AまたはBの上で動く伝送プロトコル。ISO-DEPと呼ばれるISO-DEPDESFire、NTAG 424 DNA、SL3のMIFARE Plus、銀行カード、パスポート
ISO/IEC 7816-4ISO-DEP上で使うコマンド言語(APDU)とファイルシステム上の行のすべて
ISO/IEC 7816-6いくつかある内容の一つが、チップメーカーコードの登録簿UIDの先頭バイト
ISO/IEC 15693近傍型カード。適切なリーダーなら最大1メートル、8バイトのUIDNFC-VICODE、ST25TV、ST25DV、TI Tag-it、NTAG 5
JIS X 6319-4ソニーのFeliCaNFC-FFeliCa Lite-S、Suica、Octopus
ISO/IEC 18092NFCそのもの(NFCIP-1)。P2P通信と、スマホが使うパッシブモードあなたのスマホ

NFC Forumのタグタイプ

NFC Forumはチップを設計したわけではありません。すでに存在していたチップの上にNDEFメッセージ(どのスマホも理解できるコンテナ形式)を保存するための、5つのレシピを書いたのです。「Type 2タグ」とはそういう意味です。チップではなく、データの配置方法を指しています。

Forumタイプ無線メモリモデル代表的なチップスマホの対応
Type 1NFC-A8バイトのブロック、一度だけロック可能Innovision/BroadcomのTopaz両プラットフォームで読み取り可能。NFC Forumは2021年の仕様リリースからType 1を外した
Type 2NFC-A4バイトのページ、ページ3のケーパビリティコンテナ、TLVブロックNTAG21x、MIFARE Ultralight、ST25TN、Fudan FM11NT0x1、Infineon my-d moveiPhoneとAndroid。iPhoneのバックグラウンド読み取りにも対応
Type 3NFC-F16バイトのブロック、サービスコードFeliCa Lite-S、FeliCa StandardiPhoneとAndroid(AndroidではNFC-Fへの対応が必須)
Type 4NFC-AまたはNFC-B上のISO-DEPAPDUで選択するファイル:CCファイルとNDEFファイルNTAG 424 DNA、DESFire、ST25TAiPhoneとAndroid
Type 5NFC-V4バイトのブロック、ブロック0にCCICODE SLIXとSLIX2、ST25TV、ST25DV、NTAG 5iPhoneはiOS 13から、AndroidはNfcV経由。2015年にForumに追加

この表には、あえて載っていないものが2つあります。MIFARE ClassicはそもそもForumのタグタイプではありません。Classic上のNDEFはNXP独自のマッピングで、Androidは一部の機種で対応し、iOSはどの機種でも対応していません。もう一つ、Forumのレシピはセキュリティについて何も定めていません。Type 2タグは素のNTAG213のこともあれば、AES-128認証を備えたNTAG 224 DNAのこともあります。Type 4タグは飾り気のないST25TA02Kのこともあれば、銀行カードのこともあります。タイプからわかるのはNDEFメッセージの保存方法であって、誰がそれにアクセスできるかではありません。

NFCタグではないもの

「なぜスマホでこれが読めないの?」というメッセージの半分は、そもそもNFCではないものについてです。スマホのNFCコイルは13.56 MHzに合わせてあり、上に挙げたプロトコルを話します。それ以外のものは、どれほどタグらしい見た目をしていても、スマホには見えません。

タグに見えるけれど周波数実際の正体スマホで読めるか
チップが見えないオフィスや駐車場のバッジ125 kHz低周波RFID:読み取り専用IDのEM4100、HID Prox、書き換え可能なT5577読めない。どんなアプリでもそれは変えられない
ペットのマイクロチップ134.2 kHzISO 11784/11785のFDX-Bトランスポンダー読めない
小売店の万引き防止タグや物流ラベル860から960 MHzUHF帯のRAIN RFID、EPC Gen2読めない
ホテルのキーや古い交通カード13.56 MHzMIFARE Classicか独自仕様のHFカードAndroidは読めることがある。iPhoneはUIDのみ表示
銀行カード13.56 MHzISO-DEPで通信するEMVスマートカード技術的には読める。アプリはカードのアプリケーション一覧と公開データを読めるが、AppleのCore NFCは決済カードの読み取りをブロックしており、使えるコピーを作れるスマホはない
パスポート13.56 MHzICAO 9303準拠の電子文書読める。機械読み取り領域を鍵として使う。私が実装しました
セキュリティキー13.56 MHzISO 7816上で動くFIDO2認証器ブラウザ用としては読める。タグとしては読めない

つらいのは125 kHzのバッジです。ドアのリーダーにはちゃんと反応しますし、コイル入りのプラスチックカードでもあるのに、スマホとは決して通信しません。iPhoneでマンションのドアを開けられない理由を記事にしたのは、正直な答えがハードウェアの問題だからです。


データシートと商品ページの読み方

データシートの表紙には必要な数字がすべて載っていて、まともな商品ページはそれを書き写しています。それぞれの数字が何を意味し、どれが嘘をつくのかを説明します。

ユーザーメモリと総メモリ

どのチップにも、使える量より多くのEEPROMがあります。NTAG213の総容量は180バイトで、そのうち144バイトがあなたのものです。残りの36バイトにはUID、ロックビット、ケーパビリティコンテナ、設定ページが入っています。MIFARE Classic 1Kは1024バイトのうち752バイトがデータ領域です。セクターごとに1ブロックが鍵に取られるからです。商品ページは大きいほうの数字を載せます。大事なのはユーザーメモリで、それでもNDEFメッセージに入る量とは一致しません。それは次の章で説明します。

UID

固有識別子は工場で焼き込まれ、変更できません。変更できるように作られたクローンは別です。長さは3種類あります。

UIDの長さ使われている場所備考
4バイト古いMIFARE Classic、現在の安価なClassicカード4バイトでは数が足りなくなったため、NXPはこれを「非固有識別子」(NUID)と呼んでいる。4バイトのUIDにはメーカーコードが含まれない。先頭バイトが08なら、そのチップはタップのたびにランダムなIDを生成している
7バイトNTAG、Ultralight、DESFire、NTAG 424 DNA、Classic EV1(オプション)。FeliCaの8バイトのIDmも近い仲間先頭バイトがメーカーコード
8バイトすべてのISO 15693チップ先頭バイトは常にE0で、2バイト目がメーカーコード

メーカーコードはISO/IEC 7816-6の登録簿に基づくもので、商品ページの真偽を確かめるいちばん手っ取り早い方法です。「正規NXP」のタグが1Dを返したら、それはFudan製です。

コードメーカー
01Motorola
02STMicroelectronics
03日立
04NXP Semiconductors
05Infineon
07Texas Instruments
08富士通
16EM Microelectronic
1Aソニー
1DShanghai Fudan Microelectronics
25Innovision(Topaz)
2CImpinj
2EBroadcom

ATQA、SAK、GET_VERSION:リーダーがチップを見分ける方法

Type Aのチップはスマホに応答するとき、ATQAとSAKという2つの小さな値を送ります。私のアプリを含め、リーダーはSAKを使ってチップをファミリーに分類します。SAKのビットから、そのチップがISO-DEPを話すかどうかと、大まかにどのファミリーに属するかがわかるからです。NXP自身の識別に関するノートは、衝突して誤解を招くのでATQAは何にも使わないように、と太字で書いています。私の経験でも、そのとおりでした。

SAKファミリーよく見られるATQA
00NTAGとMIFARE Ultralightのすべて00 44
08MIFARE Classic 1K、セキュリティレベル1のMIFARE Plus 2KまたはSE00 04(4バイトUID)、00 44(7バイト)
09MIFARE Classic Mini
18MIFARE Classic 4K、レベル1のMIFARE Plus 4K00 02または00 42
10、11レベル2のMIFARE Plus X
20ISO-DEPを話すものすべて:DESFire、NTAG 424 DNA、レベル3のPlus、銀行カード、JCOP03 44(DESFire、424)、ランダムIDなら03 04

すべてのNTAGとUltralightがSAK 00を返すので、NTAG213とNTAG216とUltralight EV1を見分けるには、もう一つコマンドが必要です。それがGET_VERSIONです。8バイトを返し、そのうち3バイトが仕事をします。バイト2が製品タイプ(03がUltralight、04がNTAG、07がNTAG I2C、01がDESFire、02がPlus、08がDESFire Light)、バイト4が世代、バイト6が容量を表します。NFC.coolはこれで目の前のチップが何かを判別していますし、Amiiboを読むゲーム機がタグに最初に尋ねるのもこれです。

チップGET_VERSIONの応答
NTAG21300 04 04 02 01 00 0F 03
NTAG21500 04 04 02 01 00 11 03
NTAG21600 04 04 02 01 00 13 03
NTAG21000 04 04 01 01 00 0B 03
NTAG21200 04 04 01 01 00 0E 03
Ultralight EV1 48 B00 04 03 01 01 00 0B 03
Ultralight EV1 128 B00 04 03 01 01 00 0E 03
Ultralight AES00 04 03 0x 04 00 0F 03
NTAG 223 DNA00 04 04 02 04 00 0F 03
NTAG 424 DNA(APDUで包んだもの)ベンダー04、タイプ04、メジャー30、容量11

GET_VERSIONを持たないチップもあります。初代Ultralight、Ultralight C、古いNTAG203には最初からありませんし、ほとんどのクローンにもありません。その「ない」こと自体が指紋になります。

書き換え耐性、データ保持、温度

この3つは、商品ページにはまず載っておらず、データシートには必ず載っている数字です。

  • 書き換え耐性は、1バイトを何回書き換えられるかです。現行品なら最低でも100,000回で、Classic時代のチップと初代Ultralightは10,000回です。DESFire EV3とST25DVファミリーは標準値で1,000,000回です。

  • データ保持期間は、電源なしでデータが残る期間です。従来の標準は10年で、NXPはNTAG 424 DNAとICODE SLIXファミリーを50年、STはType 4のST25TAチップを200年としています。保持期間は室温での規定値で、熱があると短くなります。

  • 動作温度は、NXPの民生用チップの多くで-25から+70 °C、STとEMの製品で-40から+85 °C、ICODE 3では最高105 °Cです。限界になるのはたいていチップではなく、接着剤と基材です。

セキュリティの階段

商品ページがいちばん嘘をつくのがここです。「暗号化」「セキュア」「クローン防止」といった言葉が、平文で送られる32ビットのパスワードしか保護のないタグに印刷されています。下から上へ並べた階段を示します。このガイドに出てくるチップは、どれもいずれかの段に位置します。

段内容チップ防げること
0. なし誰でも読み書きできる初代Ultralight、NTAG203、TI Tag-it Standard、Topaz何も防げない
1. ロックビットページを永久に読み取り専用にする一方向のビットすべてのType 2とType 5チップ書き換え。コピーは防げない
2. パスワード32ビットのパスワードと16ビットの確認応答(PACK)。失敗回数の上限も設定可能。NTAG21xではパスワードが暗号化されずに無線で送られるNTAG21x、Ultralight EV1、NTAG 223 DNA、ICODE SLIXファミリー(32ビット)、ST25TV(32または64ビット)、ST25TA(128ビット)アプリを持った他人による気軽な書き換え。スニファーを持った本気の攻撃者は防げない
3. CRYPTO11990年代のNXPの48ビットストリーム暗号MIFARE Classic、レベル1のMIFARE Plus2008年以降は何も防げない。段0として扱うこと
4. トリプルDES16バイトの鍵による相互認証Ultralight C、FeliCa Lite-S、DESFire D40とEV1鍵なしでの内容のコピー
5. AES-128相互認証、セキュアメッセージングUltralight AES、NTAG 224 DNA、DESFire EV1からEV3、DESFire Light、レベル3のPlus、ICODE DNA、FeliCa Standard、EM4425同上。しかも今も信頼されている暗号で
6. AESとSUNタップのたびに、URLそのものに新しい暗号的証明が入るNTAG 424 DNA、NTAG 22x DNA、DESFire EV3クローン。コピーには次のタップに署名できないから
7. 改ざん検知ループ一度でも切断されたら、それを永久に報告するワイヤーNTAG 213 TT、NTAG 424 DNA TT、NTAG 22x DNA StatusDetect、ICODE 3 TT、ST25TV02KC-T封印の再利用

階段の上ではなく、その横に並ぶ機能が2つあります。オリジナリティ署名は、メーカーがUIDに対して書き込んだデジタル署名で、リーダーはそれを使ってチップがNXPやSTの製品かどうかを確認できます。ただし、コピーは防げません。クローンはコピーした署名を持てるからで、NXP自身もアプリケーションノートでそう述べています。そしてカウンター(NTAG213/215/216の24ビット読み取りカウンター、Ultralight EV1の3つの一方向カウンター、SLIX2の16ビット書き込みカウンター)は、SUNメッセージに組み込まれない限り、セキュリティのためではなく用途のための機能です。


NDEFとタグに実際に収まるデータ

NDEF(NFC Data Exchange Format)は封筒です。スマホはタグから「URL」を読むのではありません。URIレコードを含むNDEFメッセージを読むのであって、その封筒には重さがあります。その重さを知っていれば、「自分のリンクはNTAG213に入るか」に答えられます。

レコード

どのレコードも、フラグバイト(メッセージ開始、メッセージ終了、ショートレコード、3ビットのタイプ名フォーマット)で始まり、続いてタイプの長さ、ペイロードの長さ(ペイロードが256バイト未満なら1バイト、それ以上なら4バイト)、タイプそのもの、そしてペイロードが並びます。つまり短いURLレコードでは、リンクの最初の1バイトの前に4バイトのヘッダーがかかります。

レコードタイプペイロード
URLWell-knownタイプUプレフィックス1バイトと、残りのURLをUTF-8で
テキストWell-knownタイプTステータスバイト、言語コード(en)、そしてテキスト
スマートポスターWell-knownタイプSp中にNDEFメッセージが丸ごと入る:URLと、任意のタイトルとアクション
連絡先MIME text/vcardvCardのテキストそのまま
Wi-FiMIME application/vnd.wfa.wscWi-Fi Simple Configurationの属性:SSID、認証方式、キー
Androidアプリ外部タイプandroid.com:pkgパッケージ名。Androidはそのアプリか、そのPlayストアのページを開く

プレフィックスバイトは、URIレコードで唯一の気の利いた工夫です。https://を全部書く代わりに、ペイロードの先頭バイトがよく使うプレフィックスのコードになっていて、スマホがそれを元に戻します。

コードプレフィックスコードプレフィックス
00なし12rtsp://
01http://www.13urn:
02https://www.14pop:
03http://15sip:
04https://16sips:
05tel:17tftp:
06mailto:18btspp://
07ftp://anonymous:anonymous@19btl2cap://
08ftp://ftp.1Abtgoep://
09ftps://1Btcpobex://
0Asftp://1Cirdaobex://
0Bsmb://1Dfile://
0Cnfs://1Eurn:epc:id:
0Dftp://1Furn:epc:tag:
0Edav://20urn:epc:pat:
0Fnews:21urn:epc:raw:
10telnet://22urn:epc:
11imap:23urn:nfc:

つまりhttps://nfc.cool/は、バイト04に続けてnfc.cool/として保存されます。17文字のURLが9バイトのペイロードになるわけです。NXP自身のNTAG 5のデータシートには、D1 01 0C 55 01に続いてnxp.com/nfcという例が載っていて、これはhttp://www.nxp.com/nfcにデコードされます。

レコードを包む封筒

Type 2やType 5のタグでは、メッセージはTLVの中に入ります。「NDEFメッセージ」を示す1バイト(03)、長さ1バイト(メッセージが255バイト以上なら3バイト)、メッセージ本体、そして終端バイト(FE)です。Type 4のタグにはTLVがなく、NDEFファイルが2バイトの長さから始まります。また、工場出荷時のNTAG213やNTAG212では、ユーザーメモリの最初の5バイトがすでにLock Control TLVで埋まっています。NXPが書き込んだ状態で出荷し、どの書き込みツールもそのまま残すものです。

多くの人が買うチップで、https://のリンク1本分の計算を手でやってみます。

  • NTAG213のユーザーメモリ:144バイト

  • 工場出荷時のLock Control TLVを引いて:139

  • NDEF TLVの枠(03、長さ、FE)を引いて:メッセージ用に136バイト

  • レコードヘッダー(フラグ、タイプ長、ペイロード長、U)を引いて:ペイロード132バイト

  • プレフィックスバイトを引いて:https://の後に131文字

どのタグに何が入るか

タグNDEF領域https://の後のURL文字数最小限のvCard(132 B:名前、電話、メール、URL)一般的なvCard(250から500 B)Wi-Fiレコード(67から88 B)
NTAG210、Ultralight EV1 48 B4840不可不可不可
NTAG212128115不可不可可
Ultralight EV1 128 B128120不可不可可
NTAG213(工場出荷時)144131不可(9バイト不足)不可可
NTAG213(ロックTLVを削除)144136不可(4バイト不足)不可可
ST25TN01K160約147ぎりぎり可不可可
NTAG215宣言値496(ユーザー領域504)483可大半は可可
NTAG216宣言値872(ユーザー領域888)859可可可
ICODE SLIX112(CC込み)100不可不可可
ICODE SLIX2316約300可たいてい可可
NTAG 424 DNA256バイトのNDEFファイル249可小さいものなら可可
DESFire EV3 2K最大2048バイトのNDEFファイル最大2038可可可

よくつまずく注意点が2つあります。NTAG215とNTAG216でNXP自身が書き込んでいるケーパビリティコンテナは、ユーザーメモリより少ない496バイトと872バイトを宣言しています。そのためAndroidのgetMaxSize()は小さいほうの数字を返し、それで正しいのです。また、名前、電話、メール、URLを入れたvCardは、封筒なしで132バイト、封筒込みで148バイトになります。NTAG213にわずかに入らず、名刺業者がNTAG215やNTAG216を標準にしているのはそのためです。入門ガイドで使った概数(約130、480、850文字)は、これらの数字の端を丸めたものです。


メモリマップ:チップのどこに何があるか

NFC.coolでタグをダンプして16進数を眺めたことがあるなら、これがその解読表です。

Type 2:NTAG213のページマップ

ページバイト数内容
004UIDのバイト0から2とチェックバイト
014UIDのバイト3から6
024チェックバイト、内部バイト、ページ3から15用の2つの静的ロックバイト
034ケーパビリティコンテナ:E1 10 12 00(マジックナンバー、バージョン1.0、18 x 8 = 144バイト、読み書き許可)
04から27144ユーザーメモリ。TLVが置かれる場所
284ページ16以降用の動的ロックバイト
294CFG0:ミラーの設定、ミラーを置くページ、そしてパスワード保護の最初のページを示すAUTH0
2A4CFG1:読み取りまたは書き込みの保護ビットを持つACCESSバイトと、失敗回数の上限を示すAUTHLIM
2B4PWD、パスワード。書き込み専用
2C4PACK、2バイトの確認応答と、2つの予約バイト

NTAG215も同じ構造で、ユーザーメモリがページ81まで、設定が83から86にあります。NTAG216はE1まで続き、設定はE3からE6です。ケーパビリティコンテナのビットは一方向です。バイト3の読み取り専用フラグを一度セットするか、ロックビットをセットすると、元には戻せません。アプリの「永久ロック」が実際に書き込んでいるのはこれです。Type 2での「フォーマット」は、ページ4に空のNDEF TLV(03 00 FE)を書くだけで、メモリをゼロにはしません。そのため古いデータは、上書きされるまでダンプで読み出せます。

Type 4:NTAG 424 DNAのファイルシステム

ページはありません。D2760000850101という名前のISO 7816アプリケーションの中に、3つのファイルがあります。32バイトのケーパビリティコンテナ(E103)、256バイトのNDEFファイル(E104)、128バイトの独自ファイル(E105)です。各ファイルにはそれぞれ読み取り、書き込み、アクセス権変更の権限があり、それぞれが5つのAES鍵のどれかに割り当てられます。DESFireも同じ仕組みですが、アプリケーションやファイルを自分で作れます。NTAG 424 DNAの3つは固定で、だから私はこれを3つの引き出しがある小さな鍵付き金庫と表現しました。

Type 5:ISO 15693のブロック

4バイトのブロックに0から番号が振られ、ブロック0にケーパビリティコンテナ(E1 40に続いてサイズ)があり、ブロック1からNDEF TLVが始まります。UID、AFI、DSFID、ロック状態はアドレス指定できるブロックの外にあり、別のGET SYSTEM INFORMATIONコマンドで読み出します。ICODE SLIX2では、最後のアドレス可能ブロックである79が16ビットカウンターです。ICODE 3ではブロック75に24ビットカウンターがあり、ブロック76以降は別の設定領域です。

MIFARE Classic:セクター、トレーラー、ディレクトリ

Classic 1Kは、16バイトのブロック4つからなるセクターを16個持っています。各セクターの最後のブロックがセクタートレーラーで、鍵A、3バイトのアクセスビット、空き1バイト、鍵Bが入っています。セクター0のブロック0は、UIDを含むメーカーブロックです。ClassicにNDEFを載せるために、NXPはディレクトリを定義しました。セクター0がMIFARE Application Directory(MAD)になり、公開されている鍵A0 A1 A2 A3 A4 A5で読み取れます。そこに、アプリケーションコード03 E1でNDEFを保持しているセクターが列挙されます。それらのセクターは、2つ目の公開鍵D3 F7 D3 F7 D3 F7を使います。工場出荷直後のカードは、すべての鍵がFF FF FF FF FF FFです。Android版のNFC.coolがClassicカードをフォーマットするときに書き込むのは、このディレクトリとこれらの鍵です。フォーマットしたClassicカードが一部のAndroidスマホでは読めて、iPhoneではどの機種でも読めないのはそのためです。


用途別の選択表

用途が決まっていて、チップを知りたいなら、ここから始めてください。

用途チップ理由NFC.coolの対応
リンク、Wi-Fiネットワーク、ショートカットのトリガー、モノに貼るステッカーNTAG213URL 131文字、パスワード、カウンター、8セントiPhone、Android、iPad、Macで完全対応
連絡先カード、長めのリンク、拡張の余地が欲しいもの全般NTAG216859文字、同じ機能、私がテストに使っているチップ完全対応
AmiiboNTAG215ゲーム機はまさにこのチップと、その504バイトを確認する両プラットフォームでバックアップと復元
ポスター、名刺、デモ機のタップ回数を数えるNTAG213、215、216ハードウェアの読み取りカウンターとASCIIミラー。アプリのタップカウンターが対応する3チップ両プラットフォームでタップカウンター
極小アンテナ、指輪、安価な使い捨てNTAG 210µまたはUltralight EV1 48 B48バイト、小型コイル向けの17 pF、パスワードなし読み書き
製品が本物だと証明する。タップ1回で、アプリ不要NTAG 424 DNAタップのたびにAES-128で自ら署名する。コピーにはそれができない署名の検証を含む完全な設定
同じことを、安いType 2ステッカーでNTAG 223 DNAType 2チップでSUN、144バイトType 2タグとして表示。SUNの設定はまだ非対応
開封されたことを報告する封印NTAG 213 TT、NTAG 424 DNA TT、ST25TV02KC-T改ざん検知ワイヤー。永久に記録される424 TTは完全対応。他はベースのチップとして読み取り
少し離れた距離からゲートリーダーで読む在庫管理や図書館ICODE SLIX2またはICODE 3ISO 15693は適切なリーダーなら1から1.5メートルで読め、スマホでのタップにも対応両プラットフォームで読み取り、書き込み、フォーマット
プリンター自身が読む必要がある3Dプリンター用スプールICODE SLIX2OpenPrintTag規格はNFC-Vを前提にしている読み書き
ドア、改札、交通システムDESFire EV3またはMIFARE Plus EV2AES、本格的な鍵管理、認証を取得したセキュリティ公開部分の識別とダンプ。鍵の操作は非対応
マイコンと通信するバッテリー不要のセンサーNTAG I2C plus、ST25DV、NTAG 5同じダイにI2CインターフェースとエネルギーハーベスティングNFC側として読み取り
日本の交通系や電子マネーの世界に関わるもの全般FeliCaリーダーが話すのがそれだから読み取り。iPhoneではLite-SとStandardにNDEFを書き込み
金属面に貼るタグ上記いずれかの金属対応形状効いているのはチップではなく、フェライト層チップに準じる
皮下NTAG216(xNT)、NTAG I2C(xSIID)、DESFire(xDF)小さなガラスアンテナには、スマホのスイートスポットが必要チップに準じる

この表に載っていないもの、それがMIFARE Classicです。2026年の今、私がClassicチップを買うような用途は一つもありません。理由は後の章で説明します。


ファミリー別の解説

どのファミリーも同じ形で扱います。データシートの仕様表、そのチップの用途、スマホで何ができるか、そして手元にある場合は実機メモです。

NTAG 21x:ステッカーのファミリー

一般向けに売られているNFCステッカー、コイン、カードのほぼすべてに入っているチップです。データシートは2015年から変わっていませんが、NXPは2026年の今もすべてを現行品として掲載しています。

チップユーザー / 総バイト数パスワードカウンターミラー署名書き換え耐性 / 保持期間ステータス
NTAG 210µ48 / 64なしなしなしあり(再プログラム可能)100k / 10年現行
NTAG21048 / 8032ビット + PACK、AUTHLIMなしUIDあり100k / 10年現行
NTAG212128 / 164ありなしUIDあり100k / 10年現行
NTAG213144 / 180あり24ビット読み取りカウンターUIDとカウンターあり100k / 10年現行
NTAG215504 / 540ありありありあり100k / 10年現行
NTAG216888 / 924ありありありあり100k / 10年現行
NTAG213F、NTAG216F144または888ありありありあり100k / 10年現行。電子機器への組み込み用に、磁界検出ピンとスリープモードを追加
NTAG 213 TT144 / 184ありありUID、カウンター、改ざん状態あり100k / 10年現行。改ざん検知ワイヤーを追加
NTAG203144 / 168なし(32ビットのOTP領域)16ビット書き込みカウンターなしなし10k / 5年生産終了。NTAG213に置き換え

いずれもNFC Forum Type 2、ISO/IEC 14443 Type A、7バイトUID、106 kbit/sで、定格温度は-25から+70 °Cです。NTAG210とNTAG212は小型アンテナ向けに17 pFの入力容量、213、215、216は50 pFです。オリジナリティ署名はsecp128r1曲線のECDSAで32バイト、READ_SIGコマンドで読み出します。検証鍵は非公開のNXPアプリケーションノートに載っていて、一般向けのアプリでこれを確認するものがほとんどないのはそのためです。

実際に重要な機能は3つです。パスワード(32ビットのPWD、タグが応答する16ビットのPACK、保護の開始位置を示すAUTH0、指定回数の誤入力でタグを使えなくするAUTHLIM)、NFCカウンター(24ビットで、読み取りセッションごとに1ずつ増え、専用コマンドで読める)、そしてASCIIミラーです。ミラーはUIDとカウンターをテキストとしてNDEFメッセージに貼り込むので、普通のURLがタップのたびにhttps://example.com/?u=04A1...&c=000123のようになります。以前記事にしたフィリップスのソニッケアーの替えブラシは、AUTHLIMを3に設定したNTAG213を使っています。推測を間違えると替えブラシが自らロックしてしまうのは、この仕組みによるものです。

実機メモ:リリースのたびにテストしているのがこのチップたちで、1パック買ったらもう悩みたくない、という人に私が勧めるのはNTAG216です。人目につく場所に置くものなら、パスワードは設定する価値があります。無料アプリを持った人、つまりほとんどの人を止められるからです。スニファーを持つ人は止められません。パスワード自体が暗号化されずに無線で送られるからで、アプリの中でもはっきりそう書いています。

スマホでは、どの機種でもNDEFの読み書きができ、iPhoneはURLレコードをバックグラウンドで読み取ります。パスワード、カウンター、ミラーへの低レベルなアクセスも、両プラットフォームで可能です。NFC.coolはそのすべてを、iPhone、Android、そしてUSBリーダー経由でiPadとMacでも行えます。

NTAG DNA:タップのたびに署名するチップ

3世代あり、そのうち2つは今も製造されています。

チップForumタイプユーザーバイト数鍵SUN署名書き換え耐性 / 保持期間ステータス
NTAG 413 DNAType 4160(CC 32 + NDEF 128)AES-128が3つあり、24ビットカウンターECC200k / 50年製造終了
NTAG 424 DNAType 4416(32 + 256 + 128)AES-128が5つ、LRPオプション、ランダムIDオプションあり、UID暗号化オプション付きECDSA secp224r1、56バイト、加えてAESのオリジナリティ鍵200k / 50年現行。Common Criteria EAL4
NTAG 424 DNA TTType 4416AES-128が5つあり、メッセージに改ざん状態も含む同上200k / 50年現行
NTAG 223 DNAType 2144 / 24016バイトのSUN鍵1つと32ビットパスワードあり、24ビットカウンターECDSA secp192r1、48バイト100k / 10年2022年2月から現行
NTAG 224 DNAType 2208 / 304パスワードの代わりにAES-128相互認証あり同上100k / 10年現行
NTAG 223および224 DNA StatusDetectType 2同上同上あり、メッセージにセンサー状態を含む同上100k / 10年現行

SUN(Secure Unique NFC)は、これらのチップがNTAG213の3倍の価格に見合う理由となる機能です。タグはUIDと読み取りカウンターをURLにミラーし、それらに対するAES-128のCMACを付け加えます。CMACはタップのたびに新しく計算されます。サーバーがMACを検証し、鍵を持たないクローンタグは検証に失敗します。LRPモードや5つの鍵も含めて、すべてNTAG 424 DNAの記事で説明したので、ここではその後に変わったことだけを書きます。NXPは現在、NTAG 426Q DNAと、EAL6+認証を受けた16 kBのコネクテッドType 4チップであるNTAG X DNAも販売しています。424はもはや最新のDNAチップではなく、ステッカーとして実際に買えるもの、というだけです。

22x DNAファミリーは注目の新顔です。Type 2チップでSUNが使えるので、ステッカーは安く、スマホはそれを普通のNTAGとして読みます。StatusDetect版はセンサーを追加しています。一度切れたことを不可逆に記録する導電ループか、2本のピン間で0から11 pFの静電容量を測る機能のどちらかで、NXPは後者を液面、湿度、圧力の測定向けに売り込んでいます。

実機メモ:私は最初のNTAG 424 DNAタグをAliExpressで数ユーロで買い、それを中心にアプリの424機能一式を作りました。鍵の変更、平文モードと暗号化モードのSUN、ファイルのアクセス権、Vaultファイル、改ざん状態です。424は、NFC.coolがNXPの公開鍵でオリジナリティ署名を検証し、「正規のNXP」と表示する唯一のチップでもあります。22x DNAについては、資料で知っているだけです。

MIFARE Ultralight:チケットのファミリー

UltralightはNTAGの兄にあたります。無線インターフェースも、4バイトのページも、SAKも同じで、EV1以降はコマンドも同じです。違うのは目的です。Ultralightは片道切符のために、NTAGはURL入りのステッカーのために作られました。だからNTAGはケーパビリティコンテナを書き込んだ状態で出荷され、Ultralightはそうではありません。

チップユーザー / 総バイト数保護カウンター署名書き換え耐性 / 保持期間ステータス
MIFARE Ultralight(MF0ICU1)48 / 64ロックビットと32ビットのOTP領域なしなし10k / 5年製造終了
Ultralight C144 / 19216バイト鍵によるトリプルDES相互認証16ビット一方向なし100k / 10年新規設計には非推奨。Ultralight AESに置き換え
Ultralight EV148 / 80または128 / 16432ビットパスワード、AUTHLIM独立した24ビット一方向カウンターが3つあり、32バイト100k / 10年現行
Ultralight AES144 / 240AES-128相互認証、CMACメッセージング、ランダムIDオプション24ビットカウンターが3つあり、加えてAESのオリジナリティ鍵100k / 10年2022年2月から現行。Common Criteria EAL3+
Ultralight Nano40 / 56ロックビットとOTPなしあり100k / 10年私が探した限り、告知なしでNXPのカタログから消えた

Ultralight EV1の特徴は、3つの一方向カウンターです。交通事業者がカウントを減らしていくと、チップは決して元に戻させません。Ultralight AESは、「本物の認証を備えたNTAG213が欲しい」という要望への控えめな答えです。同じ144バイトで、パスワードの代わりにAES-128を使い、どのスマホでも読めるType 2タグです。

スマホでは、ここに挙げたものはすべてType 2タグとして読めます。AppleのCore NFCは.ultralightファミリーを公開していて、アプリはネイティブコマンドを送れます。AndroidにはMifareUltralightクラスがあり、オプション扱いですが、私が見たすべてのスマホに実装されています。NFC.coolはGET_VERSIONからEV1の各バリエーションとAESを判別し、EV1のパスワードはNTAGと同じように扱います。AES認証そのものは、アプリでは行いません。

MIFARE Classic、Plus、DESFire:入退室管理のファミリー

3つのファミリーを1つの章にまとめたのは、これが一つの物語だからです。Classicが破られ、Plusが移行の道となり、最終的に業界はDESFireに落ち着きました。

MIFARE Classicは、古いホテルのキー、ジムの会員カード、そして非常に多くのオフィスのバッジに入っているチップです。NFC Forumのタグタイプではありません。CRYPTO1という独自の暗号を持っていますが、2008年に2つの研究グループがこれをリバースエンジニアリングしました。NohlとPlötzは顕微鏡でシリコンを観察して、ラドバウド大学のグループはプロトコルを観察して解析し、後者は「本物のリーダーとのわずか1、2回の認証試行から、1秒未満で」鍵を復元しました。NXPは2本目の論文の公表を止めようと裁判を起こし、敗訴しています。16年後の2024年8月には、Quarkslabが過去5年で最も普及したClassic互換チップであるFudan FM11RF08Sのハードウェアバックドアを公表しました。さらに、それ以前のFudanチップ、一部のInfineonチップ、そして2000年頃の一部のNXPチップにまで共通する、より古いバックドア鍵も見つけています。Classicはセキュリティ製品ではありません。NXP自身もClassic EV1の製品ページで、今では「新規設計には非推奨」とし、DESFire Lightを案内しています。

チップユーザー / 総バイト数UID保護書き換え耐性 / 保持期間ステータス
Classic Mini224 / 3204バイトCRYPTO1100k / 10年販売終了
Classic 1K752 / 10244バイトのNUIDCRYPTO1100k / 10年販売終了。EV1は新規設計には非推奨
Classic 4K3440 / 40964バイトのNUIDCRYPTO1100k / 10年販売終了。EV1は非推奨
Classic EV1 1Kおよび4K同上7バイトまたは4バイト、ランダムIDオプションCRYPTO1。オリジナリティ確認は1Kのみ最低100k / 10年新規設計には非推奨

毎週のように聞かれるので、iPhoneについての答えをはっきり書いておきます。iPhoneはMIFARE Classicカードの中身を読めず、どんなアプリでもそれは変えられません。AppleのCore NFCのAPIにはClassicのファミリーがなく、MIFAREコマンドのドキュメントには「Crypto1プロトコルには対応していない」とはっきり書かれています。スマホに見えるのはUIDとSAKで、私のアプリはそこからファミリー名を表示しますが、それで終わりです。Androidは事情が違います。MifareClassicクラスはオプションで、NFCコントローラーがハードウェアでCRYPTO1を持つスマホにだけ実装されています(NXPのコントローラーは持っていますが、ある世代のNexusやGalaxyに載っていたBroadcomのチップは持っていませんでした)。そうしたスマホでは、NFC.coolは工場出荷時の鍵で開くすべてのセクターを読み取り、新しいカードをNDEF用にフォーマットできます。

MIFARE Plusは、ClassicのメモリマップにAES-128を後付けしたもので、事業者はまずカードを、後からリーダーを入れ替えられるようになっています。セキュリティレベルという段階で動作し、SL1はClassicと同じように振る舞い(AESはオプション)、SL3はISO-DEP上のAESのみで、Plus Xにはその中間のSL2がありました。Plus SとPlus Xは販売終了で、Plus SE(1K、752バイト)とPlus EV2(2Kまたは4K、EAL5+、保持期間25年、書き換え耐性は標準値で1,000,000回)が現行品です。SL1ではスマホにはClassicと同じSAK 08または18が見え、SL3ではISO-DEPカードとして見えます。

MIFARE DESFireはまったくの別物です。アプリケーション、ファイル、ファイルごとのアクセス権、アプリケーションごとに最大14個の鍵を持つ小さなファイルシステムで、ISO-DEP上で最大848 kbit/sのAPDUで通信します。

チップ使用可能メモリ暗号追加機能書き換え耐性 / 保持期間ステータス
DESFire D404 kBDES、トリプルDES100k / 10年2011年に段階的に廃止。同じ年に電力解析で鍵が復元された
DESFire EV12304、4864または7936バイトDES、3DES、AES-128NFC Forum Type 4として使用可能、ランダムID最低200k / 10年新規設計には非推奨
DESFire EV22560、5120、8192または16384バイトAES-128、EAL5+トランザクションMAC、近接チェック、オリジナリティ署名200k / 25年新規設計には非推奨
DESFire EV32560、5120、8192または16384バイトAES-128、EAL5+EV2のすべてに加えてSUN/SDMとトランザクションタイマー。NFC Forum Type 4認証番号58652最低200k、標準1M / 25年、-25から+85 °C現行
DESFire Light640バイトAES-128のみ、LRPオプション、EAL46つのファイルを持つ固定アプリケーション1つ200k / 10年現行

DESFireの名前にある「2K」は、直接使える2048バイトという意味ではありません。NXPの比較ノートには表に載せた使用可能な数値があり、作成するアプリケーションやファイルはそれぞれ、自分のヘッダーのために256バイト単位のページで領域を取ります。ラベルを信じるより、FreeMemoryコマンドでカードに聞いてください。DESFire EV3ではファミリーにSUNも加わったので、EV3はNTAG 424 DNAと同じくURLに署名するという芸当ができます。EV2にはできません。

スマホでは、iOSはDESFireを.desfireのMIFAREタグとして渡し、アプリがNDEFアプリケーションを要求した場合はISO 7816タグとして渡します。AndroidはIsoDepを使います。NFC.coolはGetVersionから世代と容量を判別し、鍵なしで見られるアプリケーションとファイルを一覧表示します。DESFireへの認証や書き込みは行いません。それは事業者自身のツールの仕事で、できるふりをするより、そうはっきり言っておきたいのです。

ISO 15693:長距離のファミリー

センチではなく、メートル単位の距離を想定して設計されたチップです。スマホでも読めますし(AppleはiOS 13から、AndroidはNfcV経由)、GoToTagsの測定ではiPhoneでType 5タグがType 2タグのおよそ2倍の距離で読めました。それでも本来の居場所は、図書館のゲート、倉庫の棚、そしてリネンや衣類のクリーニングの現場です。UIDはE0で始まる8バイト、ブロックは4バイトで、このファミリーにはType Aのチップにない3つの要素があります。AFI(リーダーが絞り込みに使えるアプリケーションファミリーのバイト)、DSFID(データ形式のバイト)、そして店のゲートを鳴らす電子商品監視のビット、EASです。

NXP ICODE。系譜は、SLI(2000年)、SLI-SとSLI-L(2007年)、SLIXとそのS版・L版(2010年)、SLIX2(2014年)、ICODE DNA(2016年)、ICODE 3(2024年)と続きます。「SLIX3」というものは存在しません。そう書いてある商品ページは、ICODE 3のことを言っているか、当て推量で書いています。

チップユーザー / 総バイト数保護カウンター署名書き換え耐性 / 保持期間ステータス
ICODE SLI112 / 128ロックビットのみなしなし100k / 10年生産終了
ICODE SLI-S160 / 25632ビットパスワードが5つ:読み取り、書き込み、破壊、プライバシー、EASなしなし100k / 10年製造終了
ICODE SLI-L32 / 64パスワードが3つなしなし100k / 10年製造終了
ICODE SLIX112 / 128EASとAFI用の32ビットパスワード1つなしなし100k / 50年新規設計には非推奨
ICODE SLIX-S160 / 25632ビットパスワードが5つ、プライバシーモード、破壊なしなし100k / 50年現行
ICODE SLIX-L32 / 64パスワードが3つなしなし100k / 50年現行
ICODE SLIX2316 / 32032ビットパスワードが5つ、プライバシーモード、破壊16ビット、書き込みコマンドで加算あり、32バイト100k / 50年現行
ICODE DNA252 / 256AES-128相互認証、鍵3つ16ビットあり、再プログラム可能100k / 50年現行
ICODE 3300 / 304と192バイトの設定領域32ビットパスワードが6つ、2種類のプライバシーモード24ビット、NTAGのようにタップを数えられるあり、32または48バイト、再プログラム可能100k / 50年、最高105 °C現行。TagTamper版あり

知っておくべきはICODE 3です。NTAG213と同じようにUIDとタップカウンターをNDEFメッセージにミラーし、最大212 kbit/sで読み取れ、アンテナを自動で調整します。AESはありません。AESを持つのはICODE DNAで、どちらもSUNには対応していません。

STMicroelectronics ST25TVとST25DV。STのType 5製品群で、このガイド全体を通じてもデータシートの数値がいちばん優秀です。

チップユーザーバイト数保護カウンター署名書き換え耐性 / 保持期間ステータス
ST25TV512、ST25TV02K64または25632または64ビットのパスワード、kill、追跡不能モード、-AD版は改ざん検知16ビットの書き込みイベントカウンターTruST25100k / 60年新規設計には非推奨
ST25TV512C、ST25TV02KC64または320パスワード、kill、サイレントモードとディスクリートモード、-T版は改ざん検知なし。代わりに3桁の固有タップコードTruST25100k / 60年現行。2035年まで供給
ST25TV04K-P51264ビットパスワード、killなしなし1M / 40年現行。エネルギーハーベスティング用のピンあり
ST25TV16K、ST25TV64K、およびKC版2048または819264ビットパスワード、killなしなし1M / 40年K品は非推奨、KC品は現行
ST25DV04K、16K、64KおよびKC版512、2048または8192RF用の64ビットパスワード3つとI2C用パスワードなしなし1M / 40年K品は非推奨、KC品は現行
M24LR04E、16E、64E512、2048または819232ビットパスワードなしなし1M / 40年新規設計には非推奨

ST25TV02KCのAugmented NDEFは、セキュリティ機能として売られがちなので、一段落割く価値があります。このチップは読み取りのたびに、EEPROMには手を触れずに、UID、カスタムフィールド、3文字の固有タップコードをURLに挿入します。タップコードはタップごとに変わりますが、STのデータシート自身がはっきりと「予測可能」だと書いています。これはサーバーに新しいタップであることを伝える鮮度のトークンであって、タグが本物である証明ではありません。本物かどうかを示す機能は、STがUIDに対して付けるオリジナリティ署名のTruST25ですが、NXPのものと同じく静的な署名なので、クローンにコピーされてしまいます。

その他のType 5の世界。Texas InstrumentsのTag-it HF-Iインレイ(Standardは32バイト、Proは32バイトでパスワード保護付きの書き込みとkillコマンド、Plusは256バイト)は、2015年以前にNFCを導入した図書館ならどこにでもありますが、今ではどれも非推奨か廃止の扱いです。EM MicroelectronicのEM4233(208バイト、96ビット鍵のプライバシーモード、保持期間60年)は、要望に応じて入手できます。Infineonのmy-dと富士通のMB89R118は、ユーザーが送ってくれたのでNFC.coolの識別コードに入っています。NXPのNTAG 5(link、boost、switch)は、NTAGという名前に反してISO 15693のチップで、2048または512バイト、I2Cポート、最大30 mWのエネルギーハーベスティング、100万回・40年のEEPROMを備えています。ステッカーではなく電子機器向けのコネクテッドタグで、NTAG21x向けに書かれたソフトウェアでは通信できません。

実機メモ:SLIX2はOpenPrintTagのフィラメントスプールすべてに入っているチップなので、かなりの数を扱ってきました。NFC.coolは両プラットフォームでこれを読み取り、書き込み、フォーマットできます。一方で、はっきりさせておきたいのがアプリにできないことです。ISO 15693のパスワード、プライバシー、EAS、AFIのコマンドには対応していません。コマンドのバイト列は参照テーブルとしてコードに入っていますが、ボタンはまだありません。

MIFARE以外のType 4:ST25TA

STのST25TAファミリーは、DESFireの仕組みを一切持たない、ISO/IEC 14443 Type A上のType 4タグです。NDEFファイル1つ、ケーパビリティコンテナのファイルとシステムファイル、128ビットのパスワード2つ(読み取り用と書き込み用)、そして読み取りか書き込みを数えられる20ビットのイベントカウンターを持っています。

チップNDEFファイルパスワードカウンター署名書き換え耐性 / 保持期間ステータス
ST25TA512、ST25TA512B64バイト128ビットが2つB版は20ビットB版はTruST251M / 200年512は非推奨
ST25TA02K、ST25TA02KB(-P、-D)256バイト128ビットが2つ20ビットB版はTruST251M / 200年02Kと02KBは非推奨。02KB-Pと02KB-Dは現行
ST25TA16K、ST25TA64K2048または8192バイト128ビットが2つなしなし1M / 200年現行

200年のデータ保持と100万回の書き換え耐性。ただし通信速度は106 kbit/sのみです。-P版と-D版には、タグが読まれると切り替わる汎用出力ピンがあり、スマホに反応するランプはこれで作れます。どちらのスマホでもType 4タグとして読め、NFC.coolはNDEFの読み書きと、ISO-DEPの詳細表示に対応しています。

センサーとデュアルインターフェースのチップ

2つの顔を持つチップです。一方にNFCアンテナ、もう一方にI2Cバス、センサー、あるいは2つ目の無線があります。

チップNFC側もう一方の側メモリ特記事項
NTAG I2C plus(NT3H2111、NT3H2211)Type 2、888または1912バイト、32ビットパスワード、署名最大400 kHzのI2C、64バイトのSRAMパススルー、磁界検出ピン200kから500k / 20年最大15 mWのエネルギーハーベスティング。xSIIDインプラントのチップ
ST25DV(上記参照)Type 5最大1 MHzのI2C、ストリーミング用の256バイトのメールボックス1M / 40年V_EHピンでのエネルギーハーベスティング(非安定化で、データシートによれば「数µW」)
NTAG 5 link、boost、switchType 5、2048または512バイト、5332はAES対応I2C、GPIO、PWM出力1M / 40年最大30 mWのハーベスティング。switch版はマイコンが一切不要
NHS3100Type 2(ファームウェアでエミュレート)精度0.3 °Cの温度センサー付きCortex-M0+32 kBのフラッシュ、4 kBのEEPROMフィルム上のコールドチェーン記録装置。NFC Forum認証取得
EM4423「em echo」Type 2、NDEF領域240バイトUHF帯のRAIN RFID、同じメモリ、同じシリアル100k / 10年販売終了
EM4425「em echo-V」Type 5、最大256バイトを共有UHF帯のRAIN RFID、AES-128、改ざん検知パッド、デジタル署名100k / 50年現行。1つのダイが、スマホからは1センチで、搬入口のUHFリーダーからは数メートルで読める

これらのチップで何かを作ったことはないので、この表はデータシートだけに基づいています。それでもこのガイドで取り上げるのは、商品ページに「NFCチップ」として登場して人を混乱させるからです。NTAG 5はNTAG213ではありませんし、em echoのタグがスマホで何か特別なことをするわけでもありません。

レガシーとニッチ

Topaz(Innovision、後にBroadcom)はNFC Forum Type 1です。8バイトのブロック、96または512バイト、一度きりのロック、書き換え耐性10,000回。どちらのスマホも今でもTopazからNDEFを読めますが、NFC Forumは2021年の仕様セットからType 1を外し、もう誰も新しい設計に採用していません。販売店にはまだ在庫があります。

FeliCaはソニーのファミリーで、日本の公共交通を支えています。FeliCa Lite-S(16バイトのブロックで224バイトのユーザーメモリ、8バイトのIDm、簡略化されたトリプルDESのMAC)がタグ版で、NFC Forum Type 3です。FeliCa Standardはスマートカード版で、現行のRC-SA01ではAESとCommon Criteria EAL6+の評価を備えており、Suica、PASMO、Edy、WAON、nanaco、そして香港のOctopusはこれで動いています。ソニーのFeliCa Plugモジュールは2026年3月に販売終了しました。NFC.coolは両プラットフォームでシステムコードから交通系・電子マネーのブランド名を表示し、Lite-SとStandardを読み取り、iPhoneではそれらにNDEFを書き込めます。

Kovio NFC Barcodeは、印刷シリコンによる読み取り専用の16バイトのタグでした。Androidには今でもこのためのNfcBarcodeクラスがあります。Kovioの資産は2014年にThinfilmに移り、Thinfilmは2019年にNFCの生産をやめ、2021年に社名を変えました。このクラスは化石のようなものです。

ISO 14443 Type Bのメモリチップ。STのSRI512、SRT512、SRI4K(32ビットのブロックで512または4096ビット、2つのカウントダウンカウンター、1,000,000回、40年)は、フランスやベルギーの交通機関や一部のスキーリフト券で使われています。AndroidはNfcBで扱えますが、iPhoneにはType Bのタグを低レベルで扱うオブジェクトがまったくありません。そのため、Type BのカードがISO-DEPを話してSELECTに応答しない限り、iPhoneからは見えません。パリのNavigoで使われているCalypsoは、それができるType Bスマートカードです。

クローンと互換品

商品ページが読んでほしくない章です。

Fudan FM11NT021は、NTAG213ではない「NTAG213」として最もよく見かけるものです。45ページで同じ180バイト、同じ144バイトのユーザー領域、パスワード、24ビットの読み取りカウンター、そしてUIDにFudanのメーカーコード1Dを持っています。GET_VERSIONを実装しておらず、現行のデータシートにはREAD_SIGコマンドも載っていないので、どちらかを尋ねたリーダーは応答を得られず、メモリサイズから推測するしかなくなります。Proxmark3のコミュニティがこれをNTAG203と報告するのはそのためです。Fudanは504バイト版と888バイト版(FM11NT041、FM11NT081)も作っています。ステッカーのリンク用途なら問題なく使えます。Amiiboには使えません。ゲーム機は最初にGET_VERSIONを尋ねるからです。

Fudan FM11RF08とFM11RF08Sは、安価な「1K」カードの大半に入っているClassic互換チップです。08Sは2020年に既知のClassic攻撃への対策を加えましたが、その後、製造されたすべてのカードに共通するハードウェアのバックドア鍵を持っていることが判明しました。Quarkslabは2024年にそれをツールとともに公表し、そのツールは今ではProxmark3のファームウェアに入っています。

マジックMIFARE Classicカードは、UIDとメーカーブロックを書き換えられるように作られたチップです。本物のClassicでは決してできないことです。その世代の違いは、それだけで一つの趣味の世界になっています。

世代UIDの変更方法検出できるか備考
Gen1a、Gen1bバックドアのウェイクアップコマンドできる。どのリーダーでもバックドアの有無を探れる元祖「チャイニーズマジックカード」。入退室システムはこれを弾く
Gen2、CUID認証した後、ブロック0へ通常の書き込み探れるバックドアがない。リーダーが実際に書き込みを試す必要があるスマホに対応。現在の主流
FUID、UFUID1回だけ、または封印するまで封印前ならできるバッジを永久に複製するための使い切りカード
Gen3、APDU特殊なAPDUコマンドそのコマンドを知っているリーダーならできる
Gen4 GTU、GDM、「Ultimate」パスワードで保護された設定。UltralightやNTAGのエミュレートも可能パスワードが初期値のままの場合のみ7バイトUIDで、どのファミリーにも化けるカメレオンのようなカード

マジックNTAG21xカードも存在し、完全にエミュレートするタイプのものは、コピーしたオリジナリティ署名まで受け付けます。これこそ、NXPが静的な署名について指摘している点です。

Amiibo用の「NTAG215互換」。Amiiboは普通のNTAG215で、その540バイトには、タグ自身のUIDから導いた鍵で暗号化・署名されたデータが入っています。バイトを別のタグにコピーすると、署名が合わなくなります。だからバックアップは書き込み先のUIDに合わせて鍵を付け直す必要があり、それがNFC.coolのAmiiboのバックアップと復元がやっていることです。ゲーム機の読み取り手順は、まずGET_VERSION、次にUIDから導いたパスワードによる認証、そして設定ページを含む全135ページの読み取りです。GET_VERSIONを持たないチップや、135ページではなく45ページしかないチップは、最初のステップで失敗します。TagMoのドキュメントは一行でこうまとめています。認識されるのはNTAG215だけ、と。

アプリでのクローンの見え方。NFC.coolはまずGET_VERSIONで識別します。それに応答しないチップや、宣伝されている内容と合わないメモリサイズを返すチップは、商品ページの表記ではなく、実際の正体で表示されます。NTAG 424 DNAでは、アプリはさらに一歩進んで、NXPの公開鍵でECDSAのオリジナリティ署名を検証します。アプリの中で、暗号的な裏付けをもって「正規のNXP」と言えるのはここだけです。NTAG21xでは署名を読みません。理由の一つはNXPの検証鍵がNDAの対象であること、もう一つはコピーされた静的署名はどのみち検証を通ってしまうことです。Type 2タグについて誠実に積み上げられる証拠は、メーカーコード、GET_VERSION、メモリサイズ、そしてチップが謳う機能が実際にあるかどうかです。


形状と読み取り距離

チップはタグに何ができるかを決め、形状はスマホがそこに届くかどうかを決めます。

形状内容一般的なアンテナスマホでの読み取り距離定格と備考
ウェットインレイ粘着剤と剥離紙の付いたPETフィルムに、エッチングしたアンテナとチップを載せたもの22から38 mm2から4 cmチップを買ういちばん安い方法。貼れるのは一度だけ
ドライインレイ粘着剤なしの同じもの同上同上他のものにラミネートして組み込む用途
紙またはPETのステッカー印刷できる表面を持つインレイ22から38 mm2から4 cm紙の表面は印刷向き、PETの表面は水に強い
PVCカードISO 7810 ID-1、85.60 x 53.98 mm、厚さ0.76 mmカード全体3から5 cm手にするものの中で最大のアンテナ。リーダーの設計基準でもある
コイン、エポキシトークン硬い樹脂ドームの下にインレイを収めたもの。穴が開いていることが多い20から30 mm2から3 cm防水。Amiiboの形状
キーホルダーABSケースに入ったインレイ20から30 mm2から3 cmGoToTagsのキーホルダーはIP67、-25から+75 °Cの定格
リストバンドインレイ入りのシリコン20から25 mm1から3 cmフェス、プール。バンドは曲がるが、インレイは曲げないほうがいい
金属対応アンテナと金属の間にフェライトシートを挟んだインレイ22から34 mm金属上で2から3 cmSeritagの測定では、同じ22 mmのタグが金属上で21から25 mm、金属なしで26から30 mm。産業用の34 mm版は31から40 mmで読め、IP68、-25から+85 °C
ランドリータグPPS製のボタンに入ったチップ16 mm1から2 cmSmartracはHFランドリータグを洗濯200回、-30から+200 °C、60 barと定格。ランドリータグの多くはUIDのみのISO 15693
インプラント2 x 12 mmのガラスカプセルか柔軟なポリマーに入ったチップ数ミリスマホのスイートスポットにぴったり合わせる必要があるxNTはNTAG216、NExTは125 kHzのT5577を追加、xSIIDはLED付きのNTAG I2C plus、xDFはDESFire。フレックス版はガラス版よりずっと読みやすい

「読めない」という問い合わせの大半は、2つの物理法則で説明できます。アンテナの大きさで距離が決まる。おおまかに言えば、カードはコインより遠くから読め、コインは10 mmのインレイより遠くから読め、インプラントは接触が必要です。金属はアンテナの同調を狂わせる。金属面上のコイルは金属に渦電流を誘起し、インダクタンスが下がって共振周波数が13.56 MHzからずれていくので、スチールキャビネットに貼った普通のタグはまったく反応しません。コイルと金属の間にフェライトシートを挟むと磁界の向きが変わってタグが復活しますが、その代わりに読み取り距離は短くなり、コストも上がります。金属対応タグが3倍の値段なのはそのためです。

スマホをどこにかざすかも、タグと同じくらい重要です。iPhoneのアンテナは上端にあります。Apple自身の説明も「iPhoneの上部を」タグに「近づける」です。Androidは機種によって異なり、たいてい背面の中央かカメラの近くです。入門ガイドに手順を載せています。


どの機器で何が読めるか

スマホとリーダーの対応表です。スマホの列はAppleとGoogleのドキュメントと、私自身のアプリに基づいています。デスクトップとホビー向けの列はベンダーの仕様書と各プロジェクトのドキュメントによるもので、iPadとMacの列で名前を挙げたリーダーを除き、私自身はそれらの機器をテストしていません。

チップファミリーiPhoneのバックグラウンドiPhoneのアプリ内AndroidiPadとMac(USBリーダー)Web NFC(AndroidのChrome)ACR122UACR1552U、OMNIKEY 5022PN532ボードProxmark3Flipper Zero
NTAG21x、Ultralight EV1、その他のType 2URLレコードのみNDEF、パスワード、カウンター、ミラー、ダンプ同上同上(NFC.cool経由)NDEFのみ可可可可、エミュレーションも可、エミュレーションも
NTAG 22x DNAURLレコードNDEF、低レベルコマンド同上Type 2と同じNDEF可可可可NTAGとして読み取り
NTAG 424 DNA、ST25TA、Type 4としてのDESFireURLレコードNDEF、APDUNDEF、APDUNDEF、424の完全な設定NDEF可可可可NDEFを読み取り。鍵の操作は不可
Ultralight Cフォーマット済みならNDEFNDEF、ネイティブコマンド同上NDEFNDEF可可可可可
Ultralight AESフォーマット済みならNDEFNDEF、ネイティブコマンド同上NDEFNDEF可可可可Ultralightとして読み取り
MIFARE Classic不可UIDとファミリーのみコントローラーがCRYPTO1を持つスマホなら完全な読み書きNDEFの読み取りのみ(公知の鍵)不可可(鍵があれば)可(鍵があれば)可(鍵があれば)可、鍵の復元とエミュレーションも可、鍵の復元とエミュレーションも
MIFARE Plus不可SL1ではUID、SL3ではISO-DEPSL1ではClassicと同じ、SL3ではIsoDepUID不可可可可可記載なし
DESFire(ネイティブ)不可ファミリーとバージョン、APDUIsoDepバージョン不可可可可可読み取りと保存のみ
ISO 15693:ICODE、ST25TV、ST25DV、TI、EMURLレコードiOS 13以降はISO 15693の全コマンドセットNfcV未検証NDEF不可可不可可、エミュレーションも可、エミュレーションも
FeliCa Lite-SとStandardURLレコードシステムコードを宣言すれば読み書きNfcF読み取り。NFC.cool経由でFeliCaに書き込みNDEF可OMNIKEYはUIDのみ可可Lite-Sの読み取りとエミュレート
Topaz(Type 1)NDEFNDEFNDEF未検証NDEF可記載なし可可記載なし
ISO 14443 Type Bのメモリチップ(SRI512)不可不可NfcB未検証不可可可リーダーとしてのみ可UIDのみ
125 kHzのバッジ、ペットのチップ、UHFラベル不可不可不可不可不可不可不可不可125 kHzは可125 kHzは可

いくつかの行には一言添えておきます。

  • iPhoneのバックグラウンド読み取りが動くのは、NDEFのURLレコードに対してだけで、スマホのロックが解除されて使用中のときだけです。カメラ、ウォレット、リーダーセッション、機内モードが有効な間は動きません。チップを低レベルで読むことは決してありません。対応はiPhone XS以降です。

  • そもそもタグを読めるiPhone:AppleのWWDC 2019のセッションによれば、アプリ内ならiPhone 7以降です。書き込みと低レベルコマンドはiOS 13で加わりました。

  • AndroidのMifareClassicクラスはオプションです。Google自身の言葉では「実装されていない場合、MifareClassicが列挙されることはない」。決めるのはAndroidのバージョンではなく、コントローラーです。

  • Web NFCはNDEFのみ、Chrome 89以降、Androidのみで、Appleは否定的な立場を取っているので、Safari版は出てきません。このサイトのオンラインNFCリーダーがAndroidでは動き、iPhoneのユーザーにはアプリを使うよう案内しているのはそのためです。

  • iPadとMacにはNFCの無線がありません。NFC.cool 6.15.0以降、アプリは代わりにAppleのスマートカードスタックを通じてUSB CCIDリーダーと通信します。私がテストしたのはHID OMNIKEY 5022 CLで、ACS ACR1552U-M1とACR1255U-J1はユーザーから動作報告がありました。制限はこちらの記事にまとめています。NTAGのパスワードの設定はリーダー経由でもできますが、解除にはOMNIKEYが拒否するコマンドが必要なので、そちらはスマホの仕事です。

  • ACS ACR122UはISO 15693に対応していません。ACR1252UもACR1255U-J1も同様です。ACSの製品で対応しているのはACR1552Uだけです。OMNIKEY 5022は両方に対応しています。図書館のタグ用にリーダーを買う前に、知っておく価値があります。

  • Proxmark3とFlipper Zeroは、MIFARE Classicの鍵を復元し、カードをエミュレートできるツールです。それがこれらの道具の目的で、「何で読めるか」を語るのにこれらを外すのは不誠実なので、このガイドでも取り上げています。

リーダーインターフェースType AType BFeliCaISO 15693125 kHz鍵ありのClassicClassicの鍵復元エミュレーション2026年9月時点の価格
ACS ACR122UUSB、PC/SC可可可不可不可可不可不可約USD 40から50。ACSは販売を終了しており、偽物が多い
ACS ACR1252UUSB、PC/SC可可可不可不可可不可カードエミュレーションモードUSD 97.50
ACS ACR1552UUSB、PC/SC可可可可不可可不可カードエミュレーションモードUSD 44.81
ACS ACR1255U-J1BluetoothとUSB可可可不可不可可不可不可USD 64.81
HID OMNIKEY 5022 CLUSB、PC/SC可可UIDのみ可不可可不可不可EUR 69.99
PN532ブレイクアウトSPI、I2C、UART可リーダーとしてのみ可不可不可可ホスト側のツールでClassic 1K/4KとFeliCaUSD 24から40
Proxmark3 RDV4USB、BLEはオプション可可可可可可可可EUR 329から529
Proxmark3 EasyUSB可可可可可可一部可EUR 78。クローンは約GBP 28から
Flipper Zero単体動作、USB-C、BLE可限定的Lite-S可可可可可USD 169
Chameleon UltraUSB-C、BLE読み取りとエミュレート不可不可不可エミュレートと読み取り可可可EUR 129

NFC.cool Toolsがチップごとにできること

記事の中で私が作ったものが登場するのはこのあたりですが、ここに置いたのには理由があります。上のどの行も、結局は「で、アプリはそれで何ができるの?」に行き着くからです。下の表は宣伝文句ではありません。このガイドを書きながらアプリのソースコードから抜き出したもので、おかげで、そうでなければ書いていたはずの2つの誤りに気づけました。

項目iPhoneAndroidiPadとMac(リーダー使用)
製品ごとの識別約60製品:NTAG203から216、NTAG I2C、UltralightとC、容量別のUltralight EV1、Ultralight AES、Classic Mini・1K・4K、セキュリティレベル別のPlus 2Kと4K、容量別のDESFire EV1・EV2・EV3、NTAG 424 DNAとそのTagTamper版、ICODE SLI・SLI-S・SLI-L・SLIX・SLIX-S・SLIX-L・SLIX2、TI Tag-it Standard・Pro・Plus、ST25TV・ST25DV・M24LR、Infineon my-d、富士通MB89R118、EM4233とEM4423、FeliCa LiteとStandard、さらにSuica、PASMO、ICOCA、Edy、WAON、nanaco。EMVカードとPIVカードはそれとして認識約20製品:NTAG203・213・215・216、NTAG 424 DNA、DESFire、Classic Mini・1K・4K、Plus 2Kと4K、JCOPとSmartMX、Octopusを含むFeliCaのブランド。ISO 15693チップは製品名ではなく容量で表示リーダーが受け取るATR(リセット応答)から判別したカードの種類
NDEFの読み取りすべてのファミリーすべてのファミリーType 2、Type 4、FeliCa。Classicは公開されている鍵で
NDEFの書き込み、タグの消去Type 2、Type 4、Type 5、FeliCa Lite-SとStandardType 2、Type 5、NDEFディレクトリ付きのMIFARE Classic、AndroidがフォーマットできるものすべてType 2、Type 4、FeliCa
メモリ全体のゼロ消去Type 5Type 2、Type 5、ClassiciPhoneと同じ
永久ロックType 2のロックバイト。Type 4、Type 5、FeliCaではNDEFを読み取り専用に。NTAG 424 DNAでは意図的に拒否Type 2可
パスワードNTAG213、215、216、203Type 2ファミリー設定は可。解除はリーダー次第
タップカウンターとミラーNTAG213、215、216NTAG213、215、216可
メモリの完全ダンプType 2、ISO 15693、DESFireのファイル一覧、FeliCa、NTAG 424 DNAのファイル工場出荷時の鍵でのClassic、Ultralight、ISO 15693、FeliCa、あらゆるType AType 2、Type 4、FeliCa
MIFARE Classicの中身不可。Core NFCにはCRYPTO1がない工場出荷時の鍵で読み取り、公開されている鍵でフォーマットと書き込みNDEFの読み取りのみ
NTAG 424 DNA鍵、平文モードと暗号化モードのSUN、ファイルのアクセス権、チップの設定、Vaultファイル、ランダムUID、LRP、改ざん状態、オリジナリティ署名の検証同じ同じ
AmiiboNTAG215のバックアップと復元(書き込み先のタグに合わせて鍵を付け直す)同じ可
ISO 15693のパスワード、EAS、AFI未対応未対応不可
DESFireの認証と書き込み不可不可不可
低レベルコマンドエキスパート向けのAPDUモードコマンドカタログ可

念のため、その2つの訂正を記録しておきます。私はアプリがNTAG21xタグのオリジナリティ署名を検証すると書くところでしたが、実際には検証していません。検証するのは424だけです。また、ISO 15693のパスワードコマンドは実装済みだと書くところでしたが、実際にはUIを待っている参照テーブルの段階です。どちらもやることリストに入っています。


失敗しない買い方

私が購入する前に、商品ページに書いてあってほしいこと:

  1. 正確なチップ名。「NFC 213」ではなく「NTAG213」、「ISO 15693タグ」ではなく「ICODE SLIX2」、「1Kカード」ではなく「MIFARE Classic EV1 1K」。チップ名が書いていないなら、売り手が知らないか、知られたくないかのどちらかです。

  2. バイト単位のユーザーメモリ。チップと一致しているはずです。NTAG213なら144、215なら504、216なら888、SLIX2なら316。「1K」が実はMIFARE Classicだった場合、iPhoneでは使えません。

  3. メーカー(正規のNXPやSTを謳っている場合)。買った後ならUIDのメーカーコードが真実を教えてくれますし、買う前なら価格が教えてくれます。正規のNTAG216ステッカーを相場の3分の1で売る人はいません。

  4. アンテナのサイズと形状。10 mmのインレイは1センチ、38 mmのものは4センチで読めます。金属対応なら、金属対応と明記されているべきです。

  5. NDEFフォーマット済みかどうか。NTAGはフォーマット済みで出荷されますが、Ultralight EV1とほとんどのISO 15693チップはそうではありません。NFC.coolでフォーマットできますが、手間が一つ増えます。

要注意のサイン:「NTAG215互換」(NTAG215ではありません)、階段の段4より下のチップに書かれた「暗号化」、MIFARE Classicに書かれた「全スマホ対応」、そしてSLIX3のように、メーカーが一度も使ったことのない文字を含むチップ名です。

タグの価格。2026年9月9日に、Seritag、Shop NFC、GoToTags、NFCW Shop、NFC.CARDS、NFC-Tag-Shop.de、Tagstand、Digi-Keyで確認した掲載価格です。ほとんどの店は最低でも10枚単位で売っているので、「1枚」の列はその店の最小単位です。価格は変動するので、比率として見てください。

タグ1枚または最小単位100枚あたり1,000枚あたりチップ単体
NTAG213ステッカーEUR 0.32から0.65、USD 0.33から0.58EUR 0.29から0.34EUR 0.23から0.24、USD 0.50ウェハー単位の数量でUSD 0.14
NTAG215ステッカーまたはカードUSD 0.48から0.54、GBP 0.64から0.67USD 0.35USD 0.33USD 0.21
NTAG216ステッカーEUR 0.97、USD 0.71EUR 0.70、USD 0.61EUR 0.56、USD 0.56USD 0.37
NTAG 424 DNAステッカーEUR 0.63、USD 0.90EUR 0.62、USD 0.77EUR 0.57、USD 0.681個でUSD 0.79、1,000個単位で0.51
MIFARE Classic 1Kカード10枚単位でEUR 1.35から1.59。小売の1枚売りでEUR 6.69EUR 1.29から1.52、USD 1.98EUR 0.95から1.13、USD 0.86
DESFire EV3カードEUR 1.85から2.79EUR 1.85から2.45EUR 1.35から2.2931,000個でUSD 1.18
ICODE SLIX2ラベルEUR 0.69EUR 0.34から0.37EUR 0.22から0.251個でUSD 0.35、1,000個単位で0.22
ST25TV02KCインレイUSD 0.32から0.87USD 0.30から0.79USD 0.28から0.77リール単位でUSD 0.13

傾向は予想どおりです。メモリはほぼタダ、暗号機能が付くとおよそ2倍、そして形状のほうがチップより高くつきます。NTAG213のダイ単体は14セントで、価格の大半はそれを包むステッカーの分です。

購入先について。私が実際に使っているタグとリーダーはアフィリエイトリンクのページにまとめています。DNA機能一式のきっかけになった424タグはAliExpressで買ったものなので、マーケットプレイスは避けるべきだと言うつもりはありません。届いたら、何かを書き込む前にアプリで確認してください。


全チップのカタログ表

チップごとに1行です。「ユーザーバイト数」は書き込める容量で、DESFireはNXPが示す使用可能な数値です。スマホの列はプラットフォームとしてできることで、すべてのアプリができることではありません。NFC.coolの列は私のアプリができることです。スマホでは横にスクロールしてください。最初の列は固定されています。

チップメーカーForumタイプ規格ユーザーバイト数UID保護書き換え耐性 / 保持期間iPhoneAndroidNFC.cool最適な用途
NTAG 210µNXP214443-A487ロックビット100k / 10年NDEF、低レベルNDEF、低レベル読み書き小さな使い捨て
NTAG210NXP214443-A487パスワード100k / 10年NDEF、低レベルNDEF、低レベル読み書き小型アンテナ
NTAG212NXP214443-A1287パスワード100k / 10年NDEF、低レベルNDEF、低レベル読み書き容量に余裕のある小型アンテナ
NTAG213NXP214443-A1447パスワード、カウンター、ミラー100k / 10年NDEF、低レベルNDEF、低レベルすべて定番のステッカー
NTAG215NXP214443-A5047パスワード、カウンター、ミラー100k / 10年NDEF、低レベルNDEF、低レベルすべて、AmiiboAmiibo、中くらいのデータ
NTAG216NXP214443-A8887パスワード、カウンター、ミラー100k / 10年NDEF、低レベルNDEF、低レベルすべて連絡先、迷ったらこれ
NTAG213F、216FNXP214443-A144、8887パスワード、磁界検出ピン100k / 10年213と同じ213と同じ213と同じ電子機器に組み込むタグ
NTAG 213 TTNXP214443-A1447パスワード、改ざん検知ワイヤー100k / 10年213と同じ213と同じ213と同じ封印
NTAG203NXP214443-A1447ロック、OTP10k / 5年NDEFNDEF読み書き、パスワード旧在庫
NTAG I2C plusNXP214443-A888、19127パスワード200kから500k / 20年NDEF、低レベルNDEF、低レベル識別、読み書きマイコン付きの電子機器
NTAG 223、224 DNANXP214443-A144、2087パスワードまたはAES、SUN100k / 10年NDEF、低レベルNDEF、低レベルType 2として安価な真正性証明
NTAG 22x DNA StatusDetectNXP214443-A144、2087同上、センサー100k / 10年NDEF、低レベルNDEF、低レベルType 2として封印とセンシング
NTAG 413 DNANXP414443-41607AES鍵3つ、SUN200k / 50年NDEF、APDUNDEF、APDU識別製造終了
NTAG 424 DNANXP414443-44167AES鍵5つ、SUN、LRP200k / 50年NDEF、APDUNDEF、APDU完全な設定真正性証明
NTAG 424 DNA TTNXP414443-44167同上、改ざん検知200k / 50年NDEF、APDUNDEF、APDU完全な設定真正性証明付きの封印
UltralightNXP214443-A487ロック、OTP10k / 5年NDEFNDEF読み書き製造終了
Ultralight CNXP214443-A14473DES100k / 10年NDEF、低レベルNDEF、低レベル読み書き旧来のチケット
Ultralight EV1NXP214443-A48、1287パスワード、カウンター3つ100k / 10年NDEF、低レベルNDEF、低レベル読み書き、パスワードチケット、使い捨て
Ultralight AESNXP214443-A1447AES-128100k / 10年NDEF、低レベルNDEF、低レベル読み書き認証付きのType 2
Ultralight NanoNXP214443-A407ロック、OTP100k / 10年NDEFNDEF読み書き片道切符
Classic MiniNXPなし14443-A2244CRYPTO1100k / 10年UIDコントローラー次第Android:読み取り、フォーマットなし
Classic 1K、EV1NXPなし14443-A7524または7CRYPTO1100k / 10年UIDコントローラー次第Android:読み取り、フォーマットなし
Classic 4K、EV1NXPなし14443-A34404または7CRYPTO1100k / 10年UIDコントローラー次第Android:読み取り、フォーマットなし
Plus SENXPなし14443-A7524または7SL3でAES100k / 10年UIDClassicと同じ識別Classicからの移行
Plus EV2NXPなしSL3では14443-41520、34404または7AES-128、EAL5+200k / 25年ISO-DEPIsoDep識別入退室管理
DESFire EV1NXP414443-42304から79367DES、3DES、AES200k / 10年NDEF、APDUNDEF、APDU識別、ファイル一覧旧来の交通系
DESFire EV2NXP414443-42560から163847AES、EAL5+200k / 25年NDEF、APDUNDEF、APDU識別、ファイル一覧入退室管理
DESFire EV3NXP414443-42560から163847AES、SUN、EAL5+最低200k、標準1M / 25年NDEF、APDUNDEF、APDU識別、ファイル一覧入退室管理、交通系
DESFire LightNXP414443-46407AES、LRP、EAL4200k / 10年NDEF、APDUNDEF、APDU識別単一アプリケーションのカード
ICODE SLINXP5156931128ロック100k / 10年NDEF、低レベルNfcV読み書き、フォーマット生産終了
ICODE SLI-S、SLI-LNXP515693160、328パスワード100k / 10年NDEF、低レベルNfcV読み書き、フォーマット製造終了
ICODE SLIXNXP5156931128EAS/AFIパスワード100k / 50年NDEF、低レベルNfcV読み書き、フォーマット図書館や物流向けの在庫品
ICODE SLIX-S、SLIX-LNXP515693160、328パスワード、プライバシー100k / 50年NDEF、低レベルNfcV読み書き、フォーマット物流
ICODE SLIX2NXP5156933168パスワード、プライバシー、カウンター、署名100k / 50年NDEF、低レベルNfcV読み書き、フォーマット在庫管理、OpenPrintTagのスプール
ICODE DNANXP5156932528AES-128100k / 50年NDEF、低レベルNfcVISO 15693として読み取り離れた距離でのブランド保護
ICODE 3NXP5156933008パスワード、タップカウンター、ミラー、署名100k / 50年NDEF、低レベルNfcVISO 15693として読み取り現行の在庫管理用チップ
NTAG 5NXP515693512、20488パスワード、5332はAES1M / 40年NDEF、低レベルNfcVISO 15693として読み取りコネクテッドな電子機器
ST25TN512、01KST214443-A64、1607kill、タップコード、TruST25100k / 40年NDEF、低レベルNDEF、低レベルType 2として読み取りNTAG213の代替
ST25TV512C、02KCST51569364、3208パスワード、kill、プライバシー、タップコード、TruST25100k / 60年NDEF、低レベルNfcVST25TVとして識別、読み書きタップごとに新しいURLを出すラベル
ST25TV16K、64KST5156932048、8192864ビットパスワード、kill1M / 40年NDEF、低レベルNfcV読み書き大容量のType 5
ST25DV04Kから64KST515693512から8192864ビットパスワード1M / 40年NDEF、低レベルNfcVST25DVとして識別、読み書きマイコン付きのダイナミックタグ
M24LRST表明なし15693512から8192832ビットパスワード1M / 40年NDEF、低レベルNfcVST25TVとして読み取り旧来のデュアルインターフェース
ST25TA02K、02KBST414443-42567128ビットパスワード、カウンター、B版はTruST251M / 200年NDEF、APDUNDEF、APDU読み書きDESFire抜きのType 4
ST25TA16K、64KST414443-42048、81927128ビットパスワード1M / 200年NDEF、APDUNDEF、APDU読み書き大容量のType 4
TI Tag-it HF-I Standard、Pro、PlusTI表明なし1569332、32、2568ロック。Proはパスワード付き書き込みとkillを追加100k / 10年NDEF、低レベルNfcV識別、読み取り旧来の図書館
EM4233EM表明なし15693208896ビット鍵、プライバシー、破壊? / 60年NDEF、低レベルNfcV識別、読み取り要望に応じて供給
EM4425 em echo-VEM515693とUHF最大2568AES-128、パスワード、改ざん検知100k / 50年NDEF、低レベルNfcVISO 15693として読み取り2周波数の小売用途
Infineon my-d moveInfineon214443-A1287パスワード、バリューカウンター100k / 10年NDEF、低レベルNDEF、低レベル識別、読み取り乗車券・入場券
Fudan FM11NT021Fudan214443-A1447パスワード、カウンター公称500k / 10年NDEF、低レベルNDEF、低レベル汎用のType 2として読み取り安価なリンク用ステッカー
Fudan FM11RF08、08SFudanなし14443-A7524CRYPTO1、バックドアあり?UIDコントローラー次第Classicと同じなし
Topaz 96、512Innovision、Broadcom114443-A96、約4807一度きりのロック10k / 5年NDEFNDEFNDEFレガシー
FeliCa Lite-Sソニー318092、JIS X 6319-42248(IDm)3DES MAC?NDEF、低レベルNfcF読み書き日本
FeliCa Standardソニー3180924 kB8AES、EAL6+?NDEF、低レベルNfcF読み取り、ブランド表示交通系と電子マネー
Kovio NFC BarcodeKovio、Thinfilmなし独自仕様16(読み取り専用)なしなし該当なし不可NfcBarcode不可消滅
ST SRI512、SRT512、SRI4KSTなし14443-B64、5128カウンター、ロック1M / 40年不可NfcB不可Type Bの交通系

よく検索される比較

NTAG213 vs NTAG215 vs NTAG216。同じチップの3つのメモリサイズで、144、504、888バイトです。パスワード、カウンター、ミラー、署名は共通です。リンクなら213、Amiiboなら215、連絡先カードや、考えるのが面倒なら216を買ってください。価格差は30セントほどです。

NTAG213 vs Ultralight EV1。無線インターフェースとコマンドは同じです。NTAGにはASCIIミラーと書き込み済みのケーパビリティコンテナがあり、EV1には3つの一方向カウンターがあって、48バイトか128バイトで提供されます。ステッカーにはNTAG、チケットにはEV1です。

NTAG213 vs ST25TN01K vs Fudan FM11NT021。どれも144から160バイトのType 2チップです。NTAGはパスワードと読み取りカウンターを持ち、GET_VERSIONに応答します。ST25TNはメモリが多く、killコマンド、タップコード、TruST25を持ちますが、パスワードはありません。FudanはNTAGの機能をコピーしていますが、GET_VERSIONがなく、現行のデータシートでは署名もありません。普通のリンクならどれでも構いませんが、カウンターやAmiiboならNTAGです。

MIFARE Classic vs DESFire。勝負になりません。Classicの暗号は2008年に破られ、最も普及しているクローンには2024年にバックドアが見つかりました。DESFire EV3にはAES、鍵管理、EAL5+認証、SUNがあります。Classicを選ぶ理由があるとすれば、壁のリーダーが2009年に設置されたものだ、ということだけです。

NTAG 424 DNA vs NTAG213。424はタップのたびにAES-128で署名し、5つの鍵で守られた3つのファイルに416バイトを保存します。213は32ビットのパスワードで144バイトを保存します。問いが「この製品は本物か」なら、答えられるのは424だけです。問いが「このステッカーでリンクが開くか」なら、213が3分の1の価格でこなします。

NTAG 424 DNA vs NTAG 223 DNA。どちらもSUNに対応しています。424は5つの鍵、LRP、ランダムUIDオプション、Vaultファイル、50年のデータ保持を備えたType 4です。223はSUN鍵1つ、32ビットパスワード、10年保持のType 2ステッカーです。署名付きURLをラベルに載せる安い方法は223で、今すぐ設定できるアプリがあるのは424です。

在庫管理でのICODE SLIX2 vs NTAG216。読み取りに使うのがスマホだけなら、NTAG216のほうがメモリが多く、カウンターもあります。ゲートやハンディリーダーが関わるなら、SLIX2は1メートル、NTAGは4センチで読めるので、それで決まりです。

日本でのFeliCa vs NTAG。日本の改札はFeliCaしか話しませんが、日本のスマホはどちらも読めます。東京のポスターに貼るタグならNTAGで十分です。Suicaのリーダーに受け付けてもらう必要があるものならFeliCaで、それはスマホのアプリでプログラムするようなチップではありません。


よくある質問

NTAG215とNTAG216、どちらを買うべきですか?

Amiiboを書き込むのでなければ216です。215の504バイトに対して888バイトあり、パスワード、カウンター、ミラーも、スマホの対応状況も同じです。215がどの店にもあるのは任天堂のフィギュアが使っているからで、それが目的ならこれ一択です。

iPhoneでMIFARE Classicタグは読めますか?

そこにあることはわかります。Core NFCはUIDとSAKを読んでそこで止まります。AppleのAPIにはClassicのファミリーがなく、ドキュメントにはMIFAREコマンドが「Crypto1プロトコルには対応していない」と書かれています。iPhoneでセクターを読めるアプリはありません。NXPのNFCコントローラーを積んだAndroidスマホなら読めます。他の一部のコントローラーを積んだスマホでは読めず、そうした機種にはMifareClassicクラスがそもそも現れません。

NFCタグは何回書き換えられますか?

NXPやSTの現行品なら、室温で100,000回です。データシートの数値は最低保証値です。DESFire EV3やST25DVは100万回の定格です。古いNTAG203、初代Ultralight、Topazは10,000回でした。ステッカーを1万回書き換える人はいません。この数字が意味を持つのは、カウンターやログを記録するタグです。

NFCタグはどれくらいの距離で使えますか?

スマホの正しい位置にかざした場合、カードサイズのアンテナで最大約4センチ、小さなステッカーで約2センチです。NFC Forum自身の定義は「最大2 cm」です。大きなアンテナを持つゲートリーダーなら、ISO 15693タグは1メートル離れても動きます。しかしスマホで読む場合は他のタグと同じ数センチで、せいぜいType 2タグの2倍程度です。

NFCタグに寿命や劣化はありますか?

チップのデータ保持期間は、多くの民生用チップで10年、NTAG 424 DNAとICODE SLIXファミリーで50年、ST25TVで60年、ST25TAで200年で、いずれも室温での値です。熱があると短くなります。実際には、EEPROMよりずっと先に、接着剤、紙の表面、アンテナがだめになります。

マーケットプレイスの安いNFCタグは買っても大丈夫ですか?

安全という意味では大丈夫です。ただ、謳っているとおりのものとは限りません。安い「NTAG213」はFudan FM11NT021であることが多く、リンク用途には使えますが、GET_VERSIONを尋ねるものには使えません。安い「NTAG215」は本物でないことが多く、Amiiboには拒否されます。何かを書き込む前にアプリでメーカーコードとチップ名を確認し、チップ名を明記している店で買ってください。

NFCアプリでスマホから銀行カードやパスポートを読めますか?

パスポートは読めます。機械読み取り領域を鍵にすれば、アプリはチップのデータグループを読み取れ、NFC.coolは両プラットフォームでそれができます。銀行カードはEMVスマートカードです。アプリはアプリケーション一覧と一部の公開レコードを読めますが、AppleはCore NFCで決済カードの読み取りをブロックしていますし、カードのセキュリティコードはチップに入っておらず、すべての取引はカードの外に決して出ない鍵で署名されます。つまり、コピーできるものは何もありません。

オフィスのバッジやホテルのキーがアプリに表示されないのはなぜですか?

オフィスのバッジの多くは125 kHzの近接カードで、スマホの13.56 MHzのコイルでは存在を感知することさえできません。ホテルのキーや古い交通カードの多くはMIFARE Classicで、iPhoneでは識別しかできず、Androidスマホでも適切なコントローラーと適切な鍵がなければ読めません。どちらもアプリで解決できることではなく、回避策を売りつけるより、そうはっきり言っておきたいのです。

読み取り専用にしたNFCタグのロックは解除できますか?

できません。Type 2やType 5タグのロックビットはチップ内の一方向のビットで、ケーパビリティコンテナの読み取り専用フラグも同じです。パスワードは知っていれば解除できますが、ロックは解除できません。NFC.coolが何かをロックする前に2回確認するのはそのためです。

NTAGのパスワードは本当のセキュリティになりますか?

無料アプリを持った人、つまりほとんどの人は止められます。通信を傍受できるリーダーを持つ人は止められません。32ビットのパスワードは暗号化されずに無線で送られ、タグは16ビットの確認応答を返すからです。本気の攻撃者に耐える必要があるものなら、階段はAESから始まります。Type 2ステッカーならUltralight AES、タップそのものが何かを証明する必要があるならNTAG 424 DNAです。

Amiiboにはどのタグが必要ですか?

NTAG215、それもNTAG215だけです。ゲーム機はGET_VERSIONを尋ね、UIDから導いたパスワードで認証し、全135ページを読み取ります。GET_VERSIONを持たないチップやページ数が違うチップは、最初のコマンドで失敗します。タグへのAmiiboの書き込みは元に戻せません。ロックバイトとパスワードがフォーマットの一部だからです。

金属面で使えるNFCタグはどれですか?

金属対応の形状になっていれば、どのチップでも構いません。つまり、アンテナと金属の間にフェライトシートが入っているものです。普通のタグをスチールに貼るとまったく読めませんが、金属対応タグなら通常のおよそ5分の4の距離で読めます。普通のタグと金属の間に、金属以外のものを3ミリ挟めるなら、それでも使えます。

NFC.coolはiPadやMacで使えますか?

はい。バージョン6.15.0から、USBのスマートカードリーダー経由で使えます。どちらのデバイスにも、NFCの無線そのものはありません。私がテストしたのはHID OMNIKEY 5022 CLで、ACS ACR1552UとACR1255U-J1も動作報告があります。スマホでType 2、Type 4、FeliCaに対してできることはリーダー経由でもすべてでき、MIFARE Classicは読み取り専用です。


用語集

用語意味
AFIApplication Family Identifier。ISO 15693タグにある1バイトで、リーダーが特定の種類のタグだけを棚卸しできるようにする
APDUApplication Protocol Data Unit。ISO 7816-4のコマンドとレスポンスの形式で、すべてのISO-DEPチップが使う
ATQAAnswer To Request。Type Aチップが最初に送る2バイト。NXPはこれでチップを識別しないよう求めている
AUTH0パスワードが必要になる最初のページを示すNTAGの設定バイト
AUTHLIM指定した回数パスワードの認証に失敗すると、タグをロックするNTAGの設定
CCCapability Container(ケーパビリティコンテナ)。タグがNDEFを保持していることと、その容量をリーダーに伝える4バイト(Type 4ではファイル)
CMACAESで計算するメッセージ認証コード。SUNメッセージを偽造できなくしているもの
CRYPTO1MIFARE Classicに使われている、NXP独自の48ビットストリーム暗号。2008年に破られた
DSFIDData Storage Format Identifier。メモリの構成を表すISO 15693のバイト
EASElectronic Article Surveillance(電子商品監視)。店のゲートのアラームを鳴らす、ISO 15693タグのビット
GET_VERSIONチップのベンダー、タイプ、世代、容量を示す8バイトを返すNXPのコマンド
ISO-DEPISO/IEC 14443-4の伝送プロトコル。これを話すチップはSAK 20を返し、APDUを受け付ける
負荷変調パッシブタグがデータを送る方法。アンテナの負荷を切り替え、リーダーがそれを自分の磁界の変化として感じ取る
LRPLeakage Resilient Primitive。NTAG 424 DNAとDESFire LightにあるAESのモードで、サイドチャネル攻撃に強い
MADMIFARE Application Directory。Classicカードのセクター0で、他のセクターに何が入っているかを列挙する
ミラー読み取りのたびに、UIDとカウンターをASCIIでNDEFメッセージに貼り込むNTAGの機能
NDEFNFC Data Exchange Format。どのスマホも読めるレコードのコンテナ
NUIDNon-Unique Identifier。4バイトのUIDに対するNXPの呼び名
OTPOne Time Programmable。一度だけセットでき、二度と消せないビット
PACKPassword Acknowledge。正しいパスワードの後にNTAGが返す2バイト
PICC、PCD規格上でのカードとリーダーの呼び名
ランダムIDプライバシー保護のため、衝突防止の応答で毎回新しいランダムな4バイトのIDを返すモード
READ_SIGチップのオリジナリティ署名を返すコマンド
SAKSelect Acknowledge。Type Aチップが選択後に返すバイト。そのビットでチップをファミリーに分類する
SDMSecure Dynamic Messaging。SUNを実現している、NTAG 424 DNAとDESFire EV3の仕組み
SUNSecure Unique NFC。タップのたびに新しい暗号的証明を運ぶURL
T5T、T2T、T4TType 5、Type 2、Type 4タグを表すNFC Forumの略称
TLVTag-Length-Value。Type 2とType 5チップで、NDEFメッセージを包む枠
TruST25STがUIDに対して付けるオリジナリティ署名
UID工場でプログラムされたチップの識別子。4、7、または8バイト

出典と参考資料

このガイドのすべての表は、以下のいずれかと照らし合わせて確認しました。価格は2026年9月9日に、購入の章で挙げた店で確認したものです。

NXP NTAG

NXP MIFARE

NXP ICODE

STMicroelectronics、TI、EM、ソニー、Fudan

セキュリティ研究と規格

スマホとリーダー


まとめ

チップは用途に合わせて選んでください。リンクならNTAG213、迷ったらNTAG216、AmiiboならNTAG215、タップが何かを証明する必要があるならNTAG 424 DNA、ゲートで読む必要があるならICODE SLIX2かICODE 3、ドアに信頼させる必要があるならDESFire EV3。そしてMIFARE Classicの棚からは何も選ばないこと。このガイドの残りはすべてこの一文の理由づけで、表は、もう二度と商品ページの言葉を鵜呑みにしなくて済むようにするためにあります。

書き込む前にタグの正体を知りたいなら、それこそNFC.cool Toolsがタップのたびにやっていることです。iPhoneでも、Androidでも、リーダーを挿したiPadやMacでも。そして、アプリが間違った名前を表示するチップや、まったく名前を表示しないチップが手元にあったら、ぜひ私に連絡してください。60製品のほとんどは、そうやってリストに加わったのです。

スキャンの準備はいい?

★4.5·73,500 件の評価·無料