WikiDer > Аутентификатор
An аутентификатор средство, используемое для подтверждения личности пользователя,[1][2] то есть выполнять цифровая аутентификация. Человек аутентифицируется в компьютерной системе или приложении, демонстрируя, что он или она владеет аутентификатором и контролирует его.[3][4] В простейшем случае аутентификатор - это обычный пароль.
Используя терминологию Руководства по цифровой идентификации NIST,[3] сторона, подлежащая аутентификации, называется истец в то время как сторона, проверяющая личность истца, называется верификатор. Когда заявитель успешно демонстрирует верификатору владение и контроль над одним или несколькими аутентификаторами через установленный протокол аутентификации, верификатор может сделать вывод о личности заявителя.
Классификация
Аутентификаторы могут быть охарактеризованы с точки зрения секретов, факторов и физических форм.
Секреты аутентификатора
Каждый аутентификатор связан по крайней мере с одним секретом, который истец использует, чтобы продемонстрировать владение аутентификатором и контроль над ним. Поскольку злоумышленник может использовать этот секрет, чтобы выдать себя за пользователя, секрет аутентификатора должен быть защищен от кражи или потери.
Тип секрета - важная характеристика аутентификатора. Существует три основных типа секрета аутентификатора: запомненный секрет и два типа криптографических ключей: симметричный или частный ключ.
Запомненный секрет
Запомненный секрет предназначен для запоминания пользователем. Хорошо известный пример запомненного секрета - это обычная пароль, также называемый паролем, кодовая фраза, или персональный идентификационный номер (ШТЫРЬ).
Секрет аутентификатора, известный как заявителю, так и проверяющему, называется поделился секретом. Например, запомненный секрет может или не может быть общим. Симметричный ключ является общим по определению. Закрытый ключ не передается.
Пароль - важный тип секрета, который одновременно запоминают и передают. В частном случае пароля аутентификатор является секрет.
Криптографический ключ
Криптографический аутентификатор - это тот, который использует криптографический ключ. В зависимости от материала ключа криптографический аутентификатор может использовать криптография с симметричным ключом или же криптография с открытым ключом. Оба избегают запомненных секретов, а в случае криптографии с открытым ключом нет общие секреты также, что является важным отличием.
Примеры криптографических аутентификаторов включают аутентификаторы OATH и аутентификаторы FIDO. В качестве контрпримера аутентификатор пароля нет криптографический аутентификатор. Увидеть #Примеры раздел для деталей.
Симметричный ключ
Симметричный ключ - это общий секрет, используемый для выполнения криптографии с симметричным ключом. Истец хранит свою копию общего ключа в специализированном аппаратном аутентификаторе или программном аутентификаторе, реализованном на смартфоне. Верификатор хранит копию симметричного ключа.
Пара открытого и закрытого ключей
Пара открытого и закрытого ключей используется для криптографии с открытым ключом. Открытый ключ известен верификатору (и ему доверяет), в то время как соответствующий закрытый ключ надежно привязан к аутентификатору. В случае специализированного аппаратного аутентификатора закрытый ключ никогда не выходит за пределы аутентификатора.
Факторы и формы аутентификатора
Аутентификатор - это что-то вы знаете, то, что у тебя есть, или же что-то ты. Аутентификатор, который предоставляет только один из этих факторов, называется однофакторным аутентификатором, тогда как многофакторный аутентификатор включает два или более факторов. Многофакторный аутентификатор - это один из способов достижения многофакторная аутентификация. Комбинация двух или более однофакторных аутентификаторов не является многофакторной аутентификацией, но может быть подходящей в определенных условиях.
Аутентификаторы принимают различные физические формы (за исключением запомненного секрета, который не имеет материальной формы). Вы можете держать аутентификатор в руке или носить аутентификатор на лице, запястье или пальце.[5][6][7]
Аутентификатор удобно описывать с точки зрения его аппаратных и программных компонентов. Аутентификатор является аппаратным или программным в зависимости от того, хранится ли секрет в аппаратном или программном обеспечении, соответственно.
Важный тип аппаратного аутентификатора называется ключом безопасности.[8] также называется маркер безопасности (не путать с токены доступа, токены сеанса, или другие типы токенов безопасности). Ключ безопасности хранит свой секрет на оборудовании, что предотвращает его экспорт. Ключ безопасности также устойчив к вредоносным программам, поскольку секрет никогда не доступен для программного обеспечения, запущенного на хост-машине.
Программный аутентификатор (иногда называемый программный токен) могут быть реализованы на электронном устройстве общего назначения, таком как ноутбук, а планшет, или смартфон. Например, программный аутентификатор, реализованный как мобильное приложение На смартфоне истца установлен аутентификатор на базе телефона. Чтобы предотвратить доступ к секрету, программный аутентификатор может использовать процессор доверенная среда исполнения или Модуль доверенной платформы (TPM) на клиентском устройстве.
Платформенный аутентификатор встроен в конкретную платформу клиентского устройства, то есть реализован на устройстве. Напротив, роуминг-аутентификатор - это кроссплатформенный аутентификатор, который реализован вне устройства. Роуминг-аутентификатор подключается к платформе устройства через транспортный протокол, такой как USB.
Примеры
В следующих разделах описываются узкие классы аутентификаторов. Для более полной классификации см. Рекомендации NIST по цифровой идентификации.[9]
Однофакторные аутентификаторы
Чтобы использовать аутентификатор, заявитель должен явно указать свое намерение пройти аутентификацию. Например, для установления намерения достаточно каждого из следующих жестов:
- Истец вводит пароль в поле пароля, или
- Истец прикладывает палец к считывателю отпечатков пальцев, или
- Истец нажимает кнопку, чтобы подтвердить свое согласие
Последний называется тестом присутствия пользователя (TUP). Чтобы активировать однофакторный аутентификатор (то, что у тебя есть), от заявителя может потребоваться выполнение TUP, что позволяет избежать непреднамеренного срабатывания аутентификатора.
Пароль
А пароль является секретом, который должен быть запомнен заявителем и передан проверяющему. Парольная аутентификация - это процесс, при котором заявитель демонстрирует знание пароля, передавая его по сети проверяющему. Если переданный пароль совпадает с ранее переданным секретом, аутентификация пользователя проходит успешно.
OATH OTP
Одноразовые пароли (OTP) используются с 1980-х годов.[нужна цитата] В 2004 г. на ежегодной конференции была объявлена эталонная архитектура открытой аутентификации для безопасного создания одноразовых паролей. Конференция RSA.[10][11] В Инициатива по открытой аутентификации (OATH) был запущен годом позже.[нужна цитата] В результате этой работы выросли два стандарта IETF: Алгоритм одноразового пароля (HOTP) на основе HMAC и Алгоритм одноразового пароля на основе времени (TOTP) указано RFC 4226 и RFC 6238, соответственно. Под OATH OTP мы подразумеваем HOTP или TOTP. OATH подтверждает соответствие стандартам HOTP и TOTP.[12]
Традиционный пароль (что-то вы знаете) часто сочетается с одноразовым паролем (то, что у тебя есть) для обеспечения двухфакторной аутентификации.[13] И пароль, и OTP передаются верификатору по сети. Если пароль совпадает с ранее использованным секретом, и верификатор может подтвердить значение OTP, аутентификация пользователя будет успешной.
Одноразовые пароли генерируются по запросу специальным аутентификатором OATH OTP, который инкапсулирует секрет, который ранее был передан верификатору. Используя аутентификатор, заявитель генерирует одноразовый пароль криптографическим методом. Верификатор также генерирует одноразовый пароль, используя тот же криптографический метод. Если два значения OTP совпадают, верификатор может сделать вывод, что заявитель обладает общим секретом.
Хорошо известным примером аутентификатора OATH является открытый исходный код. Google Authenticator,[14] телефонный аутентификатор, реализующий как HOTP, так и TOTP.
Мобильный Push
Мобильный push-аутентификатор - это, по сути, собственное приложение, работающее на мобильном телефоне заявителя. Приложение использует криптографию с открытым ключом для ответа на push-уведомления. Другими словами, мобильный push-аутентификатор - это однофакторный криптографический программный аутентификатор. Мобильный push-аутентификатор (то, что у тебя есть) обычно сочетается с паролем (что-то вы знаете) для обеспечения двухфакторной аутентификации. В отличие от одноразовых паролей, мобильный push не требует общего секрета, кроме пароля.
После того, как заявитель аутентифицируется с помощью пароля, верификатор отправляет запрос внеполосной аутентификации доверенной третьей стороне, которая управляет инфраструктурой открытого ключа от имени верификатора. Доверенная третья сторона отправляет push-уведомление на мобильный телефон заявителя. Истец демонстрирует владение аутентификатором и контроль над ним, нажимая кнопку в пользовательском интерфейсе, после чего аутентификатор отвечает утверждением с цифровой подписью. Доверенная третья сторона проверяет подпись утверждения и возвращает проверяющему ответ аутентификации.
Запатентованный протокол мобильной push-аутентификации работает на внеполосном вторичном канале, что обеспечивает гибкие варианты развертывания. Поскольку протокол требует открытого сетевого пути к мобильному телефону заявителя, если такой путь недоступен (например, из-за сетевых проблем), процесс аутентификации не может продолжаться.[13]
FIDO U2F
А FIDO Универсальный 2-й фактор (U2F) аутентификатор (то, что у тебя есть) - это однофакторный криптографический аутентификатор, который предназначен для использования вместе с обычным веб-паролем. Поскольку аутентификатор полагается на криптографию с открытым ключом, U2F не требует дополнительного общего секрета помимо пароля.
Чтобы получить доступ к аутентификатору U2F, заявитель должен выполнить тест присутствия пользователя (TUP), который помогает предотвратить несанкционированный доступ к функциям аутентификатора. На практике TUP состоит из простого нажатия кнопки.
Аутентификатор U2F взаимодействует с соответствующей сетью пользовательский агент который реализует U2F JavaScript API.[15] Аутентификатор U2F обязательно реализует протокол CTAP1 / U2F, один из двух протоколов, указанных в FIDO. Протокол от клиента к аутентификатору.[16]
В отличие от мобильной push-аутентификации, протокол аутентификации U2F полностью работает на переднем канале. Требуются две поездки туда и обратно. Первый круговой обход - это обычная парольная аутентификация. После того, как заявитель аутентифицируется с помощью пароля, верификатор отправляет запрос соответствующему браузеру, который связывается с аутентификатором U2F через специальный JavaScript API. После того, как заявитель выполняет TUP, аутентификатор подписывает запрос и возвращает подписанное утверждение верификатору через браузер.
Многофакторные аутентификаторы
Чтобы использовать многофакторный аутентификатор, заявитель выполняет полную проверку пользователя. Многофакторный аутентификатор (то, что у тебя есть) активируется ШТЫРЬ (что-то вы знаете) или биометрический (что-то вы; например, отпечаток пальца, распознавание лица или голоса) или какой-либо другой метод проверки.[3]
Карта банкомата
Чтобы снять наличные с банкомат (ATM) клиент банка вставляет карту банкомата в банкомат и вводит PIN-код. Введенный PIN-код сравнивается с PIN-кодом, хранящимся на чипе карты. Если они совпадают, снятие средств через банкомат можно продолжить.
Обратите внимание, что при снятии средств через банкомат используется запомненный секрет (например, PIN), но истинное значение секрета заранее не известно банкомату. Машина вслепую передает введенный PIN-код на карту, которая сравнивает вводимый пользователем PIN-код с секретным PIN-кодом, хранящимся на чипе карты. Если они совпадают, карта сообщает банкомату об успехе, и транзакция продолжается.
Карта банкомата является примером многофакторного аутентификатора. Сама карта то, что у тебя есть в то время как PIN-код, хранящийся в чипе карты, предположительно что-то вы знаете. Представление карты в банкомате и демонстрация знания PIN-кода - это своего рода многофакторная аутентификация.
Безопасная оболочка
Безопасная оболочка (SSH) - это протокол клиент-сервер, который использует криптографию с открытым ключом для создания безопасного канала в сети. В отличие от традиционного пароля, ключ SSH является криптографическим аутентификатором. Основным секретом аутентификатора является закрытый ключ SSH, который используется клиентом для цифровой подписи сообщения. Соответствующий открытый ключ используется сервером для проверки подписи сообщения, что подтверждает, что заявитель владеет закрытым ключом и контролирует его.
Чтобы избежать кражи, закрытый ключ SSH (то, что у тебя есть) может быть зашифрован с помощью кодовая фраза (что-то вы знаете). Чтобы инициировать процесс двухфакторной аутентификации, заявитель передает фразу-пароль клиентской системе.
Как и пароль, парольная фраза SSH - это запомненный секрет, но на этом сходство заканчивается. В то время как пароль - это общий секрет, который передается по сети, парольная фраза SSH не передается, и, кроме того, использование парольной фразы строго ограничено клиентской системой. Аутентификация через SSH - это пример аутентификация без пароля поскольку он позволяет избежать передачи общего секрета по сети. Фактически, аутентификация SSH вообще не требует общего секрета.
FIDO2
Стандарт протокола FIDO U2F стал отправной точкой для Проект FIDO2, совместная работа Консорциума Всемирной паутины (W3C) и FIDO Alliance. Результаты проекта включают веб-аутентификацию W3C (WebAuthn) стандарт и FIDO Протокол от клиента к аутентификатору (CTAP).[17] Вместе WebAuthn и CTAP обеспечивают строгая аутентификация решение для Интернета.
Аутентификатор FIDO2, также называемый аутентификатором WebAuthn, использует криптографию с открытым ключом для взаимодействия с клиентом WebAuthn,[18] то есть соответствующая сеть пользовательский агент который реализует WebAuthn JavaScript API.[19] Аутентификатор может быть аутентификатором платформы, роуминг-аутентификатором или некоторой их комбинацией. Например, аутентификатор FIDO2, реализующий протокол CTAP2.[16] - это роуминг-аутентификатор, который связывается с клиентом WebAuthn через один или несколько из следующих вариантов транспорта: USB, связь ближнего поля (NFC) или Bluetooth с низким энергопотреблением (BLE). Конкретные примеры аутентификаторов платформы FIDO2 включают Windows Hello[20] и Операционная система Android.[21]
Аутентификатор FIDO2 может использоваться как в однофакторном, так и в многофакторном режимах. В однофакторном режиме аутентификатор активируется простым тестом на присутствие пользователя (например, нажатием кнопки). В многофакторном режиме аутентификатор (то, что у тебя есть) активируется либо ШТЫРЬ (что-то вы знаете) или биометрический (что-то ты).
Код безопасности
Прежде всего, строгая аутентификация начинается с многофакторная аутентификация. Лучшее, что вы можете сделать для защиты своих личных учетных записей в Интернете, - это включить многофакторную аутентификацию.[13][22] Есть два способа добиться многофакторной аутентификации:
- Используйте многофакторный аутентификатор
- Используйте комбинацию из двух или более однофакторных аутентификаторов
На практике распространенным подходом является объединение аутентификатора пароля (что-то вы знаете) с другим аутентификатором (то, что у тебя есть), например криптографический аутентификатор.
Вообще говоря, криптографический аутентификатор предпочтительнее аутентификатора, не использующего криптографические методы. При прочих равных условиях криптографический аутентификатор, использующий криптографию с открытым ключом, лучше, чем тот, который использует криптографию с симметричным ключом, поскольку последний требует общих ключей (которые могут быть украдены или использованы не по назначению).
Опять же, при прочих равных, аппаратный аутентификатор лучше, чем программный аутентификатор, поскольку секрет аутентификатора предположительно лучше защищен аппаратно. Это предпочтение отражено в требованиях NIST, изложенных в следующем разделе.
Уровни надежности аутентификатора NIST
NIST определяет три уровня гарантии в отношении аутентификаторов. Наивысший уровень гарантии аутентификатора (AAL3) требует многофакторной аутентификации с использованием либо многофакторного аутентификатора, либо соответствующей комбинации однофакторных аутентификаторов. В AAL3 по крайней мере один из аутентификаторов должен быть криптографическим аппаратным аутентификатором. Учитывая эти основные требования, возможные комбинации аутентификаторов, используемые в AAL3, включают:
- Многофакторный криптографический аппаратный аутентификатор
- Однофакторный криптографический аппаратный аутентификатор, используемый вместе с другим аутентификатором (таким как аутентификатор пароля)
См. Руководство NIST по цифровой идентификации для дальнейшего обсуждения уровней гарантии аутентификатора.[9]
Ограниченные аутентификаторы
Как и уровни гарантии аутентификатора, понятие ограниченного аутентификатора является концепцией NIST.[3] Термин относится к аутентификатору с продемонстрированной неспособностью противостоять атакам, что ставит под сомнение надежность аутентификатора. Федеральные агентства смягчают использование ограниченного аутентификатора, предлагая подписчикам альтернативный аутентификатор, который не ограничен, и разрабатывая план перехода на тот случай, если ограниченный аутентификатор будет запрещен к использованию в какой-то момент в будущем.
В настоящее время использование телефонная сеть общего пользования ограничено NIST. В частности, внеполосная передача одноразовых паролей (OTP) через записанные голосовые сообщения или SMS сообщения ограничены. Более того, если агентство решит использовать одноразовые пароли на основе голоса или SMS, оно должно проверить, что одноразовый пароль передается на телефон, а не на IP-адрес, поскольку Голос по IP Учетные записи (VoIP) обычно не защищены многофакторной аутентификацией.[9]
Сравнение
В качестве основы для сравнения удобно использовать пароли, так как все понимают, как пользоваться паролем.[23] В компьютерных системах пароли используются по крайней мере с начала 1960-х годов.[24][25] В более общем плане пароли использовались с древних времен.[нужна цитата]
В 2012 году Bonneau et al. оценили два десятилетия предложений по замене паролей путем систематического сравнения веб-паролей с 35 конкурирующими схемами аутентификации с точки зрения их удобства использования, возможности развертывания и безопасности.[26] (Цитируемый технический отчет представляет собой расширенную версию рецензируемой статьи с таким же названием.[27]) Они обнаружили, что большинство схем более эффективны, чем пароли для обеспечения безопасности, в то время как каждый Схема хуже паролей по развертываемости. С точки зрения удобства использования некоторые схемы работают лучше, а некоторые хуже, чем пароли.
Google использовал схему оценки Bonneau et al. для сравнения ключей безопасности с паролями и одноразовыми паролями.[28] Они пришли к выводу, что ключи безопасности удобнее в использовании и развертывании, чем одноразовые пароли, и более безопасны, чем пароли и одноразовые пароли.
Смотрите также
Рекомендации
- ^ «Национальный глоссарий по обеспечению информации (IA)» (PDF). Комитет по системам национальной безопасности. 26 апреля 2010 г.. Получено 31 марта 2019.
- ^ «Глоссарий телекоммуникационных терминов». Институт телекоммуникационных наук. 7 августа 1996 г.. Получено 31 марта 2019.
- ^ а б c d Грасси, Пол А .; Гарсия, Майкл Э .; Фентон, Джеймс Л. (июнь 2017 г.). «Специальная публикация NIST 800-63-3: Рекомендации по цифровой идентификации». Национальный институт стандартов и технологий (NIST). Дои:10.6028 / NIST.SP.800-63-3. Получено 5 февраля 2019. Цитировать журнал требует
| журнал =
(помощь) - ^ Линдеманн, Рольф, изд. (11 апреля 2017 г.). «Технический глоссарий FIDO». ФИДО Альянс. Получено 26 марта 2019.
- ^ Бьянки, Андреа; Окли, Ян (2016). «Носимая аутентификация: тенденции и возможности» (PDF). It - Информационные технологии. 58 (5). Дои:10.1515 / itit-2016-0010.
- ^ Стейн, Скотт (26 июля 2018 г.). «Почему умные часы Wear OS не могут быть ключами безопасности?». CNET. Получено 31 марта 2019.
- ^ Уильямс, Бретт (27 июня 2017 г.). «Это умное кольцо обеспечивает мгновенные мобильные платежи с повышенной безопасностью». Mashable. Получено 31 марта 2019.
- ^ «Пример использования: ключи безопасности Google работают». ФИДО Альянс. 7 декабря 2016 г.. Получено 26 марта 2019.
- ^ а б c Грасси, Пол А .; Фентон, Джеймс Л .; Ньютон, Элейн М .; Перлнер, Рэй А .; Регеншайд, Эндрю Р .; Берр, Уильям Э .; Richer, Джастин П. (2017). «Специальная публикация NIST 800-63B: Рекомендации по цифровой идентификации: аутентификация и управление жизненным циклом». Национальный институт стандартов и технологий (NIST). Дои:10.6028 / NIST.SP.800-63b. Получено 5 февраля 2019. Цитировать журнал требует
| журнал =
(помощь) - ^ Кучан, Берислав (24 февраля 2004 г.). «Объявлена эталонная архитектура открытой аутентификации». Помощь Net Security. Получено 26 марта 2019.
- ^ «Спецификации и технические ресурсы OATH». Инициатива по открытой аутентификации. Получено 26 марта 2019.
- ^ «Сертификация OATH». В Инициатива по открытой аутентификации (КЛЯТВА). Получено 3 февраля 2019.
- ^ а б c Хоффман-Эндрюс, Джейкоб; Гебхарт, Дженни (22 сентября 2017 г.). «Руководство по распространенным типам двухфакторной аутентификации в Интернете». Фонд электронных рубежей. Получено 26 марта 2019.
- ^ «Google Authenticator». Получено 3 февраля 2019.
- ^ Бальфанц, Дирк; Биргиссон, Арнар; Ланг, Хуан, ред. (11 апреля 2017 г.). "FIDO U2F JavaScript API". ФИДО Альянс. Получено 22 марта 2019.
- ^ а б Бренд, Христиан; Ческис, Алексей; Эренсвярд, Якоб; Джонс, Майкл Б .; Кумар, Акшай; Линдеманн, Рольф; Пауэрс, Адам; Веррепт, Йохан, ред. (30 января 2019 г.). «Протокол клиент-аутентификатор (CTAP)». ФИДО Альянс. Получено 22 марта 2019.
- ^ «FIDO2: Мир за пределами паролей». ФИДО Альянс. Получено 30 января 2019.
- ^ Стениус, Петтери (20 февраля 2019 г.). «Введение в FIDO (Fast IDentity Online)». Убисекюр. Получено 30 апреля 2019.
- ^ Бальфанц, Дирк; Ческис, Алексей; Ходжес, Джефф; Jones, J.C .; Джонс, Майкл Б .; Кумар, Акшай; Ляо, Анджело; Линдеманн, Рольф; Лундберг, Эмиль (ред.). «Веб-аутентификация: API для доступа к учетным данным открытого ключа уровня 1». Консорциум World Wide Web (W3C). Получено 30 января 2019.
- ^ Саймонс, Алекс (20 ноября 2018 г.). «Безопасный вход без пароля для вашей учетной записи Microsoft с помощью ключа безопасности или Windows Hello». Microsoft. Получено 6 марта 2019.
- ^ «Android Now сертифицирован FIDO2, ускорение глобальной миграции помимо паролей». БАРСЕЛОНА: ФИДО Альянс. 25 февраля 2019 г.,. Получено 6 марта 2019.
- ^ «Двухфакторная аутентификация (2FA); новое руководство NCSC». Национальный центр кибербезопасности (NCSC). 8 августа 2018.
- ^ Хант, Трой (5 ноября 2018 г.). «Вот почему [Insert Thing Here] не является убийцей паролей». Получено 24 марта 2019.
- ^ Макмиллан, Роберт (27 января 2012 г.). «Первый в мире компьютерный пароль? Он тоже был бесполезен». Wired журнал. Получено 22 марта 2019.
- ^ Хант, Трой (26 июля 2017 г.). «Развитие паролей: руководство по аутентификации в современную эпоху». Получено 22 марта 2019.
- ^ Бонно, Жозеф; Херли, Кормак; Оршот, Пол К. ван; Стаджано, Франк (2012). «Поиски замены паролей: основа для сравнительной оценки схем веб-аутентификации». Технический отчет - Кембриджский университет. Компьютерная лаборатория. Кембридж, Великобритания: Компьютерная лаборатория Кембриджского университета. ISSN 1476-2986. Получено 22 марта 2019.
- ^ Бонно, Жозеф; Херли, Кормак; Оршот, Пол К. ван; Стаджано, Франк (2012). В поисках замены паролей: основа для сравнительной оценки схем веб-аутентификации. Симпозиум IEEE 2012 г. по безопасности и конфиденциальности. Сан-Франциско, Калифорния. С. 553–567. Дои:10.1109 / SP.2012.44.
- ^ Ланг, Хуан; Ческис, Алексей; Бальфанц, Дирк; Шильдер, Мариус; Шринивас, Сампатх (2016). «Ключи безопасности: практические второстепенные факторы криптографии для современного Интернета» (PDF). Финансовая криптография и безопасность данных 2016. Получено 26 марта 2019.