認証パッケージ
認証パッケージ は、ダイナミック リンク ライブラリに含まれています。 ローカル セキュリティ機関 (LSA) は、レジストリに格納されている構成情報を使用して認証パッケージを読み込みます。 複数の認証パッケージを読み込むと、LSA は複数のログオン プロセスと複数の セキュリティ プロトコルをサポートできます。
ログオン プロセスでは、認証パッケージを使用してログオン データを分析します。 必要なログオン データを収集する GINA を追加し、必要に応じて新しい認証パッケージを追加してデータを分析することで、新しいログオン プロセスがシステムに追加されます。
セキュリティ プロトコルは、認証パッケージによって実装されます。 認証パッケージは、セキュリティ プロトコルに記載されている規則と手順に従ってログオン データを分析します。
認証パッケージは、次のタスクを担当します。
- ログオン データを分析して、 セキュリティ プリンシパル がシステムへのログオンを許可されているかどうかを判断します。
- 新しい ログオン セッション を確立し、正常に認証されたプリンシパルの一意の ログオン識別子 を作成します。
- プリンシパルのセキュリティ トークンの LSA にセキュリティ情報を渡す。
ユーザーが対話型ログオンを試みると、LSA は認証パッケージを呼び出して、ユーザーのログオンを許可するかどうかを判断します。 たとえば、MSV1_0は、Microsoft Windows オペレーティング システムと共にインストールされる認証パッケージです。 MSV1_0 パッケージは、ユーザー名と ハッシュされた パスワードを受け入れます。 Security Accounts Manager (SAM) データベースでユーザー名とハッシュされたパスワードの組み合わせを検索します。 ログオン データが格納されている 資格情報と一致する場合、認証パッケージはログオンの成功を許可します。
セキュリティ プリンシパルの資格情報を正常に認証した後、認証パッケージは、プリンシパルの新しい LSA ログオン セッションを作成し、ログオン セッションを一意に識別するログオン識別子を割り当てる役割を担います。 認証パッケージは、以降の認証要求に対して資格情報をログオン セッションに関連付けることができます。 たとえば、MSV1_0認証パッケージ (Microsoft が提供) は、ユーザー アカウント名とユーザーのパスワードのハッシュを各ログオン セッションに関連付けます。
認証パッケージには、セキュリティ識別子 (SID) のセットと、LSA によって作成された セキュリティ トークンに含めるのに適したその他の情報も用意されています。 このトークンは、Windows 操作にアクセスするためのプリンシパルのセキュリティ コンテキスト を表します。
ログオン セッションが作成され、プリンシパルに関連付けられた後、プリンシパルに代わって行われた後続の認証要求は、最初のログオンとは異なる方法で処理されます。 認証パッケージは、新しいログオン セッションを作成したり、トークンを作成するための情報を返したりすることはありません。 ただし、認証パッケージでは、後続の認証中に取得した 補足資格情報 をプリンシパルの既存のログオン セッションに関連付けることができます。 要求されたリソースへのアクセスに、最初のログオンによって確立された資格情報を超える情報が必要な場合、補足資格情報が取得されます。 たとえば、ログオン ユーザーが Novell ネットワーク ログオンを要求すると、Novell 固有の認証パッケージを呼び出し、Novell 固有の資格情報を認証してログオン セッションに関連付けることができます。 これらの資格情報は、ユーザーが Novell ネットワークにアクセスするときに、Novell リダイレクター (Novell 認証パッケージを使用) によって参照できます。
次のトピックでは、さまざまな種類の 認証パッケージについて説明します。