Кіріспе

Веб-сервер мен браузер арасындағы деректемелерді келісу әдісі

Дайджест кіру аутентификациясы – веб-сервердің пайдаланушының веб-браузерімен деректемелерді, мысалы, пайдаланушы атын немесе парольді келісу үшін қолданатын келісілген әдістердің бірі. Бұл онлайн-банкинг операциялары тарихы сияқты құпия ақпаратты жіберу алдында пайдаланушының сәйкестігін растау үшін пайдаланылуы мүмкін. Ол деректемелерді желіге жіберу алдында хэш функциясын қолданады. Ал, қарапайым кіру аутентификациясы хэш орнына оңай қайта айналдырылатын Base64 кодтауын қолданады, және егер TLS-пен бірге қолданылмаса, қауіпсіз болып табылмайды. Техникалық тұрғыдан алғанда, дайджест аутентификациясы – MD5 криптографиялық хэштеуінің қайталау шабуылдарын болдырмау үшін нонс мәндерін пайдалану арқылы іске асырылады. Ол HTTP протоколын қолданады. Бұл стандарт 2011 жылдың шілдесінен бастап қолданыстан шығарылды.

MD5 қауіпсіздігінің аутентификациясына әсері

HTTP дайджесттік аутентификациясында қолданылатын MD5 есептеулері "бір жақты" болу үшін жасалған, яғни нәтижесі ғана белгілі болғанда бастапқы мәліметті анықтау қиын болуы керек. Дегенмен, егер парольдің өзі тым қарапайым болса, барлық мүмкін мәліметтерді тексеріп, сәйкес нәтижені табу мүмкін (күшпен сынау шабуылы) – бұл үшін сөздік немесе MD5 үшін оңай қолжетімді іздеу тізімі көмектесуі мүмкін. HTTP схемасын 1993 жылы CERN-де Филипп Халлам Бейкер жасаған, және ол аутентификация жүйелеріндегі кейінгі жетістіктерді, мысалы, кілттелген хэш-хабарламаның аутентификациялық кодын (HMAC) қамтымайды. Қолданылатын криптографиялық құрылым MD5 хэш-функциясына негізделгенімен, 2004 жылы соқтығысу шабуылдары мәтіндік (яғни пароль) мәліметтері белгісіз қолданбаларға әсер етпейді деп есептелді. Алайда, 2006 жылғы мәлімдемелер басқа MD5 қолданыстарына да күмән тудырды. Бірақ, қазірге дейін MD5 соқтығысу шабуылдары дайджесттік аутентификацияға қауіп төндірмейтіндігі көрсетілмеген, және RFC 2617 серверлерге кейбір соқтығысу және қайталау шабуылдарын анықтау механизмдерін енгізуге рұқсат береді.

Құнсызданулар

HTTPS арқылы негізгі аутентификацияға қарағанда Digest аутентификациясының кемшіліктері болғандықтан, көптеген бағдарламалық қамтамасыз етулерде ол қолданудан шығарылды, мысалы:
Bitbucket: https://bitbucket.org/blog/fare-thee-well-digest-access-authentication
Symfony PHP фреймворкі: https://github.com/symfony/symfony/issues/24325