第1章 システム認証について

セキュアなネットワーク環境を確立するための第一歩は、ネットワークへのアクセス権限を持つユーザーにアクセスを限定することです。アクセスが許可されるとユーザーはシステムに対して 認証 することができます。つまり、ユーザー自身の ID を実証できることになります。
Red Hat Enterprise Linux システムでは、ユーザー ID の作成や識別に利用可能な異なるサービスが多数あります。このようなサービスには、ローカルシステムファイルのほか、Kerberos または Samba などの大型の ID ドメインに接続するサービス、あるいはこのようなドメインを作成するツールなどがあります。
本ガイドでは、ローカルシステムで管理者が認証およびアイデンティティーの管理に利用できる一般的なシステムサービスとアプリケーションについて説明しています。「creating Linux domains」「integrating a Linux system into a Windows domain」についての詳細情報は、個別のガイドが用意されています。

1.1. ユーザー ID の確認

認証 とは、ID を確認するプロセスのことです。ネットワークの対話では、一方が他方を特定することで認証が行われます。ネットワーク上での認証には多くの方法があります。簡単なパスワードや証明書、ワンタイムパスワード (OTP) トークンや生体認証スキャンなどです。
一方で 承認 では、認証された関係者が許可される動作やアクセスを定義します。
認証においては、ユーザーが自身の ID を証明するためになんらかの 認証情報 を提示することが求められます。求められる認証情報の種類は、使用される認証メカニズムによって定義されます。システム上のローカルユーザーは、以下のような認証が利用できます。
  • パスワードベースの認証 ほとんどすべてのソフトウェアでは、ユーザーが提供する名前とパスワードによる認証を許可しています。これは 簡易認証 とも呼ばれます。
  • 証明書ベースの認証 証明書をベースとしたクライアントの認証は、SSL プロトコルの一部です。クライアントはランダムに生成されたデータにデジタル処理で署名し、証明書と証明済みのデータをネットワーク経由で送信します。サーバーは署名を確認して証明書の有効性を確認します。
  • Kerberos 認証 Kerberos は ticket-granting tickets (TGT) と呼ばれる短期の認証情報システムを確立します。ユーザーがユーザー名とパスワードという認証情報を提示することでユーザーが特定され、このユーザーにチケットを発行可能であることをシステムに対して示します。TGT はその後、Web サイトや電子メールなどの他のサービスへのアクセスチケットを要求する際に繰り返し使用することができます。このように TGT を使用した認証では、ユーザーの認証プロセスは一度で済みます。
  • スマートカードベースの認証 これは証明書ベースの認証とわずかに異なるものです。スマートカード (または トークン) にはユーザーの証明書が保存されています。ユーザーがトークンをシステムに挿入すると、システムは証明書を読み取り、アクセスを許可することができます。スマートカードを使ったシングルサインオンには、以下の 3 つのステップがあります。
    1. ユーザーがスマートカードをカードリーダーに差し込みます。PAM (プラグ可能な認証モジュール) が差し込まれたスマートカードを検出します。
    2. システムが証明書をユーザーエントリーにマッピングし、スマートカード上で提示された証明書とユーザーエントリーで保存されている証明書を比較します。前者は、証明書ベースの認証で説明されている秘密鍵で暗号化されています。
    3. 証明書がキー配布センター (KDC) に対して正常に確認されると、ユーザーはログインを許可されます。
    スマートカードベースの認証は、Kerberos によって確立された簡易認証の層に物理的アクセス要件と認証情報を新たな識別メカニズムとして追加することで構築されます。