<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; Проект Kryptonite развивает систему хранения закрытых ключей SSH на смартфоне]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=38991</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=38991&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Проект Kryptonite развивает систему хранения закрытых ключей SSH на смартфоне».]]></description>
		<lastBuildDate>Thu, 04 May 2017 03:49:56 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Проект Kryptonite развивает систему хранения закрытых ключей SSH на смартфоне]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=454934#p454934</link>
			<description><![CDATA[<p><br />&nbsp; &nbsp; Представлен проект Kryptonite, предлагающий&nbsp; хранить закрытые ключи SSH на смартфоне, вместо размещения&nbsp; в файле ~/.ssh/id_rsa. Kryptonite состоит из двух частей - ssh-агента, запускаемого на стороне рабочих станций, и мобильного приложения для Android и iOS, занимающегося хранением ключей. Агент написан на языке Go и распространяется в исходных текстах, но лицензия на код пока не определена.&nbsp; &nbsp; Kryptonite может рассматриваться как подобие двухфакторной аутентификации для доступа к SSH-ключам. Все операции с ключами выполняются на смартфоне, а размещаемый на локальной системе агент лишь получает результат операции, выполненной на стороне смартфона с закрытым ключом. На локальной системе ключи не фигурируют ни в каком виде. Каждая операция с ключом требует явного подтверждения на смартфоне.&nbsp; &nbsp; &nbsp;<span class="postimg"><img src="https://www.opennet.ru/opennews/pics_base/0_1493882658.png" alt="https://www.opennet.ru/opennews/pics_base/0_1493882658.png" /></span><br />&nbsp; <span class="postimg"><img src="https://www.opennet.ru/opennews/pics_base/0_1493882675.png" alt="https://www.opennet.ru/opennews/pics_base/0_1493882675.png" /></span><br />&nbsp; &nbsp; Так как ключи хранятся отдельно, они не привязаны к локальным системам и один ключ можно использовать с разных компьютеров. С точки зрения безопасности, с одной стороны появляется лишнее звено в виде смартфона, но с другой стороны исчезает возможность утечки ключей из локальной ФС рабочей станции в случае компрометации пользовательских приложений (например, эксплуатации уязвимости в браузере). Весь обмен данными между ssh-агентом и мобильным приложением передаётся в зашифрованном виде, для шифрования и аутентификации используется библиотека libsodium.&nbsp; &nbsp; <span class="postimg"><img src="https://www.opennet.ru/opennews/pics_base/0_1493884263.png" alt="https://www.opennet.ru/opennews/pics_base/0_1493884263.png" /></span><br />&nbsp; &nbsp; &nbsp; Процесс работы с Kryptonite выглядит следующим образом: На локальных системах устанавливается пакет с ssh-агентом kr, а на смартфоны специальное приложение. Далее запускается процесс сопряжения мобильного приложения и рабочих станций пользователя. Сопряжение сводится к выполнению в терминале на рабочей станции команды &quot;rk pair&quot;, которая приводит к отображению QR-кода. Пользователь фотографирует мобильным приложением этот QR-код, после чего Kryptonite генерирует пару&nbsp; SSH-ключей, сессионные ключи для аутентификации рабочей станции и устанавливает канал связи с агентом. Обмен данными между агентом и смартфоном может производиться по Bluetooth или шифрованному каналу поверх TCP/IP (применяются сервисы AWS SQS и AWS SNS). Далее при каждом использовании SSH на сопряжённой рабочей станции на смартфоне выводится уведомление и требование подтвердить вход.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; На смартфоне в iOS ключ хранится в iOS Keychain и генерируется на базе 4096-разрядных ключей RSA в реализации Apple iOS Security Framework или на базе Ed25519 в реализации libsodium. В Android ключи сохраняются в аппаратно изолированном хранилище ключей Android Keystore&nbsp; и генерируются в виде 3072-разрядных ключей RSA. Android Keystore выступает в роли чёрного ящика, из которого ключи не могут быть извлечены, в том числе самим Kryptonite. При поступлении запроса по SSH, Android Keystore генерирует цифровую подпись при помощи сохранённого ключа и возвращает результат. В случае утери или кражи смартфона достаточно удалить привязанные к нему открытые ключи из всех своих учётных записей и заменить на новые открытые ключи, сгенерированные на новом смартфоне.&nbsp; &nbsp; <br />&nbsp; &nbsp; Источник: <strong>http://www.opennet.ru/opennews/art.shtml?num=46496</strong><br />&nbsp; &nbsp; <br /><a href="http://www.opennet.ru/opennews/art.shtml?num=46496">_источник</a></p>]]></description>
			<author><![CDATA[null@example.com (R2-D2)]]></author>
			<pubDate>Thu, 04 May 2017 03:49:56 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=454934#p454934</guid>
		</item>
	</channel>
</rss>
