NFC Utilsガイド
NTAGとUltralight
使えるツールはチップの種類によって決まります。NTAG210/212はUIDミラー、NTAG213/215/216はカウンターとミラー、Ultralight EV1は3つの個別カウンターを備えています。
概要
NTAG210、NTAG212、NTAG213、NTAG215、NTAG216、Ultralight EV1 MF0UL11/MF0UL21には、それぞれ専用のプロファイルがあります。NDEFの書き込み、パスワード、対応するタグや設定のロックを利用できます。メモリは4バイトのページ単位で、末尾にチップ固有の設定があります。
各処理はまず設定ページを読み、対象のビットだけを書き換えます。そのため、パスワードを変更してもミラー設定は残り、ミラーを変更してもカウンター設定は残ります。
Ultralight AES、Ultralight C、初代Ultralight、Nanoには個別のプロファイルがあり、「書き込み」「消去」「ロック」を使えます。Ultralight CとAESでは、認証、鍵、保護設定も扱えます。これらのツールはUltralightの調査をご覧ください。
書き込み
カードの上部に「レコード」「名刺」の2つのモードがあります。固定表示のボタンは「タグに書き込む」または「カードに書き込む」で、内容が完成するまでグレーのままです。書き込み後はタグを読み戻して比較します。「一致」はチップ上のバイト列が送信したバイト列と同じであることを示します。
レコード
「レコード」はNDEFの編集画面です。「追加」からURL、テキスト、電話、メール、SMS、位置情報、Wi-Fi、Androidアプリ、連絡先(vCard)、カスタムMIMEを選べます。各レコードには個別の入力欄と削除用の × があります。書き込みはタグのNDEFメッセージ全体を置き換え、追記はしません。レコードの下にはNDEFのバイト数を表示し、Type 2タグではTLVを含むサイズも表示します。直前の読み取りでチップが判明していれば、NTAG213の「144バイト中24バイト」のように容量も示します。
「タグから読み込む」は、タグの内容を編集可能なレコードとして直接取り込みます。この方法で既存内容の編集や複製を行います。別の複製ツールはありません。
名刺
「名刺」はURLカードまたはvCardの1レコードを書き込みます。URLカードは任意のページへのリンクで、どのスマートフォンでも使えます。vCardはチップ上に連絡先を保存しますが、iPhoneは読み取りません。その制限は画面にも表示します。
保護されたタグ
NTAG 21xの画面には、保護されたタグでは「タグのパスワード」への入力が必要と表示されます。書き込み時には、そのパスワードだけを送ります。下書きはページではなくアプリが保持するため、チップファミリーを切り替えても編集中の内容は残ります。
消去とフォーマット
「タグを消去」と「NDEF形式でフォーマット」は、NDEFデータだけを変更します。パスワード、保護、設定はそのままです。保護されたタグでは、どちらも「タグのパスワード」の値を使います。
タグを消去
空のNDEFメッセージを書き込み、ユーザーメモリをゼロで埋めます。
NDEF形式でフォーマット
空のタグでNDEFを使うためのCapability Containerも書き込みます。工場出荷時に未フォーマットのタグや、他のアプリでデータが破損したタグには、一度この処理が必要です。
パスワード
パスワードツールは対応するNTAG210–216とEV1のプロファイルで使えます。「カウンターを保護」はNTAG213/215/216だけに表示され、EV1とNTAG210/212にはありません。
1つのページに「チェック」と「変更」のタブがあります。パスワードは平文メモリへのアクセスを制御するものです。通信も平文なので、不用意な上書きを防ぐためのものであり、意図的な攻撃を防ぐものではありません。
チェック
「チェック」は16進数8桁のパスワードを受け取り、PWD_AUTHを送って、タグから返されたPACKを表示します。書き込みは行いません。試行回数の上限が設定されている場合、誤った入力はその回数に数えられます。ここに入力した値は、保護されたタグに対して「書き込み」「消去」を含むすべての21xツールが送信するパスワードになります。
変更
「変更」では「設定または変更」と「解除」を選べます。どちらも先に現在のパスワードを入力します。新品のタグでは空欄です。保護されたタグは、書き込み前に認証します。「設定または変更」には次の入力欄があります。
| 項目 | チップ上の場所 | 意味 |
|---|---|---|
| 新しいパスワード | PWDページ | タグが要求する16進数8桁の値です。 |
| PACK | PACKページ | 正しいパスワードに対してタグが返す、16進数4桁の値です。リーダーは想定したタグかどうかを判断できます。 |
| 保護開始ページ | AUTH0 | パスワードで保護する最初のページです。ここからメモリの末尾までが保護され、それより前はアクセスできます。ページ4を指定すると、ユーザーデータ全体が保護されます。 |
| 読み取りも保護 | PROTビット | オフの場合は書き込みだけを保護し、誰でも全ページを読めるため、スマートフォンでリンクを開けます。オンの場合は、パスワードなしでは保護ページを読めず、リンクが保護範囲にあるとスマートフォンは内容を取得できません。読み取ってもらいながら書き換えを防ぎたいタグはオフ、データを非公開にしたい場合はオンにします。 |
| カウンターを保護 | NFC_CNT_PWD_PROT | パスワードを送った後にだけREAD_CNTに応答します。 |
| 誤入力の許容回数 | AUTHLIM | 「無制限」、4、16、64から選びます。チップは誤ったパスワードでの試行回数を数え、回数は減りません。上限に達すると正しいパスワードを含めPWD_AUTHを永久に拒否し、保護ページはその状態で固定されます。タグで何かを保護する必要がなければ「無制限」にしてください。据え置き型リーダーでは、パスワードが拒否されると無応答になります。再試行も回数に数えられるため、アプリは一度だけ報告し、再試行しません。 |
タグのパスワード
- 機能
- タグに保存する8桁のパスワードと、正しいパスワードに対してタグが返すPACKと呼ばれる4桁の応答値です。
- 変更後の動作
- 入力だけでは何も変わりません。保護されたタグに他のツールが送る値になります。「チェック」はこの値を送り、PACKを表示します。
- 必要なもの
- ありません。
- 元に戻す方法
- 変更は行いません。
パスワード保護
- 機能
- 指定したページ以降でパスワードを要求する設定です。保護開始ページを4にすると、すべてのユーザーデータが対象になります。
- 変更後の動作
- 「読み取りも保護」がオフなら、誰でもタグを読んでスマートフォンでリンクを開けますが、保護ページへの書き込みにはパスワードが必要です。オンなら読み取りにもパスワードが必要になり、スマートフォンをかざしても、そのページ以降の内容は取得できません。
- 必要なもの
- すでに設定されている場合は、現在のパスワードが必要です。
- 元に戻す方法
- 現在のパスワードを使い「解除」を実行します。誤入力の回数が「誤入力の許容回数」に達している場合は、元に戻せません。
解除
「解除」は現在のパスワードで認証し、AUTH0をメモリ末尾より後ろに移します。これはNXPが定義する保護なしの状態です。他の書き込みツールには、この処理に失敗して保護を解除できないと報告するものがあります。
カウンターとミラー
この複合ツールはNTAG213、NTAG215、NTAG216用です。NTAG210/212とEV1は、以下の個別ツールを使います。
- 機能
- チップは、かざすたびに最初の読み取りで24ビットカウンターを1増やします。ミラーは、各ページを送信する際、ユーザーメモリの一部の文字をその時点のデータに置き換えます。そこにデータを保存するわけではありません。スマートフォンに見えるのは、その瞬間にチップが差し込んだ値です。21xにおけるSecure Dynamic Messagingに似た小規模な機能ですが、署名も鍵もありません。NTAG213、NTAG215、NTAG216だけが搭載しています。
- 変更後の動作
- 「カウンターを有効化」と「カウンターを無効化」はNFC_CNT_ENを切り替えます。URL内にミラーを配置すると、スマートフォンが開くリンクにタグのシリアル番号と読み取り回数が入ります。Webページ側では、50枚のタグを区別し、それぞれが何回読み取られたか確認できます。
- 必要なもの
- タグが保護されている場合は、パスワードが必要です。
- 元に戻す方法
- ミラーをオフにし、カウンターを無効にします。カウント自体はリセットできません。
| 設定 | 意味 |
|---|---|
| ミラーをオフ | 置き換えません。 |
| UIDをミラー | 7バイトのシリアル番号を16進数14文字で表示します。 |
| カウンターをミラー | NFCカウンターを16進数6文字で表示します。カウンターの有効化が必要で、無効の場合はゼロになります。 |
| 両方をミラー | UID、文字x、カウンターの順に、計21文字を表示します。xはチップの固定区切り文字です。 |
| ミラーのページ | ミラーの最初の文字を置くページです。ユーザーメモリはページ4から始まり、先頭のページにはNDEFヘッダーがあるため、URLレコードの文字列は通常ページ5か6付近から始まります。予約した文字列があるページを選びます。 |
| ページ内のバイト位置 | 1ページは4バイトです。開始位置を0~3から選び、ページの途中でも予約文字列に合わせられます。 |
ミラーは置き換えるだけで、領域を広げません。書き込むURLの該当位置に、14、6、または21文字の予約領域が必要です。また、ミラーがユーザーメモリの末尾を超えると、チップは設定を無視します。アプリはページ番号を確認しますが、収まるかどうかは利用者が確認してください。まずhttps://example.com/t?u=00000000000000x000000を書き込み、最初のゼロがあるページとバイト位置でミラーを「両方」に設定します。
NTAG210とNTAG212のUIDミラー
UIDミラーは「オフ」または「UID」を選び、ミラーのページとページ内のバイト位置を設定します。対象のユーザーデータを読むと、チップは7バイトのUIDを16進数14文字にして差し込みます。
先にNDEFメッセージに予約文字列を書き込み、ユーザーメモリの末尾までに十分な領域を確保してください。該当する設定が保護されている場合はパスワードが必要です。置き換えをやめるにはミラーをオフにします。
NTAG210とNTAG212には、NFC読み取りカウンター、カウンターミラー、カウンターのパスワード設定はありません。

Ultralight EV1カウンター
「カウンターを読み取る」はカウンター0、1、2を表示し、書き込み中断が報告されていれば示します。カウンターを選び、「加算値(10進数)」に値を入力して「カウンターを加算」を実行します。アプリは結果を確認します。
これらは加算専用カウンターです。通常の読み取りでは増えず、リセットや減算はできません。それぞれの上限は16,777,215です。必要な場合は現在のパスワードを使用します。
EV1にはASCIIミラーや、NTAG型のカウンター有効化スイッチはありません。パスワードと対応する設定ロックのツールは利用できます。

ロック
これらのロックは、対応するNTAGとEV1のプロファイルで使えます。アプリは変更前にチップとロック領域の配置を確認します。Ultralight AES、Ultralight C、初代Ultralight、Nanoには、それぞれのプロファイルに「ロック」があります。
- 機能
- 元に戻せない2つの別々の設定です。「タグを読み取り専用にする」は全ユーザーページの静的・動的ロックビットを設定し、Capability Containerを読み取り専用と記録します。「構成をロック」はCFGLCKを設定し、パスワードの保護範囲、カウンター、ミラーの設定を固定します。
- 変更後の動作
- 読み取り専用にしたタグには、どのアプリからも二度と書き込めません。設定をロックしたタグは、データページには書き込めますが、設定は固定されます。
- 必要なもの
- タグが保護されている場合は、パスワードが必要です。
- 元に戻す方法
- ありません。どちらのロックも、先に「この操作は取り消せません」と確認し、書き込むページを確認画面にすべて表示します。
元に戻せない操作
| 操作 | 固定されるもの |
|---|---|
| タグを読み取り専用にする | すべてのユーザーデータを永久にロックします。 |
| 構成をロック | パスワード、カウンター、ミラーの設定 |
| 誤入力の回数が上限に達した場合 | パスワードが永久に拒否され、保護ページはスイッチの設定どおりの状態で固定されます。 |