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

4 мая 2017 года

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

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

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

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

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

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Проект Kryptonite развивает систему хранения закрытых ключей SSH на смартфоне», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.