Simple Authentication and Security Layer

Simple Authentication and Security LayerSASL)は、インターネットプロトコルにおける認証データセキュリティのためのフレームワークである。アプリケーションプロトコルから認証機構を分離することを可能にし、理論上は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" - 認証は流れの中で暗黙のうちに行われる(例えば、IPsecTLSを既に使っているプロトコル)。
  • "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を既にサポートしているプロトコルとしては、AMQPBEEPIMAPLDAPIRCXPOPSMTPIMSPACAP、ManageSieve、XMPP などがある。

関連項目 編集

外部リンク 編集

  • 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