暗号学において、CRAM-MD5はHMAC-MD5アルゴリズムに基づくチャレンジレスポンス認証メカニズム(CRAM)です。SASL(簡易認証およびセキュリティ層)でサポートされているメカニズムの1つとして、電子メールソフトウェアのSMTP認証の一部として、 POPおよびIMAPユーザーの認証によく使用されます。また、LDAP、XMPP、BEEPなどのプロトコル を実装したアプリケーションでも使用されます
このようなソフトウェアが暗号化されていない接続での認証を必要とする場合、パスワードを「平文」で送信する や などのメカニズムよりも CRAM-MD5 が推奨されますLOGIN。ただし、ブルートフォース攻撃PLAINによるパスワードの導出を防ぐことはできないため、パスワードを使用しない代替メカニズムや、トランスポート層セキュリティ(TLS) で暗号化された接続を使用する代替メカニズムよりも効果は低くなります。
CRAM-MD5プロトコルは、単一のチャレンジとレスポンスのサイクルで構成され、サーバーによって開始されます
Message-ID電子メールヘッダー値(山括弧を含む)の形式であり、任意のランダムな数字の文字列、タイムスタンプ、サーバーの完全修飾ドメイン名を含むことが規定されています。一方向ハッシュとフレッシュランダムチャレンジは、3種類のセキュリティを提供します
CRAM-MD5は、1997年初頭のRFC 2095に取って代わるIETF標準化過程文書RFC 2195で定義されています。これらの事実上の標準は、CRAM-MD5を電子メールメールボックス管理プロトコルであるPOPおよびIMAPの認証方法として定義しています
CRAM-MD5 は、1997 年の標準 RFC 2222 に代わる RFC 4422 で 2006 年に定義された、 Simple Authentication and Security Layer (SASL)でサポートされている認証方法の 1 つです。
インターネット割り当て番号機関(IANA)は、限定的な使用のためにCRAM-MD5を含む SASLメカニズムのレジストリ[ 3 ]を管理しています。
CRAM-MD5 は、RFC 2645 で定義されている オンデマンド メール リレー(ODMR)に必要です。
2008年11月20日にこの標準を廃止することが推奨されました。代替案として、TLSで保護されたSCRAMやSASL Plainなどが推奨されています。[ 4 ]