最終更新:2013-02-08 (金) 02:16:52 (4321d)
FeliCa Lite-S
Top / FeliCa Lite-S
メモ
- FeliCa Lite-Sはセキュリティ機能として、FeliCa Liteが持つMAC(認証コード「Message Authentication Code」)つき読み出し機能に加え、MACつき書き込み機能とそれらを組み合わせた相互認証機能を追加し、ライトデータの改ざん検知、リードアクセス権制御、及びライトアクセス権制御を実現。
仕様
プロトコル
物理層
データリンク層
- パケット単位
フィールド バイト長 定義 プリアンプル? 6 0x00 00 00 00 00 00 Syncコード 2 0xB24D データ長 1 n パケットデータ n CRC 2
アプリケーション層
- パケットデータの定義
コマンドパケット
- コマンドコード (1バイト)
- コマンドデータ
レスポンスパケット
- レスポンスコード (1バイト)
- レスポンスデータ
コマンド一覧
コマンド コマンドコード レスポンスコード 概要 一度にアクセスできるブロック数 Polling 0x00 0x01 カードを特定する機能 - Read Without Encryption 0x06 0x07 データ読み出し 4 Write Without Encryption 0x08 0x09 データ書き込み 1 - 上記とAuthentication1以外のコマンド以外は無効
- MACつき書き込み時は2ブロック
レスポンスデータ
FeliCa/サービス
- サービスコード
- サービス番号 (上位6バイト)
- FeliCa Lite-Sでは全0x0を推奨
- サービス属性
2進数 16進数 サービス 読み書き 認証 001001 0x0009 ランダムサービス R/W 不要 001011 0x000B RO 不要
FeliCa/ブロック
ブロック番号 名称 有効バイト数 備考 用途 0x00 S_PAD0? 16 FeliCa/ユーザブロック 任意のデータを格納 0x01 S_PAD1? 16 0x02 S_PAD2? 16 0x03 S_PAD3? 16 0x04 S_PAD4? 16 0x05 S_PAD5? 16 0x06 S_PAD6? 16 0x07 S_PAD7? 16 0x08 S_PAD8? 16 0x09 S_PAD9? 16 0x0a S_PAD10? 16 0x0b S_PAD11? 16 0x0c S_PAD12? 16 0x0d S_PAD13? 16 0x0e REG? 16 減算レジスタ(より小さい値のみ書き込める) 0x80 RC 16 認証機能用 ランダムチャレンジ(書き込まれた値からMAC生成に用いるセッション鍵を生成) 0x81 MAC 8 MAC(メッセージ認証コード)の演算結果を読み出す 0x82 ID 16(8/8) FeliCa/システムブロック 発行者IDを格納、IDd?,DFC 0x83 D_ID? 16 デバイスID (IDd?/PMm) 0x84 SER_C 2 FeliCa/サービスコード 0x85 SYS_C 2 FeliCa/システムコード 0x86 CKV? 2 カード鍵バージョン 0x87 CK 16 FeliCa/カード鍵 - FeliCa/セッション鍵生成の暗号鍵? 0x88 MC 13 メモリコンフィグレーション (ブロックのアクセス権限設定、NDEF設定、RFパラメータ) 0x90 WCNT? 3 ライトカウンタ値(リプレイアタック?防止) 0x91 MAC_A R:8、W:11 認証機能用 MAC(メッセージ認証コード)値の読み書き 0x92 STATE 2 外部認証?およびポーリングディスエーブルに使用 0x93 CRC_CHECK? 1 検査用 すべてのブロックのCRC結果
FeliCa Liteから追加
- FeliCa/ブロック/WCNT? - FeliCa/外部認証?に使う
- FeliCa/ブロック/MAC_A
- FeliCa/ブロック/STATE - FeliCa/外部認証?に使う
- FeliCa/ブロック/CRC_CHECK?