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