Yubikey что это
Перейти к содержимому

Yubikey что это

  • автор:

Многофакторная аутентификация

Многофакторная аутентификация ( МФА ) — это механизм безопасности, который требует от вас дополнительных действий, помимо ввода логина (или электронной почты) и пароля. Самым распространенным методом являются временные коды, которые вы можете получить по СМС или в приложении.

Обычно, если хакеру (или злоумышленнику) удается узнать ваш пароль, то он получает доступ к учетной записи, которую этот пароль защищал. Учетная запись с МФА вынуждает хакера иметь как пароль (то, что вы знаете), так и устройство, которым вы владеете (то, что у вас есть), например, ваш телефон.

Методы MFA различаются по степени безопасности, но в их основе лежит принцип, что чем сложнее злоумышленнику получить доступ к вашему методу MFA, тем лучше. Примеры методов MFA (от самого слабого к самому сильному) включают СМС , коды по электронной почте, пуш-уведомления из приложений, TOTP , Yubico OTP и FIDO .

Сравнение методов МФА ¶

МФА по СМС или электронной почте¶

Получение OTP -кодов по СМС или электронной почте — один из самых слабых способов защиты учетных записей с помощью MFA. Получение кода по электронной почте или СМС невилирует принцип «что-то, что у вас есть«, поскольку существует множество способов, которыми хакер может завладеть вашим телефонным номером или получить доступ к вашей электронной почте, не имея физического доступа ни к одному из ваших устройств. Если злоумышленник получит доступ к вашей электронной почте, то он сможет использовать этот доступ как для сброса пароля, так и для получения кода аутентификации, что даст ему полный доступ к вашей учетной записи.

Пуш-уведомления¶

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

Мы все совершаем ошибки, поэтому существует риск, что вы можете случайно одобрить вход в систему. Авторизация входа с помощью пуш-уведомлений обычно отправляется на все ваши устройства одновременно, что расширяет доступность кодов МФА , если у вас много устройств.

Безопасность МФА с пуш-уведомлениями зависит как от качества приложения, серверного компонента, так и от доверия к разработчику, который его создает. Установка приложений также может потребовать от вас выдачу инвазивных разрешений, предоставляющих доступ к другим данным на вашем устройстве. Некоторые приложения также требуют наличие отдельного приложения для каждого сервиса, для открытия которого может не требоваться пароль, в отличие от хорошего приложения генератора TOTP .

Одноразовый пароль основанный на времени ( TOTP )¶

TOTP — одна из наиболее распространенных форм MFA. При установке TOTP обычно требуется отсканировать QR-код, который содержит «общий секрет» с сервисом, который вы собираетесь использовать. Общий секрет хранится внутри данных приложения аутентификатора и иногда защищен паролем.

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

Если у вас есть аппаратный ключ безопасности с поддержкой TOTP (например, YubiKey с Yubico Authenticator), мы рекомендуем хранить ваши «общие секреты» на этом аппаратном ключе. Такое оборудование, как YubiKey, было разработано с целью сделать «общий секрет» трудноизвлекаемым и копируемым. YubiKey также не подключен к интернету, в отличие от телефона с приложением TOTP .

В отличие от WebAuthn, TOTP не обеспечивает защиту от фишинга или повторных атак. Если злоумышленник получает от вас действующий код, он может использовать его сколько угодно раз, пока не истечет срок его действия (обычно 60 секунд).

Злоумышленник может создать сайт, имитирующий официальный сервис, чтобы обманом заставить вас сообщить свое имя пользователя, пароль и текущий код TOTP . Если злоумышленник затем использует эти записанные учетные данные, он сможет войти в реальный сервис и завладеть учетной записью.

Хотя TOTP не совершенен, он достаточно безопасен для большинства людей, и если аппаратные ключи безопасности не поддерживаются, то приложения-аутентификаторы все ещё являются хорошим вариантом.

Аппаратные ключи безопасности¶

YubiKey хранит данные на устойчивом к взлому твердотельном чипе, к которому, невозможно получить доступ, без криминалистической лаборатории и дорогостоящего процесса.

Как правило, такие ключи являются многофункциональными и предоставляют несколько способов аутентификации. Ниже приведены наиболее распространенные из них.

Yubico OTP ¶

Yubico OTP — это протокол аутентификации, обычно реализуемый в аппаратных ключах безопасности. Когда вы решите использовать Yubico OTP , ключ будет генерировать публичный ID, личный ID и секретный ключ, который затем загружается на сервер Yubico OTP .

При входе на сайт достаточно просто физически прикоснуться к ключу безопасности. Ключ безопасности будет эмулировать клавиатуру и печатать одноразовый пароль в поле пароля.

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

Yubico OTP

Существуют некоторые преимущества и недостатки использования Yubico OTP по сравнению с TOTP .

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

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

FIDO (Fast IDentity Online)¶

FIDO включает в себя ряд стандартов, сначала был U2F , а затем FIDO2, который включает в себя веб-стандарт WebAuthn.

U2F и FIDO2 относятся к Client to Authenticator Protocol, который представляет собой протокол между ключом безопасности и компьютером, например ноутбуком или телефоном. Он дополняет WebAuthn, который является компонентом, используемым для аутентификации на сайте («Relying Party»), на котором вы пытаетесь залогиниться.

WebAuthn — это наиболее безопасная и приватная форма двух-факторной аутентификации. Хотя процесс аутентификации похож на Yubico OTP , ключ не показывает одноразовый пароль и не проверяет его на стороннем сервере. Вместо этого он использует криптографию с открытым ключом для аутентификации.

FIDO

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

В презентации рассматривается история парольной аутентификации, подводные камни (такие, как повторное использование пароля), а также обсуждаются стандарты FIDO2 и WebAuthn.

FIDO2 и WebAuthn обладают превосходными свойствами безопасности и конфиденциальности по сравнению с любыми методами МФА .

Обычно для веб-сервисов он используется вместе с WebAuthn, который является частью рекомендаций W3C . Он использует аутентификацию с открытым ключом и является более безопасным, чем общие секреты, используемые в методах Yubico OTP и TOTP , поскольку включает имя происхождения (обычно доменное имя) при аутентификации. Аттестация предоставляется для защиты от фишинговых атак, так как помогает определить, что вы используете оригинальный сервис, а не поддельную копию.

В отличие от Yubico OTP , WebAuthn не использует публичный идентификатор, поэтому ключ не идентифицировать на разных сайтах. Он также не использует сторонние облачные серверы для аутентификации. Все коммуникации осуществляются между ключом и веб-сайтом, на который вы заходите. FIDO также использует счетчик, который увеличивается при использовании, чтобы предотвратить повторное использование сеанса и клонирование ключей.

Если сайт или сервис поддерживает WebAuthn для аутентификации, настоятельно рекомендуется использовать его вместо любой другой формы МФА .

Общие рекомендации¶

У нас есть следующие общие рекомендации:

Какой метод мне выбрать?¶

При настройке метода МФА следует помнить, что она настолько безопасна, насколько безопасен её самый слабый метод, который вы используете. Это означает, что важно использовать только лучший из доступных методов МФА . Например, если вы уже используете TOTP , вам следует отключить МФА по электронной почте и СМС . Если вы уже используете FIDO2/WebAuthn, вы не должны использовать Yubico OTP или TOTP на своем аккаунте.

Резервное копирование¶

Вы всегда должны иметь резервные копии для своего метода МФА . Аппаратные ключи безопасности могут потеряться, быть украдены или просто перестать работать со временем. Рекомендуется иметь пару аппаратных ключей безопасности, которые дублируют друг друга, вместо одного.

При использовании TOTP с приложением-аутентификатором обязательно создайте резервную копию ключей восстановления или самого приложения, или скопируйте «общие секреты» в другое приложения на другом телефоне или в зашифрованный контейнер (например, VeraCrypt).

Первоначальная настройка¶

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

Электронная почта и СМС ¶

Если вам приходится использовать электронную почту для МФА , убедитесь, что сама учетная запись электронной почты защищена с помощью надлежащего метода МФА .

Если вы используете СМС для МФА , используйте оператора связи, который не будет переключать ваш номер телефона на новую SIM -карту без доступа к учетной записи, или используйте выделенный VoIP -номер от провайдера с аналогичной безопасностью, чтобы избежать подмены SIM -карты.

Больше мест для установки МФА ¶

Многофакторная аутентификация может использоваться не только для защиты логинов на сайте, но и для защиты локальных логинов, ключей SSH и даже баз данных паролей.

Windows¶

Yubico имеет специальный почтавщика учетных данных, который добавляет аутентификацию Challenge-Response для потока входа по имени пользователя и паролю для локальных учетных записей Windows. Если у вас есть YubiKey с поддержкой аутентификации Challenge-Response, загляните на сайт Yubico Login for Windows Configuration Guide, который позволит вам настроить МФА на компьютере с Windows.

macOS¶

В macOS есть нативная поддержка аутентификации с помощью смарт-карт (PIV). Если у вас есть смарт-карта или аппаратный ключ безопасности, поддерживающий интерфейс PIV (например YubiKey), мы рекомендуем вам следовать документации производителя смарт-карты/аппаратного ключа безопасности и настроить двухфакторную аутентификацию на компьютере с macOS.

У компании Yubico есть руководство Использование YubiKey в качестве смарт-карты в macOS, которое поможет вам настроить YubiKey в macOS.

После того как смарт-карта/ключ безопасности настроены, рекомендуется выполнить следующую команду в командной строке:

sudo defaults write /Library/Preferences/com.apple.loginwindow DisableFDEAutoLogin -bool YES 

Эта команда не позволит злоумышленнику обойти МФА при загрузке компьютера.

Linux¶

Если имя хоста вашей системы изменится (например, из-за DHCP), вы не сможете залогиниться. Очень важно, чтобы вы установили правильное имя хоста для своего компьютера, прежде чем следовать этому руководству.

Модуль pam_u2f в Linux может обеспечить двухфакторную аутентификацию для входа в систему в большинстве популярных дистрибутивов Linux. Если у вас есть аппаратный ключ безопасности, поддерживающий U2F , вы можете настроить МФА для входа в систему. На сайте Yubico есть руководство Ubuntu Linux Login Guide — U2F , которое должно работать в любом дистрибутиве. Команды менеджера пакетов — например, apt-get — и названия пакетов могут отличаться. Данное руководство не применимо к Qubes OS.

Qubes OS¶

В Qubes OS есть поддержка аутентификации Challenge-Response с помощью ключей YubiKey. Если у вас есть YubiKey с поддержкой аутентификации Challenge-Response, посмотрите документацию по Qubes OS YubiKey, если вы хотите настроить МФА в Qubes OS.

SSH ¶

Аппаратные ключи безопасности¶

МФА с SSH может быть настроена с использованием нескольких различных методов аутентификации, которые популярны при использовании аппаратных ключей безопасности. Мы рекомендуем вам ознакомиться с документацией Yubico про то, как это настроить.

Одноразовый пароль основанный на времени ( TOTP )¶

МФА с SSH также можно настроить с помощью TOTP . DigitalOcean предоставил учебник Как настроить многофакторную аутентификацию для SSH на Ubuntu 20.04. Большинство вещей должны быть одинаковыми независимо от дистрибутива, однако команды менеджера пакетов — например, apt-get — и названия пакетов могут отличаться.

KeePass (и KeePassXC)¶

Базы данных KeePass и KeePassXC могут быть защищены с помощью Challenge-Response или HOTP в качестве второго фактора аутентификации. Компания Yubico предоставила документ для KeePass Использование YubiKey с KeePass, также есть документ на сайте KeePassXC.

Вы просматриваете русскую копию Privacy Guides, переведённую нашей невероятной командой переводчиков на Crowdin. Если вы нашли ошибку или непереведённые разделы на этой странице, пожалуйста, помогите нам! Для получения дополнительной информации и советов см. наше руководство по переводу.

You’re viewing the Russian copy of Privacy Guides, translated by our fantastic language team on Crowdin. If you notice an error, or see any untranslated sections on this page, please consider helping out! For more information and tips see our translation guide.

Privacy Guides — некоммерческий сайт, предоставляющий информацию по защите безопасности и конфиденциальности ваших данных.
Мы не зарабатываем на рекомендациях определенных продуктов и не используем партнерские ссылки.
© 2019 — 2023 Privacy Guides и поддерживающие.

Содержание доступно под лицензией CC BY-ND 4.0.

Yubikey что это

Если вы хотите узнать, как настроить двухфакторную аутентификацию (2FA) с помощью YubiKey, нажмите здесь .

YubiKey – это USB-устройство, которое вставляется в компьютер и генерирует уникальный пароль при каждом касании или нажатии на кнопку.

Пароль можно использовать для входа в аккаунт , ввода и вывода средств или в качестве мастер-ключа . Внимание: для каждого действия с аккаунтом необходимо установить отдельную 2FA.

YubiKey нельзя использовать для 2FA для торговли , пока мы не внедрим поддержку FIDO U2F .

Как работает YubiKey?

Пароли генерируются с помощью секретного кода, который известен только используемому вами сервису (например, Kraken) и вашему YubiKey, а также счетчика, который считает количество сгенерированных YubiKey паролей.

Где купить YubiKey?

Вы можете приобрести YubiKey на веб-сайте Yubico , производителя YubiKey.

Убедитесь, что приобретаемый YubiKey соответствует нашим требованиям совместимости .

Зачем использовать YubiKey вместо другого метода 2FA?

Вот несколько причин, по которым YubiKey предпочтительнее использовать вместо других методов 2FA:

Простота: все, что вам нужно сделать с YubiKey, – вставить его в ваш компьютер и коснуться кнопки или нажать на нее. Не нужно копировать пароль из приложения для аутентификации или бояться, что у вашего устройства закончится заряд.

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

Конфиденциальность: даже если вы потеряете YubiKey, на нем нет личной информации о его владельце или сервисах, где он использовался. В то же время в приложении для аутентификации упоминается название веб-сайта и информация об аккаунте, где используется приложение, так как пароль нужно вводить вручную (это настройку можно изменить/удалить, но большинство людей использует настройки по умолчанию).

Безопасность: одноразовые пароли (OTP), генерируемые YubiKey, значительно длиннее паролей из приложения для аутентификации (32 символов, а не 6 или 8 символов), что делает их более безопасными.

Будущие улучшения: благодаря протоколу U2F (скоро будет добавлен на Kraken), YubiKey позволяет входить только на настоящие веб-сайты. Это значит, что даже если вас заманят на мошеннический веб-сайт , YubiKey защитит ваши учетные данные.

Yubikey для дома и офиса

На приобретение Yubikey меня вдохновил Хабр материал из опубликованной ранее статьи. Может быть, и моё творчество способно вдохновить кого-то на подобные действия, и в результате будут появляться все новые и новые информационные блоки не раскрытых ранее областей применения подобных аппаратных ключей шифрования. Такой своего рода прирост человеческих знаний. IT-гикам будет понятнее, что с такой штукой можно сделать, куда её вставить и как применить по назначению. В статье рассмотрена модернизация входа в учётную запись Windows , работа с GPG шифрованием, в том числе использование Yubikey для SSH как на Linux, так и на Windows, подружим с ним LUKS , а также продемонстрируем работу TOTP аутентификации на примере Github. Материал не носит рекламный характер. Создан гиком для гиков, содержит только материалы практики. Минимум воды и научных изысканий.

Буквально пару месяцев назад стоимость такого аппаратного ключа шифрования составляла около 5 тысяч рублей. Это немало, с учётом того факта, что на рынке можно найти более дешёвые аналоги. Однако разбираться в них не хотелось, особенно, что касается интеграции в управляемую экосистему, поэтому было решено довериться мнению автора, ссылку на статью которого я приводил выше. Особенно с учётом того, что для меня было актуально всё, что в ней раскрыто. Токен был очно приобретён у официального поставщика на окраине Москвы, на что пришлось потратиться в плане личного времени. Нашёл нужную дверь в бизнес-центре, за которой вежливые ребята достали из коробки уже мой Yubikey, после чего и начался немного тернистый путь его интеграции в IT-инфраструктуру. Кстати, схема ниже, взятая на сайте производителя, показывает полный спектр применения аппаратного ключа, и кое-что из неё мы рассмотрим в статье.

Дополню немного о современных реалиях. Повторюсь, что до 24 февраля цена Yubikey составляла около 5 тысяч рублей. Теперь налицо реальные проблемы с его фактическим наличием и слегка подросшей ценой.

▍ Вход в учётную запись Windows

Самое лёгкое, что можно настроить, это дополнительную защиту учётной записи Windows при локальном входе. Открываем официальный сайт, скачиваем необходимую программу в разделе «Computer login tools», устанавливаем её в соответствии с инструкцией, там всё просто. После этого вход в операционную систему будет выглядеть, как показано ниже (картинка взята из официальной документации):

Для Windows 7 привожу иллюстрацию собственного изготовления, не такую красивую, зато handmade:

В процессе будет сгенерирован резервный код, которым можно воспользоваться для входа в операционную систему, если Yubikey будет утерян или недоступен. Записать его можно даже в память головного мозга блокнот, выглядит он примерно так:

D7FGL3J3KHTPA4CL34IVFOEIDIIKJ09JDLCKGI3KSAPME8XF 

Применить такой ключ можно сколько угодно раз, однако будьте осторожны. Из личного опыта: были проблемы с повторным использованием резервного кода на некоторых старых версиях операционной системы. Это достаточно забавная ситуация, когда при первой попытке вход в Windows удаётся, а при следующей уже нет. При этом загрузиться с помощью Yubikey возможно. Далее ситуация повторяется. Однако, это исключение из правила, к которому нужно быть готовым.

У кого-то может возникнуть желание полностью отказаться от пароля для учётной записи. Вместо него — есть аппаратный ключ. Однако это не совсем безопасно, ведь сетевой доступ к операционной системе таким образом не защищён, в том числе по протоколу SMB. Другими словами, к общим файлам и папкам подключаемся — как обычно. Yubikey роли не играет.

▍ Работа с GPG шифрованием

Это блок появился благодаря острой необходимости подключения к удалённым серверам по протоколу SSH и желанием иметь секретный ключ, сохранённый в памяти аппаратного девайса. Работать с современным алгоритмом шифрования ed25519-sk , как подробно описано здесь, безболезненно не получится. Всё классно, и нажимать кнопку Yubikey тоже по душе и выглядит очень современно. Однако для работы с ним понадобится программное обеспечение OpenSSH версии 8.2, установленное на удалённом сервере, а это, например, Debian 10. С более старыми версиями операционной системы придётся заурядно поплясать, чего бы я ни рекомендовал делать, чтобы не терять время даром. Дополнительно, в качестве клиента часто выступают Windows-устройства, с установленным Putty, с которым ed25519-sk не умеет работать совсем. Выше озвучен проблемный вопрос. Решением его будет использование GPG шифрования при работе с SSH. Генерируем новые ключи прямо на Yubikey, для этого воспользуемся операционной системой Linux:

gpg --card-edit admin key-attr 1 #RSA sign 2048 1 #RSA crypt 2048 1 #RSA auth 2048 generate n 0 y . O 

Размер ключа рекомендую использовать 2048 байт, так как с 4096 в дальнейшем будут проблемы совместимости с серверным программным обеспечением. Если всё пройдёт нормально, то выглядеть это будет примерно так (кстати «gpg —card-edit» аналогично работает и в командной строке Windows):

Reader . 0000:0000:000000000000:0 Application ID . 0000000000000000000 Application type .: OpenPGP Version . 3.4 Manufacturer . Yubico Serial number . 0000000000 Name of cardholder: am Language prefs . [not set] Salutation . URL of public key : https://github.com/am.keys Login data . [not set] Signature PIN . not forced Key attributes . rsa2048 rsa2048 rsa2048 Max. PIN lengths .: 127 127 127 PIN retry counter : 3 3 3 Signature counter : 4 KDF setting . off Signature key . 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 created . 2022-03-05 01:25:37 Encryption key. 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 created . 2022-03-05 01:25:37 Authentication key: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 created . 2022-03-05 01:25:37 General key info. pub rsa2048/0000000000 2022-03-05 my (yubikey) sec> rsa2048/0000000000 created: 2022-03-05 expires: never card-no: 0000 00000000 ssb> rsa2048/0000000000 created: 2022-03-05 expires: never card-no: 0000 00000000 ssb> rsa2048/0000000000 created: 2022-03-05 expires: never card-no: 0000 00000000 

Перечень команд, которые поддерживаются программой GPG, приведу, для ознакомления, под спойлером.

GPG help

gpg —card-edit —expert
admin
factory-reset
key-attr
info
list
passwd
generate

Commands:
-s, —sign make a signature
—clear-sign make a clear text signature
-b, —detach-sign make a detached signature
-e, —encrypt encrypt data
-c, —symmetric encryption only with symmetric cipher
-d, —decrypt decrypt data (default)
—verify verify a signature
-k, —list-keys list keys
—list-signatures list keys and signatures
—check-signatures list and check key signatures
—fingerprint list keys and fingerprints
-K, —list-secret-keys list secret keys
—generate-key generate a new key pair
—quick-generate-key quickly generate a new key pair
—quick-add-uid quickly add a new user-id
—quick-revoke-uid quickly revoke a user-id
—quick-set-expire quickly set a new expiration date
—full-generate-key full featured key pair generation
—generate-revocation generate a revocation certificate
—delete-keys remove keys from the public keyring
—delete-secret-keys remove keys from the secret keyring
—quick-sign-key quickly sign a key
—quick-lsign-key quickly sign a key locally
—quick-revoke-sig quickly revoke a key signature
—sign-key sign a key
—lsign-key sign a key locally
—edit-key sign or edit a key
—change-passphrase change a passphrase
—export export keys
—send-keys export keys to a keyserver
—receive-keys import keys from a keyserver
—search-keys search for keys on a keyserver
—refresh-keys update all keys from a keyserver
—import import/merge keys
—card-status print the card status
—edit-card change data on a card
—change-pin change a card’s PIN
—update-trustdb update the trust database
—print-md print message digests
—server run in server mode
—tofu-policy VALUE set the TOFU policy for a key

-a, —armor create ascii armored output
-r, —recipient USER-ID encrypt for USER-ID
-u, —local-user USER-ID use USER-ID to sign or decrypt
-z N set compress level to N (0 disables)
—textmode use canonical text mode
-o, —output FILE write output to FILE
-v, —verbose verbose
-n, —dry-run do not make any changes
-i, —interactive prompt before overwriting
—openpgp use strict OpenPGP behavior

Тоже самое, но уже в Kleopatra (Windows-клиенте для работы с GPG):

Отлично, RSA ключи имеются. Их можно без проблем использовать для шифрования и подписи файлов или даже текста через дружественный интерфейс Kleopatra. Например, открываем блокнот и пишем нужный текст, предварительно указав получателя:

Пробуем расшифровать. Разумеется, при обращении к private key — программа запросит PIN от Yubikey:

Теперь применим RSA для SSH. Экспортируем нужный ключ в файл, затем добавим его на удалённый сервер:

gpg --export --armor 000000000000000000000 > yubikey_auth_public.asc cat yubikey_auth_public.asc >> .ssh/authorized_keys 

Осталось настроить агент для GPG службы, чтобы он обращался при необходимости к аппаратному ключу шифрования. Для этого на Windows:

cmd.exe gpg-connect-agent /bye C:\Users\Администратор\AppData\Roaming\gnupg\gpg-agent.conf enable-putty-support enable-ssh-support use-standard-socket default-cache-ttl 600 max-cache-ttl 7200 gpg-connect-agent killagent /bye gpg-connect-agent /bye gpg --card-status 

Пробуем воспользоваться Putty для подключения к удалённому серверу:

Для автоматизации запуска GPG агента после загрузки Windows подготовим скрипт «gpg-agent.bat, содержащий всего одну строку»:

gpgconf --launch gpg-agent 

Далее можно воспользоваться планировщиком, создав простую задачу, которая при запуске компьютера будет исполнять соответствующий сценарий:

Того же результата возможно добиться посредством правки реестра:

regedit.exe hklm\software\microsoft\windows\currentversion\run\Yubikey "C:\ gpg-agent.bat" 

Можно обойтись и без .bat файла, для этого при создании задачи в разделе Действия указываем Действие «Запуск программы», в Программа или сценарий «gpgconf» и Аргументом «—launch-gpg-agent».

Для настройки GPG агента в Linux выполняем следующие команды:

echo 'enable-ssh-support' > ~/.gnupg/gpg-agent.conf systemctl --user enable gpg-agent systemctl --user restart gpg-agent echo 'export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)' >> ~/.bashrc ssh root@my.ru 

После этого GPG агент запросит PIN код от Yubikey (аналогично Putty), после корректного ввода которого произойдёт подключение к удалённому серверу по SSH протоколу:

login as: root Authenticating with public key "cardno:00000000000000" from agent 

Разберём SSH авторизацию с помощью аппаратного ключа на оборудовании MikroTik и Cisco . Для первого подготавливаем файл, содержащий открытый ключ, по аналогии с Linux сервером, копируем его на устройство и импортируем для нужного пользователя:

cat yubikey_auth_public.asc ssh-rsa AA. VDX openpgp:0xBB. B /user ssh-keys import user=admin public-key-file=flash/yubikey_auth_public.asc 

Для Cisco немного сложнее. Разбиваем открытый ключ по 100 символов, так как IOS поддерживает не более 254 символов в одной строке. Далее импортируем для нужного пользователя открытый ключ полученными частями:

fold -b -w100 yubikey_auth_public.asc AA. O H. 9 N. M e. b configure terminal ip ssh pubkey-chain username admin key-string AA. O H. 9 N. M e. b exit show run | beg pubkey 

На этом рассмотрение работы с GPG шифрованием закончим. Для кого тема совсем новая и непонятная, рекомендую к чтению свежие материалы с Хабра. Стоит упомянуть, что возможно сохранить уже имеющиеся RSA ключи на Yubikey, что удобно в определённой ситуации. Кроме этого, после генерации RSA ключей на девайсе, работать с ed25519-sk не выйдет, так как слот будет сконфигурирован под другой алгоритм шифрования.

▍ Yubikey и LUKS

Вход в учётную запись Linux с помощью аппаратного ключа шифрования по аналогии с операционной системой Windows настраивать не будем, а сразу перейдём к интеграции Yubikey в LUKS. Кто не в теме, пару слов, что это такое. Linux Unified Key Setup – это стандарт для создания криптоконтейнеров в Linux. Устанавливаем необходимое программное обеспечение и инициируем использование второго слота YubiKey:

apt install yubikey-luks yubikey-personalization scdaemon ykpersonalize -2 -ochal-resp -ochal-hmac -ohmac-lt64 -oserial-api-visible Y 

Смотрим, где у нас создан криптоконтейнер и добавляем Yubikey для зашифрованного раздела жёсткого диска и раздела подкачки:

cat /etc/crypttab yubikey-luks-enroll -d /dev/sda5 yubikey-luks-enroll -d /dev/sda6 

Сначала нужно будет ввести короткий пароль для ключа в Yubikey, что-то вроде PIN. Затем его повторить. И в последнюю очередь ввести пароль доступа к криптоконтейнеру LUKS. Если всё нормально, то при перезагрузке будет предложено ввести «PIN код» (повторюсь, что-то вроде PIN) от аппаратного ключа шифрования:

Здесь важно отметить, что возможность входа по паролю доступа к криптоконтейнеру LUKS сохранилась. Это будет удобно, когда остро необходимо воспользоваться операционной системой Windows, защищённой с помощью «Computer login tools» от Yubikey и в условиях, когда аппаратного ключа шифрования нет под рукой. Можно без него загрузиться из-под Linux (разумеется, на ноутбуке должны быть установлены соответствующие операционные системы) и выписать на листочек резервный код для входа в Windows. Далее воспользоваться им по назначению, как описано в первой части статьи. «PIN код» может быть достаточно простым, в отличие от пароля LUKS, а использовать его модно и молодёжно.

▍ Работа TOTP аутентификации

Что такое TOTP аутентификация коротко и хорошо описано в статье, на которую я неоднократно ссылаюсь. Здесь рассмотрим этот вопрос с чисто практической стороны на примере Github. Устанавливаем на смартфон бесплатное приложение «Yubico Authenticator»:

Входим в личный кабинет github.com. Переходим в Settings -> Password and authentication -> Two-factor authentication -> Authenticator app:

Далее выполняем действия, предлагаемые дружественным интерфейсом, и привязываем мобильное приложение «Yubico Authenticator» и Yubikey к личному кабинету (этап сканирования QR кода). В процессе будут созданы одноразовые Recovery codes, которые выглядят примерно так:

11111-111111 22222-222222 33333-222222 44444-222222 … 55555-222222 66666-222222 

Теперь при входе в личный кабинет Github после ввода логина и пароля нас приветствует окно 2FA:

Authentication code сгенерирует программа на телефоне. Открываем «Yubico Authenticator», подносим вплотную аппаратный ключ к NFC считывателю смартфона. Для моего Iphone – это обратная сторона рядом с камерой:

Когда произойдёт беспроводное считывание, приложением будет сгенерирован Authentication code для ввода в личный кабинет Github, который имеет ограниченное время жизни, визуально выделенное секторально-уменьшающимся серым кружком, расположенным на экране справа:

Другие интернет-сервисы, имеющие возможность двух факторной авторизации на основе технологии TOTP, в том числе те, о которых нельзя говорить и думать вслух, настраиваются аналогичным образом. И их становится с каждым днём всё больше.

▍ Выводы

Подведём итоги. В статье исключительно с практической точки зрения рассмотрены пути применения аппаратного ключа Yubikey, которые могут быть адаптированы как для дома, так и для офиса. Аутентификация в Windows, GPG, SSH, LUKS и TOTP рассмотрены с позиции настройки. Разумеется, двухфакторная аутентификация задумана, чтобы сделать цифровой мир более безопасным. И одной из наиболее перспективных технологий, применяемых в ней, являются аппаратные ключи шифрования. Но между тем, зная, что без Yubikey в учётную запись не войти, можно использовать не криптостойкие пароли, полагаясь на сохранность ключа. И даже использовать один пароль для разных интернет-сервисов, защищённых посредством осязаемого токена, не переживая за инсайдерские и хакерские сливы. Только об этом никому ни слова.

  • Блог компании RUVDS.com
  • Информационная безопасность

Yubikey что это

Будьте уверены в безопасности

Yubikey — это аппаратные ключи безопасности , которые были разработаны для защиты учётных данных пользователей в операционных системах и на веб-сервисах. Защита аккаунтов осуществляется посредством поддержки протоколов универсальной двухфакторной аутентификации (FIDO2), асимметричного шифрования и одноразовых паролей. Отличительной особенностью ключей Yubikey является их простота и удобство в применении.

Компания Yubico — производитель Юбикей — выпускает новые виды продукции практически ежегодно. Последней новинкой, выпущенной в октябре 2021 года стала серия Yubikey Bio — FIDO с биометрическим сканером. Электронные ключи безопасности изготавливаются в США и Швеции на основе технологических решений, подразумевающих соблюдение международных стандартов выпуска криптографической продукции. В результате пользователи получают гарантированную защиту от фишинга и хищения данных вредоносным ПО. Хорошая новость состоит в том, что теперь вы можете купить Yubikey в Украине .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *