Введение

Средство для подтверждения личности пользователя. Роль аутентификатора в протоколе аутентификации 802.1X. Аутентификатор – это средство, используемое для подтверждения личности пользователя, то есть для выполнения цифровой аутентификации. Пользователь аутентифицируется в компьютерной системе или приложении, демонстрируя владение и контроль над аутентификатором. В самом простом случае аутентификатор – это обычный пароль. Используя терминологию Руководства по цифровой идентичности NIST, удобно описывать аутентификатор с точки зрения его аппаратных и программных компонентов. Аутентификатор может быть аппаратным или программным, в зависимости от того, хранится ли секрет в аппаратном обеспечении или программном обеспечении соответственно. Важный тип аппаратного аутентификатора называется ключом безопасности, также называемым токеном безопасности (не следует путать с токенами доступа, токенами сеанса или другими типами токенов безопасности). Ключ безопасности хранит свой секрет в аппаратном обеспечении, что предотвращает его экспорт. Ключ безопасности также устойчив к вредоносным программам, поскольку секрет никогда не становится доступным для программного обеспечения, работающего на хост-машине. Программный аутентификатор (иногда называемый программным токеном) может быть реализован на электронном устройстве общего назначения, таком как ноутбук, планшет или смартфон. Например, программный аутентификатор, реализованный в виде мобильного приложения на смартфоне пользователя, является типом телефонного аутентификатора. Для предотвращения доступа к секрету программный аутентификатор может использовать доверенную среду исполнения процессора или модуль доверенной платформы (TPM) на клиентском устройстве. Платформенный аутентификатор встроен в конкретную платформу клиентского устройства, то есть реализован непосредственно на устройстве. В отличие от него, роуминговый аутентификатор – это кросс-платформенный аутентификатор, который реализован вне устройства. Роуминговый аутентификатор подключается к платформе устройства через транспортный протокол, такой как USB.

Примеры

В следующих разделах описываются узкие классы аутентификаторов. Более полную классификацию можно найти в Руководстве NIST по цифровой идентификации.

OATH OTP

Одноразовые пароли (OTP) используются с 1980-х годов. В 2004 году на ежегодной конференции RSA была объявлена открытая эталонная архитектура аутентификации для безопасной генерации OTP. Годом позже была запущена Инициатива открытой аутентификации (OATH). В результате этой работы были разработаны два стандарта IETF: алгоритм одноразового пароля на основе HMAC (HOTP) и алгоритм одноразового пароля на основе времени (TOTP), описанные соответственно в RFC 4226 и RFC 6238. Под OATH OTP мы подразумеваем либо HOTP, либо TOTP. OATH сертифицирует соответствие стандартам HOTP и TOTP. Традиционный пароль (то, что пользователь знает) часто комбинируется с одноразовым паролем (то, чем пользователь владеет) для обеспечения двухфакторной аутентификации. И пароль, и OTP передаются по сети верификатору. Если пароль соответствует ранее согласованному секретному ключу, и верификатор может подтвердить значение OTP, аутентификация пользователя считается успешной. Одноразовые пароли генерируются по требованию специальным аутентификатором OATH OTP, который содержит секретный ключ, ранее согласованный с верификатором. Используя аутентификатор, пользователь генерирует OTP с помощью криптографического метода. Верификатор также генерирует OTP, используя тот же криптографический метод. Если два значения OTP совпадают, верификатор может заключить, что пользователь владеет согласованным секретным ключом. Хорошо известный пример аутентификатора OATH — Google Authenticator, телефонный аутентификатор, который реализует как HOTP, так и TOTP.

Мобильный толчок

Мобильный аутентификатор push – это, по сути, нативное приложение, работающее на мобильном телефоне пользователя. Приложение использует криптографию с открытым ключом для обработки push-уведомлений. Иными словами, мобильный аутентификатор push – это однофакторный криптографический программный аутентификатор. Мобильный аутентификатор push (нечто, чем владеет пользователь) обычно комбинируется с паролем (нечто, что пользователь знает) для обеспечения двухфакторной аутентификации. В отличие от одноразовых паролей, мобильный push не требует общего секрета, помимо пароля. После того, как пользователь аутентифицируется с помощью пароля, проверяющая сторона направляет запрос аутентификации по альтернативному каналу доверенной третьей стороне, которая управляет инфраструктурой открытого ключа от имени проверяющей стороны. Доверенная третья сторона отправляет push-уведомление на мобильный телефон пользователя. Пользователь подтверждает владение и контроль над аутентификатором, нажав кнопку в пользовательском интерфейсе, после чего аутентификатор отвечает цифровой подписью, подтверждающей подлинность. Доверенная третья сторона проверяет подпись и возвращает ответ об аутентификации проверяющей стороне. Проприетарный протокол мобильной аутентификации push работает по альтернативному вторичному каналу, что обеспечивает гибкие возможности развертывания. Поскольку протоколу требуется открытое сетевое соединение с мобильным телефоном пользователя, процесс аутентификации не может быть завершен, если такое соединение недоступно (например, из-за проблем с сетью). Аутентификатор U2F обязательно реализует протокол CTAP1/U2F, один из двух протоколов, определенных в протоколе FIDO Client to Authenticator Protocol. В отличие от мобильной аутентификации push, протокол аутентификации U2F полностью работает по основному каналу. Требуется два обмена данными. Первый обмен данными – это обычная аутентификация по паролю. После того, как пользователь аутентифицируется с помощью пароля, проверяющая сторона отправляет запрос в совместимый браузер, который взаимодействует с аутентификатором U2F через специальный JavaScript API. После выполнения пользователем требуемых действий, аутентификатор подписывает запрос и возвращает подписанное подтверждение проверяющей стороне через браузер.

Многофакторные аутентификаторы

Для использования многофакторного аутентификатора заявитель проходит полную проверку подлинности пользователя. Многофакторный аутентификатор (нечто, чем владеет пользователь) активируется с помощью PIN-кода (нечто, что пользователь знает), биометрических данных (нечто, уникальное для пользователя, например, отпечаток пальца, распознавание лица или голоса) или иного метода проверки. WebAuthn и CTAP в совокупности обеспечивают надежное решение для аутентификации в веб-среде. Аутентификатор FIDO2, также называемый аутентификатором WebAuthn, использует криптографию с открытым ключом для взаимодействия с клиентом WebAuthn, то есть с веб-агентом пользователя, соответствующим стандарту и реализующим JavaScript API WebAuthn. Аутентификатор может быть платформенным, мобильным или представлять собой их комбинацию. Например, аутентификатор FIDO2, реализующий протокол CTAP2 и операционную систему Android. Аутентификатор FIDO2 может использоваться как в однофакторном, так и в многофакторном режиме. В однофакторном режиме аутентификатор активируется простой проверкой присутствия пользователя (например, нажатием кнопки). В многофакторном режиме аутентификатор (нечто, чем владеет пользователь) активируется либо PIN-кодом (нечто, что пользователь знает), либо биометрическими данными (нечто, уникальное для пользователя).