Веб-сервер мен браузер арасындағы куәліктерді келісу әдісі
Digest access authentication
Қауіпсіз веб-кіру үшін Digest Authentication әдісін қарастырамыз. Құпиялы ақпаратты қорғау үшін хеш функциясы қолданылады, MD5 және nonce мәндерімен қамтамасыз етіледі.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Веб-сервер мен браузер арасындағы деректемелерді келісу әдісі
Method of negotiating credentials between web server and browser
Дайджест кіру аутентификациясы – веб-сервердің пайдаланушының веб-браузерімен деректемелерді, мысалы, пайдаланушы атын немесе парольді келісу үшін қолданатын келісілген әдістердің бірі. Бұл онлайн-банкинг операциялары тарихы сияқты құпия ақпаратты жіберу алдында пайдаланушының сәйкестігін растау үшін пайдаланылуы мүмкін. Ол деректемелерді желіге жіберу алдында хэш функциясын қолданады. Ал, қарапайым кіру аутентификациясы хэш орнына оңай қайта айналдырылатын Base64 кодтауын қолданады, және егер TLS-пен бірге қолданылмаса, қауіпсіз болып табылмайды. Техникалық тұрғыдан алғанда, дайджест аутентификациясы – MD5 криптографиялық хэштеуінің қайталау шабуылдарын болдырмау үшін нонс мәндерін пайдалану арқылы іске асырылады. Ол HTTP протоколын қолданады. Бұл стандарт 2011 жылдың шілдесінен бастап қолданыстан шығарылды.
Digest access authentication is one of the agreed upon methods a web server can use to negotiate credentials, such as username or password, with a user's web browser. This can be used to confirm the identity of a user before sending sensitive information, such as online banking transaction history. It applies a hash function to the username and password before sending them over the network. In contrast, basic access authentication uses the easily reversible Base64 encoding instead of hashing, making it non secure unless used in conjunction with TLS. Technically, digest authentication is an application of MD5 cryptographic hashing with usage of nonce values to prevent replay attacks. It uses the HTTP protocol. This standard is obsolete since July 2011.
MD5 қауіпсіздігінің аутентификациясына әсері
HTTP дайджесттік аутентификациясында қолданылатын MD5 есептеулері "бір жақты" болу үшін жасалған, яғни нәтижесі ғана белгілі болғанда бастапқы мәліметті анықтау қиын болуы керек. Дегенмен, егер парольдің өзі тым қарапайым болса, барлық мүмкін мәліметтерді тексеріп, сәйкес нәтижені табу мүмкін (күшпен сынау шабуылы) – бұл үшін сөздік немесе MD5 үшін оңай қолжетімді іздеу тізімі көмектесуі мүмкін. HTTP схемасын 1993 жылы CERN-де Филипп Халлам Бейкер жасаған, және ол аутентификация жүйелеріндегі кейінгі жетістіктерді, мысалы, кілттелген хэш-хабарламаның аутентификациялық кодын (HMAC) қамтымайды. Қолданылатын криптографиялық құрылым MD5 хэш-функциясына негізделгенімен, 2004 жылы соқтығысу шабуылдары мәтіндік (яғни пароль) мәліметтері белгісіз қолданбаларға әсер етпейді деп есептелді. Алайда, 2006 жылғы мәлімдемелер басқа MD5 қолданыстарына да күмән тудырды. Бірақ, қазірге дейін MD5 соқтығысу шабуылдары дайджесттік аутентификацияға қауіп төндірмейтіндігі көрсетілмеген, және RFC 2617 серверлерге кейбір соқтығысу және қайталау шабуылдарын анықтау механизмдерін енгізуге рұқсат береді.
The MD5 calculations used in HTTP digest authentication is intended to be "one way", meaning that it should be difficult to determine the original input when only the output is known. If the password itself is too simple, however, then it may be possible to test all possible inputs and find a matching output (a brute force attack) – perhaps aided by a dictionary or suitable look up list, which for MD5 is readily available. The HTTP scheme was designed by Phillip Hallam Baker at CERN in 1993 and does not incorporate subsequent improvements in authentication systems, such as the development of keyed hash message authentication code (HMAC). Although the cryptographic construction that is used is based on the MD5 hash function, collision attacks were in 2004 generally believed to not affect applications where the plaintext (i. e. password) is not known. However, claims in 2006 cause some doubt over other MD5 applications as well. So far, however, MD5 collision attacks have not been shown to pose a threat to digest authentication, and the RFC 2617 allows servers to implement mechanisms to detect some collision and replay attacks.
Құнсызданулар
HTTPS арқылы негізгі аутентификацияға қарағанда Digest аутентификациясының кемшіліктері болғандықтан, көптеген бағдарламалық қамтамасыз етулерде ол қолданудан шығарылды, мысалы:
Bitbucket: https://bitbucket.org/blog/fare-thee-well-digest-access-authentication
Symfony PHP фреймворкі: https://github.com/symfony/symfony/issues/24325
Because of the disadvantages of Digest authentication compared to Basic authentication over HTTPS it has been deprecated by a lot of software e. g.:
Bitbucket: https://bitbucket. org/blog/fare thee well digest access authentication
Symfony PHP framework: https://github. com/symfony/symfony/issues/24325