Кіріспе
Желілік протокол
Криптографияда CRAM MD5 – HMAC MD5 алгоритміне негізделген сұрау-жауап аутентификация механизмі (CRAM). Қарапайым аутентификация және қауіпсіздік қабатының (SASL) қолдауындағы механизмдердің бірі ретінде, ол электрондық пошта бағдарламаларында SMTP аутентификациясының бір бөлігі ретінде, сондай-ақ POP және IMAP пайдаланушыларын аутентификациялау үшін, әрі LDAP, XMPP, BEEP және басқа да протоколдарды іске асыратын қосымшаларда жиі қолданылады. Егер мұндай бағдарламалық қамтамасыз ету шифрланбаған байланыс арқылы аутентификацияны қажет етсе, CRAM MD5 парольдерді "ашық күйде" жіберетін LOGIN және PLAIN сияқты механизмдерге қарағанда артықшылық танытады. Дегенмен, ол күш қолдану арқылы парольді анықтауға кедерес жасай алмайды, сондықтан парольді пайдаланбайтын немесе Транспорттық қабаттың қауіпсіздігі (TLS) арқылы шифрланған байланысты қолданатын баламалы механизмдерге қарағанда тиімділігі төмен.
In cryptography, CRAM MD5 is a challenge–response authentication mechanism (CRAM) based on the HMAC MD5 algorithm. As one of the mechanisms supported by the Simple Authentication and Security Layer (SASL), it is often used in email software as part of SMTP Authentication and for the authentication of POP and IMAP users, as well as in applications implementing LDAP, XMPP, BEEP, and other protocols. When such software requires authentication over unencrypted connections, CRAM MD5 is preferred over mechanisms that transmit passwords "in the clear," such as LOGIN and PLAIN. However, it can't prevent derivation of a password through a brute force attack, so it is less effective than alternative mechanisms that avoid passwords or that use connections encrypted with Transport Layer Security (TLS).
Кемшіліктері
Өзара аутентификация жоқ: клиент серверді тексермейді. Дегенмен, SASL аутентификациясы көбінесе сервердің сәйкестігін растайтын TLS байланысы арқылы жүзеге асырылады. Парольді сақтаудың нашарлығы: кейбір жүзеге асырулар пайдаланушылардың қарапайым мәтіндік парольдеріне қол жеткізуді қажет етеді, ал басқалары (мысалы, Dovecot) парольдің MD5 хэшін сақтау үшін HMAC процесінің аралық қадамын пайдаланады (қаттастыра айтқанда, HMAC-тің i кілттік жады және o кілттік жады). Мұндай жүзеге асырулар md5((64 байттан тұратын бірдеңе) || (басқа бірдеңе)) есептеу үшін, md5 ішкі ((64 байттан тұратын бірдеңе) және басқа бірдеңе) білу жеткілікті екенін пайдаланады (MD5-те Merkle–Damgård қолданылуының арқасында; md5 ішкі – соңғы блоксыз md5). i кілттік жады және o кілттік жады HMAC ішкі және сыртқы хэштің басында орналасқандықтан және 64 байттық ұзындығы бар, осы фактіні пайдалануға болады. Қайта қалпына келтіру қаупі: CRAM MD5 протоколының сәтті алмасуын ұстағаннан кейін парольді қалпына келтіру үшін офлайн сөздік шабуылы жасау мүмкін (мысалы, Cain & Abel қолдану арқылы). Бұл қауіп кез келген парольді хэштеу схемасында кездеседі, бірақ заманауи алгоритмдер шабуылдың құнын мың есе немесе одан да көп есеге арттыру үшін кілтті созуды қолданады. Керісінше, CRAM MD5 хэшін арнайы аппараттық құралдарда немесе тіпті стандартты процессорларда аздаған есептеу ресурстарын пайдалану арқылы есептеуге болады. Проксилеу мүмкіндігі: Парольмен расталған кілт келісімінен (PAKE) өзгеше, CRAM MD5 екі нүктенің арасындағы құпияны орнатпайды, ол тыңдаушыға белгісіз болады. Сондықтан, ортадағы белсенді шабуылшы серверге қосылыс ашып, сұрау алады, оны клиентке ұсынады, клиенттен жауап алады және осы жауапты серверге жібереді. Одан кейін ол клиенттен келген келесі хабарламаларды жойып, клиентті серверге өзгенің орнына қоя алады.
Стандарттар
CRAM MD5 IETF стандарттарының RFC 2195 құжатында анықталған, ол 1997 жылдың басындағы RFC 2095 құжатын жаңартады. Бұл де-факто стандарттар CRAM MD5 әдісін POP және IMAP электрондық пошта жәшіктерін басқару протоколдары үшін аутентификациялау тәсілі ретінде анықтайды. CRAM MD5 – 2006 жылы RFC 4422 құжатымен анықталған, 1997 жылғы RFC 2222 стандартын алмастырған, қарапайым аутентификация және қауіпсіздік қабаты (SASL) қолдайтын аутентификация әдістерінің бірі. Интернетке тағайындалған нөмірлер басқармасы (IANA) CRAM MD5-ті қоса, SASL механизмдерінің тізімін жүргізеді, олар шектеулі қолданысқа арналған. CRAM MD5 талап бойынша пошта релесі (ODMR) үшін қажет, ол RFC 2645 құжатында сипатталған.
Ескірген
2008 жылғы 20 қарашада осы стандартты қолданудан шығару ұсынылды. Оның орнына, мысалы, TLS арқылы қорғалған SCRAM немесе SASL Plain қолдану ұсынылады.