スマートカードは、機密のコンピュータおよび Web サイトにログインする際、識別情報の 2 つ目の証明を提供します。
ツーファクタ認証 (2FA) では、ログインの検証を強化する独立した認証ステップが追加されます。2FA は、ユーザーがコンピュータシステムにアクセスできるようになる前に、ユーザーが認証メカニズムにいくつかの別々の証拠を示す必要がある、マルチファクタ認証 (MFA) の一種です。2FA では、ユーザーは、次の MFA の証拠のカテゴリのうち 2 つ指定する必要があります。
知っていること、たとえば個人識別番号 (PIN) またはパスワードなど
所有しているもの、たとえばスマートカード、チャレンジレスポンスキーフォブ、またはトークンジェネレータなど
身体に固有のもの、たとえば生体認証の指紋、網膜スキャン、声紋など
2 つの識別情報の証明に加え、2FA では通常、ユーザーがアカウントにログインしようとしているユーザー自身であることを確認する必要があります。2FA を実行している Oracle Solaris のコンピュータサーバーでは、識別情報の 2 つの別々の証明、つまりスマートカード (所有しているもの) と PIN (知っていること) が必要になります。
共通アクセスカード (CAC) とも呼ばれるスマートカードは、個人識別情報、認証、データストレージ、およびアプリケーション処理を提供できるマイクロチップが埋め込まれたプラスチック製のカードです。さらに、これらは電子メールの暗号化および暗号化署名、および公開鍵インフラストラクチャー (PKI) 認証ツールの使用を有効にできます。Oracle Solaris においてスマートカードでログインすると、従来のパスワードにのみに依存するネットワークログインプロセスよりもはるかに強力なセキュリティーが提供されます。
このガイドでは、CAC は 2FA に使用される米国国防総省 (DoD) のスマートカードのことです。CAC は承認された政府職員に対する標準の身分証明書として発行されます。政府職員は自分の CAC を使用して政府の建物やコンピュータネットワークにアクセスします。CAC には、PKI 証明書を含むカード所有者情報が含まれます。スマートカードリーダー内のソフトウェアは、標準のインターネットプロトコルを介し、カード所有者情報を政府のサーバーにある情報と比較でき、アクセスを付与するか拒否します。
Oracle Solaris はコンピュータ認証に対して次の 4 種類の DoD CAC カードを認識します。
ジュネーブ条約身分証明カード – 現役/予備軍および公安系公務員用
ジュネーブ条約付属軍カード – 緊急時の軍属用
ID および特権共通アクセスカード – 軍事施設に居住する一般市民用
DoD の ID カード/政府機関の身分証明書 – 軍属の従業員および請負業者用
次の図は、スマートカードログインのエントリポイントを示しています。
図 14 スマートカードのエントリポイント
1 – システムに直接接続されているスマートカードリーダー。モニターおよびキーボードもこのエントリポイントを使用します。図 15を参照してください。
2 – シリアルポートを介してシステムに直接接続されるスマートカードリーダー。コンソールおよびターミナルプログラムもシリアルポートを使用します。図 15を参照してください。
3 – Secure Shell を使用したスマートカードへのリモートネットワークアクセス。図 16を参照してください。
4 – X11 デスクトップを使用したスマートカードへのリモートネットワークアクセス。図 16を参照してください。
5/6 – Integrated Lights Out Management (ILOM) ポートが Secure Shell または https を使用してスマートカードに接続。図 17を参照してください。
Oracle Solaris のスマートカードとスマートカードリーダーでは、ローカルログイン、ネットワーク経由のリモートログイン、および Oracle の Integrated Lights Out Manager (ILOM) を使用したリモートログインの、3 つのタイプのログイン用の 2FA ユーザー認証および否認防止が提供されます。ユーザーは、サーバーへのスマートカードのログインおよび認証を構成したあと、Web ブラウザや電子メールソフトを構成して、セキュアな Web 通信およびセキュアな電子メールを使用することもできます。詳細は、Web ブラウザおよび電子メールでのスマートカード使用の有効化を参照してください。
次の図はスマートカードを使用する 2FA ログインを示しています。
図 15 スマートカードを使用したローカルログイン
図 16 スマートカードを使用したネットワーク経由のリモートログイン
図 17 スマートカードを使用した ILOM ログイン
Oracle Solaris は、次のソフトウェアスタックを使用してスマートカードでの 2FA を実装します。ほとんどのソフトウェアは、smartcard パッケージにあります。CACKey 暗号化プロバイダは、別個のパッケージにあります。IPS パッケージグループはいずれもスマートカードパッケージをインストールしないので、それらをインストールする必要があります。
図 18 Oracle Solaris でのツーファクタ認証のソフトウェア実装
2FA ソフトウェアスタックは次のモジュールで構成されます。
libusb – USB デバイスへのアクセスを有効化するオープンソースライブラリ。https://sourceforge.net/projects/libusb/files/libusb-1.0/ を参照してください。
libccid – 汎用 USB CCID (Chip/Smart Card Interface Devices) ドライバおよび ICCD (Integrated Circuit Card Devices) 用のオープンソースライブラリ。
libpki – 証明書を生成から検証まで管理するオープンソースライブラリ。
ドキュメントについては、libpki のドキュメントを参照してください。
pcsclite – ドライバをロードし、libpcsclite.so クライアントライブラリにリンクされたランタイムプログラムを処理する要求に応答する SMF サービスとして、pcscd デーモンを提供します。
libpcsclite.so クライアントライブラリは、pam_pkcs11 モジュールと連携してスマートカードドライバを認証ソフトウェアに接続します。
DoD CAC 対応のアプリケーションおよび Web サイトをサポートするため、2FA の実装では CACKey ソフトウェアが PKCS #11 モジュールおよび Web ブラウザプラグインにリンクする必要があります。
PIV カード対応のアプリケーションおよび Web サイトをサポートするため、2FA の実装では Coolkey ソフトウェアが PKCS #11 モジュールおよび Web ブラウザプラグインにリンクする必要があります。
openca-ocspd – オープンソースの Online Certificate Status Protocol (OCSP) レスポンダ
OCSP は、X.509 デジタル証明書がまだ有効であるかどうかを検証するインターネットプロトコルです。OCSP メッセージは ASN.1 でエンコードされ、通常 HTTP 経由で通信されます。OCSP サーバーは、証明書の検証要求に応答するので、OCSP レスポンダと呼ばれます。
pam_pkcs11 – ユーザーの Oracle Solaris システムへの認証に使用される PKCS #11 トークンライブラリ用のプラグイン可能認証モジュール (PAM)。
次の図は、スマートカードのモジュール接続を示しています。
図 19 Oracle Solaris でのツーファクタ認証用のソフトウェア接続
図 18および図 19に示されているように、Oracle Solaris では 2 つのプロバイダからのスマートカード暗号化をサポートしています。
Coolkey – smartcard パッケージから使用可能。
pcsclite デーモン (pcscd) がスマートカードリーダーやその他の CCID 対応デバイスなどの 1 つ以上の PKI ハードウェアトークンデバイスインタフェースを管理しているとき、Coolkey はトークンの存在を動的に検出します。
CACKey – 保全許可および Controlled Access Card を持つユーザー用に DISA から入手可能。このソフトウェアは、solaris のパブリッシャーからも入手できます。
CACKey は、PC/SC 準拠のリーダーに接続されたスマートカードに対して標準の PKCS #11 インタフェースを提供します。CACKey は Coolkey と同様の機能を実行しますが、Government Smart Card Interoperability Specification (GSC-IS) v2.1 以降を実装する米国政府のスマートカードのみをサポートします。仕様を確認するには、NIST Computer Security Division の Web サイトに移動し、そのページで「6887」を検索します。カードのリストは、米国政府のスマートカードを参照してください。
スマートカードを使用したローカルログインでシステムへ認証するために、次のスマートカードハードウェアリーダーを Oracle Solaris システムに接続できます。
HID/Omnikey、3121
Identive (以前の SCM Microsystems)、SCR-3310v2 および SCR-3310
ActivCard/ActivIdentity V3
次の図は、Oracle Solaris がローカルに接続されたスマートカードリーダーに接続し、それらのスマートカード上のリソースを暗号化サービスプロバイダおよびスマートカード対応アプリケーションで使用できるようにする方法を示しています。
図 20 ドライバをスマートカードに接続する PC/SC レイヤー
スマートカードリーダーは、スマートカードにアクセスするための PC/SC 業界の標準を使用して Oracle Solaris システム上のスマートカードに接続および通信します。pam_pkcs11 モジュールは、smartcard パッケージのソフトウェアと統合して、2FA 認証を提供します。次に、OCSP レスポンダが既存のスマートカードの Certificate Authentication (CA) サーバーインフラストラクチャーと通信して、ユーザーが入力したスマートカード PIN を認証および検証し、スマートカードにある X.509 証明書を検証します。
次の図は、Oracle Solaris がスマートカードの PKI 認証を処理する方法を示しています。
図 21 スマートカードによる PKI 認証