Аутентификация и идентификация подробно
Как объяснено в Обзоре безопасности, аутентификация является процессом, которым лицо, приложение, сервер или другой объект доказывают, что это - то, кто или что это говорит, что это. Аутентификация достигается посредством представления чего-то, что Вы знаете, что-то, что Вы имеете, некоторая уникальная функция идентификации или некоторая комбинация их.
Для создания аутентификации более удобной и эффективной много систем используют некоторый метод идентификации, которая является средними значениями проверки, что физическое или юридическое лицо - тот же самый, Вы связались с прошлым разом. В материальном мире это могло бы быть удостоверением личности, значком конференции или цветной повязкой на запястье. В компьютерах идентификация обычно означает выпускать билет, маркер или другие учетные данные в конце процесса аутентификации.
Эта глава обеспечивает всестороннее объяснение типов аутентификации, говорит Вам, где получить информацию о записи новых схем аутентификации и описывает связанный с аутентификацией APIs и элементы UI, доступные Вам в OS X.
Общие типы аутентификации
Когда пользователь входит в систему, идентифицирует себя или ее агенту безопасности, или выполняет различные другие задачи, OS X аутентифицирует пользователя, использующего одну из следующих технологий:
Центр распределения ключей (KDC) Kerberos, встроенный в Сервер OS X (см. Kerberos),
Пароль, сохраненный надежно в базе данных Open Directory Password Server
Теневая аутентификация хеша, в которой криптографические хеши для NT и аутентификации Диспетчера локальной сети сохранены в локальном файле, что только пользователь root может получить доступ
Зашифрованный пароль, сохраненный непосредственно в учетной записи пользователя
Не-Apple LDAP (Облегченный протокол доступа к каталогам) сервер
Используя упомянутые выше технологии, существует три распространенных способа, которыми OS X аутентифицирует пользователя, сервер или другой объект: совместно используемые секреты, билеты Kerberos и комбинация шифрования с открытым ключом с сертификатами. Эти методы описаны в следующих разделах.
Совместно используемые секреты
Много методов аутентификации основываются на совместно использованных секретах, таких как пароли. Безопасность совместно используемых секретных методов аутентификации зависит от возможности обеих сторон бережно хранить секрет. Если секрет когда-либо прерывается или достаточно прост быть легко предположенным, метод не безопасен вообще.
Например, у физика Ричарда Фейнмана была репутация взломщика сейфов, когда он работал в Лос-Аламосе. Однако в большинстве экземпляров он просто предположил комбинацию сейфа при помощи таких чисел как день рождения или адрес безопасного владельца. Точно так же, если Вы будете выбирать пароль на основе своего второго имени и затем использовать тот же пароль на всех Ваших учетных записях, то ни одна из Ваших учетных записей не будет безопасна.
С другой стороны, тщательно выбранные и охраняемые секреты могут быть чрезвычайно безопасными. Двумя примерами очень безопасных секретных методов, которыми поделились, являются шифры Вернама и основанные на времени пароли.
Шифры Вернама
Аутентификация шифра Вернама требует, чтобы у обеих сторон был идентичный список пар чисел, слов или символов. Самые безопасные списки случайным образом сгенерированы. Когда одна сторона (Элис) запрашивает обмен с другим (Боб), Боб отправляет Элис проблему в форме одного из элементов, выбранных из списка. Элис должна ответить соответствующим парным элементом (рисунок 1-1). После того, как проблема использовалась, она пересечена от списка и никогда не используется снова.
Разовая природа аутентификации шифра Вернама лишает возможности кого-то предполагать надлежащий ответ на любую определенную проблему атакой грубой силой — т.е. путем отвечания на вызов неоднократно с различными ответами до удара правильного ответа. Точно так же невозможно предположить, какова следующая проблема должна быть. Предполагая, что списки действительно случайным образом сгенерированы, единственный способ повредить такую систему состоит в том, чтобы знать некоторую часть содержания списка пар.
Поэтому после того, как шифр Вернама был совместно использован надежно, он может использоваться по небезопасным каналам передачи. Если кто-то отслеживает коммуникацию, они могут получить ту пару ответа проблемы. Однако та информация бесполезна им, с тех пор которые определенная проблема никогда не выпускается снова.
Первая проблема с парами ответа проблемы состоит в том, что генерация действительно случайных списков является трудной с компьютерами. Псевдослучайные списки намного проще получить, и может (в принципе, по крайней мере) быть дублированным, данным правильный алгоритм и хорошее предположение в значении семени. Вторая проблема состоит в том, что этот метод полезен, только если каждая пара корреспондентов имеет уникальный набор списков. Иначе, невозможно определить, который аутентифицирует держатель списка. Наконец, как с любым секретным методом, которым поделились, списки должны держаться в секрете, когда они совместно используются и сохранены надежно. Если один из списков получен третьим лицом, метод поставился под угрозу, и нарушение защиты могло бы быть необнаруживаемым.
Основанная на времени и основанная на событии аутентификация
Основанная на времени аутентификация является секретным методом, которым поделились, в котором секрет периодически изменяется в пути, известном только этим двум участвующим сторонам.
Например, в одном варианте, обе стороны начинают с того же маленького набора чисел семени (только два или три) и используют математическую функцию, вычисляющую новое число от них. Каждый временной интервал (например, один раз в минуту), новое число вычисляется от предыдущих двух или трех чисел, и самое старое число отбрасывается.
Пока обе стороны сохраняют свои часы синхронизируемыми и запуститесь с тех же чисел семени, они могут вычислить текущее число аутентификации. Для принятия мер против третьего лица, прерывающего достаточно чисел для вычисления ряда или аутентифицирующий себя, прежде чем число истечет, числа должны быть переданы по безопасному каналу передачи. Для дальнейшего увеличения безопасности (например, если генерирующее число удостоверение личности потеряно или украдено), сгенерированное число объединено с паролем или PIN, известным только этим двум сторонам.
Как с другими секретными методами, которыми поделились, основанная на времени аутентификация зависит от физической безопасности совместно используемого секрета, и у каждого отдельного пользователя должны быть уникальное сгенерированное число и PIN.
Основанная на событии аутентификация очень подобна основанной на времени аутентификации, за исключением того, что генерация нового значения инициирована явным пользовательским действием вместо таймера.
В одном общем изменении этой схемы пользователь нажимает кнопку на аппаратном ключе для генерации нового значения (вычисленный на основе предыдущих немногих значений).
Каждый раз, когда кто-то аутентифицирует успешно, сервер хранит последнее значение, используемое для входа в систему (и значения раньше вычисляли его). Когда сервер получает последующий запрос, он вычисляет следующие несколько значений в последовательности, начинаясь с первого значения после той хранимой суммы (где точное значение «немногих» является зависящим от реализации).
Если пользователь вводит одно из тех вычисленных значений, пользователь аутентифицируется, и что новое значение сохранено (вместе со значениями, используемыми для вычислений его) для будущего использования.
Kerberos
В греческой мифологии Kerberos был трехголовой собакой, охранявшей логические элементы Уклонов. В компьютерной безопасности Kerberos является протоколом промышленного стандарта, создаваемым Массачусетским технологическим институтом (MIT) для обеспечения аутентификации по сети.
Kerberos является симметричным ключом, основанный на сервере протокол, широко использующийся в Macintosh, Windows и сетях UNIX. Kerberos был интегрирован в OS X начиная с OS X v10.1. Kerberos очень безопасен, и в отличие от некоторого другого секрета, которым поделились, методов с закрытым ключом, это может использоваться для one-many и many-many связи, а также непосредственное. Kerberos достигает этой возможности путем хранения паролей всех пользователей в центральном расположении, сервере каталогов. Kerberos может использоваться для любого числа пользователей и серверов в сети.
OS X работает со всеми общими серверами каталогов, включая LDAP (Облегченный протокол доступа к каталогам) серверы и серверы Active Directory Microsoft Windows. Сервер OS X включает сервер LDAP с открытым исходным кодом.
Работы Kerberos путем раздавания билетов Kerberos — блоки данных раньше идентифицировали ранее аутентифицировавшегося пользователя. Эти билеты выпущены для определенного пользователя, службы, и промежуток времени. Поскольку первоначальный билет Kerberos является формой идентификации, kerberized приложение может использовать тот билет, чтобы запросить доступ к дополнительным kerberized службам, не требуя, чтобы пользователь повторно аутентифицировал (путем возвращения в пароль пользователя). (kerberized служба или приложение являются той, сконфигурированной для поддержки билетов Kerberos.) Эту возможность получить доступ к дополнительным службам без переаутентификации вызывают единой точкой входа.
OS X может разместить услуги аутентификации Kerberos (названный Центром распределения ключей (KDC)). Любая установка Сервера OS X, сконфигурированная для включения совместно используемого сервера LDAP автоматически, включает Kerberos v5 KDC. Программное обеспечение сервера Kerberos также включено в версию клиента OS X.
Несмотря на то, что пароли пользователей не могут быть прерваны во время аутентификации (потому что они никогда не отправляются по сети), очень важно сохранить машину, содержащую сервер каталогов в безопасном месте. Если злонамеренное лицо получает доступ к серверу, все пароли и частные ключи шифрования сохранены в сервере каталогов и поэтому уязвимы для атаки.
Любой пользователь с учетной записью iCloud может использовать Kerberos по Интернету, чтобы получить доступ и управлять компьютером удаленно — служба, известная как Обратный К Моему Mac. Эта служба использует шифрование с открытым ключом для аутентификации этих двух компьютеров, тогда следующих стандартным протоколам Kerberos с одним компьютером, действующим как KDC и другой как клиент Kerberos. Протокол, определяющий использование шифрования с открытым ключом для начальной аутентификации в Kerberos, известен как PKINIT. Вы используете Универсальный Прикладной программный интерфейс Службы безопасности с открытым исходным кодом (GSS-API) для адаптации приложения для использования Kerberos.
Следующие службы OS X поддерживают аутентификацию Kerberos:
Почта Apple
Файловый протокол Apple (сервер AFP)
Ftp-сервер Apple
Telnet
SSH
NFS
SMB
CUPS
VNC
iCal
Xgrid
Менеджер по Macintosh клиентское имя для входа в систему
Посмотрите расширенные руководства администратора для своей версии OS X на сайте ресурсов Сервера OS X Apple для приобретения знаний о службах, поддерживающих Kerberos и изучить, как реализовать Kerberos KDC на сервере OS X.
Процесс аутентификации Kerberos
Существует несколько фаз к аутентификации Kerberos. В первой фазе клиент получает учетные данные (блоки данных, идентифицирующие и аутентифицирующие объект) использоваться, чтобы запросить доступ к kerberized службам. Во второй фазе клиент запрашивает аутентификацию на определенную службу. В заключительной фазе клиент представляет те учетные данные службе. Рисунок 1-2 и рисунок 1-3 иллюстрируют этот процесс.
Рисунок 1-2 показывает первую фазу, в которой клиент, маркировал Элис в числе, учетных данных запросов от Kerberos KDC.
Шаги следующие:
Элис ищет идентификатор пользователя для своего имени пользователя с помощью сервера каталогов.
Элис тогда отправляет запрос к KDC, просящему учетные данные, если тот идентификатор пользователя (в открытом тексте).
KDC получает пароль Элис от сервера каталогов и применяет хеш-функцию к нему, таким образом превращая его во временный ключ шифрования. Этот временный ключ известен как секретный ключ Элис.
KDC создает ключ шифрования, названный сеансовым ключом для использования Элис в следующий раз, когда она хочет запросить службу от kerberized сервера и шифрует тот ключ с секретным ключом Элис.
Это также создает идентификационные учетные данные, названные билетом выдачи билетов (TGT), содержащим копию сеансового ключа, зашифрованного с секретным симметричным ключом KDC’s (плюс другая информация).
И сеансовый ключ и TGT включают метки времени и времена истечения срока для ограничения возможностей того, что они были прерванными и используемый посторонними людьми.
KDC отправляет оба учетных данные Элис, вместе с информацией о том, как преобразовать пароль Элис в ее секретный ключ.
Поскольку Элис знает свой пароль, Элис использует его, вместе с той информацией о хеше, для вычислений ее секретного ключа. Элис тогда использует свой секретный ключ для дешифрования сеансового ключа и хранит его для позже. Она не может дешифровать TGT или изменить его, но сохраняет его для более позднего использования также.
Во второй фазе Элис использует TGT для запроса идентификационных учетных данных от KDC для использования kerberized службы, маркированный Входят число. Поскольку у Элис есть TGT, KDC не должен повторно аутентифицировать ее, таким образом, Элис не просят снова относительно ее пароля.
В третьей фазе Элис отправляет учетные данные Бобу, и Боб отправляет информацию аутентификации Элис. Вторые и третьи фазы проиллюстрированы на рисунке 1-3.
Шаги следующие:
Элис отправляет два сообщения в KDC:
Аутентификатор — запрос для открытия сеанса с Бобом, включающим объявление идентификатора клиента метка времени — зашифрованное использование сеансового ключа
Сообщение, содержащее TGT, который KDC выпустил ранее
KDC дешифрует TGT и извлекает сеансовый ключ, который он выпустил ранее Элис. (Вспомните, что, когда KDC отправил сеансовый ключ Элис ранее, он был зашифрован с секретным ключом Элис, поэтому только KDC и Элис могут знать этот сеансовый ключ.), Поскольку TGT шифруется с секретным ключом KDC’s, он не мог быть изменен, и таким образом KDC доверяет тому сеансовому ключу.
KDC получает идентификатор клиента Элис при помощи основного сеансового ключа для дешифрования аутентификатора.
KDC тогда генерирует новый сеансовый ключ клиент-сервер для Элис для использования при передаче с Бобом, шифрует его с основным сеансовым ключом и отправляет его Элис.
KDC также создает тикет для Элис для отправки Бобу. Этот билет содержит новый сеансовый ключ и идентификатор клиента Элис. Этот ключ шифруется с секретным ключом Боба, таким образом, Элис (или злоумышленник) не может считать или изменить его. KDC отправляет этот билет Элис.
Элис отправляет билет Бобу. Элис также отправляет новый аутентификатор (идентификатор клиента и метка времени) зашифрованное использование сеансового ключа клиент-сервер.
Боб дешифрует его со своим секретным ключом. Поскольку только KDC и Боб знают его секретный ключ, Боб знает, что билет был выпущен KDC. Боб извлекает сеансовый ключ клиент-сервер.
Боб использует сеанс клиент-сервер для дешифрования аутентификатора. Это тогда передает обратно сообщение, содержащее метку времени от аутентификатора плюс один, зашифрованное использование сеансового ключа.
Поскольку Элис знает, что только у нее и Боба есть этот сеансовый ключ, она знает, что учетные данные, должно быть, прибыли от Боба. Она проверяет значение и сравнивает его с тем, которое она получила ранее от KDC. Если они выключены одним (как ожидалось), она знает, что Боб аутентифицировался KDC.
Обратите внимание на то, что эта процедура не включает отправку или секретный ключ Элис или Боба по сети. Поскольку и Элис и Боб аутентифицируются друг другу, Боб знает, что Элис является действительным пользователем, и Элис знает, что Боб является сервером, с которым она намеревалась поддерживать деловые отношения. Все учетные данные далее защищены с метками времени и времена истечения срока. Kerberos имеет другие средства защиты также; для подробных данных посмотрите MIT веб-сайт Kerberos в MIT's kerberos страница.
Kerberos и авторизация
Kerberos является протоколом аутентификации, не протоколом авторизации. Т.е. это проверяет идентификационные данные и клиента и сервера, но это не включает информации о том, имеет ли клиент право использовать услуги, предоставленные сервером. С точки зрения предыдущего обсуждения, после того, как Боб удовлетворен, что запрос на службы действительно прибыл от Элис, это до Боба, чтобы определить, предоставить ли доступ Элис к тем службам. Билет, который Боб получает от Элис, содержит достаточно информации об Элис, чтобы позволить Бобу сделать то определение.
Начиная с версии 5 Kerberos билеты Kerberos обеспечивают механизм для устойчивой к внешним воздействиям передачи информации авторизации. Когда клиент запрашивает билет, он включает информацию о себе в запросе и может запросить, чтобы KDC включал дополнительную авторизацию в билет. KDC вставляет эту информацию в поле данных авторизации билета и вперед этого к серверу. Kerberos не определяет, как должна быть закодирована эта информация авторизации; это обеспечивает только безопасный механизм для своей передачи. Это до клиента и сервера для реализации протокола авторизации.
Единая точка входа
OS X использует Kerberos для аутентификации единой точки входа, освобождающей пользователей от ввода имени и пароля отдельно для каждой kerberized службы. С единой точкой входа, после того, как пользователь вводит имя и пароль в окно входа в систему, пользователь не должен вводить имя и пароль для файловой службы Apple, почтовой службы или других служб то использование аутентификация Kerberos. Другими словами, Kerberos аутентифицирует пользователя один раз, и после того использует билеты для идентификации пользователя.
Для использования в своих интересах функции единой точки входа службы должны быть сконфигурированы для аутентификации Kerberos и пользователей, и службы должны использовать тот же Kerberos KDC. В OS X Открывают учетные записи пользователей в каталоге LDAP, имеющие тип пароля, Directory используют встроенный KDC сервера. Эти учетные записи пользователей автоматически сконфигурированы для Kerberos и единой точки входа. kerberized службы сервера также используют встроенный KDC сервера и автоматически сконфигурированы для единой точки входа.
Большие сети
На высоком уровне можно обычно думать о Центре распределения ключей (KDC) Kerberos как о единственном объекте. Однако KDC состоит из двух отдельных программных процессов: сервер аутентификации и сервер выдачи билетов. Сервер аутентификации проверяет идентификационные данные пользователя путем запроса пользователя имя и пароль и выяснения у сервера каталогов пароль пользователя. Сервер аутентификации тогда ищет секретный ключ пользователя, генерирует сеансовый ключ и создает билет выдачи билетов (TGT), как показано на рисунке 1-4.
После того пользователь отправляет TGT в сервер выдачи билетов каждый раз, когда службы kerberized сервера требуются, и сервер выдачи билетов выпускает билет, как показано на рисунке 1-5.
Много сетей являются слишком большими, чтобы эффективно хранить всю информацию о пользователях и компьютерах в единственном сервере каталогов. Вместо этого распределенная модель используется, где существует много серверов каталогов, каждый служащий подмножеству сети. В языке Kerberos это подмножество упоминается как область. Каждая область имеет свою собственную выдачу билетов сервер-серверный и сервер аутентификации. Если пользователю нужен билет для службы в различной области, сервер аутентификации выпускает TGT, и пользователь отправляет TGT в сервер аутентификации, как прежде. Сервер аутентификации тогда выпускает билет, не для желаемой службы, а для удаленного сервера выдачи билетов для области, в которой находится служба. Пользователь тогда отправляет билет в удаленный сервер выдачи билетов для получения билета для практической эксплуатации.
Фактически, в большой сети, пользователю, возможно, придется связаться с удаленным сервером выдачи билетов в последовательности областей прежде наконец получить билет для желаемой службы. То, когда билет для прикладной службы наконец выпущен, это содержит перечисление всех областей, консультировалось в процессе запроса билета. Серверу приложений, применяющему строгие правила авторизации, разрешают отклонить аутентификацию, проходящую через области, которым это не доверяет.
Открытые ключи
Как описано в Обзоре безопасности, шифрование с открытым ключом использует пару математически связанных ключей для шифрования и дешифрования так, чтобы данные, зашифрованные с одним ключом, могли быть дешифрованы только с другой и наоборот. Вычисления одного ключа от другого являются в вычислительном отношении трудными, и таким образом один ключ, открытый ключ может быть сделан общедоступным, не ставя под угрозу другой ключ. Другой ключ, закрытый ключ, сохранен безопасным.
Кроме того, будучи хорошим способом отправить сообщения надежно по незащищенным каналам, шифрование с открытым ключом может также использоваться в качестве метода аутентификации. Поскольку закрытый ключ известен только его владельцем, доступ к тому открытому ключу может быть обработан как доказательство идентификационных данных.
В принципе аутентификация с открытым ключом работает почти таким же способом аутентификацией симметричного ключа с одним существенным различием: потому что открытые ключи не должны держаться в секрете, нет никакой потребности зашифровать их или отправить их по безопасным каналам. Открытый ключ может быть предоставлен сервером в сертификате, или через некоторый другой метод. Рисунок 1-6 иллюстрирует аутентификацию с открытым ключом с помощью сервера аутентификации.
Шаги следующие:
Элис отправляет Бобу запрос для разговора.
Боб генерирует случайное значение и отправляет его Элис как проблема.
Боб запрашивает открытый ключ Элис от сервера аутентификации.
Сервер аутентификации отправляет незашифрованный открытый ключ Бобу.
Элис шифрует случайное значение со своим закрытым ключом и отправляет его Бобу.
Боб дешифрует значение с открытым ключом Элис.
Боб сравнивает дешифрованное значение с исходным значением, чтобы проверить, что они идентичны. Элис теперь аутентифицировала себя Бобу.
Боб может аутентифицировать себя Элис точно таким же образом.
Заметьте, что нет никакой потребности в сервере аутентификации для хранения любого чувствительного материала. Открытые ключи не должны быть сохранены надежно, и сервер аутентификации не должен содержать пароли, потому что он никогда не должен проверять тот. Однако необходимо гарантировать, что никто не изменяет открытые ключи, сохраненные в сервере аутентификации. Иначе, Канун (например), мог заменить ее открытым ключом Элис и мог тогда исполнить роль Элис. Фактическая реализация основанных на сервере систем аутентификации с открытым ключом, поэтому, такая как используемые NDS Novell Corporation (Novell Directory Services), включает дополнительные средства защиты.
Отметьте, однако, что не необходимо иметь сервер аутентификации для использования аутентификации с открытым ключом. Цифровые сертификаты могут занять место центрального дистрибьютора открытых ключей.
Сертификаты
Проблема обеспечения, что открытый ключ фактически принадлежит объекту, который Вы хотите аутентифицировать, может быть решена с помощью цифровых сертификатов. Аутентификация с помощью цифрового сертификата проиллюстрирована на рисунке 1-7.
Шаги следующие:
Элис отправляет Бобу запрос для разговора.
Боб генерирует случайное значение и отправляет его Элис как проблема.
Элис шифрует значение со своим закрытым ключом и отправляет его Бобу. Она также отправляет Бобу свой цифровой сертификат, содержащий ее открытый ключ.
Боб проверяет цифровой сертификат и использует открытый ключ для дешифрования значения.
Боб сравнивает дешифрованное значение с исходным значением, проверяя, что действительно Элис отправила ему сертификат.
Также Элис могла снабдить цифровой подписью свой ответ Бобу вместо того, чтобы отдельно шифровать проблему.
Добавление новых схем аутентификации
В дополнение к встроенным схемам аутентификации, описанным выше, OS X позволяет Вам писать пользовательские плагины авторизации, которые могут выполнить задачи во время процесса входа в систему, добавить новые схемы аутентификации, и т.д.
Запись плагинов авторизации выходит за рамки этого документа. Для узнавания больше о записи этих плагинов считайте Выполнение При Входе в систему.
Связанные с аутентификацией элементы пользовательского интерфейса
Платформа Интерфейса Безопасности обеспечивает много классов пользовательского интерфейса для работы с сертификатами. Некоторые из них кратко описаны ниже.
SFCertificateView
иSFCertificatePanel
классы выводят на экран содержание сертификата.SFCertificateView
класс используется приложением Доступа Цепочки для ключей, например (рисунок 1-8).SFCertificateTrustPanel
дисплеи класса и дополнительно позволяют пользователю отредактировать доверительные настройки в сертификате. Рисунок 1-9 показывает эту функцию, как используется приложением Доступа Цепочки для ключей.SFChooseIdentityPanel
класс выводит на экран список идентификационных данных в системе и позволяет пользователю выбрать ту. В этом контексте идентификационные данные относятся к комбинации закрытого ключа и его связанного сертификата. Если бы у пользователя было два или больше сертификата, например, каждый с его собственным закрытым ключом, то почтовая программа пользователя могла использовать этот интерфейс, чтобы позволить пользователю выбрать который идентификационные данные использовать для подписания определенной буквы.SFKeychainSavePanel
класс добавляет интерфейс к приложению, позволяющему пользователю сохранить новую цепочку для ключей. Пользовательский интерфейс почти идентичен используемому для того, чтобы сохранить файл. Различие - то, что этот класс возвращает цепочку для ключей в дополнение к имени файла и позволяет пользователю указать пароль для цепочки для ключей.SFKeychainSettingsPanel
класс выводит на экран интерфейс, позволяющий пользователю изменить настройки цепочки для ключей. Рисунок 1-10 показывает этот интерфейс в приложении Доступа Цепочки для ключей.
Другая аутентификация APIs
Некоторые приложения и компоненты операционной системы выполняют свою собственную аутентификацию. Например, при включении поддержки iCloud в приложении приложение не взаимодействует с учетными данными входа в систему пользователя.
Если Вы используете цифровые сертификаты для аутентификации — для аутентификации веб-сервера, например — используют функции в Сертификате, Ключе и Trust Services. См. Сертификат, Ключ и Руководство по программированию Trust Services для получения дополнительной информации о том API.
Для обмена сертификатами по безопасному соединению используйте Безопасный Транспортный API (только OS X) или один из высокоуровневого APIs, вызывающего Безопасный Транспорт, такой как CFNetwork и Загрузочная система URL. Посмотрите Коммуникацию Защищенной сети APIs в Руководстве по Криптографическим службам для подробных данных.
Для аутентификации с сервером каталогов используйте Открыть Directory API. Посмотрите Открывают Directory Programming Guide для подробных данных.
Узнавать больше
Для получения дополнительной информации о криптографических технологиях в OS X считайте Руководство по Криптографическим службам.
Для получения общей информации о Kerberos посмотрите MIT's kerberos страница. Для получения информации о MIT’s Kerberos для Macintosh посмотрите MIT's веб-сайт разработки Mac. Версия 5 Kerberos определяется в RFC 4120, PKINIT определяется в RFC 4556, и GSS-API определяется в RFC 2078.