Знакомство с аутентификацией Kerberos

Kerberos - популярная служба безопасной аутентификации. Компании Apple и Microsoft реализовали ее как основной механизм аутентификации для сетевых служб каталогов. Разработанная первоначально в Массачусет-ском технологическом институте (MIT), система Kerberos предоставляет службы аутентификации с однократной регистрацией на основе билетов (tickets).

Однократная регистрация означает, что пароль учетной записи нужно ввести только один раз за сеанс, обычно - в окне входа в систему. Пока вы остаетесь зарегистрированным на Mac или соединены с системой Кег-beros, она будет использовать предыдущие параметры доступа для разрешения аутентификации любой другой сетевой службы, поддерживающей Kerberos. Сетевая служба, которая поддерживает аутентификацию Kerberos, часто называется керберизированной (kerberized) службой. Многие основные сетевые приложения и службы в Lion являются керберизирован-ными (в том числе Mail, iChat, iCal, Адресная книга [Address Book], Общий экран [Screen Sharing], SSH, AFP, SMB,NFS и даже FTP).

Система Kerberos была спроектирована, исходя из того, что никакой сетевой трафик не является безопасным. Поэтому Kerberos действует так, что пароли учетных записей никогда не передаются по сети. Эта система обеспечивает взаимную аутентификацию, когда клиент и сервер могут проверять подлинность друг друга. Kerberos предоставляет эти возможности, генерируя билеты, которые используются для проверки подлинности каждого участника Kerberos.

Единственным недостатком аутентификации на основе билетов является ее относительная сложность по сравнению с другими методами. Аутентификация Kerberos требует специальной доверенной службы, называемой Key Distribution Center (KDC) (Центр распространения ключей). В случае OD и AD, сервер, обеспечивающий службы каталогов, часто является основным KDC. С появлением Mac OS X vl0.5 каждый компьютер Mac также может предоставлять локальные службы KDC. Чтобы не усложнять материал, данный урок рассматривает только отношения аутентификации между клиентом Lion и централизованным KDC, связанным с сетевой службой каталогов.

Для базовой аутентификации Kerberos выполните следующие шаги.

1. Введите свое имя пользователя и пароль в окне входа в систему. Окно входа в систему через OD инициирует подключение к KDC. KDC посылает зашифрованный билет предоставления билетов (tick-et-granting ticket, TGT). TGT зашифрован таким образом, что его можно разблокировать и использовать только в том случае, если введен правильный пароль.

Считайте TGT «дневным пропуском», который можно использовать для доступа к другим службам. TGT-билет обычно остается действительным в течение нескольких часов, однако если срок его действия истекает, а пользователь еще находится в системе, то Kerberos автоматом сгенерирует новый TGT-билет для пользователя.

2. При попытке подключиться к керберизированной сетевой службе (такой как сетевой том AFP или служба электронной почты) OD будет использовать TGT-билет для запроса билета службы в KDC.

Если KDC-сервер доверяет вашему TGT-билету и службе, к которой вы пытаетесь подключиться, он посылает вам билет для этой службы.

3. OD использует билет службы для аутентификации вашей учетной записи в запрошенной сетевой службе. Если ваш билет правильный, керберизированная служба доверяет вашей личности и разрешает подключение.

Следует отметить, что пользователь должен ввести свои имя и пароль только один раз в окне входа в систему. После этого шаги 2 и 3 повторяются для каждой керберизированной службы, к которой подключается пользователь. Кроме того, пароль никогда не передается по сети, и запрашиваемая служба не должна взаимодействовать с KDC-сервером для проверки личности пользователя.

Дополнительная информация. Представленная здесь информация является только введением в систему аутентификации Kerberos. Дополнительную информацию можно найти на сайте Kerberos в MIT: http://web.mit.edu/ Kerberos/.

Не путайте возможность единовременного входа в систему Kerberos с возможностями связок ключей для локального хранения информации аутентификации. Хотя обе службы используются для автоматической аутентификации сетевых служб, они совершенно различны по архитектуре и области действия. Систему Kerberos можно использовать только для аутентификации керберизованных служб, и ей часто управляют в масштабе всей сети. Связки ключей можно использовать для хранения множества информации аутентификации, однако хранимая информация доступна только локальному компьютеру Mac. Связки ключей рассматривались в уроке 2.