• Доменна модель змінена і використовує Active Directory для підтримки багаторівневого дерева доменів. Управління довірчими відносинами між доменами спрощене за рахунок транзитивності в межах всього дерева доменів.
• У систему безпеки включені нові механізми аутентификації, такі як Kerberos v5 і TLS (Transport Layer Security), що базуються на стандартах безпеки Інтернету,
• Протоколи захищених каналів (SSL 3.0/TLS) забезпечують підтримку надійної аутентификація клієнта. Вона досягається шляхом зіставлення мандатів користувачів в формі сертифікатів відкритих ключів з існуючими обліковими записами Windows NT. Для управління обліковою інформацією і контролю за доступом застосовуються одні і ті ж засоби адміністрування, незалежно від того, чи використовується захист з відкритим ключем або із загальним секретом.
• Додатково до реєстрації за допомогою введення пароля може підтримуватися аутентификація з використанням смарт-карт. Останні забезпечують шифрування і надійне зберігання закритих ключів і сертифікатів, що особливо важливо для надійної аутентификація при вході в домен з робочої станції.
• До складу нової версії входить Microsoft Certificate Server.
Цей сервер призначений для організацій і дозволяє видавати співробітникам і партнерам сертифікати Х.509 версії 3. В CryptoAPI включені інтерфейси і модулі управління сертифікатами відкритих ключів, включаючи видані комерційним ВУС (Уповноваженим сертифікації), стороннім ВУС або Microsoft Certificate Server. Системні адміністратори можуть вказувати, сертифікати яких уповноважених є довіреними в системі і, таким чином, контролювати аутентификація доступу до ресурсів.
• Зовнішні користувачі, що не мають облікових записів Windows NT, можуть бути аутентифіковані за допомогою сертифікатів відкритих ключів і співвіднесені з існуючим обліковим записом. Права доступу, призначені для цього облікового запису, визначають права зовнішніх користувачів на доступ до ресурсів.
• У розпорядженні користувачів засоби управління парами закритих (відкритих) ключів і сертифікатами, що використовуються для доступу до ресурсів Інтернету.
• Технологія шифрування вбудована в операційну систему і дозволяє використати цифрові підписи для ідентифікації потоків.
У Windows NT 5.0 вбудований сервер сертифікатів Certificate Server, який може видавати сертифікати в стандартних форматах (Х.509 версій 1 і 3), а також додавати розширення по мірі потреби.
Протокол аутентификації Kerberos
Протокол аутентификації Kerberos визначає взаємодію між клієнтом і мережевим сервісом аутентификації, відомим як KDC (Key Distribution Center). У Windows NT KDC використовується як сервіс аутентификація на всіх контроллерах домена. Домен Windows NT еквівалентний області Kerberos, але до неї звертаються як до домену. Реалізація протоколу Kerberos в Windows NT заснована на визначенні Kerberos в RFC1510, Клієнт Kerberos реалізований у вигляді ПФБ (постачальника функцій безпеки) Windows NT, заснованому на SSPI. Початкова аутентификація Kerberos інтегрована з процедурою WinLogon. Сервер Kerberos (KDC) інтегрований з існуючими службами безпеки Windows NT, що виконуються на контроллері домена. Для зберігання інформації про користувачів і групи він використовує службу каталогів Active Directory.
Протокол Kerberos посилює існуючі функції безпеки Windows NT і додає нові. Розглянемо останні детальніше.
• Підвищена швидкість аутентификації при встановленні початкового з'єднання. Сервер додатків не повинен звертатися до контроллера домена для аутентификація клієнта. Така конфігурація підвищує масштабованість серверів додатків при обробці запитів на підключення від великого числа клієнтів.
• Делегування аутентификації в багатоярусній архітектурі клієнт-сервер. При підключенні клієнта до сервера, останньому імперсонує (втілює) клієнта в цій системі. Але якщо серверу для завершення транзакції треба виконати мережеве підключення до іншого сервера, протокол Kerberos дозволяє делегувати аутентификації першого сервера і підключитися до другого від імені клієнта. При цьому другий сервер також виконує імперсонацію клієнта.
• Транзитивні довірчі відносини для міждоменної аутентификації. Користувач може бути аутентифікований в будь-якому місці дерева доменів, оскільки сервіси аутентификації (KDC) в кожному домені довіряють квиткам, виданим іншими KDC в дереві. Транзитивне довір'я спрощує управління доменами у великих мережах з декількома доменами.
Аутентификація NTLM
Перед тим, як розглянути процес аутентификації Kerberos, пригадаємо механізм, діючий в попередніх версіях Windows NT.
Отже, після того, як користувач вводить своє ім'я і пароль, система аутентифікує його шляхом передачі параметрів, заданих у ввідному діалоговому вікні, менеджеру захисту облікових записів SAM (Security Account Manager). SAM порівнює ім'я користувача і зашифрований пароль з тими, що зберігаються в базі користувачів домена або, при локальній реєстрації, робочій станції. Якщо ім'я і пароль співпадають, сервер повідомляє робочу станцію про підтвердження доступу. Крім того, сервер завантажує і таку інформацію про користувача, як привілей облікового запису, положення домашнього каталога і т. п. Якщо для користувача визначений сценарій реєстрації, цей сценарій також завантажується на робочу станцію для виконання.
Якщо користувач має обліковий запис і привілеї доступу в систему, а введений ним пароль вірний, підсистема захисту створює об'єкт маркер доступу, що представляє користувача. Він порівняємо з ключем, що містить «посвідчення особи» користувача. Маркер доступу зберігає таку інформацію, як ідентифікатор захисту SID (Security ID), ім'я користувача і імена груп, до яких він належить.
Маркер доступу або його копія асоціюються з будь-яким процесом, що виконується користувачем (наприклад, відкриття або друк файла). Комбінація процес-маркер називається суб'єктом. Суб'єкти оперують над об'єктами Windows NT шляхом виклику системних сервісів. Коли суб'єкт здійснює доступ до захищеного об'єкта, (наприклад, файлу або каталогу), вміст маркера порівнюється з вмістом списку контролю доступу до об'єкта ACL (Access Control List) шляхом стандартної перевірки. При цьому визначається, чи можна надати суб'єкту право на виконання операції, що запитується. Ця ж процедура може при необхідності згенерувати повідомлення аудиту, що відображають результати спроб доступу.
Створений маркер передається процесу Win32 WinLogon. WinLogon наказує підсистемі Win32 створити процес для користувача, і маркер доступу приєднується до цього процесу. Після цього підсистема Win32 ініціює Windows NT Explorer, і на екрані з'являється відповідне вікно.
Основи Kerberos
Kerberos є протоколом аутентификації з спільним секретом - і користувачеві, і KDC відомий пароль (KDC зашифрований пароль). Протокол Kerberos визначає серію обмінів між клієнтами, KDC і серверами для отримання квитків Kerberos. Коли клієнт починає реєстрацію в Windows NT, постачальник функцій безпеки Kerberos отримує початковий квиток Kerberos TGT (Ticket grant ticket), заснований на зашифрованому представленні пароля. Windows NT зберігає TGT в кеші квитків на робочій станції, пов'язаній з контекстом реєстрації користувача. При спробі клієнтської програми звернутися до мережевої служби перевіряється кеш квитків: чи є в ньому вірний квиток для поточного сеансу роботи з сервером. Якщо такого квитка немає, на KDC посилається запит з TGT для отримання сеансового квитка, що дозволяє доступ до сервера.
Сеансовий квиток додається в кеш і може згодом бути використаний повторно для доступу до того ж самому серверу протягом часу дії квитка. Час дії квитка встановлюється доменними правилами і звичайно дорівнює восьми годинам. Якщо час дії квитка закінчується у процесі сеансу, то постачальник функцій безпеки Kerberos повертає відповідну помилку, що дозволяє клієнту і серверу оновити квиток, створити новий сеансовий ключ і відновити підключення.
Сеансовий квиток Kerberos пред'являється видаленій службі в повідомленні про початок підключення. Частини сеансового квитка зашифровані секретним ключем, що використовується спільно службою і KDC. Сервер може швидко аутентифікувати клієнта, перевіривши його сеансовий квиток і не звертаючись до сервісу аутентификації, оскільки на сервері в кеші зберігається копія секретного ключа. З'єднання при цьому відбувається набагато швидше, ніж при аутентификації NTLM, де сервер отримує мандати користувача, а потім перевіряє їх, підключившись до контроллера домена.
Сеансові квитки Kerberos містять унікальний сеансовий ключ, створений KDC для симетричного шифрування інформації про аутентификацію, а також даних, що передається від клієнта до сервера. У моделі Kerberos KDC використовується як інтерактивна довірена сторона, що генерує сеансовий ключ.
Інтеграція Kerberos
Протокол Kerberos повністю інтегрований з системою безпеки і контролю доступу Windows NT. Початкова реєстрація в Windows NT забезпечується процедурою WinLogon, що використовує ПФБ Kerberos для отримання початкового квитка TGT. Інші компоненти системи, наприклад, Redirector, застосовують інтерфейс SSPI до ПФБ Kerberos для отримання сеансового квитка для видаленого доступу до файлів сервера SMB.
У протоколі Kerberos версії 5 для сеансових квитків визначено поле, що шифрується. Воно призначене для даних авторизації, однак використання цього поля визначається конкретними додатками, В Windows NT полі даних авторизації служить для зберігання ідентифікатора безпеки Security ID, що однозначно визначає користувача і членство в групі. Постачальник функцій безпеки Kerberos на серверний стороні використовує поле авторизації для створення маркера захищеного доступу (security access token), що представляє користувача в цій системі. Сервер, слідуючи моделі безпеки Windows NT, використовує цей маркер для доступу до локальних ресурсів, захищених списками контролю доступу.