RFC 6149 MD2 to Historic Status

Internet Engineering Task Force (IETF)                         S. Turner
Request for Comments: 6149                                          IECA
Obsoletes: 1319                                                  L. Chen
Category: Informational                                             NIST
ISSN: 2070-1721                                               March 2011

MD2 to Historic Status

Перевод MD2 в статус Historic

PDF

Аннотация

Этот документ объявляет об отказе от MD2 и объясняет причины этого. Документ переводит RFC 1319 в статус устаревшего (Historic).

Статус документа

Документ не содержит спецификации Internet Standards Track и публикуется с информационными целями.

Документ является результатом работы IETF1 и представляет согласованный взгляд сообщества IETF. Документ прошёл открытое обсуждение и был одобрен для публикации IESG2. Не все документы, одобренные IESG, претендуют на статус стандартов Internet, как указано в разделе 2 в RFC 5741.

Информацию о текущем статусе документа, ошибках и способах обратной связи можно найти по ссылке http://www.rfc-editor.org/info/rfc6149.

Авторские права

Авторские права (Copyright (c) 2011) принадлежат IETF Trust и лицам, указанным в качестве авторов документа. Все права защищены.

К документу применимы права и ограничения, указанные в BCP 78 и IETF Trust Legal Provisions и относящиеся к документам IETF (http://trustee.ietf.org/license-info), на момент публикации данного документа. Прочтите упомянутые документы внимательно. Фрагменты программного кода, включённые в этот документ, распространяются в соответствии с упрощённой лицензией BSD, как указано в параграфе 4.e документа IETF Trust Legal Provisions, без каких-либо гарантий (как указано в Simplified BSD License).

1. Введение

MD2 [MD2] — это алгоритм хэширования сообщений, принимающий на входе сообщение произвольного размера и выдающий 128-битовый «оттиск» (fingerprint) или дайджест сообщения. Этот документ отменяет действие MD2 и переводит RFC 1319 [MD2] в статус устаревшего (Historic). Причины этого рассмотрены ниже.

В [HASH-Attack] приведена свода применения хэширования во многих протоколах и рассмотрено влияние атак на свойства однонаправленности и отсутствия коллизий в алгоритмах хэширования сообщений на протоколы Internet. Предполагается знакомство читателей с этой статьёй.

2. Обоснование

Алгоритм MD2 был опубликован в 1992 г. как Informational RFC. С момента публикации было показано, что MD2 не свободен от коллизий [ROCH1995] [KNMA2005] [ROCH1997], хотя успешные атаки на корректно реализованный MD2 не так критичны. Были продемонстрированы успешные атаки с получением первого и второго прообраза для MD2 [KNMA2005] [MULL2004] [KMM2010].

3. Документы, ссылающиеся на RFC 1319

Использование MD2 было задано в перечисленных ниже RFC:

Proposed Standard (PS):

  • [RFC3279] Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile.

  • [RFC4572] Connection-Oriented Media Transport over the Transport Layer Security (TLS) Protocol in the Session Description Protocol (SDP).

Informational:

  • [RFC1983] Internet Users’ Glossary.

  • [RFC2315] PKCS #7: Cryptographic Message Syntax Version 1.5.

  • [RFC2898] PKCS #5: Password-Based Cryptography Specification Version 2.0.

  • [RFC3447] Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1.

Experimental:

  • [RFC2660] The Secure HyperText Transfer Protocol.

Имеются и другие RFC, ссылающиеся на MD2, но они переведены в статус Historic или отменены последующими RFC. Ссылки и обсуждение таких RFC здесь не приводятся. Исключениями являются:

  • [RFC2313] PKCS #1: RSA Encryption Version 1.5.

  • [RFC2437] PKCS #1: RSA Cryptography Specifications Version 2.0.

4. Влияние перевода MD2 в статус Historic

Влияние перевода MD2 в статус Historic на RFC, указанные в разделе 3, минимально, как указано ниже.

PS RFC:

  • Поддержка MD2 в TLS была прекращена в TLS 1.1.

  • Поддержка MD2 необязательна в [RFC4572] и в качестве предпочтительного указан алгоритм SHA-1.

  • MD2 включён в исходный профиль сертификатов PKIX и документ по алгоритму PKIX [RFC3279] для совместимости со старыми приложениями, но его применение не рекомендуется. В качестве предпочтительного алгоритма для Internet PKI указзан SHA-1.

Informational RFC:

  • В руководстве пользователя Internet [RFC1983] приведено определение Message Digest и алгоритм MD2 указан как пример.

  • В PKCS#1 v1.5 [RFC2313] утверждалось отсутствие известных атак на MD2, но в PKCS#1 v2.0 [RFC2437] это утверждение было исключено и указано, что MD2 следует поддерживать лишь для совместимости с прежними версиями, в также упомянуты атаки [ROCH1995]. В PKCS#1 [RFC3447] указано, что поддержка MD2 сохраняется лишь для совместимости с имеющимися приложениями.

  • В PKCS#5 [RFC2898] рекомендуется не применять для новых приложений схему шифрования на основе пароля (Password-Based Encryption Scheme или PBES) с использованием MD2.

  • Документ PKCS#7 [RFC2315] был заменён серией публикаций Standards Track Cryptographic Message Syntax [RFC2630] [RFC3369] [RFC5652] и Cryptographic Message Syntax (CMS) Algorithms [RFC3370]. Поддержка MD2 отменена в [RFC3370].

RFC 2818 HTTP Over TLS, где нет ссылок на MD2, во многом заменил собой реализацию [RFC2660], где MD2 задан для использования как алгоритм хэширования и кода аутентификации сообщения (MAC или Message Authentication Code) [RFC2104]. Отметим, что это единственная ссылка на HMAC-MD2 в репозитории RFC.

5. Прочие вопросы

MD2 утратил популярность ещё и потому, что он медленней, чем MD4 [MD4] и MD5 [MD5]. Это связано с тем, что MD2 был оптимизирован для 8-битовых машин, а MD4 и MD5 — для 32-битовых. MD2 также медленней стандартных алгоритмов безопасного хэширования (Secure Hash Standard или SHS) [SHS]: SHA-1, SHA-224, SHA-256, SHA-384, SHA-512.

6. Вопросы безопасности

MD2 отличается от MD4 и MD5 тем, что не является прямолинейной схемой Меркля-Дамгаарда (Merkle-Damgaard). Для дополненного сообщения из t блоков создаётся нелинейная контрольная сумма как блок t+1, которая считается финальным входным блоком MD2.

Как подтвердили в 1997 г. Роджер (Rogier) и др. [ROCH1997], свойство устойчивости MD2 к коллизиям сильно зависит от нелинейной контрольной суммы. Без неё коллизию можно найти за 2^12 опреаций MD2, а при наличии контрольной суммы лучшая атака с использованием коллизий требует 2^63.3 операций со сложностью памяти 2^50 [MULL2004], что ненамного лучше атаки с «днями рождения».

Хотя атаки с поиском коллизий в MD2 ненамного мощнее атак с «днями рождения», было показано, что алгоритм MD2 не является необратимым. В работе [KMM2010] можно найти прообраз за 2^104 операций MD2. В улучшенной атаке из [KMM2010] для нахождения прообразу требуется уже 2^73 операций MD2. Из-за такой «обратимости» MD2 алгоритм может приводить к утечке информации о ключе в случае использования MD2 в HMAC.

Очевидно, что атаку с прообразом можно использовать для поиска второго прообраза. Для цифровых подписей атака со вторым прообразом опасней, чем атаки с коллизией, поэтому MD2 недопустимо применять для цифровых подписей.

Некоторые могут счесть полезными рекомендации по размеру ключей и строгости алгоритмов в [SP800-57] и [SP800-131].

7. Рекомендация

Несмотря на то, что MD2 продолжает использоваться в Internet, эта спецификация рекомендует отказаться от него. MD2 не рассматривается для дальнейшей стандартизации и от него следует отказаться в пользу одного или нескольких имеющихся алгоритмов хэширования (например, SHA-256 [SHS]).

RSA Security считает целесообразным перевод алгоритма MD2 в статус Historic.

Внедрение криптографии занимает годы и столько же нужно для отказа. Алгоритмы нужно выводить из обращения до того, как возникнет катастрофический отказ (взлом). В MD2 видны явные признаки уязвимости и разработчикам настоятельно рекомендуется прекратить его поддержку и перейти на другой алгоритм хэширования.

8. Благодарности

Авторы признательны RSA за публикацию MD2. Спасибо всем криптографам, изучавшим алгоритм. За вклад в создание этого документа авторы благодарят Ran Atkinson, Alfred Hoenes, John Linn, Martin Rex.

9. Литература

[HASH-Attack] Hoffman, P. and B. Schneier, «Attacks on Cryptographic Hashes in Internet Protocols», RFC 4270, November 2005.

[KMM2010] Knudsen, L., Mathiassen, J., Muller, F., and Thomsen, S., «Cryptanalysis of MD2», Journal of Cryptology, 23(1):72-90, 2010.

[KNMA2005] Knudsen, L., and J. Mathiassen, «Preimage and Collision Attacks on MD2», FSE 2005.

[MD2] Kaliski, B., «The MD2 Message-Digest Algorithm», RFC 1319, April 1992.

[MD4] Rivest, R., «The MD4 Message-Digest Algorithm», RFC 1320, April 1992.

[MD5] Rivest, R., «The MD5 Message-Digest Algorithm», RFC 1321, April 1992.

[MULL2004] Muller, F., «The MD2 Hash Function Is Not One-Way», ASIACRYPT, LNCS 3329, pp. 214-229, Springer, 2004.

[RFC1983] Malkin, G., Ed., «Internet Users’ Glossary», FYI 18, RFC 1983, August 1996.

[RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, «HMAC: Keyed-Hashing for Message Authentication», RFC 2104, February 1997.

[RFC2313] Kaliski, B., «PKCS #1: RSA Encryption Version 1.5», RFC 2313, March 1998.

[RFC2315] Kaliski, B., «PKCS #7: Cryptographic Message Syntax Version 1.5», RFC 2315, March 1998.

[RFC2437] Kaliski, B. and J. Staddon, «PKCS #1: RSA Cryptography Specifications Version 2.0», RFC 2437, October 1998.

[RFC2630] Housley, R., «Cryptographic Message Syntax», RFC 2630, June 1999.

[RFC2660] Rescorla, E. and A. Schiffman, «The Secure HyperText Transfer Protocol», RFC 2660, August 1999.

[RFC2898] Kaliski, B., «PKCS #5: Password-Based Cryptography Specification Version 2.0», RFC 2898, September 2000.

[RFC3279] Bassham, L., Polk, W., and R. Housley, «Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile», RFC 3279, April 2002.

[RFC3369] Housley, R., «Cryptographic Message Syntax (CMS)», RFC 3369, August 2002.

[RFC3370] Housley, R., «Cryptographic Message Syntax (CMS) Algorithms», RFC 3370, August 2002.

[RFC3447] Jonsson, J. and B. Kaliski, «Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1», RFC 3447, February 2003.

[RFC4572] Lennox, J., «Connection-Oriented Media Transport over the Transport Layer Security (TLS) Protocol in the Session Description Protocol (SDP)», RFC 4572, July 2006.

[RFC5652] Housley, R., «Cryptographic Message Syntax (CMS)», STD 70, RFC 5652, September 2009.

[ROCH1995] Rogier, N., and P. Chauvaud, «The compression function of MD2 is not collision free», Presented at Selected Areas in Cryptography ’95, Carleton University, Ottawa, Canada. May 18-19, 1995.

[ROCH1997] Rogier, N. and P. Chauvaud, «MD2 is not secure without the checksum byte», Des. Codes Cryptogr. 12(3), 245-251 (1997).

[SHS] National Institute of Standards and Technology (NIST), FIPS Publication 180-3: Secure Hash Standard, October 2008.

[SP800-57] National Institute of Standards and Technology (NIST), Special Publication 800-57: Recommendation for Key Management — Part 1 (Revised), March 2007.

[SP800-131] National Institute of Standards and Technology (NIST), Special Publication 800-131: DRAFT Recommendation for the Transitioning of Cryptographic Algorithms and Key Sizes, June 2010.

Адреса авторов

Sean Turner

IECA, Inc.

3057 Nutley Street, Suite 106

Fairfax, VA 22031

USA

EMail: turners@ieca.com

Lily Chen

National Institute of Standards and Technology

100 Bureau Drive, Mail Stop 8930

Gaithersburg, MD 20899-8930

USA

EMail: lily.chen@nist.gov


Перевод на русский язык

Николай Малых

nmalykh@protokols.ru


1Internet Engineering Task Force — комиссия по решению инженерных задач Internet.

2Internet Engineering Steering Group — комиссия по инженерным разработкам Internet.

Запись опубликована в рубрике RFC. Добавьте в закладки постоянную ссылку.

Добавить комментарий