2016/01/09

[nfc]PC/SCを試す (6)

まだ、PC/SCを試している。
目標は、Type-Bを読む、だ。
Type2 TagやType3 Tagは普通にPCDにコマンドを発行してアクセスできるけど、Type-BはよくわからないのでPC/SCでやろうとしているのだ。


前回は、ATRのデータを読んだ。
その前は、GetDataした。
あとは・・・結局のところ、PC/SCってのがあまりわかっていないので、こちらを見ながら順番にやっていくしかないのだ。

スマートカード

さすがに、それだとブログを書く意味がないので、Type-Bを読むことに絞る。
Type-Bも、手持ちがIC運転免許証しかないから、その仕様を読みながらやる。
あまり仕様のことをべらべらと書くのもよろしくない気がするので、一般的なところだけにしよう。

IC運転免許証で使用するコマンドは、以下の3つとのこと。

  • SELECT FILE
  • VERIFY
  • READ BINARY


今回は、SELECT FILE。
INSが0xA4で、あとはP1とかP2を設定する(PはパラメータのP?)。

そういうのはわかったのだが、PC/SCのPDFにコマンドの説明を見つけられていないのだ。
ISO/IEC 7816の仕様になるから、載ってないのだろうか。
幸い、IC運転免許証の仕様書にはコマンドのことも書いてあるので、ISO/IEC 7816の仕様と一致するかどうかは別として、それを参考にする。

 

ICカードの中は、ファイルシステムのようになっている。
ディレクトリとファイル。
用語としては、MFがルートディレクトリで、DFが各ディレクトリ、ファイルがEF。
IC運転免許証の場合は、MFが1つ、DFが3つ、EFが13ある。

SELECT FILEコマンドは、Change Directoryでもあり、Open Fileでもあるようだ。
たぶん、EFの場合は、SELECT FILEで指定して、READ BINARYコマンドを実行するのだろう。
NFC ForumのType4 Tagの仕様書も、そんな感じで書かれている。

 

IC運転免許証の仕様書にアクセスするフローが描いてある。
まずは、PIN1の照合というのをやらないと、DFの選択すらできないようだ。
PINの照合を3回間違うとロックされるらしいが、次回はそれか。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。