NTLM — Вікіпедія

NTLM (англ. NT LAN Manager, слід відрізняти від LAN Manager) — протокол аутентифікації розроблений Microsoft, використовується в протоколі SMB. Подібний до протоколу MS-CHAP, що використовується в системах віддаленого доступу Microsoft. Під час встановлення зв'язку, має внутрішню назву nt lm 0.12. Номер версії 0.12 не пояснено. Є наступником протоколу LANMAN (Microsoft LAN Manager), старішого протоколу аутентифікації від Microsoft, та мав бути сумісним із ним. Після NTLM було розроблено NTLMv2, після чого назву оригінального протоколу було змінено на NTLMv1.

До того, як була доступна офіційна документація протоколу, багато відомостей про нього було встановлено командою розробників Samba шляхом аналізу мережевого трафіку. Криптографічні алгоритми ідентичні тим, що використовуються в MS-CHAP, і задокументовані в RFC 2433 для v1 та RFC 2759 для v2. Обидві версії MS-CHAP v1 та v2 було проаналізовано; Брюс Шнайєр (англ. Bruce Schneier) та Пітер Затко (англ. Pieter Zatko) знайшли слабкі місця в обох протоколах, визнаючи, однак, що MS-CHAP v2 був кращим за попередню версію.[1] Обидва протоколи все ще широко застосовуються.

Принцип дії

[ред. | ред. код]

Протокол використовує послідовність виклик-відповідь і вимагає передачі трьох повідомлень між клієнтом (який бажає аутентифікуватися) та сервером (який вимагає аутентифікації):

  1. Клієнт спершу відсилає повідомлення типу 1, яке містить набір прапорців підтримуваних чи запрошуваних опцій (розмір ключа кодування, запит на взаємну аутентифікацію тощо) до серверу.
  2. Сервер відповідає повідомленням типу 2, яке містить подібний набір прапорців підтримуваних чи запрошуваних сервером (таким чином узгоджуючи параметри аутентифікації між сервером та клієнтом) та, що важливо, виклик із випадковим значенням (8 байтів).
  3. В кінці, клієнт використовує дані із отриманого повідомлення типу 2 та параметри доступу користувача для обчислення відповіді. Метод обчислення залежить від параметрів, узгоджених на попередніх кроках, але, зазвичай, використовуються хешувальні алгоритми MD4/MD5 та алгоритм шифрування DES. Клієнт відсилає відповідь до сервера у повідомленні типу 3.

NTLM в сучасних версіях Windows

[ред. | ред. код]

В реалізаціях Active Directory для Windows 2000 та Windows 2003 використовується протокол аутентифікації Kerberos. Зазвичай, Kerberos використовується тоді, коли клієнт належить до домену Windows Server, або відношення довіри було встановлено в будь-який інший спосіб (наприклад, у випадку аутентифікації Linux клієнта на Windows Active Directory сервері).

NTLM все ще використовується в наступних випадках:

  • Клієнт аутентифікується на сервері використовуючи IP адресу.
  • Клієнт аутентифікується на сервері, що належить іншому лісу Active Directory, або не належить домену.
  • Домен Active Directory відсутній (зазвичай, називається як «робоча група» або «рівний-до-рівного», англ. peer-to-peer).
  • Якщо мережевий фільтр (англ. firewall) закриває необхідні для Kerberos порти (яких небагато).

Посилання

[ред. | ред. код]
  1. Cryptanalysis of Microsoft's PPTP Authentication Extensions (MS-CHAPv2). Архів оригіналу за 21 вересня 2015. Процитовано 16 липня 2008.

Див. також

[ред. | ред. код]

Ресурси Інтернету

[ред. | ред. код]