Назад |
Перейти на главную страницу
Создание общего секретного ключа Kerberos
Есть 3 вещи, которые я не совсем понимаю в Kerberos.
Допустим, мы добавляем новый сервер в домен AD. KDC создает общий секрет для этого сервера, и как этот ключ безопасно отправлять на сервер?
Есть пользователь, который является членом домена AD. У пользователя есть секретный ключ (пароль), и он меняет его - как безопасно передать его в KDC для обновления своей базы данных?
Поскольку каждый DC может (или, возможно, должен) иметь KDC, реплицируется ли база данных KDC между каждым DC? Если да, то как это обеспечивается?
Каждый принципал в AD (пользователь, машина, служба, объект доверия) имеет пароль, и каждый из этих объектов имеет несколько различных типов хэша этого пароля (MD4, AES, DES и т. Д.). Хешированное значение используется как симметричный ключ для аутентификации. При аутентификации обычно создается сеансовый ключ для транспортного шифрования.
Так...
- При присоединении устройства к домену другой аккаунт используется для установки безопасного канала. Этот безопасный канал позволяет устройству отправлять собственный пароль устройства. Затем устройство периодически меняет свой пароль, когда KDC запрашивает его (через окно истечения срока действия).
- Пользователь обычно аутентифицируется, что дает сеансовый ключ. Этот сеансовый ключ шифрует запрос на смену пароля, который содержит пароль в открытом виде. KDC может расшифровать запрос, поскольку ему известен сеансовый ключ, и он пытается изменить пароль, генерируя различные хэши для учетной записи.
- Обычно да, все данные синхронизируются, но в некоторых случаях, например, в контроллерах домена только для чтения, синхронизируется только подмножество данных. Это в первую очередь просто функция репликации базы данных. Каждый DC имеет свой машинный секрет и аутентифицируется на своем равноправном DC. В процессе аутентификации создается сеансовый ключ, который используется для защиты трафика репликации.