スマートカード認証の理解と実装

認証とスマートカードの概要

管理者は、ハッカー、スパイ、テロリスト、泥棒、犯罪者によって開始された攻撃からネットワークを保護する必要があります。 セキュリティには、多数の技術、プロトコル、標準、ポリシー、パスワード、および秘密鍵が含まれます。 これらのすべてのメカニズムは、通常、次のことに焦点を当てています:

  • 認証

  • アクセス制御

  • データ保護

  • 監査/説明責任

認証は、ネットワークログオンが許可される前に、エンティティが自分自身を識別するプロセスです。 ユーザーが認証された後、アクセス制御は、アクセスできるリソース、リソースに対して実行できるアクション、およびこれらのアクションが監査されるかど アクセス制御は、リソースとオブジェクトのアクセス許可を指定し、ユーザーに権限を割り当てることによって実装されます。 データ保護には、データの機密性とデータの整合性という2つのセキュリティ概念が含まれます。 データの機密性は、暗号化操作の適用を通じてネットワーク経由で送信されるデータを保護することを扱います。 暗号化アルゴリズムと秘密鍵と公開鍵の使用は、データの機密性を提供します。 メッセージを傍受する権限のない当事者は、メッセージの内容を解釈することはできません。 データの整合性は、メッセージとファイルのデジタル署名によって実装されます。 デジタル署名を使用することで、メッセージが改ざんされたかどうかを判断できます。 この簡単な説明から、セキュリティについて議論する際には、多くの概念とプリンシパルが含まれていることがわかります。 スマートカードは、悪意のある攻撃から組織のネットワークとリソースを保護するプロセスにどこに適合しますか。 答えは認証です。スマートカード認証の理解と実装

前述のように、認証とは、ネットワークリソースにアクセスしようとするユーザーまたは他のエンティティが自分自身を識別 認証は、ユーザーがネットワークリソースにアクセスできるようにするプロセスの最初のステップです。 Active Directoryでは、ユーザー認証は、ユーザーログオン名、パスワード、ユーザーのセキュリティ識別子(SID)などのユーザーアカウント資格情報を提供するユーザーによって行われます。

Windows Server2003環境での認証には、次の2つのプロセスが含まれます:

  • 対話型ログオン:対話型ログオンは、ユーザーがパスワードまたはスマートカードを使用してシステムにログオンしたときに発生します。

  • ネットワーク認証:ネットワーク認証は、ユーザーがこのパスワードやスマートカードの暗証番号(PIN)を再入力することなく、リソースへのアクセスを許可されている

ユーザーまたはエンティティは、共有秘密を使用してidを証明します。 共有秘密は、以下のいずれかのコンポーネントにすることができ、認証が成功するためには、認証を要求するユーザーと認証者との間の秘密でなければな:

  • パスワード

  • 暗号化キー

  • 秘密のピン

認証プロトコルは、ユーザーと認証者の間で秘密を共有するために使用されます。 次に、認証子はアクセスを許可するか、リクエスタのアクセスを拒否します。 Windows Server2003環境で使用できる認証プロトコルを以下に示します:

  • ネットワーク認証に使用されるKerberosバージョン5。 Kerberosバージョン5は、対話型ログオン認証プロセスとWindows Server2003のネットワーク認証に使用されます。

  • Secure Socket Layer/Transport Layer Security(SSL/TLS)は、ネットワーク認証に使用され、X.509公開鍵証明書に基づいています。

  • Microsoft Windows NT LAN Manager(NTLM)は、ネットワーク認証に使用されますが、主にMicrosoft WINDOWS NT4との互換性のために使用されます。

  • Microsoft Challenge Handshake Authentication Protocol version2(MS-CHAP v2)は、ネットワーク認証とダイヤルアップ認証に使用されます。

  • ネットワーク認証およびダイヤルアップ認証に使用されるパスワード認証プロトコル(PAP)。

  • •Extensible Authentication Protocol:ワイヤレス接続認証に使用されるトランスポートレベルセキュリティ(EAP-TLS)。

  • ネットワーク認証およびダイヤルアップ認証に使用されるExtensible Authentication Protocol(EAP)で、スマートカード(ハードウェア対応認証)のサポートが含まれています。

ハードウェア対応認証は、暗号化キーがスマートカード、PCカード、またはその他の暗号トークンメカニズムに格納されている場合に発生し、ユーザーがスマートカード、およ これにより、システムにアクセスしようとする権限のない個人は、スマートカードとPINまたはパスワードを必要とするため、追加のレベルのセキ

スマートカード認証はスマートカードの使用に基づいており、Windows2000およびWindows Server2003でサポートされています。 スマートカードは、アプリケーションやセキュリティプロトコルに追加の保護を提供するために使用することができるセキュリティデバイ

スマートカードには以下の機能があります:

  • ユーザー認証の安全な方法

  • 対話型ログオン

  • リモートアクセスログオン

  • 管理者ログイン

  • 安全なコード署名

  • セキュリティで保護された電子メール

ネットワーク環境では、通常、次の目的で使用されます

  • コンピュータへのログオン

  • 電子メールの暗号化

  • EFSによるディスクファイルの暗号化

先に述べたように、スマートカード 認証は、ユーザーがスマートカードを所有している必要があり、ユーザーが個人識別番号(PIN)を知っている必要があるため、非常に強力な認証を提供します。 ログオンに失敗した回数が連続した後に、システムからスマートカードをブロックできます。 これらの機能を有効にするには、スマートカード認証には、コンピュータに接続されているスマートカードリーダーが使用されます。 Windows Server2003では、プラグアンドプレイ(PnP)リーダーを使用することをお勧めします。 スマートカードには、ユーザーのログオン情報、秘密鍵、デジタル証明書、およびその他の個人情報を保持するマイクロプロセッサと永続的なフラッシュメモリが含まれています。 ユーザーがスマートカードリーダーにスマートカードを挿入すると、ユーザーはシステムにログオンするためのPINを提供する必要があります。 スマートカードは、耐タンパー認証を提供するように設計されています。 スマートカードとソフトウェアの秘密鍵の違いは、スマートカードをあるコンピュータからコンピュータに移動できることです。

スマートカードリーダーは、通常、コンピュータのシリアルポート、USBポート、またはPCMCIAポートに接続されています。 Pc、ラップトップコンピュータ、およびPdaにはこれらのポートのいずれかがあるため、スマートカードリーダーはすべてのコンピュータでサポートされています。 スマートカードは、さまざまな形式で利用できます。 大半はしかし、クレジットカードに似ています。 より高度なスマートカードは磁気を利用します。 これが意味することは、外部の連絡先を持つ必要がないということです。 一般的な形式は、USBポートに収まることができるドングルです。 ここから、暗号化サービスプロバイダー(CSP)によってアクセスされます。 ドングルの形態は特別な読者を必要としません。 フォームの没落は、それが従来のスマートカードのフォームよりも約四倍高価であるということです。 スマートカード実装のインストールは複雑で高価になる可能性がありますが、別の困難なプロセスは、使用するベンダーを決定することです。 GemplusとSchlumbergerのスマートカード製品のドライバは、実際にはオペレーティングシステムに組み込まれています。

スマートカードの展開に関する考慮事項

スマートカードによる認証は、Windows2000およびWindows Server2003でサポートされていますが、公開キー基盤(PKI)に依存しています。 スマートカード認証を実装するには、PKIが存在する必要があります。 スマートカードに基づく認証には、エンタープライズ証明機関(CA)を使用することをお勧めします。 スタンドアロンCaおよび外部CAエンティティは、スマートカード認証での使用は推奨されません。

スマートカードテクノロジを提供するベンダーは非常に多くありますが、Windows Server2003ではオンプラグアンドプレイスマートカードリーダーはサポートされていません。 ベンダーがWindows Server2003で動作できるプラグアンドプレイ以外のスマートカードリーダーを提供している場合でも、パーソナルコンピュータ/スマートカード(PC/SC)準拠のスマー PKIの実装に加えて、各コンピュータにはスマートカードリーダーが必要です。

コストは常に重要な要素であるため、スマートカードの実装を管理するコストに影響を与える要因として、以下に示す要因を考慮することができます:

  • スマートカードプログラムを使用するユーザーの数だけでなく、これらの特定のユーザーが配置されています。

  • ユーザーがスマートカードを発行しようとしている方法。 ユーザー idを検証するための要件も含める必要があります。

  • ユーザーが発行されたスマートカードを紛失または損傷したときに使用する手順。

スマートカード認証ソリューションを計画するときは、使用する認証方法とログオン方法を定義する必要があります。 これには以下が含まれます:

  • 実装しようとしている認証戦略を識別します。

  • PKIの依存関係。

  • スマートカードの展開の問題。

スマートカード実装用のPKIの準備

前述のように、スマートカードはPKIの実装に依存しています。 スマートカードでは、スマートカードを使用した認証を許可するユーザーを管理するための証明書が必要です。 証明書は、ユーザー、アプリケーション、コンピューター、およびサービスのidを検証するために使用され、電子メールのセキュリティ保護、Webおよびアプリケーションコード 認証局(CA)は、ユーザーおよびその他のエンティティに証明書を発行します。

通常、証明書には次の情報が含まれます:

  • 証明書のシリアル番号

  • ユーザーを識別する情報。

  • 証明書を発行したCAを識別する情報。

  • ユーザーの公開鍵

  • 証明書の有効期間

  • 発行元CAサーバーの識別名

スマートカードをサポートするPKIの機能は、Windows PKI実装の魅力的な機能です。 スマートカードを実装するには、最初の手順の1つとして、環境内のサーバーに証明書サービスをインストールし、サーバーをエンタープライズCAとして構成します。 その後、組織内でスマートカードを使用できるようにするために、3つの証明書テンプレートを作成する必要があります。 証明書テンプレートは、使用目的に基づいて発行される証明書の内容と形式を指定する一連のルールと設定として定義できます。 Pki実装内のCaで証明書テンプレートを構成します。 証明書テンプレートは、ユーザーがCAに証明書を要求したときに適用されます。 Windows Server2003enterprise Caのみが、Active Directoryに格納されている証明書テンプレートを使用して、ユーザーとコンピュータ用の証明書を作成します。

スマートカードを実装するには、次の3つの証明書テンプレートを作成する必要があります:

  • 登録エージェント証明書:この証明書テンプレートを使用すると、Windows Server2003コンピュータを登録ステーションとして使用できます。 Enrollment stationは、スマートカードユーザーに証明書を作成して発行します。

  • スマートカードログオン証明書:この証明書テンプレートを使用すると、ユーザーはスマートカードを使用して認証できます。

  • スマートカードのユーザー証明書: この証明書テンプレートを使用すると、ユーザーは認証後に電子メールを保護できます。

スマートカードの実装

組織でスマートカードソリューションを実装するための一般的な手順を以下に示します。 実際の手順は、スマートカードがPKIで使用される方法によって決まります:

  • 登録ステーションの構成

  • CAおよびActive Directoryに必要な証明書テンプレートを定義します。

  • スマートカードを発行する登録エージェントの定義

  • スマートカードの準備

  • ユーザーのためのスマートカードへの証明書の発行

  • スマートカード認証を受け入れるようにリモートアクセスサーバーを構成する

  • コンピュータ証明書のサーバーを登録する

スマートカードで使用される証明書テンプレートは、既定ではエンタープライズCAにインストールされないため、これらの証明書テンプレートを構成するには、証明機関コンソールを使用する必要があります。 これに加えて、証明書テンプレートの正しいアクセス許可をユーザーに割り当てる必要があります。 証明書テンプレートのアクセス許可を変更するには、フォレストルートドメインのDomain Adminsグループのメンバーであるか、Enterprise Adminsグループのメンバーである必要があ

証明書テンプレートに権限を設定する方法

  1. “開始”、”実行”をクリックし、”certtmpl”と入力します。mscの実行ダイアログボックス。 [OK]をクリックします。

  2. アクセス許可を変更する証明書を見つけて右クリックし、ショートカットメニューのプロパティをクリックします。

  3. [セキュリティ]タブをクリックします。

  4. 特定の証明書テンプレート、読み取りおよび登録のアクセス許可に基づいて証明書を要求する必要があるユーザーおよびグループを割り当てます。

  5. [OK]をクリックします。

Windows Server2003に含まれている証明書サーバーには、ユーザーに証明書を配布するために使用できるスマートカード登録ステーションが含まれています。 Smart card enrollment stationを使用して、ユーザーの代わりにスマートカード証明書を要求できます。 これにより、ユーザーのスマートカードにプリインストールすることができます。 ユーザーが証明書を要求する前に、証明書を作成するために登録ステーションを準備する必要があります。 スマートカード証明書を発行するためにCAを準備する最初の手順は、登録エージェント証明書を作成することです。

登録エージェント証明書の作成方法

  1. “開始”、”管理ツール”をクリックし、”証明機関”をクリックします。

  2. コンソールツリーで、証明機関、<サーバー名>、および証明書テンプレートを展開します。

  3. [新規]をクリックし、[アクション]メニューから[発行する証明書]をクリックします。

  4. 登録エージェントテンプレートを選択します。 [OK]をクリックします。

  5. [アクション]メニューで、[新規]をクリックし、[アクション]メニューから発行する証明書をクリックします

    • ユーザー認証用の証明書を作成する場合は、スマートカードログオン証明書テンプレートを選択します。 [OK]をクリックします。

    • ユーザ認証用およびユーザ情報の暗号化用の証明書を作成する場合は、スマートカードのユーザ証明書テンプレートを選択します。 [OK]をクリックします。

  6. これで、証明書テンプレートがコンソールウィンドウに表示されます

  7. 証明機関コンソールを閉じます。

スマートカード証明書登録ステーションを作成する方法

  1. マシンにログオンする

  2. “開始”、”実行”をクリックし、”実行”ダイアログボックスにmmcと入力します。 [OK]をクリックします

  3. ファイルメニューから、スナップインの追加/削除をクリックし、追加をクリックします。

  4. 証明書スナップインをダブルクリックします。 [OK]をクリックします。

  5. [閉じる]をクリックします。

  6. [証明書]スナップインで、[証明書]、[現在のユーザー]、[個人]の順に展開します。

  7. [すべてのタスク]を選択し、[アクション]メニューから[新しい証明書を要求]を選択します。

  8. 証明書要求ウィザードが起動したら、”次へ”をクリックします。

  9. [証明書の種類]ページが開いたら、[登録エージェント]をクリックし、[次へ]をクリックします。

  10. [証明書のフレンドリ名と説明]ページで、証明書の説明を入力します。 [次へ]をクリックします。

  11. [概要]ページが開いたら、[完了]をクリックします。

スマートカードを利用するようにユーザーを設定するには、すべてのユーザーワークステーション用のスマートカードリーダの購入とインストールが含まれます。 プラグアンドプレイ対応のスマートカードリーダーのインストールは、通常、単純なハードウェアのインストールです。

Windows XPおよびWindows Server2003でサポートされているスマートカードリーダーを以下に示します。

  • American Express, GCR435 – USB port

  • Bull, SmarTLP3 – serial port

  • Compaq, Serial reader – serial port

  • Gemplus, GCR410P – serial port

  • Gemplus, GPR400 – PCMCIA port

  • Gemplus, GemPC430 – USB port

  • Hewlett-Packard, ProtectTools, – serial port

  • Litronic, 220P, – serial port

  • Schlumberger, Reflex 20 – PCMCIA port

  • Schlumberger, Reflex 72 – serial port

  • Schlumberger, Reflex Lite – serial port

  • SCM Microsystems, SCR111 – serial port

  • SCM Microsystems, SCR120 – PCMCIA port

  • SCM Microsystems, SCR200 – serial port

  • SCM Microsystems, SCR300 – USB port

  • Systemneeds, External – serial port

  • Omnikey AG, 2010 – serial port

  • Omnikey AG, 2020 – USB port

  • Omnikey AG, 4000 – PCMCIA port

Some smart card リーダーのドライバーはwindows Server2003にプリインストールされていますが、他のドライバーはプリインストールされていません。 スマートカードリーダーをシリアルポートまたはUSBポートに接続すると、スマートカードリーダーをコンピュータにインストールできます。 ノートパソコンの場合は、スマートカードリーダーをPCMCIAスロットに挿入します。

スマートカードリーダーをインストールした後、登録ステーションを次のタスクに使用する必要があります:

  • ユーザーのスマートカード用のスマートカードログオンまたはユーザー証明書をインストールします。

  • ユーザーの初期PINを設定します。

スマートカードリーダーがインストールされている場合、次の手順では、ユーザーにスマートカード証明書を発行します。 このプロセスは登録と呼ばれます。 ユーザーを登録し、スマートカードを使用してユーザーを発行する前に、次の点についてユーザーに教育する必要があります:

  • ユーザーは、スマートカードの内部機構を損傷する可能性があるため、スマートカードを曲げることを控える必要があります。

  • ユーザーは、外部のスマートカードチップを傷やへこみから保護する必要があります。 スマートカードリーダーは、このように損傷した場合、カードに保存されている情報を読み取ることができない可能性があります。

  • ユーザーは、スマートカードを涼しい乾燥した場所に保管し、クレジットカードなどの他の磁気源から安全に保管する必要があります。 過度の高温は、スマートカードが脆く壊れやすくなる可能性があります。

スマートカードユーザーを登録するには,

  1. ユーザーアカウントを含むドメインの登録エージェント証明書テンプレートで必要な権限を持つユーザーアカウントを使用してワークステーションにアクセ

  2. Internet Explorerを開き、http://CAserver name/certsrvと入力してCAにアクセスします。

  3. “ようこそ”ページで、”証明書の要求”をクリックします

  4. [証明書の要求]ページで、[詳細な証明書の要求]をクリックします。

  5. [証明書の詳細要求]ページで、[別のユーザーに代わってスマートカードの証明書を要求する]オプションを選択します。

  6. スマートカード証明書の登録ステーションページで、次のいずれかを作成することを選択します:

    • スマートカードログオン証明書

    • スマートカードのユーザー証明書

  7. [認証局Certificate Authority]リストボックスで、スマートカード証明書を発行するドメインのCAの名前を選択します。

  8. 暗号化サービスプロバイダリストボックスに、スマートカードに使用しているベンダーの名前を入力します。

  9. [Administrator Signing Certificate]ボックスに、証明書の登録要求に署名する登録エージェント証明書の名前を入力します。 [次へ]をクリックします。

  10. [登録するユーザー]ページで、[ユーザーの選択]をクリックして、スマートカード証明書を作成するユーザーアカウントを検索し、[登録]をクリックします。

  11. ユーザーのスマートカードをスマートカードリーダーに配置し、”OK”をクリックします。

  12. スマートカードの最初のPINの入力に進みます。

  13. [証明書の表示View Certificate]をクリックして、指定したユーザーに証明書が発行されたことを確認します。

Windows2000またはWindows Server2003リモートアクセスサーバーでは、スマートカードログオンがサポートされています。 これらのサーバーのスマートカードログオンを有効にするには、Extensible Authentication Protocol(EAP)を使用するようにRRASサービスを構成する必要があります。 次に、EAP方式としてスマートカードログオンを指定する必要があります。

スマートカードログオン用にWindows2000またはWindows Server2003リモートアクセスサーバーを構成するには,

  1. 管理ToosからRRASコンソールを開きます。

  2. スマートカードログオンを受け入れるリモートアクセスサーバーのプロパティダイアログボックスを開きます。

  3. [セキュリティ]タブをクリックします。

  4. “Windows認証”をクリックし、”認証方法”をクリックします。

  5. Extensible Authentication Protocol(EAP)オプションを選択して下さい。

  6. [EAP方式]をクリックします。

  7. 使用可能なリストを使用して、スマートカードまたはその他の証明書を検索してダブルクリックします。 [OK]をクリックします。

  8. 他の認証オプションの選択を解除する手順に進みます。 [OK]をクリックします。

  9. サーバーのプロパティダイアログボックスで、OKをクリックします。

  10. RRASコンソールで、コンソールツリーでリモートアクセスポリシーを探します。

  11. ダイヤルインのアクセス許可が有効になっている場合は、[アクセスを許可]をダブルクリックします。

  12. プロパティダイアログボックスを開いたら、プロファイルの編集をク

  13. “認証”タブをクリックします。

  14. [EAP方式]をクリックします。

  15. EAPプロバイダーの選択ダイアログボックスが開いたら、追加をクリックします。

  16. [EAPの追加Add EAP]ダイアログボックスで、[スマートカードまたはその他の証明書]オプションを選択します。

  17. [OK]をクリックします。

  18. EAPプロバイダーの選択ダイアログボックスで、編集をクリックします。

  19. スマートカードまたはその他の証明書のプロパティダイアログボックスが表示されたら、[証明書発行先]ボックスで、特定のサーバーに発行されたコンピュー

  20. [OK]をクリックし、開いているすべてのダイアログボックスを閉じます。

グループポリシーで特定のポリシー設定を有効にすると、環境でのスマートカード管理の簡素化に役立ちます:

  • アカウントロックアウトのしきい値:このポリシーの設定を使用して、スマートカード認証プロセスをパスワード攻撃から保護できます。

  • スマートカードデバイスリダイレクトを許可しない:有効にすると、ユーザーはスマートカードを使用してターミナルサービスサーバーにログオンできません。

  • スマートカードの削除時:この設定を使用して、ユーザーが無人アクティブセッションを実行しないようにすることができます。 これらの設定を使用して、スマートカードリーダーからスマートカードを削除するときにユーザーのセッションをロックするか、ログオフするかを指定します。

  • 対話型ログオンに必要なスマートカード:有効にすると、ユーザーはスマートカード認証を使用してローカルコンピュータにのみログオンできます。 ユーザーは、ユーザーアカウントを使用し、ログオンするためのユーザー名とパスワードの資格情報を提供することはできません。

コメントを残す

メールアドレスが公開されることはありません。