記憶域カードの要件
- [アーティクル]
-
-
このセクションでは、ISO14443-4 に準拠していないカード (ストレージ カードと呼ばれます) に対する一般的な APDU コマンド セットの要件について説明します。
General-Authenticate コマンド
一般認証コマンドは、MIFARE カードで認証シーケンスを実行するために使用されます。 このコマンドは、MIFARE Mini、Classic 1k、4k カードにのみ適用されます。
コマンド |
クラス |
INS |
P1 |
P2 |
Lc |
受信データ |
全般認証 |
0xFF |
0x86 |
0x00 |
0x00 |
0x01 |
アドレス MSB、アドレス LSB、キーの種類 A または B、キー番号 |
Get-Dataコマンド
Get-Data コマンドは、非接触 NFC タグ/カードから情報を取得するために使用されます。
コマンド |
クラス |
INS |
P1 |
P2 |
L2 |
データを取得する |
0xFF |
0xCA |
0x00: カードのシリアル番号 (ISO14443-A: UID、ISO14443-B: PUPI、Felica: IDm、Jewel: RID)
0x01: カードの履歴バイト数 (型 A: ATR からの履歴バイト数、型 B: ATTRIB 応答) |
0x00 |
0x00 |
Load-Key コマンド
Load-Key コマンドは、MIFARE キーをドライバーに格納するために使用されます。 このコマンドは、MIFARE Mini、Classic 1k、4k カードにのみ適用されます。
コマンド |
クラス |
INS |
P1 |
P2 |
Lc |
受信データ |
Load-Key |
0xFF |
0x82 |
キー構造 |
キー番号 |
0x6 |
キー値 |
[セッションの管理] コマンド
このコマンドの実装は、PCSC 仕様に従う必要があります。
コマンド |
クラス |
INS |
P1 |
P2 |
Lc |
受信データ |
全般認証 |
0xFF |
0xC2 |
0x00 |
0x00 |
変数 |
TLV データ オブジェクト |
ドライバーでサポートされる必要がある TLV データ オブジェクトを次に示します。
タグ |
データ オブジェクト |
0x80 |
バージョン データ オブジェクト |
0x81 |
透過的なセッションを開始する |
0x82 |
透過的なセッションを終了する |
Read-Binary コマンド
Read-Binary コマンドは、非接触 NFC タグ/カードからデータを読み取るために使用されます。 このコマンドは、ストレージ カード (MIFARE クラシック/UL、フェリカ、ISO15693、ジュエル/トパーズ カード) にのみ適用されます。
コマンド |
クラス |
INS |
P1 |
P2 |
Lc |
受信データ |
Li |
読み取りバイナリ |
0xFF |
0xB0 |
アドレス MSB |
アドレス LSB |
受信データの長さ |
データ |
必要な長さ |
読み取りバイナリ MIFARE ファミリ
コマンド |
CLA |
INS |
P1 |
P2 |
Le |
UL READ 16 |
0xFF |
0xB0 |
0x00 |
0x00 ∼ 0x15 |
0x10 |
CL 1k READ 16 |
0xFF |
0xB0 |
0x00 |
0x00 ∼ 0x3F |
0x10 |
CL 4k READ 16 |
0xFF |
0xB0 |
0x00 |
0x00 ∼ 0xFF |
0x10 |
読み取りバイナリジュエルファミリー
コマンド |
CLA |
INS |
P1 |
P2 |
Le |
すべて読む |
0xFF |
0xB0 |
0x00 |
0x00 |
0x00 |
RID |
0xFF |
0xB0 |
0x00 |
0x00 |
0x06 |
READ |
0xFF |
0xB0 |
ブロック番号 |
ブロック オフセット |
0x01 |
Read 8 |
0xFF |
0xB0 |
ブロック番号 |
0x00 |
0x08 |
READ SEG |
0xFF |
0xB0 |
0x00 |
セグメント 加算 |
0x80 |
Read-Binary Felica ファミリ
コマンド |
CLA |
INS |
P1 |
P2 |
Lc |
受信データ |
チェック |
0xFF |
0xB0 |
0x00 |
0x00 |
受信データの長さ |
サービスの数、ブロック数、ブロック リスト |
ISO 15693 ファミリ
コマンド |
CLA |
INS |
P1 |
P2 |
Le |
READ |
0xFF |
0xB0 |
ブロック番号 |
0x00 |
0x04 |
ISO 15693 ファミリの応答
Transparent exchange コマンド
コマンド |
クラス |
INS |
P1 |
P2 |
Lc |
受信データ |
全般認証 |
0xFF |
0xC2 |
0x00 |
0x01 |
変数 |
TLV データ オブジェクト |
次に示す TLV データ オブジェクトは、透過的な Exchange コマンドを記憶域のカードにコマンドを透過的に交換するためにドライバーでサポートされる必要があります。
タグ |
データ オブジェクト |
0x95 |
トランスシーブ - 送受信 |
0x5F46 |
タイマー |
Update-Binary コマンド
Update-Binary コマンドを使用して、非接触 NFC タグ/カードにデータを書き込みます。 このコマンドは、ストレージ カード (MIFARE クラシック/UL、フェリカ、ISO15693、ジュエル/トパーズ カード) にのみ適用されます。 コマンドの要求と応答の形式は次のとおりです。
コマンド |
クラス |
INS |
P1 |
P2 |
Lc |
受信データ |
バイナリを更新します。 |
0xFF |
0xD6 |
アドレス MSB |
アドレス LSB |
受信データの長さ |
データ |
Update-Binary MIFARE ファミリ
コマンド |
CLA |
INS |
P1 |
P2 |
Le |
UL WRITE 4 |
0xFF |
0xD6 |
0x00 |
0x00 ∼ 0x15 |
0x04 |
CL 1k WRITE 16 |
0xFF |
0xD6 |
0x00 |
0x00 ∼ 0x3F |
0x10 |
CL 4k WRITE 16 |
0xFF |
0xB0 |
0x00 |
0x00 ∼ 0xFF |
0x10 |
Update-Binary Jewel ファミリ
コマンド |
CLA |
INS |
P1 |
P2 |
Le |
WRITE1-E |
0xFF |
0xD6 |
ブロック番号 |
ブロック オフセット |
0x01 |
WRITE8-E |
0xFF |
0xD6 |
ブロック番号 |
0x00 |
0x08 |
Update-Binary Felica ファミリ
コマンド |
CLA |
INS |
P1 |
P2 |
Le |
受信データ |
UPDATE |
0xFF |
0xD6 |
0x00 |
0x00 |
受信データの長さ |
サービスの数、ブロック数、ブロック リスト |
コマンド |
CLA |
INS |
P1 |
P2 |
Le |
WRITE |
0xFF |
0xD6 |
ブロック番号 |
0x00 |
0x04 |