スマートカード

提供: ArchWiki
2017年10月12日 (木) 23:16時点におけるKusakata.bot (トーク | 投稿記録)による版 (文字列「Tips and tricks」を「ヒントとテクニック」に置換)
ナビゲーションに移動 検索に移動

この記事ではスマートカード (IC カード) リーダーを使うために環境を設定する方法を説明します。

インストール

公式リポジトリから ccidopenscインストールしてください。

カードリーダーに PIN パッドが付いていない場合、opensc の設定ファイル /etc/opensc.confenable_pinpad = false 行を追加・設定してください。

ノート: ccid パッケージにはスマートカードリーダーの汎用 USB インターフェイスドライバーが含まれています。あなたのスマートカードが汎用ドライバーでサポートされていない場合、適切なドライバーをインストールしてください。

pcscd.service起動有効化してください。

ヒント: Failed to start pcscd.service: Unit pcscd.socket not found. というエラーが表示される場合、systemctl daemon-reload で systemd ユニットをリロードしてください。

カードリーダーのスキャン

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)
ノート: 上記の例ではスマートカードリーダーは Alcor Micro AU9560 で、挿入したカードは Italian CNS カードです。

設定

Mozilla Firefox

新しいセキュリティ関連デバイスを設定する必要があります。(設定, 詳細, 証明書から) セキュリティデバイスのページを開いて、追加をクリックして /usr/lib/opensc-pkcs11.so モジュールを設定してください。

ヒントとテクニック

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"

OSCam などのソフトウェアカメラアプリケーションを使用するときに読み取りデバイスとして /dev/smargo を設定してください。

参照