YubiKey

YubiKey — аппаратное устройство аутентификации, производимое компанией Yubico Inc. для защиты доступа к компьютерам, сетям и онлайн-сервисам с поддержкой одноразовых паролей (OTP), асимметричной криптографии, аутентификации по стандартам U2F и FIDO2[1], разработанным FIDO Alliance. YubiKey позволяет безопасно входить в учётные записи с помощью одноразовых паролей или с применением пары ключей, сгенерированной на устройстве по протоколам FIDO. Также в YubiKey можно хранить статические пароли для сайтов, не поддерживающих OTP[2]. Крупные компании, такие как Google, Amazon, Microsoft, Twitter и Facebook, применяют YubiKey для защиты учётных записей сотрудников и пользователей[3][4][5]. Некоторые менеджеры паролей поддерживают YubiKey[6][7]. Yubico также выпускает устройство Security Key — более дешёвую версию с поддержкой только FIDO2/WebAuthn и FIDO/U2F[8][9][10].

undefined
Общие сведения
Yubico Inc.
Тип публичная компания
Основание 2007
Основатели Стина Ерэнсверд (Stina Ehrensvärd)
Расположение Санта-Клара, Калифорния, США
Ключевые фигуры Стина Ерэнсверд — основатель и Chief Evangelist
Якоб Ерэнсверд — технический директор
Маттиас Даниэльссон — генеральный директор
Отрасль Электроника
Сайт yubico.com

Описание

YubiKey поддерживает алгоритмы HOTP и TOTP для создания одноразовых паролей и определяется как клавиатура, которая отправляет эти пароли через протокол USB HID. Также YubiKey может эмулировать карту OpenPGP с поддержкой ключей RSA (1024, 2048, 3072 и 4096 бит; для ключей больше 2048 бит требуется GnuPG 2.0+) и эллиптических кривых p256, p384 и других, в зависимости от модели[11], не раскрывая приватные ключи. Также поддерживается стандарт PKCS#11 для эмуляции PIV-карт, что позволяет подписывать коды, например для Docker, аутентифицироваться по сертификату в Active Directory и SSH[12][13][14][15].

Компания Yubico основана в 2007 году бывшим генеральным директором, ныне Chief Evangelist, Стиной Ерэнсверд. Головной офис расположен в Санта-Кларе (Калифорния), также есть офисы в Белвью и Стокгольме[16]. Технический директор Якоб Ерэнсверд — основной автор спецификации Universal 2nd Factor (U2F)[17].

В 2018 году вышла серия YubiKey 5 с поддержкой FIDO2[18].

История

Компания Yubico основана в 2007 году и в ноябре того же года представила набор Pilot Box для разработчиков[19]. Первый продукт YubiKey был показан на ежегодной конференции RSA в апреле 2008 года[20][21]. Более надёжная модель YubiKey II вышла в 2009 году[22]. По заявлению компании, название «YubiKey» происходит от фразы «your ubiquitous key» («твой вездесущий ключ»), а слово «yubi» по-японски означает «палец»[23].

YubiKey II и последующие версии имеют два «слота» для разных конфигураций с отдельными секретными ключами AES. Для аутентификации используется первый слот (короткое нажатие), второй — при удержании кнопки 2-5 секунд.

В 2010 году появились модели YubiKey OATH и YubiKey RFID. YubiKey OATH добавил поддержку 6- и 8-значных OTP по протоколу OATH, в дополнение к 32-значным паролям родной схемы, а YubiKey RFID включал RFID-чип MIFARE Classic 1k[24], причём этот функционал реализован отдельным устройством и Yubico-программой через USB не настраивается[25].

В феврале 2012 была представлена миниатюрная версия — YubiKey Nano, почти полностью помещающаяся в USB-порт[26]. Впоследствии почти все модели выпускались и в nano-варианте.

В 2012 году также вышел YubiKey Neo с поддержкой NFC и интеграцией с USB-стороной устройства[27]. Neo и Neo-n (nano-версия) отправляют одноразовые пароли через NFC как часть URL в формате NDEF. Neo поддерживает протокол CCID для PIV и OpenPGP, а USB HID используется для OTP[28].

В 2014 году Neo получил поддержку FIDO U2F[29]. Позже выпущен FIDO U2F Security Key без поддержки OTP, статических паролей и NFC, по сниженной цене (18 долларов против $25/40/50/60 у других моделей)[8][30]. Некоторые устройства для тестирования Google назывались «Yubico WinUSB Gnubby (gnubby1)»[31].

В апреле 2015 был презентован YubiKey Edge (стандартный и nano), между Neo и U2F по функциям (OTP и U2F без smartcard и NFC)[32].

Линейка YubiKey 4 вышла в ноябре 2015 — модели USB-A (обычные и nano); поддерживает ключи OpenPGP до 4096 бит, но без NFC.

На выставке CES 2017 была анонсирована серия YubiKey 4C — форм-фактор USB-C, выпущена 13 февраля 2017[33]. Для Android поддерживается только OTP, а U2F и другие функции не реализованы в ОС[34]. Версия 4C Nano доступна с сентября 2017[35].

В апреле 2018 года выпущен Security Key by Yubico с поддержкой новых протоколов FIDO2 (WebAuthn и CTAP, форм-фактор только USB-A, синий цвет, иконка-ключ с цифрой «2»)[9]. Стоимость ниже по сравнению с Neo и YubiKey 4 ($20 на старте), так как отсутствует поддержка OTP и smartcard.

Деятельность и продукция

Ниже приведены основные возможности и функционал продуктов YubiKey[36].

Модель Годы продаж Безопасные
статические
пароли
OTP-стандарты Смарт-карты FIDO-стандарты HSM FIPS
140-2

вариант
Интерфейс
OATH
OTP
Yubico
OTP
OATH: HOTP OATH: TOTP PIV OpenPGP U2F FIDO2 NFC USB-A USB-C Lightning
YubiKey VIP 2011-2017 Да Да
YubiKey Nano 2012-2016 Да Да Да Да
YubiKey NEO 2012-2018 Да Да Да Да Да Да Да Да Да
FIDO U2F Security Key 2013-2018 Да Да
YubiKey Plus 2014-2015 Да Да Да
YubiKey NEO-n 2014-2016 Да Да Да Да Да Да Да Да
YubiKey Standard 2014-2016 Да Да Да Да
YubiKey Edge-n 2015-2016 Да Да Да Да Да Да Да
YubiKey 4 Nano 2016-2017 Да Да Да Да Да Да Да
YubiHSM 1 2015-2017 Да Да
YubiKey 4 2015-2018 Да Да Да Да Да Да Да Да
YubiKey 4 Nano 2015-2018 Да Да Да Да Да Да Да Да
YubiKey 4C Nano 2017-2018 Да Да Да Да Да Да Да Да
YubiKey 4C 2017-2018 Да Да Да Да Да Да Да Да
YubiHSM 2 2017- Да Да
Security Key by Yubico 2018-2020 Да Да Да
Security Key NFC by Yubico 2019- Да Да Да Да
YubiKey 5C Nano 2018- Да Да Да Да Да Да Да Да Да
YubiKey 5C 2018- Да Да Да Да Да Да Да Да Да
YubiKey 5 Nano 2018- Да Да Да Да Да Да Да Да Да
YubiKey 5 NFC 2018- Да Да Да Да Да Да Да Да Да Да
YubiKey 5Ci 2019- Да Да Да Да Да Да Да Да Да Да
YubiKey 5C NFC 2020- Да Да Да Да Да Да Да Да Да Да

ModHex

При использовании YubiKey для создания одноразовых или статических паролей применён модифицированный шестнадцатеричный алфавит ModHex, что позволяет минимизировать зависимость от раскладки клавиатуры. Алфавит состоит из символов «cbdefghijklnrtuv», которые соответствуют «0123456789abcdef»[37].

В режиме USB HID возможны сложности на компьютерах с другой раскладкой, для чего был введён ModHex[38]. Также проблему можно обойти, временно переключив на US-раскладку. YubiKey Neo и новее позволяют настраивать другие сканкоды, чтобы поддерживать несовместимые раскладки[39].

Это ограничение относится только к устройствам YubiKey в режиме HID. При использовании U2F применяется альтернативный протокол, передающий бинарные сообщения, а не коды клавиш[40]. В режиме CCID устройство работает как смарт-карта без эмуляции клавиатуры.

Проблемы безопасности

Закрытость кода YubiKey 4

Большинство кода на устройствах YubiKey — закрытое ПО. Yubico выкладывал исходники для отдельных функций (например, PGP или HOTP), однако начиная с 4-го поколения используется не тот же код, что публиковался[41][42]. Поскольку новые устройства имеют заблокированную на заводе прошивку, невозможно самостоятельно загрузить альтернативный open-source код; пользователь вынужден доверять, что встроенное ПО аутентично и безопасно.

Код для других функций, таких как U2F, PIV и ModHex, полностью закрытый.

16 мая 2016 года технический директор Yubico Якоб Ерэнсверд опубликовал в блоге ответ на опасения сообщества, отдельно отметив: «Мы как продуктовая компания дали чёткий ответ против использования ПО на базе стандартных однокристальных контроллеров, потому что считаем AVR или ARM недостаточно безопасными для подобных продуктов»[43].

Глава Techdirt Майк Мезник резко раскритиковал это решение, отметив: «Шифрование — дело тонкое. Почти всегда есть уязвимости. Лучший способ выявить их — дать как можно больше специалистов доступ к коду, но это невозможно, когда код закрыт»[44].

Уязвимость ROCA для YubiKey 4/4C/4 Nano

В октябре 2017 года исследователи нашли уязвимость ROCA в реализации генерации ключевой пары RSA в криптобиблиотеке Infineon, применявшейся в ряде токенов, включая YubiKey[45][46]. Все устройства YubiKey 4, 4C и 4 Nano с ревизиями от 4.2.6 до 4.3.4 были уязвимы[47]. Проблема решена во всех новых поставках, а пострадавшим пользователям до 31 марта 2019 года предоставлялись бесплатные замены. В отдельных случаях обход возможен созданием ключа вне устройства с последующей загрузкой[48].

Bypass пароля OTP в YubiKey NEO

В январе 2018 года Yubico объявила о средней серьёзности уязвимости: защита паролем для OTP в YubiKey NEO могла быть обойдена при определённых условиях. Исправлено с версии прошивки 3.5.0, для затронутых пользователей до 1 апреля 2019 года предлагалась бесплатная замена[49].

Недостаточная энтропия на новых FIPS-ключах

В июне 2019 года компания выпустила уведомление о снижении энтропии в FIPS-серии устройств с прошивкой 4.4.2 и 4.4.4 (4.4.3 отсутствует) после включения питания[50]. Низкая случайность могла повлиять на надёжность ключей при определённых сценариях, особенно при использовании ECDSA. Пострадавшим клиентам предлагалась бесплатная замена.

Утечка закрытого ключа ECDSA через сторонний канал (Infineon)

В сентябре 2024 года исследователи из NinjaLab обнаружили уязвимость чипов Infineon, позволяющую клонировать Yubikey при физическом доступе к нему. Проблема затрагивает все ключи до версии прошивки 5.7. В компании отметили, что уровень угрозы «умеренный», так как необходим физический доступ, дорогостоящее оборудование и глубокие технические знания[51][52][53].

Социальная активность

В 2018 году компания раздавала бесплатные ключи YubiKey с гравировкой подписчикам WIRED и ArsTechnica[54].

В ходе протестов 2019—2020 годов в Гонконге Yubico предоставила 500 ключей местным активистам, ссылаясь на миссию по защите уязвимых пользователей и сотрудничество со сторонниками свободы слова[55][56].

Примечания

Ссылки