RFC 4513 - Lightweight Directory Access Protocol (LDAP): 認証方法とセキュリティメカニズム
- ステータス: Proposed Standard
- 発行日: June 2006
- ストリーム: IETF
- 廃止: RFC2251, RFC2829, RFC2830
- エラッタ: エラッタなし
概要
このドキュメントでは、Lightweight Directory Access Protocol (LDAP) の認証方法とセキュリティメカニズムについて説明します。このドキュメントでは、StartTLS 操作を使用した Transport Layer Security (TLS) の確立について詳しく説明します。
このドキュメントでは、匿名、未認証、名前/パスワードメカニズムを含むシンプルバインド認証方法 (Simple Bind) と、EXTERNAL メカニズムを含む Simple Authentication and Security Layer (SASL) バインド認証方法 (SASL Bind) について詳しく説明します。
1. はじめに
LDAP は、データの機密性と整合性の保護を提供するために、StartTLS 操作を介した Transport Layer Security (TLS) [RFC4346] の確立をサポートしています。
LDAP は、主に Bind 操作を介して行われる複数の認証方法をサポートしています。認証方法には以下が含まれます。
- Simple Authentication: 平文パスワード (またはパスワードなし) に基づきます。
- SASL Authentication: SASL フレームワークを使用して、複数の認証メカニズム (DIGEST-MD5, GSSAPI, EXTERNAL など) をサポートします。
3. StartTLS 操作
StartTLS 操作により、LDAP クライアントとサーバーは、既存の LDAP 接続上で TLS レイヤーをネゴシエートできます。
3.1 TLS 確立手順
- クライアントは StartTLS 要求を送信します。
- サーバーは StartTLS 応答 (成功または失敗) を送信します。
- 成功した場合、双方は直ちに TLS ハンドシェイクを開始します。
- TLS ハンドシェイクが完了すると、後続の LDAP メッセージは TLS 保護下で送信されます。
3.1.3 サーバーの本人確認
クライアントは、サーバーの本人確認を行う必要があります (MUST)。通常、サーバー証明書のサブジェクト名 (subjectName) またはサブジェクト代替名 (subjectAltName) が、クライアントが接続しようとしているホスト名と一致するかどうかを確認することによって行われます。
4. 認可状態
LDAP セッションには認可状態があり、これによりクライアントが実行を許可される操作が決まります。
- 初期状態は通常、匿名です。
- 成功した Bind 操作は、認可状態を変更します。
- StartTLS 操作自体は認可状態を変更しませんが、SASL EXTERNAL メカニズムを介して後続の Bind に間接的に影響を与える可能性があります。
5. Bind 操作
Bind 操作は、クライアントとサーバー間の認証状態を確立するために使用されます。
5.1 シンプル認証方法 (Simple Authentication Method)
シンプル認証方法には3つのメカニズムがあります。
- 匿名認証 (Anonymous): 名前とパスワードの両方が空です。
- 未認証認証 (Unauthenticated): 名前はありますが、パスワードは空です。認証なしでユーザーを識別するために使用されます (通常はログ記録用)。
- 名前/パスワード認証 (Name/Password): DN とパスワードを提供します。注意: TLS または IPsec で保護されていない限り、パスワードは平文で送信されるため、安全ではありません。
5.2 SASL 認証方法 (SASL Authentication Method)
SASL [RFC4422] は、複数の認証メカニズムをサポートするためのフレームワークを提供します。
- LDAP は、特定の認証方法を識別するために SASL メカニズム名を使用します。
- EXTERNAL メカニズム: 下位層プロトコル (TLS や IPsec など) によって提供されるセキュリティ資格情報を使用して認証を行います。たとえば、クライアント TLS 証明書を LDAP 認可 ID にマッピングできます。
6. セキュリティに関する考慮事項
- Simple Bind のリスク: 平文パスワードは盗聴されやすいです。Simple Bind は常に TLS 保護下で使用する必要があります。
- TLS バージョン: 最新の TLS バージョンを使用する必要があります。
- リプレイ攻撃: 一部の認証メカニズムは、リプレイ攻撃に対して脆弱な場合があります。
注意: この翻訳は参照用です。詳細については RFC 4513 原文 を参照してください。