Новости и события » Hi-Tech » Проект Kryptonite развивает систему хранения закрытых ключей SSH на смартфоне

Проект Kryptonite развивает систему хранения закрытых ключей SSH на смартфоне

Проект Kryptonite развивает систему хранения закрытых ключей SSH на смартфоне

Представлен проект Kryptonite, предлагающий новую систему для хранения закрытых ключей SSH на смартфоне, вместо размещения в файле ~/.ssh/id_rsa. Kryptonite состоит из двух частей - ssh-агента, запускаемого на стороне рабочих станций, и мобильного приложения для Android и iOS, занимающегося хранением ключей. Агент написан на языке Go и распространяется в исходных текстах, но лицензия на код пока не определена.

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

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

Процесс работы с Kryptonite выглядит следующим образом: На локальных системах устанавливается пакет с ssh-агентом kr, а на смартфоны специальное приложение. Далее запускается процесс сопряжения мобильного приложения и рабочих станций пользователя. Сопряжение сводится к выполнению в терминале на рабочей станции команды "rk pair", которая приводит к отображению QR-кода. Пользователь фотографирует мобильным приложением этот QR-код, после чего Kryptonite генерирует пару SSH-ключей, сессионные ключи и устанавливает канал связи с агентом. Обмен данными между агентом и смартфоном может производиться по Bluetooth, шифрованному каналу поверх TCP/IP и другим средствам связи. Далее при каждом использовании SSH на сопряженной рабочей станции на смартфоне выводится уведомление и требование подтвердить вход.

На смартфоне в iOS ключ хранится в iOS Keychain и генерируется на базе 4096-разрядных ключей RSA в реализации Apple iOS Security Framework или на базе Ed25519 в реализации libsodium. В Android ключи сохраняются в аппаратно изолированном хранилище ключей Android Keystore и генерируются в виде 3072-разрядных ключей RSA. Android Keystore выступает в роли черного ящика, из которого ключи не могут быть извлечены, в том числе самим Kryptonite. При поступлении запроса по SSH, Android Keystore генерирует цифровую подпись при помощи сохраненного ключа и возвращает результат. В случае утери или кражи смартфона достаточно удалить привязанные к нему открытые ключи из всех своих учетных записей и заменить на новые открытые ключи, сгенерированные на новом смартфоне.

Проект Kryptonite развивает систему хранения закрытых ключей SSH на смартфоне

Проект Kryptonite развивает систему хранения закрытых ключей SSH на смартфоне

Android


Свежие новости Украины на сегодня и последние события в мире экономики и политики, культуры и спорта, технологий, здоровья, происшествий, авто и мото

Вверх