В Windows NT 4.0 для аутентификации используется алгоритм NTLM (NT LAN Manager Challenge and Response Algorithm).
Согласно этому алгоритму системе, которая пытается получить доступ, отправляется так называемый вызов (challenge), представляющий собой строку из случайных символов. Клиент NT использует введенный пользователем пароль как часть данных, применяемых для однонаправленного шифрования вызова, и предоставляет серверу полученный отзыв (response).
Сервер, знающий, какие данные содержатся в строке вызова, а также пароль пользователя, может удостовериться в том, что пользователь действительно является тем, за кого себя выдает.
Таким образом, собственно пароль пользователя никогда не пересылается по сети ни в открытом, ни в зашифрованном виде.
Для того чтобы позволить пользователям систем Windows 9x проходить аутентификацию на серверах NT, Windows NT поддерживает также устаревший алгоритм LM (LAN Manager Challenge and Response Algorithm). Алгоритм LM подобен алгоритму NTLM, но является менее безопасным.
Windows 2000 поддерживает оба эти алгоритма для аутентификации клиентов нижнего уровня (Windows 9x, Windows NT), а также может применять алгоритм NTLM как вспомогательный для аутентификации клиентов Windows 2000. Однако используемым по умолчанию алгоритмом аутентификации в Windows 2000 является Kerberos.
Kerberos – популярный алгоритм аутентификации в распределенных компьютерных системах, который получил всеобщее признание как безопасный алгоритм аутентификации. Он обеспечивает взаимную и надежную аутентификацию клиентов и серверов посредством обмена рядом сообщений, содержащих запросы и ответы на эти запросы, а также путем нескольких проверок по разным критериям.
Kerberos обладает такими преимуществами перед другими алгоритмами аутентификации, как использование более безопасной системы аутентификации, поддержка возможности взаимной аутентификации и прозрачное взаимодействие с любыми другими операционными системами, в которых для аутентификации применяется Kerberos V5.
Конечно, идеальных систем не существует. Во многих системах (NTLM, LM и Kerberos) для аутентификации достаточно предоставить лишь идентификатор пользователя и пароль. Если злоумышленнику удастся похитить, угадать или каким-либо другим образом получить эту информацию, сервер не сможет отличить его от легального пользователя. Следовательно, надежность любой системы аутентификации определяется надежностью ее самого слабого звена. В схеме, основанной на применении идентификатора пользователя и пароля, таким звеном является пароль. Если пользователи записывают свои пароли, сообщают их своим коллегам или употребляют простые, легко угадываемые пароли, даже самая сложная система защиты будет находиться под постоянной угрозой взлома.
Тем не менее, в Kerberos предусмотрен ряд мер, которые делают введенную информацию о пароле более защищенной, чем в других алгоритмах. В частности, имеется в виду взаимная аутентификация, так как она значительно усложняет возможность создания подложного сервера с целью получения из запроса клиента информации о пароле или для повторного использования перехваченных пакетов, которые могут содержать запросы на аутентификацию.