<?xml version="1.0" encoding="cp1251"?>
<?xml-stylesheet type="text/css" href="http://www.pgpru.com/styles/atom.css" media="screen"?>
<rss version="2.0">
<channel>
<title>openPGP в России/Черновики/Руководства/Безопасность/УправлениеКлючами/ПодключиOpenPGP</title>
<link>http://www.pgpru.com/%D7%E5%F0%ED%EE%E2%E8%EA%E8/%D0%F3%EA%EE%E2%EE%E4%F1%F2%E2%E0/%C1%E5%E7%EE%EF%E0%F1%ED%EE%F1%F2%FC/%D3%EF%F0%E0%E2%EB%E5%ED%E8%E5%CA%EB%FE%F7%E0%EC%E8/%CF%EE%E4%EA%EB%FE%F7%E8OpenPGP</link>
<description>История изменений документа Черновики/Руководства/Безопасность/УправлениеКлючами/ПодключиOpenPGP</description>
<copyright>http://www.pgpru.com/%CF%F0%EE%E5%EA%F2/%CF%F0%E0%E2%E8%EB%E0</copyright>
<language>ru</language>
<image>
<title>openPGP в России</title>
<link>http://www.pgpru.com/</link>
<url>http://www.pgpru.com/images/pgpru_banner.gif</url>
<width>88</width>
<height>31</height>
</image>
<item>
<title>Редакция от 06/03/2007 17:08</title>
<link>http://www.pgpru.com/%25d7%25e5%25f0%25ed%25ee%25e2%25e8%25ea%25e8/%25d0%25f3%25ea%25ee%25e2%25ee%25e4%25f1%25f2%25e2%25e0/%25c1%25e5%25e7%25ee%25ef%25e0%25f1%25ed%25ee%25f1%25f2%25fc/%25d3%25ef%25f0%25e0%25e2%25eb%25e5%25ed%25e8%25e5%25ca%25eb%25fe%25f7%25e0%25ec%25e8/%25cf%25ee%25e4%25ea%25eb%25fe%25f7%25e8openpgp/show?time=2007-03-06+17%3A08%3A19</link>
<guid isPermaLink="true">http://www.pgpru.com/%25d7%25e5%25f0%25ed%25ee%25e2%25e8%25ea%25e8/%25d0%25f3%25ea%25ee%25e2%25ee%25e4%25f1%25f2%25e2%25e0/%25c1%25e5%25e7%25ee%25ef%25e0%25f1%25ed%25ee%25f1%25f2%25fc/%25d3%25ef%25f0%25e0%25e2%25eb%25e5%25ed%25e8%25e5%25ca%25eb%25fe%25f7%25e0%25ec%25e8/%25cf%25ee%25e4%25ea%25eb%25fe%25f7%25e8openpgp</guid>
<description><![CDATA[<div class="pageBefore"></div><div class="page">
<h3>Сравнение редакций документа <a href="http://www.pgpru.com/chernowiki/rukovodstva/bezopasnostj/upravleniekljuchami/podkljuchiopenpgp">Черновики / Руководства / Безопасность / Управление Ключами / Подключи Open P G P</a> от <a href="http://www.pgpru.com/chernowiki/rukovodstva/bezopasnostj/upravleniekljuchami/podkljuchiopenpgp?time=2007-03-06+17%3A08%3A19">06/03/2007 17:08</a> и <a href="http://www.pgpru.com/chernowiki/rukovodstva/bezopasnostj/upravleniekljuchami/podkljuchiopenpgp">07/05/2007 18:37</a></h3>
<br />
<h2>Удалено:</h2><br />
<div class="deletions"><span class="mark">ToDo: расширенное описание экспорта/импорта нескольких подключей подписи для независимого использования на различных системах.</span></div><br />
<h2>Добавлено:</h2><br />
<div class="additions"><span class="mark"><em><a name="proekt/todo" href="http://www.pgpru.com/proekt/todo" class="" title="Проект / To Do">ToDo</a>:</em> расширенное описание экспорта/импорта нескольких подключей подписи для независимого использования на различных системах.</span></div></div>
]]></description>
<pubDate>Tue, 06 Mar 2007 17:08:19 +0300</pubDate>
</item>
<item>
<title>Редакция от 12/02/2007 18:53</title>
<link>http://www.pgpru.com/%25d7%25e5%25f0%25ed%25ee%25e2%25e8%25ea%25e8/%25d0%25f3%25ea%25ee%25e2%25ee%25e4%25f1%25f2%25e2%25e0/%25c1%25e5%25e7%25ee%25ef%25e0%25f1%25ed%25ee%25f1%25f2%25fc/%25d3%25ef%25f0%25e0%25e2%25eb%25e5%25ed%25e8%25e5%25ca%25eb%25fe%25f7%25e0%25ec%25e8/%25cf%25ee%25e4%25ea%25eb%25fe%25f7%25e8openpgp/show?time=2007-02-12+18%3A53%3A17</link>
<guid isPermaLink="true">http://www.pgpru.com/%25d7%25e5%25f0%25ed%25ee%25e2%25e8%25ea%25e8/%25d0%25f3%25ea%25ee%25e2%25ee%25e4%25f1%25f2%25e2%25e0/%25c1%25e5%25e7%25ee%25ef%25e0%25f1%25ed%25ee%25f1%25f2%25fc/%25d3%25ef%25f0%25e0%25e2%25eb%25e5%25ed%25e8%25e5%25ca%25eb%25fe%25f7%25e0%25ec%25e8/%25cf%25ee%25e4%25ea%25eb%25fe%25f7%25e8openpgp</guid>
<description><![CDATA[<div class="pageBefore"></div><div class="page">
<h3>Сравнение редакций документа <a href="http://www.pgpru.com/chernowiki/rukovodstva/bezopasnostj/upravleniekljuchami/podkljuchiopenpgp">Черновики / Руководства / Безопасность / Управление Ключами / Подключи Open P G P</a> от <a href="http://www.pgpru.com/chernowiki/rukovodstva/bezopasnostj/upravleniekljuchami/podkljuchiopenpgp?time=2007-02-12+18%3A53%3A17">12/02/2007 18:53</a> и <a href="http://www.pgpru.com/chernowiki/rukovodstva/bezopasnostj/upravleniekljuchami/podkljuchiopenpgp?time=2007-03-06+17%3A08%3A19">06/03/2007 17:08</a></h3>
<br />
<h2>Удалено:</h2><br />
<div class="deletions">В ранних версиях PGP для шифрования, подписи и сертификации использовался один и тот же ключ RSA. В случае раскрытия закрытого ключа его следовало отозвать и сгенерировать новый. При этом, те ключи, которые сертифицированы данным ключом, теряли приобретенную степень доверия, а новый ключ надо было заверять заново. Такое могло произойти даже в случае, когда правоохранительные органы требовали раскрытия ключа, используемого для зашифрованной корреспонденции. То есть закрытый ключ использовался часто, подвергался повышенному риску утраты секретности и при этом ущерб от такой утраты был достаточно высоким.<br />
no-default-keyring # прекратить обращение к основной связке<br />
keyring /mnt/pen/.gnupg/pubkey.gpg # использовать pubkey.gpg в качестве связки открытых ключей<br />
secret-keyring /mnt/pen/.gnupg/seckey.gpg # использовать seckey.gpg в качестве связки закрытых ключей, наиболее важный файл</div><br />
<h2>Добавлено:</h2><br />
<div class="additions">В ранних версиях PGP для шифрования, подписи и сертификации использовался один и тот же ключ RSA. В случае компрометации закрытого ключа его следовало отозвать и сгенерировать новый. При этом, те ключи, которые сертифицированы данным ключом, теряли приобретенную степень доверия, а новый ключ надо было заверять заново. Такое могло произойти даже в случае, когда правоохранительные органы требовали раскрытия ключа, используемого для зашифрованной корреспонденции. То есть закрытый ключ использовался часто, подвергался повышенному риску утраты секретности и при этом ущерб от такой утраты был крайне высоким.<br />
# прекратить обращение к основной связке<br />
no-default-keyring<br />
# использовать pubkey.gpg в качестве связки открытых ключей<br />
keyring /mnt/pen/.gnupg/pubkey.gpg<br />
# использовать seckey.gpg в качестве связки закрытых ключей, наиболее важный файл<br />
secret-keyring /mnt/pen/.gnupg/seckey.gpg</div></div>
]]></description>
<pubDate>Mon, 12 Feb 2007 18:53:17 +0300</pubDate>
</item>
<item>
<title>Редакция от 27/08/2006 21:18</title>
<link>http://www.pgpru.com/%25d7%25e5%25f0%25ed%25ee%25e2%25e8%25ea%25e8/%25d0%25f3%25ea%25ee%25e2%25ee%25e4%25f1%25f2%25e2%25e0/%25c1%25e5%25e7%25ee%25ef%25e0%25f1%25ed%25ee%25f1%25f2%25fc/%25d3%25ef%25f0%25e0%25e2%25eb%25e5%25ed%25e8%25e5%25ca%25eb%25fe%25f7%25e0%25ec%25e8/%25cf%25ee%25e4%25ea%25eb%25fe%25f7%25e8openpgp/show?time=2006-08-27+21%3A18%3A11</link>
<guid isPermaLink="true">http://www.pgpru.com/%25d7%25e5%25f0%25ed%25ee%25e2%25e8%25ea%25e8/%25d0%25f3%25ea%25ee%25e2%25ee%25e4%25f1%25f2%25e2%25e0/%25c1%25e5%25e7%25ee%25ef%25e0%25f1%25ed%25ee%25f1%25f2%25fc/%25d3%25ef%25f0%25e0%25e2%25eb%25e5%25ed%25e8%25e5%25ca%25eb%25fe%25f7%25e0%25ec%25e8/%25cf%25ee%25e4%25ea%25eb%25fe%25f7%25e8openpgp</guid>
<description><![CDATA[<div class="pageBefore"></div><div class="page">
<h3>Сравнение редакций документа <a href="http://www.pgpru.com/chernowiki/rukovodstva/bezopasnostj/upravleniekljuchami/podkljuchiopenpgp">Черновики / Руководства / Безопасность / Управление Ключами / Подключи Open P G P</a> от <a href="http://www.pgpru.com/chernowiki/rukovodstva/bezopasnostj/upravleniekljuchami/podkljuchiopenpgp?time=2006-08-27+21%3A18%3A11">27/08/2006 21:18</a> и <a href="http://www.pgpru.com/chernowiki/rukovodstva/bezopasnostj/upravleniekljuchami/podkljuchiopenpgp?time=2007-02-12+18%3A53%3A17">12/02/2007 18:53</a></h3>
<br />
<h2>Удалено:</h2><br />
<div class="deletions"><a name="h512-1"></a><h1>Создание и использование ключа OpenPGP с подключами</h1>
Эффективность пары асимметричных ключей как меры безопасности во многом зависит от того, каким образом закрытый ключ данной пары защищён от утраты секретности и какой ущерб такое разглашение наносит владельцу.<br />
В ранних версиях PGP для шифрования, подписи и сертификации использовался один и тот же ключ RSA. В случае раскрытия закрытого ключа его следовало отозвать и сгенерировать новый. При этом, те ключи, что сертифицированы данным ключом, теряют сертификацию, а новый ключ надо сертифицировать заново. Такое могло произойти даже в случае, когда правоохранительные органы требовали раскрытия ключа, используемого для зашифрованной корреспонденции. То есть закрытый ключ использовался часто, подвергался повышенному риску утраты секретности, и при этом ущерб от такой утраты был достаточно высоким.<br />
Позже в стандарт была включена концепция подключей (subkeys), и типичный ключ состоял из «главного» ключа подписи и сертификации (обычно DSA) и подключа для шифрования (обычно Elgamal). В данном случае разглашение закрытого ключа для шифрования влечёт за собой отзыв и замену данного подключа, без утраты сертификаций. С другой стороны, утрата секретности закрытой пары главного ключа требует полной замены при том, что ключ DSA досточно уязвим к утечке при частом использовании из-за мелких, трудно обнаруживаемых ошибок реализации алгоритма подписи или из-за недобросовестной реализации алгоритма DSA, что тоже непросто обнаружить. Ограниченный размер модуля тоже снижает стойкость.<br />
В этой статье предлагается конструкция ключа, минимизирующая риск утраты главного ключа. В приведённом примере используется программа GPG (она же <a name="soft/gnupg" href="http://www.pgpru.com/soft/gnupg" class="" title="Софт / Gnu P G">GnuPG</a>, или <em>GNU Privacy Guard</em>), но в других современных реализациях стандарта OpenPGP тоже есть возможность создания и использование такого ключа.<br />
Создавать ключ следует на сменном накопителе (например, на USB-брелке), используя персональный компьютер, не подключённый к сети. <br />
Сначала создадим новую папку на брелке и установим переменную <tt>GNUPGHOME</tt> так, чтобы она указывала на эту папку.<br />
Пример (unix, брелок монтирован на <tt>/mnt/pen</tt>):<br />
$ mkdir /mnt/pen/.gnupg<br />
$ export GNUPGHOME=/mnt/pen/.gnupg<div class="email1 email-odd">&gt; cd E:\</div><div class="email1 email-odd">&gt; md gnupg</div><div class="email1 email-odd">&gt; set GNUPGHOME=E:\gnupg</div><br />
Далее все примеры будут в unix, но единственное существенное различие в том, что в DOS/Windows программа <tt>gpg</tt> обычно называется <tt>gnupg</tt>.<br />
Следующий шаг — генерирование мощного пароля. Этот пароль будет использоваться редко, и его следует записать и хранить при себе или в сейфе. Ни в коем случае не записывайте его в файл.<br />
<!--notypo--><textarea class="code" cols="80" rows="2" wrap="off" readonly="readonly">$ gpg -a --gen-rand 2 12</textarea><!--/notypo--><br />
<!--notypo--><textarea class="code" cols="80" rows="2" wrap="off" readonly="readonly">$ gpg --gen-key</textarea><!--/notypo--><br />
Выбираем <tt>(5) RSA (sign only)</tt> и размер ключа как минимум 2048 бит. Выбор ключей с модулем более 2048 бит (до 4096) безопаснее в долгосрочной перспективе (порядка десяти лет), но может создать проблемы с совместимостью.<br />
Главный ключ может быть бессрочным (выбор <tt>0 = key does not expire</tt>). Указываем имя и фамилию <strong>без адреса электронной почты</strong> и записанный пароль. Через несколько минут ключ готов. Запишем его идентификатор (например, <tt>0x1234ABCD</tt>)<br />
Алгоритм RSA выбирается потому, что там нет скрытого канала, через который может произойти утечка в случае недобросовестной или просто некачественной реализации. Адрес электронной почты опускается, чтобы не терять сертификации в случае его замены (позже можно добавить и почтовый адрес и даже фотографию). Этот ключ (и пароль) долгосрочный, использоваться будет крайне редко.<br />
Затем редактируем ключ:<br />
<!--notypo--><textarea class="code" cols="80" rows="2" wrap="off" readonly="readonly">$ gpg --edit-key 0x1234ABCD</textarea><!--/notypo--><br />
Добавляем дополнительные идентификаторы (можно с адресом электронной почты) командой <tt>adduid</tt> и подключи командой <tt>addkey</tt>. Важно, что ключ для шифрования должен быть один, ключей для подписи можно добавить несколько (но как минимум один). Эти ключи должны меняться регулярно, и для них ст<em>о</em>ит заранее установить срок действия в год или два. Ключей для подписи должно быть столько, на скольких системах вы ими желаете пользоваться (например, один домой, один на работу).<br />
<em>продолжение следует</em></div><br />
<h2>Добавлено:</h2><br />
<div class="additions"><a name="h512-1"></a><h1>Создание и использование ключа OpenPGP с подключами</h1>
<!--notypo--><fieldset><legend><strong> Оглавление документа:   </strong></legend><div class="toc1"><a href="#h512-2">Основы</a></div><div class="toc1"><a href="#h512-3">Создание ключа</a></div><div class="toc1"><a href="#h512-4">Отделение и импорт подключей</a></div><div class="toc1"><a href="#h512-5">Использование ключа</a></div></fieldset><!--/notypo--><br />
<span class="mark">ToDo: расширенное описание экспорта/импорта нескольких подключей подписи для независимого использования на различных системах.</span><br />
Эффективность пары асимметричных ключей как меры безопасности во многом зависит от того, каким образом закрытый ключ данной пары защищен от компрометации и какой ущерб его разглашение способно нанести владельцу.<br />
В ранних версиях PGP для шифрования, подписи и сертификации использовался один и тот же ключ RSA. В случае раскрытия закрытого ключа его следовало отозвать и сгенерировать новый. При этом, те ключи, которые сертифицированы данным ключом, теряли приобретенную степень доверия, а новый ключ надо было заверять заново. Такое могло произойти даже в случае, когда правоохранительные органы требовали раскрытия ключа, используемого для зашифрованной корреспонденции. То есть закрытый ключ использовался часто, подвергался повышенному риску утраты секретности и при этом ущерб от такой утраты был достаточно высоким.<br />
Позднее в стандарт была внесена концепция <em>подключей</em> (subkeys), и типичный ключ стал состоять из <em>"главного" ключа подписи и сертификации</em> (обычно DSA) и <em>подключа шифрования</em> (обычно Elgamal). В данном случае разглашение закрытого ключа шифрования влекло за собой отзыв и замену лишь данного подключа без утраты главного ключа сертификации и всех собранных подтверждающих подписей. С другой стороны, утрата секретности закрытой части главного ключа требовала его полной замены, при том, что ключ DSA достаточно уязвим к утечке при частом использовании из-за мелких, трудно обнаружимых ошибок реализации алгоритма подписи или из-за недобросовестной реализации алгоритма DSA, что тоже непросто обнаружить. Ограниченный размер модуля тоже снижает стойкость.<br />
В этой статье предлагается конструкция ключа OpenPGP, использующая подключи как для шифрования, так и для подписи данных, и тем минимизирующая риск утраты главного сертифицирующего ключа. В приведенном примере для создания ключа используется программа GPG (она же GnuPG, или GNU Privacy Guard), но в других современных реализациях стандарта OpenPGP тоже есть возможность создания и использование такого ключа.<br />
<!--notypo--><a name="genkey" href="#genkey" title=""></a>
<!--/notypo--><br />
В целях обеспечения повышенной безопасности чувствительного ключевого материала создавать ключ следует на отторгаемом носителе (например, на USB-брелоке), используя персональный компьютер, не подключенный к сети. Также убедитесь, что используете наиболее свежую стабильную версию GnuPG: ранние версии могут содержать уязвимости и ошибки и, кроме того, не иметь поддержки необходимых для нашей задачи инструментов управления ключами.<br />
Сначала создадим новую папку на брелоке. Пример (UNIX, брелок монтирован на <tt>/mnt/pen</tt>):<br />
<!--notypo--><textarea class="code" cols="80" rows="2" wrap="off" readonly="readonly">mkdir /mnt/pen/.gnupg</textarea><!--/notypo--><br />
cd E:\<br />
md gnupg<br />
<!--notypo--><a name="conf" href="#conf" title=""></a>
<!--/notypo--><br />
Помимо этого, внесем небольшое временное дополнение в файл настроек GnuPG <tt>gpg.conf</tt> с тем, чтобы все дальнейшие действия с ключами производились в контексте сменного носителя, а не вашей основной связки (добавьте в конец файла):<br />
no-default-keyring # прекратить обращение к основной связке<br />
keyring /mnt/pen/.gnupg/pubkey.gpg # использовать pubkey.gpg в качестве связки открытых ключей<br />
secret-keyring /mnt/pen/.gnupg/seckey.gpg # использовать seckey.gpg в качестве связки закрытых ключей, наиболее важный файл<br />
Отсюда и далее все примеры будут для UNIX, но единственное существенное отличие от DOS/Windows &mdash; в различных путях к каталогам (также не забывайте менять прямые слэши на обратные).<br />
Следующий шаг — генерирование мощного пароля. Этот пароль будет использоваться редко (только для сертификации и внесения изменений в состав ключа), и его следует записать на лист бумаги и хранить при себе или в сейфе. <span class="cite">Ни в коем случае не сохраняйте его в файл.</span><br />
<!--notypo--><textarea class="code" cols="80" rows="2" wrap="off" readonly="readonly">gpg -a --gen-random 2 15</textarea><!--/notypo--><br />
<!--notypo--><textarea class="code" cols="80" rows="2" wrap="off" readonly="readonly">gpg --gen-key</textarea><!--/notypo--><br />
Выбираем <tt>(5) RSA (sign only)</tt> и размер ключа как минимум 2048 бит. Выбор ключей с модулем более 2048 бит (предпочтительно 4096) безопаснее в долгосрочной перспективе (порядка десяти лет), но в редких случаях может создать проблемы с совместимостью. Главный ключ может быть бессрочным (выбор <tt>0 = key does not expire</tt>). Указываем имя и фамилию без адреса электронной почты и записанный пароль. Через несколько минут или секунд, в зависимости от мощности процессора, ключ будет готов. Запишем его идентификатор (например, <tt>1234ABCD</tt>).<br />
Алгоритм RSA выбирается потому, что в нем отсутствует скрытый канал, через который может произойти утечка в случае недобросовестной или просто некачественной реализации. Адрес электронной почты опускается, чтобы не терять сертификации в случае его замены (позже можно добавить и почтовый адрес, и даже фотографию). Этот ключ (и пароль) долгосрочный, использоваться будет крайне редко.<br />
Затем редактируем ключ:<br />
<!--notypo--><textarea class="code" cols="80" rows="2" wrap="off" readonly="readonly">gpg --edit-key 0x1234ABCD</textarea><!--/notypo--><br />
Желательно командой <tt>adduid</tt> создать дополнительную запись сертификата с адресом электронной почты (или несколько записей, если у вас несколько адресов). Затем в получившемся списке UID выделить главную запись (без почтового адреса) и сделать ее первичной, введя команду <tt>primary</tt>.<br />
Теперь с помощью команды <tt>addkey</tt> добавьте нужные подключи для шифрования и подписания данных. Важно, что шифровальный подключ должен быть только один, тогда как подключей подписи можно добавить несколько (но как минимум один), хотя обычно в этом нет существенной потребности. Эти ключи должны регулярно заменяться, и для них стоит заранее установить срок действия в один или два года. Ключей для подписи должно быть столько, на скольких системах вы ими желаете пользоваться (например, один домой, один на работу и т.д.). Типы и длины подключей можете выбрать самостоятельно, исходя из срока действия подключей и ваших специфических требований, однако лучше остановить выбор на типе 5 <em>RSA (sign only)</em> для подключей подписи и типе 6 <em>RSA (encrypt only)</em> для подключей шифрования.<br />
Теперь схема вашего нового ключа будет иметь примерно такой вид:<br />
pub 4096R/1234ABCD created: 2007-01-12 expires: never usage: SC<br />
<div class="indent"><div class="indent"><div class="indent"><div class="indent"><div class="indent"><div class="indent"><div class="indent"><div class="indent"><div class="indent"><div class="indent"> trust: ultimate validity: ultimate</div></div></div></div></div></div></div></div></div></div>
sub 1024R/12121212 created: 2007-01-12 expires: 2008-01-12 usage: S<br />
sub 1024R/ABABABAB created: 2007-01-12 expires: 2008-01-12 usage: E<br />
[ultimate] (1). test key<br />
[ultimate] (2) test key &lt;something@somewhere.net&gt;<br />
Не забудьте сохранить произведенные изменения, введя команду <tt>save</tt>.<a name="h512-2"></a><h2>Отделение и импорт подключей</h2>
А теперь самое главное. Поскольку мы не хотим подвергать главный ключ новой ключевой пары риску компрометации, то должны хранить и применять его особо безопасным образом, в отличие от подключей подписи и шифрования, операционные условия которых могут быть значительно шире. Таким образом, нам необходимо "отделить" подключи от главного ключа, экспортировав их в отдельный файл. Этой цели служит специальная команда <tt>--export-secret-subkeys</tt>, реализованная в GnuPG 1.4.2.<br />
Выполним (в DOS/Windows не забудьте скорректировать путь к каталогу на брелоке):<br />
<!--notypo--><textarea class="code" cols="80" rows="2" wrap="off" readonly="readonly">gpg -o /mnt/pen/.gnupg/subkeys.gpg --export-secret-subkeys 0x1234ABCD</textarea><!--/notypo--><br />
Эта команда заставит GnuPG экспортировать закрытые подключи созданного ключа (и только их) в файл <tt>subkeys.gpg</tt>. Прежде чем импортировать этот файл в основную связку ключей, вернем <a href="#conf" name="oconf">настройки программы</a> в изначальное состояние &mdash; удалите из <tt>gpg.conf</tt> внесенные ранее строчки. Затем произведите импорт секретных частей подключей подписи и шифрования, а также весь открытый ключ целиком (заметьте, мы не трогаем секретную часть главного ключа):<br />
gpg <s>import /mnt/pen/.gnupg/subkeys.gpg<br />
gpg --import /mnt/pen/.gnupg/pubkey.gpg<br />
Проверим результат:<br />
gpg --list-keys 0x1234ABCD<br />
pub 4096R/1234ABCD 2007-01-12<br />
uid test key<br />
uid test key &lt;something@somewhere.net&gt;<br />
sub 1024R/12121212 2007-01-12 [expires: 2008-01-12]<br />
sub 1024R/ABABABAB 2007-01-12 [expires: 2008-01-12]<br />
gpg --list-secret-keys 0x1234ABCD<br />
sec# 4096R/1234ABCD 2007-01-12<br />
uid test key<br />
uid test key &lt;something@somewhere.net&gt;<br />
ssb 1024R/12121212 2007-01-12 [expires: 2008-01-12]<br />
ssb 1024R/ABABABAB 2007-01-12 [expires: 2008-01-12]<br />
Обратите внимание на второй листинг. В первой строке после обозначения закрытой части главного ключа стоит знак решетки: <tt><strong>sec#</strong></tt>. Это означает, что секретный материал данного ключа недоступен на связке (ведь мы импортировали только отделенные подключи), а есть лишь его сертификат. Если же вы не видите значка решетки, то что-то прошло не так, и закрытая часть главного ключа тоже как-то попала на связку (возможные причины: вы по ошибке импортировали файл <tt>seckey.gpg</tt> или забыли восстановить настройки в <tt>gpg.conf</tt>). В этом случае удалите ключ со связки и начните всё <a href="#genkey" name="ogenkey">с самого начала</a>, включая генерацию нового ключевого материала.<br />
Если полученный результат верен, можете спокойно удалить только что импортированные файлы <tt>pubkey.gpg</tt> и <tt>subkeys.gpg</tt> с USB-брелока или иного носителя, где производили все действия. Файл <tt>seckey.gpg</tt>, содержащий закрытую часть главного ключа, обязательно сохраните и не резервируйте на основной системе, иначе вы потеряете все преимущества подобной схемы разделения ключа.<a name="h512-3"></a><h2>Использование ключа</h2>
Для передачи вам конфиденциальной информации корреспонденты могут использовать этот ключ, как и любой другой. Точно так же, и при получении от вас подписанного сообщения их программа скорее всего сообщит, что оно заверено подключом 0x12121212, относящимся к главному ключу 0x1234ABCD (исключение составляют только старые версии OpenPGP-совместимого ПО и некоторые почтовые клиенты с ограниченной поддержкой OpenPGP, которые могут не определить связь подключа подписи с главным ключом). При шифровании данных этим ключом вы тоже не обнаружите отличий от работы с обычным ключом. Нюансы появляются при подписании данных, заверении ключей и внесении изменений в сам сертификат ключа.<br />
Во-первых, для выполнения двух последний действий необходим доступ к закрытой части главного ключа, размещенной на отторгаемом носителе. Чтобы GnuPG знал, где искать материал ключа, используйте в своих командах параметр ##</s>secret-keyring [путь к файлу seckey.gpg]<tt> либо внесите его в </tt>gpg.conf<tt>, чтобы не указывать постоянно (не забывайте, что в файле настроек параметры указываются без предваряющих дефисов, т.е. в виде </tt>secret-keyring [путь к файлу seckey.gpg]##).<br />
Во-вторых, при подписании таким ключом файлов и текста используемая программа может столкнуться с неоднозначностью выбора: использовать для подписания главный ключ (не забывайте, это тоже ключ подписи) или подключ, предназначенный для подписи (а если их несколько, то который из них)? Поэтому, подписывая данные, предпочтительно задавать подключ подписи явно: <tt>-u 0x12121212</tt> (это ID подключа подписи из нашего примера). Однако, заверяя другие ключи или редактируя собственный, такое принуждение не требуется: программе в любом случае понадобится секретная часть главного ключа 0x1234ABCD. Также ID не надо указывать, если вы создали только один подключ подписи и не указывали параметр <tt>secret-keyring [путь к файлу seckey.gpg]</tt> в файле настроек GnuPG: в этом случае программа не столкнется с неоднозначностью выбора, поскольку ID 0x1234ABCD будет связан только с одним ключом подписи &mdash; 0x12121212.</div></div>
]]></description>
<pubDate>Sun, 27 Aug 2006 21:18:11 +0400</pubDate>
</item>
</channel>
</rss>
