Linux & IO DATA USB-NFC4 & マイナンバーカード
Linux & IO DATA USB-NFC4 & マイナンバーカード
2024-01-08
※追加・訂正
- 20240907追加: Ubuntu 24.04.1の場合
(1).結論
- IO DATA USB-NFC4、Linux OK
- IO DATA USB-NFC4 ≒ AB Circle CIR315A
- AB Circle CIR315A の Linux 用ドライバーあるよ
- pkcs15-tool 動いた
- マイナンバーカードOK、myna 動いた
(2).想像
- ELECOM MR-ICA001BK ≒ AB Circle CIR315 の予感...未確認
(3).環境
- Ubuntu 22.04
- PC(USB2, PCIe2.0時代のマザーボード)
- USB延長ケーブルは調子悪かった
- Laptop(USB3.0を持つ物)
(4).動機
- マイナンバーカードをLinuxで使いたい
- PDFの署名やRFC 3161 TSAに使ってみたい
- え?LibreOfficeの署名にも使えるって?やってみたい!
- 接触式のカードリーダーは持っていたが、傷がつくので非接触式の物を探していた
- 入ったお店にIO DATAがあった
(5).感想
- AB Circleありがたや。
- エストニアすごいね。
(6).詳細
(6)-a.動機
マイナンバーカードをLinuxで使いたかった。非接触式カードリーダーで。
エストニアのe-Residencyのリーダーがあり、それでマイナンバーカードを試したら問題なく動作した。
しかし接触式につきカードの金属面をカリカリする事になるが、これ、何回ぐらいまで耐えれるものだろうか?という疑問。LibreOffice書類、PDFにサインをするのが目的。回数が半端ではない。ハード屋ではないため、全く予想できない。
そこで非接触式を探すが、ネット上は、Linuxで動くブログ記事等はどれもこれもSony。しかも販売終了品の話が多い。制限も色々書かれているが、何かいまいちつかめない。
そこで海外をみると、Linux readyの製品結構出回っている。
日本はというと.....
そうですよね、だいたい日本のメーカーも税務署も国もLinuxは無視ですもんね。
それをみると、Linux対応のエストニアってすごいね。Firefoxの拡張機能あるし、aptで取れるようになっているし、ハードまで配るし。RFC 3161 TSAもフリーかぁ。環境整えてるね。
あやしい出品を買う勇気はないため、日本向けに売っている製品はないかと探す。
さんざんみてまわると、ソフトつきであった!
AB Circle CIR315A
凄い!これはありがたい!たすかる!
どこで売っているのだろう?
ん〜〜〜、わからん...。
もう無いのかなと諦めていてふと目にとまった
IO DATA USB-NFC4
一般の家電量販店に出回っていそう。
なにより、
似ている....なんだかAB Circle CIR315Aに似ている....
写真を見比べてみると、本体の形、似てないかいこれ?
マニュアルを見る。えー何々...
デバイスマネージャーを開き、「スマートカード読み取り装置」の下に本製品(CIR315 CL)が認識されているかどうかご確認ください。
これ、もしかしてOEM?
お店にあったので購入。
(6)-b.動作
インストールソフト
-
Ubuntu側
$ sudo aptitude install \ opensc opensc-pkcs11 \ pcscd pcsc-tools libpcsclite1 libusb-1.0-0 \ libpcsclite-dev libusb-1.0-0-dev
エストニアe-Residencyのリーダー+mynaを試した時にすでに環境は作っていた。
devはソースをコンパイルしたいなら。 -
AB Circle ドライバー
- AB Circle CIR315A
- 「USB Linux インストーラ」はバイナリ
- 「USB Linux & Mac ドライバ」はソース
- どちらでも動く。
-
マイナンバーカードのソフト myna
動かす
ソフトを先に入れた後、購入したIO DATA USB-NFC4をぶっさしたら、はいおしまい。
何も問題なく。
$ opensc-tool -l
# Detected readers (pcsc)
Nr. Card Features Name
0 Yes Circle CIR315 CL [CIR315 CL] 00 0
$ pkcs15-tool --list-pins
PIN [User Authentication PIN]
(略)
Tries left : 3
PIN [Digital Signature PIN]
(略)
Tries left : 5
# JPKIのpem
$ pkcs15-tool --read-certificate 1
#パスフレーズなどは聞かれない
# JPKIの署名用のpem
$ pkcs15-tool --read-certificate 2 --verify-pin --auth-id 02
Please enter PIN [Digital Signature PIN]: (署名用の長いパスフレーズ)
$ myna pin status
券面事項PIN(A): のこり10回
券面事項PIN(B): のこり10回
入力補助PIN: のこり 3回
入力補助PIN(A): のこり10回
入力補助PIN(B): のこり10回
JPKI認証用PIN: のこり 3回
JPKI署名用PIN: のこり 5回
すばらしい!ありがたやAB Circle!
これで種々のファイルにサインをすることに踏み出せる!
(6)-c.トラブル
実はこんな事があった。
Laptop PCでは一発で動作。問題なし。
PCでは、pkcs15-toolは動く。しかしmynaが
$ myna pin status
Error: scard: Sharing violation.
原因がわからない。しかもタチが悪い事に、たま〜に動く。
USBハブをかましたら動いたと思ったら、次の日には動かない。
ハードが古いし、あれかなぁと漠然と考えていた。
ある日ふと
[PC 背面USB]<----USB延長ケーブル----><----[カードリーダー]
が気になって、PCマザーボードのUSBの口に製品を挿すと、
[PC 背面USB]<----[カードリーダー]
問題なくmynaが動作。
こういう事ってあるのね。
ケーブル不良なのか?しかしpkcs15-toolは動くし、他のハード(USBカメラ)も動くし。専門家でないため不明。
ハードを雑に(粗末に)考えてはいけないと知った出来事。
(7).その他
- エレコム
エレコム MR-ICA001BK のマニュアルに
ダウンロードした「ELECOM MR-ICA001 CIR315 xxxx Installer.zip」(ドライバーのバージョンによりファイル名称が異なる場合があります)をデスクトップなどに解凍します。
とある。実機がないため不明だが、これもOEMの可能性。
なお、個人の感想につき、保証はできない。
-
nfcpy
試していない。何のためのものかもわかっていない。
openscで動いたからいいや!でトライせず。 -
その他ソフトの使用は別の機会に記述するかもしれない
(8).追記20240907、Ubuntu 24.04.1 の場合
Ubuntu 24.04 では、pcscd が polkit を利用する。よって、polkit まわりの設定が必要。
(a). まず polkit
を使わないようにして動作させる
PCSCD_ARGS="--disable-polkit"
# PCSCD_ARGS="--disable-polkit --debug"
デフォルトでファイルが作成されていない事に注意。
署名の動作確認するまで polkit を停止しておく。動いたら、polkit ルールを自分に合わせて書く。
--debug
オプションでログを吐く。これで動作確認。
(b). 動作確認後、polkit
を記述
pcscd
グループに屬していれば、PC/SCアクセス可能にする。
polkit.addRule(function(action, subject) {
if ( action.id == "org.debian.pcsc-lite.access_pcsc"
|| action.id == "org.debian.pcsc-lite.access_card" ) {
if ( subject.isInGroup("pcscd") ) {
return polkit.Result.YES;
}
}
});
グループ作成、使用者を追加。
$ addgroup --system pcscd
$ usermod -aG pcscd ubuntu
/etc/default/pcscd
ファイルを編集。--disable-polkit
を消す。
$ systemctl restart pcscd.service pcscd.socket polkit.service
動作確認する。
以上。
Discussion