次の方法で共有


ストレージ カードの要件

このセクションでは、非ISO14443-4 準拠カード (ストレージ カードと呼ばれます) の一般的な APDU コマンド セットの要件について説明します。

General-Authenticate command

General-Authenticate コマンドは、MIFARE カードで認証シーケンスを実行するために使用されます。 このコマンドは、MIFARE Mini、Classic 1k、4k カードにのみ適用されます。

コマンド形式 General-Authenticate

Command Class INS P1 P2 Lc Data In
General-Authenticate 0xFF 0x86 0x00 0x00 0x01 アドレス MSB、アドレス LSB、キーの種類 A または B、キー番号

General-Authenticate 応答形式

Response
SW1, SW2

Get-Data command

Get-Data コマンドは、非接触 NFC タグ/カードから情報を取得するために使用されます。

コマンド形式 Get-Data

Command Class INS P1 P2 L2
Get-Data 0xFF 0xCA 0x00: カードのシリアル番号 (ISO14443-A: UID、ISO14443-B: PUPI、Felica: IDm、Jewel: RID)

0x01: カードの履歴バイト数 (タイプ A: ATR からの履歴バイト数、タイプ B: ATTRIB 応答)
0x00 0x00

Get-Data 応答形式

Response
データ出力、SW1、SW2

Load-Key command

Load-Key コマンドは、MIFARE キーをドライバーに格納するために使用されます。 このコマンドは、MIFARE Mini、Classic 1k、4k カードにのみ適用されます。

コマンド形式 Load-Key

Command Class INS P1 P2 Lc Data In
Load-Key 0xFF 0x82 Key Structure Key Number 0x6 Key Value

Load-Key 応答形式

Response
SW1, SW2

[セッションの管理] コマンド

このコマンドの実装は、PCSC 仕様に従う必要があります。

[セッションの管理] コマンドの形式

Command Class INS P1 P2 Lc Data In
General Authenticate 0xFF 0xC2 0x00 0x00 Variable TLV データ オブジェクト

ドライバーでサポートされる必要がある TLV データ オブジェクトを次に示します。

Tag Data Object
0x80 バージョン データ オブジェクト
0x81 透過的なセッションを開始する
0x82 透過的なセッションを終了する

Read-Binary command

Read-Binary コマンドは、非接触 NFC タグ/カードからデータを読み取るために使用されます。 このコマンドは、ストレージ カード (MIFARE クラシック/UL、フェリカ、ISO15693、ジュエル/トパーズ カード) にのみ適用されます。

コマンド形式 Read-Binary

Command Class INS P1 P2 Lc Data In Li
Read-Binary 0xFF 0xB0 Address MSB Address LSB データの長さ Data Length expected

MIFARE ファミリー Read-Binary

Command CLA INS P1 P2 Le
UL READ 16 0xFF 0xB0 0x00 0x15に0x00する 0x10
CL 1k READ 16 0xFF 0xB0 0x00 0x3Fに0x00する 0x10
CL 4k READ 16 0xFF 0xB0 0x00 0x00から0xFFまで 0x10

Read-Binary ジュエル ファミリー

Command CLA INS P1 P2 Le
READ ALL 0xFF 0xB0 0x00 0x00 0x00
RID 0xFF 0xB0 0x00 0x00 0x06
READ 0xFF 0xB0 Block No Block Offset 0x01
READ 8 0xFF 0xB0 Block No 0x00 0x08
READ SEG 0xFF 0xB0 0x00 Segment Addr 0x80

フェリカ家 Read-Binary

Command CLA INS P1 P2 Lc Data In
CHECK 0xFF 0xB0 0x00 0x00 データの長さ サービスの数、ブロック数、ブロック リスト

ISO 15693 ファミリ

Command CLA INS P1 P2 Le
READ 0xFF 0xB0 Block Number 0x00 0x04

ISO 15693 ファミリの応答

Response
データ出力、SW1、SW2

Transparent exchange コマンド

透過的な exchange コマンド形式

Command Class INS P1 P2 Lc Data In
General Authenticate 0xFF 0xC2 0x00 0x01 Variable TLV データ オブジェクト

次に示す TLV データ オブジェクトは、透過的な Exchange コマンドを記憶域カードにコマンドを透過的に交換するためにドライバーでサポートされる必要があります。

Tag Data Object
0x95 トランスシーブ - 送受信
0x5F46 Timer

Update-Binary command

Update-Binary コマンドを使用して、非接触 NFC タグ/カードにデータを書き込みます。 このコマンドは、ストレージ カード (MIFARE クラシック/UL、フェリカ、ISO15693、ジュエル/トパーズ カード) にのみ適用されます。 コマンドの要求と応答の形式は次のとおりです。

コマンド形式 Update-Binary

Command Class INS P1 P2 Lc Data In
Update-Binary 0xFF 0xD6 Address MSB Address LSB データの長さ Data

MIFARE ファミリー Update-Binary

Command CLA INS P1 P2 Le
UL WRITE 4 0xFF 0xD6 0x00 0x15に0x00する 0x04
CL 1k WRITE 16 0xFF 0xD6 0x00 0x3Fに0x00する 0x10
CL 4k WRITE 16 0xFF 0xB0 0x00 0x00から0xFFまで 0x10

Update-Binary ジュエル ファミリー

Command CLA INS P1 P2 Le
WRITE1-E 0xFF 0xD6 Block Number Block Offset 0x01
WRITE8-E 0xFF 0xD6 Block Number 0x00 0x08

フェリカ家 Update-Binary

Command CLA INS P1 P2 Le Data In
UPDATE 0xFF 0xD6 0x00 0x00 データの長さ サービスの数、ブロックの数、ブロック リスト

Response format

Command CLA INS P1 P2 Le
WRITE 0xFF 0xD6 Block Number 0x00 0x04