Скоро: Поддержка U2F ключей в Rohos Logоn Key для аутентификации в Windows

С начала 2018 года мы работаем над внедрением технологии FIDO U2F в Rohos Logon Key и Rohos Disk для обеспечения двух-факторной аутентификации в Windows, включая Active Directory. И в этом анонсе хотели бы затронуть ряд вопросов:

  • Описать детали криптографического протокола U2F
  • Поделиться практическими исследованиями авторов U2F
  • Раскрыть преимущества по сравнению с обычными Одноразовыми Паролями HOTP и TOTP описанными в стандартах OATH. Для примера, такие всемирно известные устройства RSA SecureID, DigiPass, Yubikey и программа Google Authenticator способны генерировать такие одноразовые коды доступа H/TOTP.
  • Также мы сравним возможности U2F токена с PKCS#11 токеном.
  • Рассмотрим другие варианты применения U2F ключа.

Стандарт FIDO U2F

U2F означает (universal second factor) универсальный второй фактор. Это принципиально новое устройство которое должно служить вторым фактором в системах двух-факторной аутентификации с участием человека.  В основе функционала лежат несколько принципов :

  • Устройство создает пару Ключей для цифровой подписи и возвращает ее в зашифрованном виде. Для создания подписи эти ключи может использовать только устройство которое их создало;
  • Устройство создает цифровую подпись дайджеста, используя ранее созданную им-же Пару Ключей. Пользователь или система аутентификации может проверить достоверность этой подписи;

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

Подробный обзор U2F устройства и список преимуществ >>

Поддержка U2F в Rohos Logon Key

В версии Rohos Logon Key v.3.6. betta программа будет использовать 2 функции U2F ключа: Регистрация и Аутентификация. Возможно будет также использовать U2F токен для одно-факторной аутентификации, когда ключ заменяет пароль.

Для домашних компьютеров:

  • Использование Ключа в одно-факторном режиме аутентификации. Это когда для входа достаточно подключить U2F ключ. При этом можно опционально задать ПИН код на вход в систему с помощью ключа.
  • Создание конфигурации. Создание Параметра на основе системной учетной записи. Запрос Вспомогательного ключа и публичного ключа. Все эти данные будут сохранены на ПК локально.
  • Аутентификация. Использование ранее сохраненных данных для получения подписи и ее проверки.

Для рабочих станций в сети Active Directory:

  • Создание конфигурации. Создание Параметра на основе системной учетной записи и имени домена. Запрос Вспомогательного ключа и публичного ключа. Все эти данные будут сохранены в базе данных Active Directory.
  • Аутентификация. Использование ранее сохраненных данных из базы данных Active Directory, для получения подписи и ее проверки непосредственно на рабочей станции.

Можно ли доверять U2F ? 

Безопасность использования ключа держится на нескольких функциях в U2F :

  1. Генерация ключей ECDSA и роль генератора случайных чисел и заданного параметра в этом процессе. Напомним что есть атаки\манипуляции с ключами при которых возможно передавать некоторую скрытую информацию payload в публичном ключе [ссылка].
  2. Криптографический алгоритм шифрования Секретного Ключа из пары ECDSA (Цифровая Подпись на базе Эллиптических Кривых). Инженеры Google в своих предложениях ограничились алгоритмом 3DES с двумя ключами, что сейчас является не самым сильным решением. Стандарт U2F разрешает производителю устройств выбирать протокол защиты ключа.
  3. Датчик присутствия человека. Если его можно обмануть программным или механическим путем то становятся возможным анализировать протокол защиты устройства;

Что делать если ключ утерян ?

Поскольку у самого ключа нет серийного номера по стандарту U2F. И в самой спецификации сказано «если ключ утерян, не должно быть возможности хоть что-нибудь стоящего получить из ключа». В этом случае пользователю целиком приходиться полагаться на Систему Аутентификации — она должна предложить альтернативный способ входа, например: 

  • Возможность заблаговременного подключения второго (аварийного) U2F ключа для доступа в систему.
  • Процедура аварийного отключения двух-факторной аутентификации. Например прикрепление к учетной записи электронной почты либо номера телефона на который придет КОД с помощью которого можно подключить новый ключ либо войти в систему без ключа.