Jump to content

CRAM-MD5

В криптографии (CRAM) , CRAM-MD5 представляет собой механизм аутентификации запрос-ответ основанный на алгоритме HMAC-MD5 . Как один из механизмов, поддерживаемых простым уровнем аутентификации и безопасности (SASL), он часто используется в программном обеспечении электронной почты как часть аутентификации SMTP и для аутентификации пользователей POP и IMAP , а также в приложениях, реализующих LDAP , XMPP , BEEP. и другие протоколы.

Когда такое программное обеспечение требует аутентификации по незашифрованным соединениям, CRAM-MD5 предпочтительнее механизмов, которые передают пароли «в открытом виде», таких как LOGIN и PLAIN. Однако он не может предотвратить получение пароля путем грубой атаки , поэтому он менее эффективен, чем альтернативные механизмы, которые избегают паролей или используют соединения, зашифрованные с помощью Transport Layer Security (TLS).

Протокол

[ редактировать ]

Протокол CRAM-MD5 включает один цикл запроса и ответа и инициируется сервером:

  1. Задача: сервер отправляет Base64 клиенту строку в кодировке . До кодирования это может быть любая случайная строка, но стандарт, определяющий в настоящее время CRAM-MD5, гласит, что она имеет формат Message-ID значение заголовка электронного письма (включая угловые скобки ) и включает произвольную строку случайных цифр, временную метку сервера и полное доменное имя .
  2. Ответ: Клиент отвечает строкой, созданной следующим образом.
    1. Задача декодируется в формате Base64.
    2. Декодированный запрос хешируется с использованием HMAC-MD5 с общим секретом (обычно паролем пользователя или его хешем) в качестве секретного ключа.
    3. Хешированный запрос преобразуется в строку шестнадцатеричных цифр нижнего регистра.
    4. Имя пользователя и пробел добавляются к шестнадцатеричным цифрам.
    5. Затем объединение кодируется в формате Base64 и отправляется на сервер.
  3. Сравнение: Сервер использует тот же метод для вычисления ожидаемого ответа. Если данный ответ и ожидаемый ответ совпадают, аутентификация прошла успешно.

Сильные стороны

[ редактировать ]

Односторонний хэш и новый случайный вызов обеспечивают три типа безопасности:

  • Другие не могут дублировать хэш, не зная пароля. Это обеспечивает аутентификацию.
  • Другие не могут воспроизвести хэш — это зависит от непредсказуемости задачи. Это по-разному называется свежестью или предотвращением повторов .
  • Наблюдатели не запоминают пароль; это называется секретность.

Слабые стороны

[ редактировать ]
  • Нет взаимной аутентификации : клиент не проверяет сервер. Однако аутентификация SASL обычно выполняется через соединение TLS , которое проверяет подлинность сервера.
  • Слабое хранение паролей: некоторые реализации требуют доступа к открытым текстовым паролям пользователей, в то время как другие (например, Dovecot ) используют промежуточный этап процесса HMAC для хранения MD5 -хеша пароля (строго говоря, о внутренних переменных HMAC i_key_pad и o_key_pad). . [1] [2] В таких реализациях для вычисления md5(something_with_64_bytes || Something_else) необходимо знать только md5_internal(something_with_64_bytes) и Something_else (из-за использования Меркла-Дамгорда в MD5; md5_internal — это md5 без последнего блока). Поскольку i_key_pad и o_key_pad находятся в начале внутреннего и внешнего хеша HMAC и имеют длину 64 байта, этот факт можно использовать.
  • Угроза обратимости: автономная атака по словарю для восстановления пароля возможна после перехвата успешного обмена протоколом CRAM-MD5 (например, с использованием Cain & Abel ). Эта угроза неизбежна в любой схеме хеширования паролей, но более современные алгоритмы используют растяжение ключей для увеличения стоимости атаки в тысячу и более раз. И наоборот, дайджесты CRAM-MD5 могут быть рассчитаны с использованием очень небольшого количества вычислительных ресурсов на выделенном оборудовании или даже на стандартных процессорах .
  • Возможность прокси: в отличие от схемы соглашения о ключах с аутентификацией паролем (PAKE), CRAM-MD5 не устанавливает секрет, общий для двух конечных точек, но неизвестный перехватчику. Таким образом, активный человек посередине может открыть соединение с сервером, принять вызов, предложить этот вызов клиенту, получить ответ клиента и переслать этот ответ на сервер. Теперь он может отбрасывать дальнейшие сообщения клиента, одновременно выдавая себя за клиента на сервере.

Стандарты

[ редактировать ]

CRAM-MD5 определяется документом RFC 2195, отслеживающим стандарты IETF , который заменяет RFC 2095, вышедший ранее в 1997 году. Эти де-факто стандарты определяют CRAM-MD5 как метод аутентификации для протоколов управления почтовыми ящиками электронной почты POP и IMAP .

CRAM-MD5 — это один из методов аутентификации, поддерживаемых простым уровнем аутентификации и безопасности (SASL), определенным в 2006 году в RFC 4422, который заменяет стандарт RFC 2222 1997 года.

Управление по присвоению номеров Интернета (IANA) ведет реестр механизмов SASL. [3] включая CRAM-MD5, для ограниченного использования.

CRAM-MD5 необходим для ретрансляции почты по требованию (ODMR), определенной в RFC 2645.

Устаревший

[ редактировать ]

20 ноября 2008 года было рекомендовано объявить стандарт устаревшим. В качестве альтернативы вместо него рекомендуется, например, SCRAM или SASL Plain, защищенный TLS . [4]

См. также

[ редактировать ]
  1. ^ «функция проверки_кредитных данных» . Исходный код Dovecot 2.0 . Проверено 23 января 2014 г.
  2. ^ «файл hmac-md5.c» . Исходный код Dovecot 2.0 . Проверено 23 января 2014 г.
  3. ^ «Простые механизмы аутентификации и безопасности (SASL)» . Реестры протоколов . ИАНА .
  4. ^ Зейленга < [email protected] >, Курт. «CRAM-MD5 в исторический» . www.tools.ietf.org . Проверено 5 декабря 2020 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 8d0d5ab07949130bcd335423f0ee75b1__1684087200
URL1:https://arc.ask3.ru/arc/aa/8d/b1/8d0d5ab07949130bcd335423f0ee75b1.html
Заголовок, (Title) документа по адресу, URL1:
CRAM-MD5 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)