Подписывание ключей
Поскольку многие разработчики встречаются на торговых выставках или конференциях, последние представляют собой хорошую возможность получения подписи OpenPGP ключа и улучшения сети доверия. Подписывание ключей и встреча с другими разработчиками в особенности очень интересны для новых людей в Проекте.
Этот документ поможет вам с проведением сессии
по подписыванию ключей. Заметьте, все примеры используют keyring.debian.org
в качестве
сервера ключей. Если ключ отсутствует в брелоке Debian,
замените keyring.debian.org
публичным
сервером ключей, например keys.openpgp.org
(который явялется
проверяющим сервером ключей)
Люди должны подписывать ключ лишь при выполнении по меньшей мере двух следующих условий:
- Владелец ключа убеждает того, кто подписывает ключ, что личность, указанная в UID, в действительности совпадает с его личностью, вне зависимости от того, какое доказательство желает получить подписывающий. Обычно это означает, что владелец ключа должен представить выданный правительством документ, идентифицирующий личность, с фотографией и информацией, которая совпадает с информацией о владельце ключа. (Некоторые подписывающие знают, что выданные правительством документы легко изготовить и что следует с подозрением относиться к властям, выдающим документы, и поэтому они могут потребовать дополнительное и/или альтернативное доказательство личности).
- Владелец ключа подтверждает, что отпечаток и длина ключа, который должен быть подписан, в действительности принадлежат ему.
Наиболее важно, что если владелец ключа не участвует активно в обмене, то вы не сможете завершить выполнение требований 1 или 2. Никто не может завершить часть требования 1 со стороны владельца ключа от лица владельца ключа, поскольку в противном случае всякий с украденным документом, подтверждающим личность, мог бы легко получить OpenPGP-ключ, притворившись агентом владельца ключа. Никто не может завершить часть требования 2 со стороны владельца ключа от лица владельца ключа, поскольку агент мог бы подставить отпечаток другого OpenPGP-ключа с именем владельца ключа на этом отпечатке, что привело бы к тому, что был бы подписан неправильный ключ.
- Вам следует напечатать отпечатки OpenPGP, длины ключей и документ, удостоверяющий личность (паспорт, водительские права или подобное).
- Отпечатки и длины ключей передаются другим людям, которые должны подписать ваш ключ после встречи.
- Если у вас ещё нет OpenPGP-ключа, создайте его с помощью команды
gpg --gen-key
. - Подписывайте ключ только в том случае, если личностью владельца ключа установлена.
- После встречи вы должны загрузить ключ OpenPGP для того, чтобы
подписать его. Следующее может помочь:
gpg --keyserver keyring.debian.org --recv-keys 0xDEADBEEF
Заметьте, что мы можем использовать последние восемь шестнадцатеричных числа отпечатка при выполнении этой и остальных операций GnuPG. 0x в начале так же можно опустить.
- Чтобы подписать ключ, войдите в меню редактирования с помощью команды
gpg --edit-key 0xDEADBEEF
- В GnuPG выберите все uid для подписи с помощью
uid n
, гдеn
— номер uid, показываемый в меню. Вы можете также нажать Enter, чтобы подписать все uid. - Чтобы подписать ключ, введите
sign
. Затем вам будут показаны отпечаток и длина тех ключей, которые вам следует сравнить с теми, которые вы получили от владельца ключа. - Когда вас спросят об уровне сертифицирования, выберите «casual» (неофициальный).
- Выйдете из GnuPG с помощью
quit
- Чтобы проверить, что вы правильно подписали ключ, вы можете выполнить следующую команду:
gpg --list-sigs 0xDEADBEEF
В выводе вы должны будете увидеть своё имя и отпечаток (в краткой форме).
- Если всё правильно, вы можете отправить подписанный ключ
получателю, выполнив следующую команду:
gpg --export -a 0xDEADBEEF > someguys.key
Параметр
-a
указывает экспортировать ключ в формат ASCII, так что он может быть отправлен по почте без повреждения. - Если кто-то подписывает таким образом ваш ключ, вы можете добавить его в брелок Debian,
выполнив следующую команду:
gpg --import --import-options merge-only mysigned.key gpg --keyserver keyring.debian.org --send-keys <your key id>
Для обновления вашего ключа сопровождающим может потребоваться некоторое время, будьте терпеливы. Вам также следует загрузить ваш обновлённый ключ на публичные серверы ключей.
Пакет Debian signing-party предоставляет некоторые инструменты, которые могут помочь вам с этим процессом. gpg-key2ps превращает ключ OpenPGP в файл PostScript, чтобы печатать полоски с вашим отпечатком, а gpg-mailkeys отправляет подписанные ключи авторам. Этот пакет также содержит caff, который является более продвинутым инструментом. Дополнительную информацию см. в документации пакета.
Чего вам не следует делать
Вы никогда не должны подписывать ключ тому, кого вы не встречали лично. Подписывание ключа без личного знакомства разрушает полезность Сети доверия. Если чей-то друг представляется другим разработчикам с вашим документом, удостоверяющим личность, и вашим отпечатком, но вас нет по близости, чтобы подтвердить, что этот отпечаток принадлежит вам, как должны эти разработчики связать отпечаток и личность? У них есть только слово друга и другие подписи на вашем ключе — это не лучше, чем если бы они подписали ваш ключ просто потому, что другие люди его подписали!
Чем больше подписей у ключа, тем лучше, и на этом пути соблазнительно срезать несколько углов. Но иметь надёжные подписи более важно, чем иметь много подписей, поэтому важно, что мы сохраняем процесс подписывания ключей насколько чистым, насколько мы можем. Подписывание чьего-то ключа является подтверждением того, что вы лично проверили личность владельца ключа. Если вы подписываете ключ, а на самом деле не проверили личность владельца ключа, то Сети доверия больше нельзя доверять.