YubiKey — это аппаратное устройство аутентификации, производимое Yubico для защиты доступа к компьютерам, сетям и онлайн-сервисам, которое поддерживает одноразовые пароли (OTP), криптографию с открытым ключом , аутентификацию и протоколы Universal 2nd Factor (U2F) и FIDO2 [1], разработанные FIDO Alliance . Оно позволяет пользователям безопасно входить в свои учетные записи, выдавая одноразовые пароли или используя пару открытого/закрытого ключа на основе FIDO, сгенерированную устройством. YubiKey также позволяет хранить статические пароли для использования на сайтах, которые не поддерживают одноразовые пароли. [2] Google, Amazon, Microsoft, Twitter и Facebook используют устройства YubiKey для защиты учетных записей сотрудников, а также учетных записей конечных пользователей. [3] [4] [5] Некоторые менеджеры паролей поддерживают YubiKey. [6] [7] Yubico также производит Security Key , похожее более дешевое устройство с поддержкой только FIDO2/WebAuthn и FIDO/U2F. [8] [9] [10]
YubiKey реализует алгоритм одноразового пароля на основе HMAC (HOTP) и алгоритм одноразового пароля на основе времени (TOTP) и идентифицирует себя как клавиатуру, которая доставляет одноразовый пароль по протоколу USB HID . YubiKey также может представлять себя как карту OpenPGP, использующую 1024, 2048, 3072 и 4096-битный RSA (для размеров ключа более 2048 бит требуется GnuPG версии 2.0 или выше) и криптографию на эллиптических кривых (ECC) p256, p384 и более, в зависимости от версии, [11] позволяя пользователям подписывать, шифровать и расшифровывать сообщения, не раскрывая закрытые ключи внешнему миру. Также поддерживается стандарт PKCS#11 для эмуляции смарт-карты PIV . Эта функция позволяет подписывать код образов Docker , а также выполнять аутентификацию на основе сертификатов для Microsoft Active Directory и SSH . [12] [13] [14] [15]
Yubico, основанная в 2007 году бывшим генеральным директором, а ныне главным евангелистом Стиной Эренсвард , является публичной компанией с офисами в Санта-Кларе, штат Калифорния , Белвью, штат Вашингтон , и Стокгольме, Швеция . [16] Технический директор Yubico Якоб Эренсвард — ведущий автор оригинальной спецификации строгой аутентификации, которая стала известна как Universal 2nd Factor (U2F). [17]
YubiKey выпустила серию YubiKey 5 в 2018 году, в которую добавлена поддержка FIDO2 . [18]
Компания Yubico была основана в 2007 году и начала предлагать Pilot Box для разработчиков в ноябре того же года. [19] Оригинальный продукт YubiKey был представлен на ежегодной конференции RSA в апреле 2008 года, [20] [21] а более надежная модель YubiKey II была выпущена в 2009 году. [22] Yubico объясняет название «YubiKey» тем, что оно происходит от фразы «ваш вездесущий ключ», а «yubi» — это японское слово, обозначающее палец. [23]
YubiKey II и более поздние модели имеют два "слота" для хранения двух различных конфигураций с отдельными секретами AES и другими настройками. При аутентификации первый слот используется только при кратковременном нажатии кнопки на устройстве, тогда как второй слот используется при удержании кнопки в течение 2–5 секунд.
В 2010 году Yubico начала предлагать модели YubiKey OATH и YubiKey RFID. YubiKey OATH добавила возможность генерировать 6- и 8-символьные одноразовые пароли с использованием протоколов Инициативы по открытой аутентификации (OATH) в дополнение к 32-символьным паролям, используемым собственной схемой аутентификации OTP Yubico. Модель YubiKey RFID включала возможность OATH, а также включала чип радиочастотной идентификации MIFARE Classic 1k , [24] хотя это было отдельное устройство в пакете, которое нельзя было настроить с помощью обычного программного обеспечения Yubico через USB-соединение. [25]
В феврале 2012 года Yubico анонсировала YubiKey Nano — миниатюрную версию стандартного YubiKey, которая была разработана таким образом, чтобы она почти полностью помещалась в USB-порт и оставляла только небольшую сенсорную панель для кнопки. [26] Большинство более поздних моделей YubiKey также были доступны как в стандартном, так и в «нано»-размере.
В 2012 году также был представлен YubiKey Neo, который улучшил предыдущий продукт YubiKey RFID, внедрив технологию ближней радиочастотной связи (NFC) и интегрировав ее с USB-стороной устройства. [27] YubiKey Neo (и Neo-n, «nano»-версия устройства) способны передавать одноразовые пароли на считыватели NFC как часть настраиваемого URL-адреса, содержащегося в сообщении формата обмена данными NFC (NDEF). Neo также способен взаимодействовать с использованием протокола смарт-карт CCID в дополнение к эмуляции клавиатуры USB HID (устройство интерфейса человека). Режим CCID используется для поддержки смарт-карт PIV и OpenPGP , в то время как USB HID используется для схем аутентификации одноразовых паролей. [28]
В 2014 году YubiKey Neo был обновлен с поддержкой FIDO Universal 2nd Factor (U2F). [29] Позже в том же году Yubico выпустила FIDO U2F Security Key, который включал в себя поддержку U2F, но не имел других функций одноразового пароля, статического пароля, смарт-карты или NFC предыдущих YubiKey. [8] На момент запуска он соответственно продавался по более низкой цене всего в 18 долларов, по сравнению с 25 долларами за YubiKey Standard (40 долларов за версию Nano) и 50 долларами за YubiKey Neo (60 долларов за Neo-n). [30] Некоторые из предварительных версий устройств, выпущенных Google во время разработки FIDO/U2F, сообщали о себе как о «Yubico WinUSB Gnubby (gnubby1)». [31]
В апреле 2015 года компания выпустила YubiKey Edge в стандартном и нано-форм-факторах. Он занял промежуточное положение между продуктами Neo и FIDO U2F по своим функциям, поскольку был разработан для обработки аутентификации OTP и U2F, но не включал поддержку смарт-карт или NFC. [32]
Семейство устройств YubiKey 4 впервые было запущено в ноябре 2015 года с моделями USB-A как в стандартных, так и в наноразмерах. YubiKey 4 включает в себя большинство функций YubiKey Neo, включая увеличение допустимого размера ключа OpenPGP до 4096 бит (по сравнению с предыдущими 2048), но лишено возможности NFC Neo.
На выставке CES 2017 компания Yubico анонсировала расширение серии YubiKey 4 для поддержки нового дизайна USB-C . YubiKey 4C был выпущен 13 февраля 2017 года. [33] На ОС Android через соединение USB-C поддерживается только функция одноразового пароля ОС Android и YubiKey, а другие функции в настоящее время не поддерживаются, включая Universal 2nd Factor (U2F). [34] Версия 4C Nano стала доступна в сентябре 2017 года. [35]
В апреле 2018 года компания выпустила Security Key от Yubico, первое устройство, реализующее новые протоколы аутентификации FIDO2 , WebAuthn (который получил статус рекомендации W3C в марте [36] ) и Client to Authenticator Protocol (CTAP). На момент запуска устройство доступно только в «стандартном» форм-факторе с разъемом USB-A. Как и предыдущий FIDO U2F Security Key, он синего цвета и использует значок ключа на своей кнопке. Он отличается цифрой «2», выгравированной на пластике между кнопкой и отверстием для брелока. Он также дешевле моделей YubiKey Neo и YubiKey 4, стоимостью 20 долларов за единицу на момент запуска, поскольку в нем отсутствуют функции одноразовых паролей и смарт-карт предыдущих устройств, хотя он сохраняет возможность FIDO U2F. [9]
Список основных функций и возможностей продуктов YubiKey. [37]
При использовании для одноразовых паролей и сохраненных статических паролей YubiKey выдает символы, используя модифицированный шестнадцатеричный алфавит, который призван быть максимально независимым от настроек системной клавиатуры. Этот алфавит называется ModHex и состоит из символов "cbdefghijklnrtuv", соответствующих шестнадцатеричным цифрам "0123456789abcdef". [38]
Поскольку YubiKeys используют необработанные коды сканирования клавиатуры в режиме USB HID, могут возникнуть проблемы при использовании устройств на компьютерах, настроенных с разными раскладками клавиатуры, такими как Dvorak . ModHex был создан для того, чтобы избежать конфликтов между разными раскладками клавиатуры. Он использует только символы, которые расположены в одном и том же месте на большинстве клавиатур с латинским алфавитом, но по-прежнему состоит из 16 символов, что позволяет использовать его вместо шестнадцатеричной системы счисления. [39] В качестве альтернативы эту проблему можно решить, используя функции операционной системы для временного переключения на стандартную раскладку клавиатуры США (или аналогичную) при использовании одноразовых паролей. Однако устройства YubiKey Neo и более поздние версии можно настроить с помощью альтернативных кодов сканирования для соответствия раскладкам, несовместимым с набором символов ModHex. [40]
Эта проблема касается только продуктов YubiKey в режиме HID, где он должен эмулировать ввод с клавиатуры. Аутентификация U2F в продуктах YubiKey обходит эту проблему, используя альтернативный протокол U2FHID, который отправляет и получает необработанные двоичные сообщения вместо кодов сканирования клавиатуры. [41] Режим CCID действует как считыватель смарт-карт, который вообще не использует протоколы HID.
Большая часть кода, работающего на YubiKey, имеет закрытый исходный код. Хотя Yubico выпустила некоторый код для стандартных функций отрасли, таких как PGP и HOTP, было раскрыто, что с 4-го поколения продукта это не тот же код, с которым поставляются новые устройства. [42] [43] Поскольку новые устройства имеют постоянно заблокированную прошивку на заводе, невозможно скомпилировать открытый исходный код и загрузить его на устройство вручную, пользователь должен быть уверен, что код на новом ключе является подлинным и безопасным.
Код для других функций, таких как U2F , PIV и Modhex, полностью закрыт.
16 мая 2016 года технический директор Yubico Якоб Эренсверд ответил на обеспокоенность сообщества разработчиков ПО с открытым исходным кодом в сообщении в блоге, в котором говорилось, что «мы, как компания-производитель, заняли четкую позицию против реализаций, основанных на готовых компонентах, и считаем, что что-то вроде контроллера AVR или ARM коммерческого класса не подходит для использования в продукте безопасности». [44]
Основатель Techdirt Майк Масник резко раскритиковал это решение, заявив: «Шифрование — сложная штука. Почти всегда есть уязвимости и ошибки — на этом мы в последнее время много внимания уделяем. Но лучший способ исправить это — привлечь как можно больше знающих людей к коду. А это невозможно, когда он имеет закрытый исходный код». [45]
В октябре 2017 года исследователи безопасности обнаружили уязвимость (известную как ROCA ) в реализации генерации пары ключей RSA в криптографической библиотеке, используемой большим количеством микросхем безопасности Infineon , используемых в широком спектре ключей безопасности и продуктов токенов безопасности (включая YubiKey). Уязвимость позволяет злоумышленнику восстановить закрытый ключ с помощью открытого ключа. [46] [47] Все устройства YubiKey 4, YubiKey 4C и YubiKey 4 Nano в пределах ревизий 4.2.6 до 4.3.4 были затронуты этой уязвимостью. [48] Yubico исправила эту проблему во всех поставляемых устройствах YubiKey 4, переключившись на другую функцию генерации ключей и предлагая бесплатную замену любых затронутых ключей до 31 марта 2019 года. В некоторых случаях проблему можно обойти, сгенерировав новые ключи вне YubiKey и импортировав их на устройство. [49]
В январе 2018 года Yubico раскрыла умеренную уязвимость, при которой защита паролем для функции OTP на YubiKey NEO могла быть обойдена при определенных условиях. Проблема была исправлена в версии прошивки 3.5.0, и Yubico предложила бесплатную замену ключей любому пользователю, заявляющему, что он пострадал, до 1 апреля 2019 года. [50]
В июне 2019 года Yubico выпустила рекомендацию по безопасности, в которой сообщалось о сниженной случайности в сертифицированных FIPS устройствах с прошивкой версии 4.4.2 и 4.4.4 (версии 4.4.3 нет), вскоре после включения питания. [51] Ключи безопасности с пониженной случайностью могут сделать ключи более легко обнаруживаемыми и скомпрометированными, чем ожидалось. Проблема затронула только серию FIPS, и то только определенные сценарии, хотя использование FIPS ECDSA было «подвержено более высокому риску». Компания предложила бесплатную замену для любых затронутых ключей.
В сентябре 2024 года исследователи безопасности из NinjaLab обнаружили криптографическую уязвимость в чипах Infineon, которая позволяла человеку клонировать Yubikey, если злоумышленник получил физический доступ к нему. Уязвимость безопасности постоянно затрагивала все Yubikey до обновления прошивки 5.7. Yubico оценила проблему как «умеренную», сославшись на необходимость для злоумышленника иметь физический доступ к ключу, дорогостоящее оборудование и передовые криптографические и технические знания. [52] [53] [54]
В 2018 году Yubico раздала бесплатные YubiKeys с выгравированными лазером логотипами новым подписчикам WIRED и ArsTechnica. [55]
Yubico предоставила 500 YubiKey протестующим во время протестов в Гонконге в 2019–2020 годах . Компания заявляет, что решение было принято в соответствии с ее миссией по защите уязвимых пользователей Интернета и работе со сторонниками свободы слова . [56] [57]