「スマートカード」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (カテゴリを変更) |
Kusanaginoturugi (トーク | 投稿記録) (add Category.) |
||
1行目: | 1行目: | ||
[[Category:認証]] |
[[Category:認証]] |
||
+ | [[Category:OpenPGP]] |
||
[[Category:スマートカード]] |
[[Category:スマートカード]] |
||
[[en:Smartcards]] |
[[en:Smartcards]] |
2024年5月1日 (水) 21:09時点における最新版
この記事ではスマートカード (IC カード) リーダーを使うために環境を設定する方法を説明します。
目次
インストール
公式リポジトリから ccid と opensc をインストールしてください。
カードリーダーに PIN パッドが付いていない場合、opensc の設定ファイル /etc/opensc.conf
に enable_pinpad = false
行を追加・設定してください。
カードリーダーのスキャン
pcsc-tools をインストールして pcsc_scan ユーティリティを起動し、スマートカードリーダーを接続してカードを挿入してください。以下のような出力がされた場合、スマートカードリーダーとカードが正しく認識されています:
$ pcsc_scan PC/SC device scanner V 1.5.2 (c) 2001-2017, Ludovic Rousseau <ludovic.rousseau@free.fr> Using reader plug'n play mechanism Scanning present readers... 0: Alcor Micro AU9560 00 00 Sat Aug 5 18:49:32 2017 Reader 0: Alcor Micro AU9560 00 00 Card state: Card removed, Sat Aug 5 19:00:35 2017 Reader 0: Alcor Micro AU9560 00 00 Card state: Card inserted, ATR: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ATR: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + TS = 3B --> Direct Convention + T0 = DF, Y(1): 1101, K: 15 (historical bytes) TA(1) = 18 --> Fi=372, Di=12, 31 cycles/ETU 129032 bits/s at 4 MHz, fMax for Fi = 5 MHz => 161290 bits/s TC(1) = 00 --> Extra guard time: 0 TD(1) = 81 --> Y(i+1) = 1000, Protocol T = 1 ----- TD(2) = 31 --> Y(i+1) = 0011, Protocol T = 1 ----- TA(3) = FE --> IFSC: 254 TB(3) = 7D --> Block Waiting Integer: 7 - Character Waiting Integer: 13 + Historical bytes: 00 6B 02 0C 01 82 01 11 01 43 4E 53 10 31 80 Category indicator byte: 00 (compact TLV data object) Tag: 6, len: B (pre-issuing data) Data: FF FF FF FF FF FF FF FF FF FF Mandatory status indicator (3 last bytes) LCS (life card cycle): 10 (Proprietary) SW: 3180 (Error not defined by ISO 7816) + TCK = FC (correct checksum) Possibly identified card (using /usr/share/pcsc/smartcard_list.txt): FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF Italian healtcare card (TS) National Service Card (CNS) (HealthCare)
設定
Mozilla Firefox
新しいセキュリティ関連デバイスを設定する必要があります。(設定, 詳細, 証明書から) セキュリティデバイスのページを開いて、追加をクリックしてモジュール名を CAC Module に、ファイル名を /usr/lib/opensc-pkcs11.so
に設定してください。
Chromium
Chromium では Network Security Services が使われます。端末を開き、 CAC Module が現時点で存在していないことを確かめてください:
$ modutil -list -dbdir .pki/nssdb/ Listing of PKCS #11 Modules ----------------------------------------------------------- 1. NSS Internal PKCS #11 Module ....
存在しなければ、ブラウザーをすべて閉じ、モジュールを追加します (ユーザーによる確認操作が必要です):
$ modutil -dbdir sql:.pki/nssdb/ -add "CAC Module" -libfile /usr/lib/opensc-pkcs11.so WARNING: Performing this operation while the browser is running could cause corruption of your security databases. If the browser is currently running, you should exit browser before continuing this operation. Type 'q <enter>' to abort, or <enter> to continue: Module "CAC Module" added to database.
次のコマンドが正しく動いていると確認してください:
Listing of PKCS #11 Modules ----------------------------------------------------------- 1. NSS Internal PKCS #11 Module .... 2. CAC Module library name: /usr/lib/opensc-pkcs11.so uri: pkcs11:library-manufacturer=OpenSC%20Project;library-description=OpenSC%20smartcard%20framework;library-version=0.19 slots: 1 slot attached status: loaded
ヒントとテクニック
Smargo/TV カードリーダー
テレビの視聴や録画 (PVR/DVR) のために TV カードを使用する場合、復号化を許可するためスマートカードを video
グループに割り当てる必要があります。Smargo Smartreader を使用する場合、以下の udev ルールを使用:
/etc/udev/rules.d/98-smargo.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", GROUP="video", MODE="0666", SYMLINK+="smargo"
p11tool
p11tool などのGnuTLS スイートのパッケージを使っており、OpenSC ドライバーが正しく読み込まれていないことがありえます。p11tool --list-tokens
を実行した結果一覧に、ハードウエアトークンが存在しなければそのようになっていると判断できます。次のファイルを追加し、OpenSC ドライバーが正しく読み込まれるようにできます:
/usr/share/p11-kit/modules/opensc.module
module: opensc-pkcs11.so
OSCam などのソフトウェアカメラアプリケーションを使用するときに読み取りデバイスとして /dev/smargo
を設定してください。
トラブルシューティング
Firefox がデータにアクセスできない
ブラウザーがスマートカードのデータを利用できない場合、デバイスへのアクセスを提供するサービスが認識していないことがあります。Firefox を開いた後にスマートカードを差し込んだときに起こります。
解決策は、単に Firefox を再起動することです。