Yubikey что такое ключ безопасности
Двухфакторная аутентификация
Двухфакторная аутентификация
В современном мире компьютерных технологий, когда дело касается защиты информации и личных данных, уже давно не приходится полагаться на одни лишь пароли. Не секрет, что даже сложные комбинации слов, цифр и символов, используемых пользователями в качестве паролей, подвержены взлому, или могут быть украдены посредством хакерских атак, фишинга и методов социальной инженерии. Стремительное развитие Интернета и составляющих его сайтов, социальных сетей и онлайн сервисов, сопровождается также и развитием преступных способов хищения информации и дальнейшего ее использования для получения выгоды, или нанесения вреда ее владельцам. Это требует нахождения ответных методов защиты и новых средств обеспечения безопасности пользователей и их персональных данных. Одним из таких методов, и самым эффективным на сегодняшний день, является двухфакторная аутентификация. Итак, что такое двухфакторная аутентификация, какие бывают разновидности 2ФА и какие решения являются самыми оптимальными для частных лиц и бизнес сектора?
Что собой представляет 2ФА?
Двухфакторная аутентификация, или сокращенно 2ФА — это разновидность многофакторной аутентификации, которая основывается на подтверждении личности пользователя с помощью двух, независимых друг от друга, факторов. Первым фактором обычно является пароль или PIN-код. Он может иметь различную сложность, а использующий его должен либо запомнить, либо сохранить в любом доступном виде. Как правило, сложные пароли являются трудными для запоминания, и чаще всего, люди пользуются простыми комбинациями слов и чисел, которые крайне уязвимы перед взломами типа «полный перебор». А хранение паролей, пусть даже и самых сложных, в виде текстового документа или изображения имеет свои недостатки, связанные с возможностью быть полученными сторонними лицами, посредством физического доступа к вашим устройствам, или при помощи фишинга и вирусов-шпионов. На выручку приходит второй фактор, который для подтверждения личности требует предъявить какую-либо из его разновидностей.
Виды факторов аутентификации
Это, конечно же, не полный список составляющих относящихся к факторам аутентификации. Давайте рассмотрим подробней применяемые в 2ФА методы и устройства.
Фактор знания
К фактору знания относятся пароли, PIN-коды и графические ключи, но в качестве фактора 2-го уровня обычно используется секретный вопрос, ответ на который должен быть известен только вам. Данный метод не является безопасным, поскольку ответ на секретный вопрос может быть известен злоумышленникам.
Преимущества: относительная простота, не требуется дополнительных устройств.
Недостатки: низкая надежность, уязвимость перед взломом и методами социальной инженерии.
Физический фактор
Далее по списку идет физический фактор, или также известный как «фактор владения». Условием работы данного фактора является физическое обладание определенным устройством. С развитием мобильных технологий, наибольшее распространение получил метод двухфакторной аутентификации через одноразовый пароль, получаемый в СМС или приложении на смартфоне владельца. Несмотря на то, что данный способ повышает защиту от несанкционированного доступа к учетным записям, на данный момент, из-за участившихся случаев клонирования SIM-карт, он перестал быть надежным и не рекомендуется к использованию в решениях требующих высокого уровня безопасности.
Следующим физическим фактором являются аппаратные ключи безопасности. Выполненные в виде компактного брелка или миниатюрного модуля, подключаемого по USB или NFC, эти ключи имеют в своей основе защищенные электронные устройства, выполняющие функции шифрования. Современные ключи аутентификации поддерживаются большинством популярных приложений и онлайн сервисов, а за счет усовершенствованных технологий, на сегодняшний день являются крайне надежными, простыми в настройке и дальнейшем использовании.
Преимущества: высокая надежность, простота использования и доступность готовых решений.
Недостатки: нужно иметь при себе устройство аутентификатор, риск утери ключей.
Биометрический фактор
Биометрический фактор опирается на биологические свойства человека. Чаще всего под данными свойствами подразумевается отпечаток пальца, но также это могут быть: сканирование отпечатка ладони, сетчатки глаза, анализ голоса или портрета пользователя. Устройства для биометрии являются довольно дорогостоящими решениями, а многие методы еще находятся в стадии разработки и пока не нашли широкого применения в повседневной жизни.
Преимущества: высокая надежность, не требует иметь при себе дополнительных устройств.
Недостатки: высокая стоимость оборудования для сбора биометрических данных.
Доступные решения двухфакторной аутентификации
На данный момент, самыми распространенными решениями в области обеспечения безопасности учетных записей являются аппаратные ключи безопасности. За счет своей невысокой стоимости, надежности и простоты практического применения, эти компактные устройства приобретают популярность не только в сфере бизнеса, но и среди обычных пользователей. Многие ведущие IT-корпорации, в целях повышения внутренней безопасности, уже давно сделали обязательным наличие аппаратных ключей у своих сотрудников. Такие гиганты IT-индустрии как Microsoft, Apple, Google настоятельно рекомендуют своим пользователям отказываться от однофакторной аутентификации с использованием только лишь паролей. Вслед за ними, компании и индивидуальные разработчики внедряют в свои продукты возможность использования 2ФА при помощи аппаратных ключей. Поддержка этих устройств имеется в подавляющем большинстве популярных приложений и онлайн сервисов, что делает возможным использование одного ключа со многими программами, социальными сетями, вебсайтами и ОС.
Типы аппаратных ключей безопасности
Типом аппаратного ключа, который можно встретить чаще всего, является небольшое USB устройство, напоминающее по форме привычные всем нам флешки. Для полупостоянного подключения или установки внутри корпусов серверов обычно используется миниатюрный форм-фактор. Внутри подобных устройств находится защищенный чип, выполняющий криптографические операции отдельно от компьютера, на котором производится вход в учетную запись. Благодаря такому подходу исключается возможность передачи секретного ключа шифрования между сторонами соединения, таким образом обеспечивая безопасность учетных данных. USB Ключи бывают с поддержкой одного или более криптографических алгоритмов. Специфические аппаратные решения с поддержкой одного алгоритма обычно применяются для узкого круга программных продуктов и устройств, и не пригодны для использования в других условиях. В то время как мультипротокольные ключи безопасности поддерживают большинство стандартов аутентификации, за счет чего имеют широкое назначение и поддержку большого количества приложений и онлайн сервисов.
Какой ключ безопасности выбрать?
Производители аппаратных ключей, среди предлагаемых ими продуктов обычно имеют несколько серий, направленных на определенные цели и задачи потребителей. Для частных лиц, использующих ключи безопасности в личных целях, имеет смысл обратить внимание на продукты с поддержкой наибольшего количества протоколов шифрования, поскольку такие ключи обеспечивают наилучшую совместимость с различным ПО и онлайн сервисами.
Следует помнить, что информационная безопасность, в первую очередь, находится в руках пользователя. Однако, следуя определенным правилам и используя доступные решения для защиты учетных данных, можно самостоятельно обеспечить высокий уровень безопасности. Важным фактором обеспечения защищенности информации, является своевременное задействование новейших инструментов и средств. Не стоит откладывать на будущее организацию безопасности — внедрение дополнительного фактора защиты может предотвратить негативные последствия и поможет избежать связанных с ними убытков.
Берегите себя и свои данные!
SSH, PGP, TOTP в Yubikey 5
Что такое Yubikey
Это аппаратный ключ безопасности, который поддерживает протокол универсальной двухфакторной аутентификации, одноразовые пароли и асимметричное шифрование. Если вы добавите его, допустим, в аккаунт на Гитхабе, то для входа в свой аккаунт, понадобится ввести логин/пароль и коснуться кнопки юбикей.
Год назад я приобрел Yubikey, чтобы использовать его в качестве второго фактора для аккаунтов Google, Github и других, которые работают с U2F. Однако я для себя выяснил, что Yubikey обладает куда более расширенным функционалом. Большая часть из нижеописанных действий актуальна для работы и без Yubikey, однако преимущество в портативности будет потеряно.
Все действия описаны для Yubikey 5 и Ubuntu 21.04.
SSH-ключи
Многие знакомы с такой простой операцией, как подключение по SSH. У нас в TOT Systems имеется собственный менеджер паролей, и чтобы подключиться к удаленной машине, нужно зайти в него, скопировать логин, адрес и пароль.
Для работы нам понадобятся OpenSSH версии 8.2 и библиотека libfido2. Вместо привычного RSA-файла с приватным ключом давайте создадим ключ прямо на Yubikey с алгоритмом Ed25519.
Вставляем Yubikey в USB-порт и вводим команду с опцией resident, которая означает, что приватный ключ всегда будет храниться на Yubikey, а непосредственно в компьютере находится резидентный ключ, который без аппаратного ключа бесполезен:
Теперь добавим публичный ключ на SSH-сервер, к которому мы хотим подключиться. Для этого заходим на сервер как обычно с помощью пароля, переходим в папку
Если предварительно вынуть юбикей из USB-порта и попробовать авторизоваться, то после ввода парольной фразы от ключа у нас будет ошибка и нам будет предложено ввести пароль от сервера.
Сгенерировать ключи и хранить их на компьютере можно и без Yubikey, но в таком случае возникает потребность в переносе приватного ключа между компьютерами, на которых необходим доступ к серверу. Преимущество Yubikey в том, что ключи всегда хранятся на нём, и при работе на другом компьютере можно легко получить резидентный и публичный ключи.
К примеру, импортируем ключи с юбикея на новый компьютер. Запускаем терминал в папке
SSH-ключ и U2F на примере Github
С помощью SSH-ключа можно клонировать репозиторий на гитхабе. Для этого добавляем публичный ключ в аккаунт на гитхабе. Теперь попробуем клонировать репозиторий по SSH:
Клонировать репу не получается.
Поддержка U2F для SSH-ключей на данный момент реализована только в гитхабе. Если у вас используется gitlab, то использовать ключ с юбикея, к сожалению, не получится.
Для работы с Yubikey Нужно установить scdaemon:
$ sudo apt install scdaemon
Перед созданием RSA-ключа и сабключей поменяем их размер на 4096 бит.
Для этого перейдём в меню смарт-карты.
и отредактируем длину ключа на 4096:
Теперь перейдём к созданию ключей. В самом начале у нас спросят, делать ли резервную копию ключа шифрования. Также спросят срок жизни ключей. Отредактировать этот срок можно в любой момент.
Проверяем, что ключ сгенерировался и отображается на карте:
Выводим содержимое публичного ключа в терминал:
Или экспортируем публичный ключ в файл, а затем добавляем его в свой аккаунт в гитлабе:
Теперь создадим глобальный конфиг файл
/.gitconfig с содержимым:
После этого ваши коммиты будут подписаны:
Допустим, мы хотим воспользоваться нашими ключами на новом компьютере. Для этого на карте нужно указать url публичного ключа. Для этого переходим к редактированию карты и в админ-режиме редактируем url:
Для гитхаба url нашего ключа выглядит так. Для гитлаба аналогично. Вы можете хранить публичный ключ на любом сервере публичных ключей.
Теперь на новом компьютере вводим команду fetch
Далее повысим уровень доверия к ключу командой trust:
Всё, теперь мы можем подписывать коммиты, шифровать файлы с помощью одного ключа, который всегда хранится на Yubikey, и если юбикей не вставлен в порт компьютера, то сделать это нельзя.