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
Аннотация
Этот документ объявляет об отказе от 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
Перевод на русский язык
Николай Малых
1Internet Engineering Task Force — комиссия по решению инженерных задач Internet.
2Internet Engineering Steering Group — комиссия по инженерным разработкам Internet.