Введение
Средство для подтверждения личности пользователя. Роль аутентификатора в протоколе аутентификации 802.1X. Аутентификатор – это средство, используемое для подтверждения личности пользователя, то есть для выполнения цифровой аутентификации. Пользователь аутентифицируется в компьютерной системе или приложении, демонстрируя владение и контроль над аутентификатором. В самом простом случае аутентификатор – это обычный пароль. Используя терминологию Руководства по цифровой идентичности NIST, удобно описывать аутентификатор с точки зрения его аппаратных и программных компонентов. Аутентификатор может быть аппаратным или программным, в зависимости от того, хранится ли секрет в аппаратном обеспечении или программном обеспечении соответственно. Важный тип аппаратного аутентификатора называется ключом безопасности, также называемым токеном безопасности (не следует путать с токенами доступа, токенами сеанса или другими типами токенов безопасности). Ключ безопасности хранит свой секрет в аппаратном обеспечении, что предотвращает его экспорт. Ключ безопасности также устойчив к вредоносным программам, поскольку секрет никогда не становится доступным для программного обеспечения, работающего на хост-машине. Программный аутентификатор (иногда называемый программным токеном) может быть реализован на электронном устройстве общего назначения, таком как ноутбук, планшет или смартфон. Например, программный аутентификатор, реализованный в виде мобильного приложения на смартфоне пользователя, является типом телефонного аутентификатора. Для предотвращения доступа к секрету программный аутентификатор может использовать доверенную среду исполнения процессора или модуль доверенной платформы (TPM) на клиентском устройстве. Платформенный аутентификатор встроен в конкретную платформу клиентского устройства, то есть реализован непосредственно на устройстве. В отличие от него, роуминговый аутентификатор – это кросс-платформенный аутентификатор, который реализован вне устройства. Роуминговый аутентификатор подключается к платформе устройства через транспортный протокол, такой как USB.
the role of the authenticator in the 802.1X authentication protocol
An authenticator is a means used to confirm a user's identity, that is, to perform digital authentication. A person authenticates to a computer system or application by demonstrating that he or she has possession and control of an authenticator. In the simplest case, the authenticator is a common password. Using the terminology of the NIST Digital Identity Guidelines,
It is convenient to describe an authenticator in terms of its hardware and software components. An authenticator is hardware based or software based depending on whether the secret is stored in hardware or software, respectively. An important type of hardware based authenticator is called a security key, also called a security token (not to be confused with access tokens, session tokens, or other types of security tokens). A security key stores its secret in hardware, which prevents the secret from being exported. A security key is also resistant to malware since the secret is at no time accessible to software running on the host machine. A software based authenticator (sometimes called a software token) may be implemented on a general purpose electronic device such as a laptop, a tablet computer, or a smartphone. For example, a software based authenticator implemented as a mobile app on the claimant's smartphone is a type of phone based authenticator. To prevent access to the secret, a software based authenticator may use a processor's trusted execution environment or a Trusted Platform Module (TPM) on the client device. A platform authenticator is built into a particular client device platform, that is, it is implemented on device. In contrast, a roaming authenticator is a cross platform authenticator that is implemented off device. A roaming authenticator connects to a device platform via a transport protocol such as 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-кодом (нечто, что пользователь знает), либо биометрическими данными (нечто, уникальное для пользователя).