本文へ移動
NFC Utils
NFC Utilsメニュー
ガイドと項目を探す

NFC Utilsガイド

NTAG 424 DNA

NTAG 424 DNAの鍵、Secure Dynamic Messaging、ファイルへのアクセスを設定します。TagTamper仕様には専用の「チェック」と「有効化」があります。「SDM URLをデコード」はオフラインでも動作します。

概要

NTAG 424 DNAは5つの鍵で保護された小さなファイルシステムです。NDEFメッセージはファイル02にあります。このページの設定はすべて、そのファイルまたは鍵の属性です。変更はすべて、いずれかの鍵で開いたEV2セキュアメッセージングのセッション内で行います。

「NTAG 424 DNA」または「NTAG 424 DNA TagTamper」を選びます。どちらにも調査、NDEF、鍵、SDM、アクセスのツールがあります。「TagTamper」は該当する仕様だけに表示されます。その他のDESFireとPlusカードは、各調査プロファイルを使います。

NTAG 424のツールメニュー

鍵

機能
Key 0~Key 4の5つのスロットがあり、各スロットの鍵は16進数32桁で表します。Key 0がマスター鍵です。他の4つは、その鍵を指定したアクセス権限や機能が使用します。
変更後の動作
スマートフォンに見える内容は変わりません。そのスロットを使うセッションを開ける相手が変わります。
必要なもの
常にKey 0が必要です。Key 1~Key 4の変更には、それぞれの現在の値も入力する必要があります。チップは古い鍵でマスクした新しい鍵を受け取るためです。
元に戻す方法
Key 0を使って元の値に戻すか、工場出荷時の状態にリセットします。Key 0を失うとカードは現在の設定のままになり、このアプリには復旧手段がありません。

現在の鍵

「鍵」ページにはKey 0~Key 4があり、初期値は工場出荷時のゼロです。「工場出荷時の鍵」で入力欄をゼロに戻せます。すべての処理は、この欄にある値をそのまま使い、別の値で上書きしません。鍵保管庫は欄に値を入力するもので、欄の値に優先するものではありません。保存済みの鍵があるタグを読むと欄を埋め、変更に成功すると更新し、工場出荷時の状態へのリセットでゼロにします。

チェック

「チェック」は各鍵で認証し、「受け付け済み」または「拒否」を鍵ごとに表示します。変更は行いません。途中でタグを離すと、処理中の鍵は「失敗」、残りは「未検証」と表示されます。

変更

「変更」では鍵番号を選び、新しい32桁の値を入力するか生成します。まず確認してから変更してください。Key 0を変更した後、その値を失うとタグは現在の設定のままになります。アプリでは復旧できません。

鍵の画面

Secure Dynamic Messaging

Secure Dynamic Messagingをオンにすると、チップは読み取りのたびにURLの一部を書き換えます。次の項目で、書き換える部分を指定します。

項目意味
ベースURLタグから開くページです。アプリはデスクトップ用エンコーダーと同じ配置で、ミラー項目をクエリパラメーターとして追加します。
暗号化PICCデータUIDとカウンターを平文ではなく、PICCデータ鍵で暗号化して送ります。オンにすると、2つの平文ミラーを置き換えます。
URL内のUID/URL内の読み取りカウンターUIDと読み取りカウンターの平文ミラーです。
CMACCMAC鍵でミラー項目の認証コードを生成し、サーバーがコピーを拒否できるようにします。
URL内の暗号化データ32または64文字の予約領域enc={enc}です。ファイル内では前半に最大16または32バイトの平文が入ります。認証なしで読むたびに、チップが予約領域全体を暗号文で置き換えます。CMACがオンで、URLにUIDとカウンターが必要です。以下の「暗号化データ」で説明します。
読み取りカウンターの上限任意です。カウンターが上限に達すると、チップは認証なしのファイル読み取りをすべて拒否し、スマートフォンでは何も開けなくなります。その場合、「読み取り」タブに上限を表示します。上限を引き上げるか解除すると再び読めますが、カウンターはリセットされません。
カスタムテンプレート任意です。標準の配置が合わない場合は、{uid}、{counter}、{cmac}、{picc}を含む完全なURLを指定します。{picc}は{uid}や{counter}と併用できません。

入力欄の下の等幅表示で、予約文字を含むURLを確認できます。

機能
「URL内のUID」はシリアル番号を、「URL内の読み取りカウンター」は読み取り回数を入れます。「CMAC」は鍵で計算した認証コードを加え、サーバーが実際の読み取りとコピーされたリンクを区別できるようにします。「暗号化PICCデータ」は、平文のUIDとカウンターを、鍵の保有者だけが復号できる1つの暗号化ブロックで置き換えます。
変更後の動作
かざすたびに異なるURLが開きます。結果カードのオフセットは、チップが現在の値を入れるファイル内の位置です。カウンターが上限以上の間は、アクセス権限を含め、その上限を維持する設定変更もチップが拒否します。先にここで上限を引き上げるか解除してください。
必要なもの
設定変更用の鍵が必要です。選んだCMAC鍵またはPICC鍵もカード上に存在する必要があります。「適用」は書き込み権限をKey 0に設定します。
元に戻す方法
「無効化」を使います。メッセージとアクセス権限はそのままです。

適用と無効化

「SDMを適用」はNDEFを書き込み、ファイル設定を変更します。適用後は認証なしで読み取れ、書き込みや設定変更にはKey 0が必要です。「無効化」はミラーをオフにし、「アクセス権限」で設定した権限を維持します。

Secure Dynamic Messagingの画面

暗号化データ

「URL内の暗号化データ」は、認証なしで読むたびにチップが暗号化する、URL内の32または64文字の領域です。入力した最大16または32バイトの平文は、ファイル内でその領域の前半に保存されます。読み取る側に平文は見えず、暗号文が見えます。暗号化にカウンターを使うため、暗号文はかざすたびに変わります。

使用する鍵

チップはCMAC鍵、UID、読み取りカウンターから暗号化鍵を導出します。別の鍵は選べず、CMACの生成とデータの暗号化に同じ鍵を使います。そのため、CMACがオンで、URLにUIDとカウンターが必要です。

更新方法

平文は通常のファイルデータなので、書き込み権限でファイルの該当領域を書き換えて更新します。ここで設定したカードではKey 0を使います。

読み取り方法

「詳細スキャン」には暗号文が表示されます。「鍵」ページにCMAC鍵がある場合は、その下に平文も表示します。

目立たなくする方法

このデータをURLから省くことはできませんが、見分けにくくすることはできます。カスタムテンプレートでパラメーター名を変える、パスの一部に置く、暗号化PICCデータもオンにして似た16進数の塊を2つ並べる方法があります。前に{cmacStart}を置くと、暗号文もCMACの対象になります。

この機能の限界

スマートカードとは異なります。セキュアエレメントカードは独自のアプレットを動かし、暗証番号とチャレンジレスポンスを使用します。424が行うのは、小さな固定データを一般的なリーダーから保護することだけです。

SDM設定完了の結果カード

アクセス権限

NDEFファイルには4つの選択欄があり、それぞれ「認証不要」(0xE)、Key 0~Key 4、「アクセス不可」(0xF)を選べます。「設定を変更」を「アクセス不可」にすると、ファイル設定は永久にロックされます。「設定を変更」が許可されていれば、他の権限は変更できます。

  • 読み取りメッセージを読める相手を決めます。スマートフォンで読むには「認証不要」が必要です。鍵を指定すると、スマートフォンからメッセージを読めなくなります。
  • 書き込みメッセージを上書きできる相手を決めます。新品のカードは「認証不要」です。「SDMを適用」はKey 0に設定し、第三者によるミラーの上書きを防ぎます。
  • 読み書き同じファイルにアクセスするための、もう1つの鍵です。読み取りは「読み取り」または「読み書き」、書き込みは「書き込み」または「読み書き」の条件を満たすと許可されます。
  • 設定を変更4つの権限とSDMの配置を変更できる相手を決めます。新品のカードはKey 0です。ロックに関わる重要な設定です。
機能
NDEFファイルの4つの権限です。それぞれ「認証不要」、鍵、「アクセス不可」を選べます。
変更後の動作
「アクセス権限を適用」は、現在のSDMの状態を変えずにファイル設定を書き換えます。各権限の設定によって、その後ファイルを読み取り、書き込み、再設定できる相手が変わります。
必要なもの
現在「設定を変更」に指定されている鍵です。使用する値を確認できるよう、ページ上部にその鍵を表示します。
元に戻す方法
「設定を変更」が「アクセス不可」でなければ、新しい権限を適用できます。

「書き込み」と「読み書き」の違い

「書き込み」と「読み書き」は、書き込みを許可する独立した2つの権限です。チップはOR条件で判定し、どちらかを満たせば書き込みを許可します。「読み取り」と「読み書き」も同様です。「読み書き」には、ファイルを全面的に操作できる1つの鍵を指定できます。そのうえで「読み取り」をスマートフォン用に「認証不要」とし、「書き込み」を「アクセス不可」にできます。書き込みを禁止するには、両方の権限を「アクセス不可」にしてください。

書き込み読み書き書き込める相手
認証不要(0xE)任意誰でも書き込めます。
鍵0認証不要(0xE)もう一方の権限が認証不要のため、誰でも書き込めます。
鍵0鍵0Key 0の保有者だけです。
鍵0鍵1Key 0またはKey 1の保有者です。
アクセス不可(0xF)鍵0もう一方の権限によって、Key 0の保有者だけが書き込めます。
アクセス不可(0xF)アクセス不可(0xF)以後は誰も書き込めません。

424の「情報」カードは、4つの権限を1行で表示します。「SDMを適用」の直後はRead E · Write 0 · RW 0 · Change 0です。

アクセス権限の画面

424のロック

424にロックコマンドはありません。権限を「アクセス不可」にすると設定を固定でき、どの権限を選ぶかによって固定される対象が決まります。現在の状態を維持したいカードで実行してください。

目的設定する値設定後の状態
SDMの配置と権限を固定し、メッセージの動的更新を維持「設定を変更」を「アクセス不可」(0xF)読み取りとSDMは引き続き動作します。書き込みは現在の書き込み権限に従います。鍵はKey 0で変更できます。「アクセス権限」「SDMを無効化」「工場出荷時の状態にリセット」は拒否されます。SDMタグを運用に使うためのロックです。
メッセージも固定「書き込み」を「アクセス不可」(0xF)、「読み書き」を「アクセス不可」(0xF)、「設定を変更」を「アクセス不可」(0xF)にし、一度に適用ファイルは永久に読み取り専用になります。鍵は引き続き変更できます。
スマートフォンからメッセージを永久に非表示「読み取り」を「アクセス不可」(0xF)にし、「設定を変更」も「アクセス不可」(0xF)スマートフォンでは何も開けません。ファイルの読み取り鍵を持つリーダーだけがデータを読めます。この設定が必要になる場面はまれです。
まだ何も固定しない「書き込み」をKey 0、「設定を変更」をKey 0スマートフォンからはロックされているように見えますが、Key 0ですべて変更できます。「SDMを適用」後はこの状態です。

「設定を変更」が許可されている間は、他の権限を「アクセス不可」にしてもロックにはなりません。「設定を変更」が錠に当たり、他の3つはその錠で固定する対象です。

The NFC Mintのカードロック方法

The NFC Mintのエンコーダーは発行するカードを、読み取りは認証不要、書き込みは禁止、読み取りと書き込みは禁止、設定変更は禁止、CMACはKey 1、カウンターの取得は禁止に設定します。その後も読み取りとSecure Dynamic Messagingは動作しますが、ファイルの書き込みや配置の変更は誰もできません。鍵はKey 0で変更でき、この鍵だけはThe NFC Mintが保持します。アプリでは次の2段階で同じ状態にできます。

  • 手順1:Secure Dynamic Messaging使用するCMAC鍵を選び、上限欄を空にして適用します。「書き込み」と「読み書き」もKey 0に設定されます。
  • 手順2:アクセス権限「読み取り」を認証不要(0xE)、「書き込み」をアクセス不可(0xF)、「読み書き」をアクセス不可(0xF)、「設定を変更」をアクセス不可(0xF)にします。適用し、元に戻せないことを示す確認画面で続行します。

「情報」カードはRead E · Write F · RW F · Change Fと表示されます。以後「アクセス権限を適用」「SDMを無効化」「工場出荷時の状態にリセット」は拒否されます。カードの読み取りはでき、かざすたびにURLも変わります。

ロックしたカードの読み取り

SDM URLをデコード

機能
SDMリンクを受け取ったサーバー側の処理を、スマートフォン上で行います。URLからチップが埋めた項目を探し、暗号化部分を復号し、認証コードを検証します。タグをかざす必要はありません。URLを貼り付けるか、「前回の読み取りを使用」で直前に読んだ424のURLを取り込みます。
変更後の動作
デコード結果には、平文またはPICCデータから復元したUIDとカウンター、復号したテキスト、封印の状態、CMACの「有効」または「無効」を表示します。不一致の場合は期待値も表示します。CMACの不一致は、リンクの改変、別のタグからのコピー、異なる鍵による生成を示します。
必要なもの
暗号化データの復号にも使うCMAC鍵と、URLに暗号化PICCデータがある場合はPICCデータ鍵が必要です。入力欄の下に、共通の鍵スロットとその値を表示します。SDMがオンのタグを読んだ後は、タグの設定が指定するスロットが既定で選ばれます。
元に戻す方法
変更は行いません。

各値の役割を推定する方法

アプリはクエリパラメーターと16進数らしいパス部分を含め、URLを値ごとに分けます。まず名前、次に長さから役割を推定します。16進数14文字ならUID、6文字ならカウンター、16文字ならCMAC、32文字ならPICCデータまたは暗号化データ、64文字なら暗号化データ、英字2文字なら開封状態と推定します。各推定は選択欄に表示されるため、独自のパラメーター名を使う他のエンコーダーのURLも手動で修正できます。チップは名前を見ないため、各値の役割を正しく選べば、どのエンコーダーのURLも同じようにデコードできます。

「CMAC入力の開始位置」でMACの入力開始位置を選びます。暗号化データがあればその先頭、なければCMAC自体、その他の配置ではURLの先頭などを指定します。

「SDM URLをデコード」の画面

TagTamper

機能
NTAG 424 DNA TagTamperには、封印をまたぐワイヤーループがあり、チップは給電のたびに状態を測定します。GetTTStatusは2つの値を返します。「現在」はその時点のワイヤーの状態です。「永久記録」はループを有効にしてから一度でも断線を検出したかを示し、元には戻りません。
変更後の動作
有効化ではSetConfigurationのオプション07でループをオンにし、以後GetTTStatusに必要な状態取得用の鍵を選びます。The NFC Mintの出荷設定では認証不要です。NFC UtilsはTagTamperプロファイルに「チェック」と「有効化」を用意しています。「チェック」は現在の状態と永久記録を取得します。「有効化」にはKey 0が必要で、状態取得のアクセス鍵を選びます。TamperKitは、これとは別にアクティベーション記録と、その後の確認履歴を提供します。
必要なもの
有効化にはKey 0が必要です。状態取得を認証不要にすると、どのリーダーも問い合わせられます。鍵を選ぶと認証が必要です。「アクセス不可」にすると、設定済みのSDMを通じてのみ状態を取得できます。
元に戻す方法
ありません。一度有効にしたループは無効にできません。

無効、破断なし、破断

NFC Utils、NFC Proof、TamperKitの封印判定は同じです。両方の値が「閉」の間だけ「破断なし」、どちらかが「開」を示した時点で「破断」、ループが有効化されていなければ「無効」です。切断後にワイヤーをつなぎ直しても、チップが最初の断線を永久に記録しているため、「破断」と表示されます。

アクティベーション前に切れたループ

有効化前はチップが測定しないため、それ以前の切断は検出できず、それを理由に有効化が失敗することもありません。最初の測定は有効化と同時に行われ、すでに切れていれば、その場で「破断」になります。それ以降、チップはアクティベーションの前と後のどちらで切れたかを区別できません。そのためTamperKitはアクティベーション時の状態を記録します。

TagTamperの画面

消去とリセット

NTAG 424の項目は「消去とリセット」で、「フォーマット」はありません。424のCapability Containerはチップ内蔵の固定ファイルであり、書き込むものがないためです。

タグを消去

メッセージを空にします。鍵とアクセス権限は残ります。「書き込み」が認証不要であるか、指定された鍵が必要です。

工場出荷時の状態にリセット

メッセージをゼロで埋め、ファイルの権限を工場出荷時の状態に戻し、SDMをオフにして、すべての鍵をゼロに戻します。「鍵」のKey 0と、ゼロでない各鍵の現在の値が必要です。鍵が工場出荷時の状態に戻るため、タグの鍵保管庫の項目と「現在の鍵」の欄もクリアします。「設定を変更」が「アクセス不可」のカードでは、権限を復元できません。

消去とリセットの画面

元に戻せない操作

操作固定されるもの
「設定を変更」がアクセス不可(0xF)のときにアクセス不可(0xF)にした権限その権限と、「設定を変更」によって配置全体が固定されます。
Key 0の紛失すべてです。Key 0なしで鍵を変更するコマンドは、チップにありません。