Я использую файлы keytab для Linux-систем для аутентификации служб с помощью kerberos. Мне интересно, как этот пароль фактически хранится в этом файле keytab. Как мы знаем в/etc/passwd, пароли сохраняются после применения метода одностороннего хеширования - поэтому невозможно вычислить из него пароль открытого текста.Как пароль зашифрован в файл keytab?
Но как это делается в файле keytab? Процесс с использованием keytab каким-то образом должен знать пароль для аутентификации пользователя ?! Зашифрован ли он мастер-паролем, чтобы его можно было расшифровать?
Я использую это, чтобы создать файл Keytab:
$ ktutil
ktutil: addent -password -p [email protected] -k 1 -e rc4-hmac
Password for [email protected]:
ktutil: wkt my_user.keytab
ktutil: quit
С этой Keytab я могу получить KRBTGT без ввода пароля. При создании keytab связь с AD/KDC отсутствует (поэтому нет общего секрета, который можно было бы добавить для подписания или что-то еще).
Так как же пароль зашифрован в keytab? Если это не хэширующий алгоритм - можно ли его расшифровать?
И этот производный ключ хранится (как есть) в этой ключевой строке? И этот производный ключ может использоваться (как есть) для аутентификации пользователя? Я не вижу реального преимущества по сравнению с хранением текстовых паролей в конфигурационных файлах ... Au contraire - я вижу, что люди, думающие, что файлы keytab являются «безопасным» способом хранения паролей, и они используют их без достаточной осторожности ... – slash4
Протокол Kerberos основан на симметричной (общий ключ) криптографии; тот факт, что ключи пользовательских принципов обычно получают из паролей, является деталью реализации. Конечно, вы * можете * просто сохранить пароль, но тогда реализация должна будет извлекать ключ каждый раз, когда он разговаривает с KDC. Keytab только настолько же безопасен, как и элементы управления доступом (такие же, как файл с простым паролем); Я не думаю, что кто-либо когда-либо делал вид, что он обращается иначе. – frasertweedale
@frasertweedale Аргулярная соль всегда пуста. К сожалению, соль для AES, используемая MS, связана с RFC. См. [Здесь] (http://mailman.mit.edu/pipermail/kerberos/2015-July/020908.html). –