Show Table of Contents
4.4.1.
4.4. スマートカード
パスワードベースの認証の代わりに、スマートカードベースの認証があります。ユーザーの認証情報がスマートカードに格納され、特別なソフトウェアやハードウェアを使用して、その情報にアクセスします。スマートカードを使用して認証するには、ユーザーはスマートカードリーダーにスマートカードを設置してから、そのスマートカードの PIN コードを提示する必要があります。
重要
以下のセクションでは、pam_pkcs11 パッケージおよび pam_krb5 パッケージを使用してローカルユーザーに対するスマートカード認証用のシングルシステムの設定方法について説明しています。『7.4 Release Notes』 の 非推奨の機能 で説明しているように、これらのパッケージは現在は非推奨となっていることに留意してください。
スマートカード認証の一元化を設定するには、System Security Services Daemon (SSSD) が提供する強化されたスマートカードの機能を使用します。詳細は、Red Hat Identity Management の 『Linux ドメイン ID、認証、およびポリシーガイド』 にある Identity Management でのスマートカード認証 を参照してください。
4.4.1. authconfig を使用したスマートカードの設定
スマートカードサポートを有効にする オプションを選択すると、スマートカードの設定動作を追加で制御できるようになります。

図4.3 スマートカード認証のオプション
Red Hat Enterprise Linux サーバーおよびワークステーションにおけるスマートカードでのログインはデフォルトでは有効になっておらず、システム設定で有効にする必要があります。
注記
Red Hat Enterprise Linux へのログイン時にシングルサインオンを使用する場合は、以下のパッケージが必要になります。
- nss-tools
- nss-pam-ldapd
- esc
- pam_pkcs11
- pam_krb5
- opensc
- pcsc-lite-ccid
- gdm
- authconfig
- authconfig-gtk
- krb5-libs
- krb5-workstation
- krb5-pkinit
- pcsc-lite
- pcsc-lite-libs
4.4.1.1. UI でのスマートカード認証の有効化
- root でシステムにログインします。
- ネットワーク用の root CA 証明書をベース 64 形式でダウンロードし、サーバーにインストールします。
certutilコマンドを使うと、証明書は適切なシステムデータベースにインストールされます。例を示します。[root@server ~]# certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/ca_cert.crt
注記
このプロセスの後半でauthconfigUI にインポートされた証明書が表示されなくても、心配はいりません。UI では証明書は表示されません。認証時に/etc/pki/nssdb/ディレクトリーから取得されます。 - トップメニューで から を選択し、 をクリックします。
- 高度なオプション タブを開きます。
- スマートカードサポートを有効にする チェックボックスをクリックします。
- スマートカードでは 2 つの動作が設定可能です。
- カード削除のアクション では、アクティブセッション中にカードが取り出された時のシステムの対応方法を設定します。
無視するオプションの場合、カードが取り出されてもシステムは通常の機能を続けます。ロックするの場合は直ちに画面をロックします。 - スマートカードログインを要求 のチェックボックスでは、スマートカードがログインで必要かどうかを設定します。このオプションが選択されると、他の認証メソッドはすべてブロックされます。
警告
スマートカードを使用してシステムに正常にログインする まで は、このオプションは選択しないでください。
- デフォルトでは、証明書が失効となったかどうかを確認するメカニズム (オンライン証明書ステータスプロトコル、OCSP の反応) は、無効になっています。有効期限が切れる前に証明書が失効したかどうかを検証するには、
cert_policyディレクティブにocsp_onオプションを追加して OCSP のチェックを有効にします。pam_pkcs11.confファイルを開きます。vim /etc/pam_pkcs11/pam_pkcs11.conf
cert_policy行すべてにocsp_onオプションを追加します。cert_policy = ca,
ocsp_on,signature;注記
このファイルの解析方法が原因で、cert_policyとイコール記号の間には空白が 必要になります。これがないと、パラメーターの解析が失敗します。
- (個人証明書とキーによる設定で) スマートカードが登録されていない場合、スマートカードを登録します。
- スマートカードが CAC カードの場合、CAC ユーザーのホームディレクトリーに
.k5loginファイルを作成します。.k5loginファイルは、CAC カード上に Microsoft Principal Name を記載するために必要となります。 - 以下の行を
/etc/pam.d/smartcard-authと/etc/pam.d/system-authの各ファイルに追加します。auth optional pam_krb5.so use_first_pass no_subsequent_prompt preauth_options=X509_user_identity=PKCS11:/usr/lib64/pkcs11/opensc-pkcs11.so
OpenSC モジュールが予想どおりに動作しない場合、coolkey パッケージのモジュール/usr/lib64/pkcs11/libcoolkeypk11.soを使用します。この場合、この問題について Red Hat テクニカルサポートへ問い合わせるか、Bugzilla に報告することを検討してください。 /etc/krb5.confファイルを設定します。この設定は、CAC カードか Gemalto 64K カードを使っているかによって異なります。- CAC カードの場合、CAC カード使用に関連するすべての root 証明書を
pkinit_anchorsで指定します。以下の/etc/krb5.confファイルで CAC カードを設定する例では、EXAMPLE.COM が CAC カードのレルム名になり、kdc.server.hostname.com が KDC サーバーのホスト名になります。[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] dns_lookup_realm = false dns_lookup_kdc = false ticket_lifetime = 1h renew_lifetime = 6h forwardable = true default_realm = EXAMPLE.COM [realms] EXAMPLE.COM = { kdc = kdc.server.hostname.com admin_server = kdc.server.hostname.com pkinit_anchors = FILE:/etc/pki/nssdb/ca_cert.pem pkinit_anchors = FILE:/etc/pki/nssdb/CAC_CA_cert.pem pkinit_anchors = FILE:/etc/pki/nssdb/CAC_CA_email_cert.pem pkinit_anchors = FILE:/etc/pki/nssdb/CAC_root_ca_cert.pem pkinit_cert_match = CAC card specific information } [domain_realm] EXAMPLE.COM = EXAMPLE.COM .EXAMPLE.COM = EXAMPLE.COM .kdc.server.hostname.com = EXAMPLE.COM kdc.server.hostname.com = EXAMPLE.COM [appdefaults] pam = { debug = true ticket_lifetime = 1h renew_lifetime = 3h forwardable = true krb4_convert = false mappings = username on the CAC card Principal name on the card } - Gemalto 64K カードを設定する以下の
/etc/krb5.confファイルの場合、EXAMPLE.COM は KDC サーバー上で作成されたレルムになり、kdc-ca.pem は CA 証明書、kdc.server.hostname.com が KDC サーバーのホスト名になります。[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] dns_lookup_realm = false dns_lookup_kdc = false ticket_lifetime = 15m renew_lifetime = 6h forwardable = true default_realm = EXAMPLE.COM [realms] EXAMPLE.COM = { kdc = kdc.server.hostname.com admin_server = kdc.server.hostname.com pkinit_anchors = FILE:/etc/pki/nssdb/kdc-ca.pem pkinit_cert_match = <KU>digitalSignature pkinit_kdc_hostname = kdc.server.hostname.com } [domain_realm] EXAMPLE.COM = EXAMPLE.COM .EXAMPLE.COM = EXAMPLE.COM .kdc.server.hostname.com = EXAMPLE.COM kdc.server.hostname.com = EXAMPLE.COM [appdefaults] pam = { debug = true ticket_lifetime = 1h renew_lifetime = 3h forwardable = true krb4_convert = false }
注記
スマートカードが挿入されると、
pklogin_finder ユーティリティーがデバッグモードで実行されている場合、まずログイン ID をカード上の証明書にマッピングし、証明書の有効性についての情報の出力を試みます。
pklogin_finder debug
このコマンドは、スマートカードを使ってシステムにログインする際の問題を診断する上で役立ちます。
4.4.1.2. コマンドラインでのスマートカード認証の設定
システムでスマートカードを使用する際に必要となるのは
--enablesmartcard オプションの設定のみです。
[root@server ~]# authconfig --enablesmartcard --update
スマートカードには、デフォルトのスマートカードモジュールの変更、スマートカードが取り出された時のシステムの動作のセッティング、ログイン時にスマートカードを要求するなど、他の設定オプションがあります。
以下のコマンドの値
0 は、スマートカードが取り出された場合、システムがユーザーをロックアウトするように指示します。設定が 1 の場合は、スマートカードが取り出されても、これを無視します。
[root@server ~]# authconfig --enablesmartcard --smartcardaction=0 --update
スマートカード認証が正常に設定されテストが終わると、単純なパスワードベースの認証ではなく、スマートカード認証をユーザーに要求するようにシステムを設定することができます。
[root@server ~]# authconfig --enablerequiresmartcard --update
警告
スマートカードを使用して正常にシステム認証が終了するまで、
--enablerequiresmartcard オプションは使用しないでください。終了前に使用すると、ユーザーがシステムにログインできなくなる可能性があります。
4.4.2. Identity Management でのスマートカード認証
Red Hat Identity Management は、IdM ユーザーのスマートカード認証をサポートします。詳細情報は Linux ドメイン ID、認証、およびポリシーガイド を参照してください。
4.4.3. 対応するスマートカード
以下のスマートカードおよびリーダーは、Red Hat Enterprise Linux に対応しています。
スマートカード
- Athena ASECard Crypto smart, pkcs15-unit
- ATOS (Siemens) CardOS 5.0
- Gemalto ID Classic 230 / TOP IM CY2 64kv2
- Gemalto Cyberflex Access 64k V2c
- Gemalto GemPCKey USB form factor key
- Giesecke & Devrient (G&D) SmartCafe Expert 6.0 (SCP03)
- Giesecke & Devrient (G&D) SmartCafe Expert 7.0 (SCP03)
- Safenet 330J
- Safenet SC650 (SCP01)
- Siemens Card CardOS M4.4
- Yubikey 4
リーダー
- HP Keyboard KUS1206 with built in Smart Card reader
- Omnikey 3121 reader
- Omnikey 3121 with PID 0x3022 reader
- Reiner SCT cyberJack RFID komfort reader
- SCR331 CCID reader

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.