User manual - SAMライブラリマニュアルver.1.00(2012年3月29日)
18
FeliCa セキュリティ領域と通信する場合(詳細)
1. SAMPowerUpCard関数により SAM カードの電源を ON
にし、通信可能状態にします。
2. SAMExchangeData関数により FeliCa SAM カードに対
して通信を行い、アプリケーションと FeliCa SAM カード
の相互認証を行います。
3. SAMExchangeData関数により FeliCa SAM カードに対
して通信を行い、また、NFCExchangeData 関数により
FeliCa カードと通信を行うことで、FeliCa SAM カードと
FeliCa カードの相互認証を行います。
4. SAMExchangeData関数により、FeliCa SAM カードに
対して、FeliCa Read Block コマンドを送信し、暗号化
された Read コマンドを応答情報として取得します。
5. NFCExchangeCard 関数により、FeliCa SAM カードに
対して、手順 4.で取得した暗号化された Readコマンド
を送信すると、暗号化された応答情報を取得します。
6. SAMExchangeData関数により、FeliCa SAM カードに
対して、手順 5.で取得した暗号化された応答情報を送
信すると、手順 4.で送信した Read Block コマンドに対
する応答情報を取得します。
7. Read/Write を行うブロックを変更し、処理を続行する
場合は手順 4.に戻り、同様の処理を繰り返します。
8. Read/Write を行うサービスを変更し、処理を続行する
場合は手順 3.に戻り、同様の処理を繰り返します。
9. SAMPowerDownCard関数により SAM カードの電源を
OFF
にし、待機状態にします。
SAMPowerUpCard
SAMExchangeData
アプリケーション
と
SAM FeliCaカードの相互認証
SAMExchangeData
NFCExchangeData
FeliCa SAMカード
と
FeliCaカードの相互認証
SAMExchangeData
受信
:
Read Blockコマンド
送信
:
Readコマンド(暗号化
データ
)
NFCExchangeData
受信
:
Readコマンド(暗号化
データ
)
送信:
応答
(暗号化
データ
)
SAMExchangeData
受信:
応答
(暗号化
データ
)
送信
:
Read Blockコマンド(応答)
ブロック
変更
して続行
?
サービス
変更
して続行
?
SAMPowerDownCard
No
Yes
No
Yes