#目的
入退室管理をするために、ICカードの読み込みと書き込み、ICカードを作成する。
まずは、現在利用可能なカードを複製し、練習台とする。
今回は、FeliCaカードのIDmを取得する。
#使用機材、環境
Windows10 Pro
コマンドプロンプト
PaSoRi RC-S380
FeliCaカード
#ICカードの規格の特定
ICカードの規格によって、手法、名称が異なる可能性があるので、特定する。
大きく分類するとFeliCaとMifereがある。
##FeliCa
国内最大級のシェア。
処理速度が高く、カードをかざしてから処理完了まで0.1秒。
交通系のICカード(SuiCa、ICOCA、PASMOなど)に採用。
##Mifere
海外では一般的。
FeliCaに比べ廉価で、約1/3の価格で購入できる。
今回は、FeliCaのIDmを取得する。
#ICカード認証方法
現在、IDmで認証する方法があることがわかった。
##①IDmで認証する。(Mifereの場合、UID)
「IDm」とよばれるメーカーがICカードに書き込んだ固有の製造番号がある。
これで認証する。
IDm+暗証番号などもある。
(参考)https://qiita.com/mono_taro/items/8bac24c5768da0828f2b
##②それ以外
現状情報を見つけられていないのですが、
IDmは認証の上、追加でエンコードする情報で認証する可能性もあるのではと思っており、、検索中。
#IDmの特定
OpenSCを使用することで、IDmを取得できるらしい。
OpenSCとは、暗号化機能を備えたスマートカードに重点を置いて、スマートカードを操作するためのソフトウェアツールとライブラリのセットです。 OpenSCは、認証、暗号化、デジタル署名などのセキュリティアプリケーションでのスマートカードの使用を容易にします。
(引用)https://en.wikipedia.org/wiki/OpenSC
##OpenSCのインストール
こちらが参考にOpenSCのインストールをします。
(参考)https://qiita.com/erik_t/items/7d40b02be3bb13f2c3af
##Open SCでの操作
こちらを参考に、IDmを取得するための操作をします。
(参考)https://qiita.com/erik_t/items/a8e36323a44bab92640d
###エラー:Failed to connect to card :Card is invalid or cannot be handled Aborting.
OpenscでICカードが認識されているか確認するため、opensc-tool.exe -a
でATRを取得します。
ATR(Answer To Reqset)とは、カードが電気的に活性化した際にカードから送られる初期応答情報です。
その結果、以下の応答が表示されました。
Failed to connect to card :Card is invalid or cannot be handled Aborting.
最終的に、公式リファレンスが参考になり、certutil.exe -scinfo
pkcs11-tool.exe" --login --test
を実行後は、opens-tool -a
で表示される3行目にIDmが表示されました。
(なぜ解決したのかがわかっていません。。よければコメントください。)
(参考)https://github.com/OpenSC/OpenSC/wiki/Windows-Quick-Start
次はこのIDmで認証できるのか、IDmに追加して書き込みをして認証を行う必要があるのか進めていきます。