Simple Authentication and Security Layer
Simple Authentication and Security Layer(SASL)は、インターネットプロトコルにおける認証とデータセキュリティのためのフレームワークである。アプリケーションプロトコルから認証機構を分離することを可能にし、理論上はSASLでサポートする任意の認証機構を任意のアプリケーションプロトコルで使うことができる。あるユーザーが別の者のアイデンティティを仮定できる「プロキシ認証」もサポートできる。データ一貫性/データ機密性サービスを提供する「データセキュリティ層」も提供できる。データセキュリティ層を提供する機構の例として DIGEST-MD5 がある。SASLをサポートするアプリケーションプロトコルは、Transport Layer Security (TLS) もサポートしてSASLの提供するサービスを補完するのが一般的である。
SASLは、カーネギーメロン大学の John Gardiner Myers が RFC 2222 としてまとめたのが最初である。この文書は Alexey Melnikov と Kurt Zeilenga が編集した RFC 4422 で既に置換されている。
SASLはIETFのインターネット標準の標準化過程にあり、現在は「標準化への提唱」の段階である。
SASL機構
SASL機構は、一連の要求と応答でモデル化されている。定義済みのSASL機構[1]としては、以下のものがある。
- "EXTERNAL" - 認証は流れの中で暗黙のうちに行われる(例えば、IPsecやTLSを既に使っているプロトコル)。
- "ANONYMOUS" - 認証しないゲストアクセス用。
- "PLAIN" - 単純な平文のパスワード機構。LOGIN機構はPLAINで代替された。
- "OTP" - ワンタイムパスワード機構。OTPはSKEY機構で代替された。
- "SKEY" - S/KEY機構。
- "CRAM-MD5" - HMAC-MD5をベースとした単純な要求-応答方式。
- "DIGEST-MD5" - MD5をベースとしたHTTPダイジェスト互換の要求-応答方式。データセキュリティ層を提供。
- "NTLM" - NT LAN Manager の認証機構。
- "GSSAPI" - GSSAPIによる Kerberos V5 認証。データセキュリティ層を提供。
- GateKeeperとGateKeeperPassport - マイクロソフトが MSN Chat 向けに開発した要求-応答機構。
SASL機構として任意のGSSAPI機構をサポートすることが予定されている。
SASL対応アプリケーションプロトコル
SASL対応のアプリケーションプロトコルは、SASLのやり取りを「プロファイル」として定義している。また、"ldap" のような「サービス名」を持ち、GSSAPIとKerberosのレジストリで共用する[2]。SASLを既にサポートしているプロトコルとしては、AMQP、BEEP、IMAP、LDAP、IRCX、POP、SMTP、IMSP、ACAP、ManageSieve、XMPP などがある。
関連項目
- Transport Layer Security (TLS)
外部リンク
- RFC 4422 - Simple Authentication and Security Layer (SASL) - obsoletes RFC 2222
- RFC 4505 - Anonymous Simple Authentication and Security Layer (SASL) Mechanism - obsoletes RFC 2245
- The IETF SASL Working Group - SASLの改訂とGSSAPI機構の開発を行っている。
- CMU SASL Information
- Cyrus SASL - フリーかつ移植性の高いSASLライブラリ。
- GNU SASL - フリーかつ移植性の高いSASLユーティリティとライブラリ。GNU GPLv3(ユーティリティ)と LGPLv2.1 (ライブラリ)でライセンスされている。
- Dovecot SASL - 現在成長中のSASL実装
- RFC 2831 - Using Digest Authentication as a SASL Mechanism