Скоро: Поддержка 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 :
- Генерация ключей ECDSA и роль генератора случайных чисел и заданного параметра в этом процессе. Напомним что есть атаки\манипуляции с ключами при которых возможно передавать некоторую скрытую информацию payload в публичном ключе [ссылка].
- Криптографический алгоритм шифрования Секретного Ключа из пары ECDSA (Цифровая Подпись на базе Эллиптических Кривых). Инженеры Google в своих предложениях ограничились алгоритмом 3DES с двумя ключами, что сейчас является не самым сильным решением. Стандарт U2F разрешает производителю устройств выбирать протокол защиты ключа.
- Датчик присутствия человека. Если его можно обмануть программным или механическим путем то становятся возможным анализировать протокол защиты устройства;
Что делать если ключ утерян ?
Поскольку у самого ключа нет серийного номера по стандарту U2F. И в самой спецификации сказано «если ключ утерян, не должно быть возможности хоть что-нибудь стоящего получить из ключа». В этом случае пользователю целиком приходиться полагаться на Систему Аутентификации — она должна предложить альтернативный способ входа, например:
- Возможность заблаговременного подключения второго (аварийного) U2F ключа для доступа в систему.
- Процедура аварийного отключения двух-факторной аутентификации. Например прикрепление к учетной записи электронной почты либо номера телефона на который придет КОД с помощью которого можно подключить новый ключ либо войти в систему без ключа.