Всем доброго дня!
Пытаюсь разобраться как работает механизм аутентификации в Windows в случае локального (Workgroup, а не домен) интерактивного входа пользователя.
Почитав разные источники мне понятно, в первом приближении, что Winlogon принимает от пользователя тектовые данные, передаёт их LSA, который в свою очередь вычисляет хеш пароля (LSA обращается к какому-то из Authentication Package, он же Security Support Provider), а далее запрашивает уже известную системе копию хеша у SAM, в итоге сравнивает хеши.
Непонятен момент с тем, какой алгоритм хеширования используется в современных версиях винды?
В одном источнике, с одной стороны, упоминается, что начиная с Win7 по умолчанию не используется LM (des) и NT (md4), т.к. слишком ненадёжно.
С другой стороны, есть протоколы для именно сетевой аутентификации - NTLMv1 (ненадёжен, неактуален) и NTLMv2. В них механизм аутентификации, как я понял, построен очень упрощая на запросе-ответе между сервером/клиентом, хотя хеширование и тут имеет место быть, т.е. эти протоколы как-то, мне кажутся (могу ошибаться), не подходящими для локальной аутентификации, но у них есть свои алгоритмы вычисления хеша - md4 и hmac-md5.
Помогите, пожалуйста, лучше разобраться в этом моменте.
Пытаюсь разобраться как работает механизм аутентификации в Windows в случае локального (Workgroup, а не домен) интерактивного входа пользователя.
Почитав разные источники мне понятно, в первом приближении, что Winlogon принимает от пользователя тектовые данные, передаёт их LSA, который в свою очередь вычисляет хеш пароля (LSA обращается к какому-то из Authentication Package, он же Security Support Provider), а далее запрашивает уже известную системе копию хеша у SAM, в итоге сравнивает хеши.
Непонятен момент с тем, какой алгоритм хеширования используется в современных версиях винды?
В одном источнике, с одной стороны, упоминается, что начиная с Win7 по умолчанию не используется LM (des) и NT (md4), т.к. слишком ненадёжно.
С другой стороны, есть протоколы для именно сетевой аутентификации - NTLMv1 (ненадёжен, неактуален) и NTLMv2. В них механизм аутентификации, как я понял, построен очень упрощая на запросе-ответе между сервером/клиентом, хотя хеширование и тут имеет место быть, т.е. эти протоколы как-то, мне кажутся (могу ошибаться), не подходящими для локальной аутентификации, но у них есть свои алгоритмы вычисления хеша - md4 и hmac-md5.
Помогите, пожалуйста, лучше разобраться в этом моменте.