Библиотека Интернет Индустрии I2R.ru |
|||
|
Использование GnuPG - часть 2Создание сети доверия.«Сеть доверия» (Web of trust) – это сложный термин, нуждающийся в обьяснении. Основа сети доверия – в том, что люди обмениваются подписями открытых ключей с теми, кому они доверяют. Главная идея – ключ автоматически считается достоверным, если выполняются 2 условия: 1) Он подписан достаточным количеством ключей,
то есть: Последнее условие нуждается в обьяснении. Например, вы подписали ключ Joe. Joe подписывает ключ для Bob. Bob подписывает ключ для Jim. Jim подписывает ключ для Barb. Barb подписывает ключ для Pat. Pat подписывает ключ для Cathy. Даже если вы считаете все ключи этой цепочки полностью достоверными, то ключ Cathy нельзя считать достоверным, потому что он находится на 6 шаге цепочки ключей (Joe – шаг 1, Bob – шаг 2, Jim – шаг 3, Barb – шаг 4, Pat – шаг 5, и Cathy – шаг 6). Скорее всего, вы уже запутались во всем этом. В эту концепцию можно особо не вникать, главное – это то, что она проверена и работает. Теперь вам нужно научиться присваивать ключам уровни достоверности и подписывать ключи. Чтобы отредактировать уровень достоверности ключа, вам нужно отредактировать этот ключ. Используйте команду «trust», когда вы находитесь в режиме редактирования. Установка уровня достоверности ключа – важная возможность GPG, и при ее использовании вы должны понимать смысл того, что вы делаете. Существует 4 уровня достоверности: 1) Don't know – Не знаю (вы не знаете ничего о
владельце этого ключа). Некоторые люди могут подумать, что все эти правила слишком параноидальны, и это – хорошо. Основа сети доверия – в том, что если вы начнете подписывать ключи, насчет которых вы не очень уверены, то это может повлиять не только на вашу безопасность, но и на безопасность других людей, которые вам доверяют. Итак – как можно удостовериться в том, что ключ принадлежит именно тому человеку? Рекомендуется делать ключ полностью достоверным только тогда, когда вы с владельцем этого ключа персонально обменяетесь копиями ваших ключей на твердых носителях (на дискетах или CD), проверите его идентификатор и удостоверитесь, что это – именно тот человек (если вы не знаете его, то вы можете потребовать какие-нибудь документы). Если все эти условия кажутся вам излишними, то вы можете проверить ключ любым другим образом, но – помните, что от вас зависит надежность вашей сети доверия. Когда вы уже решили, какой уровень достоверности вы присвоите ключу, выберите этот уровень с помощью команды trust. Теперь ключ будет иметь новый уровень достоверности (новый ключ всегда имеет уровень достоверности «-» или «q»). Уровням достоверности соответствуют следующие буквы: «q» – неизвестный, «n» – нет доверия, «m» – частичное доверие, и «f» – полное доверие. Чтобы подписать ключ (вы должны делать это только тогда, когда вы полностью доверяете владельцу этого ключа!), используйте команду «sign». Вам будет задан вопрос: «Вы уверены в том, что хотите подписать этот ключ с использованием вашего секретного ключа?». Если вы выберете «Да», то вам нужно будет ввести вашу ключевую фразу. При подписывании ключа к нему добавляется ваш ключ. Поэтому после этого вы должны отправить уже подписанный вами ключ его владельцу. Для этого используется команда экспорта: [user@mdk]# gpg --export -a someuser@somedomain.com > someuser.asc Вам нужно взять someuser.asc и отправить его владельцу. Он импортирует этот ключ так же, как и любой другой открытый ключ. После этого GPG сообщит, что к ключу была добавлена новая подпись. Теперь владелец ключа должен экспортировать свой новый ключ и заново отправить его на сервер обмена ключами (или заново поместить его на свой сайт). Его открытый ключ теперь будет содержать вашу подпись – это значит, что вы полностью ему доверяете. Если кто-нибудь другой полностью доверяет вам, то он автоматически считается полностью доверяющим этому человеку. Если кто-нибудь другой частично доверяет вам и еще двоим, подписавшим тот же самый ключ, то он автоматически считается полностью доверяющим этому человеку. Так работает сеть доверия. Чтобы посмотреть все подписи ключа, используйте команду: [user@mdk]$ gpg --list-sigs someuser@somedomain.com Эта команда показывает информацию о ключе и все его подписи. Например, информация для моего ключа смотрится так (конечно же, все Email-адреса были удалены, чтобы они не стали добычей спамеров): pub 1024D/FE6F2AFD 2000-01-22 Vincent
Danen Как вы видите, у моего открытого ключа имеется большое количество подписей. Это – основа надежной сети доверия. Самое сложное в построении надежной сети доверия – это найти людей, которые согласятся подписать ваш ключ. Представьте себе, что вы ищете спонсоров для вашего проекта – точно такие же принципы применяются и для GPG. Уничтожение ключа GPG.Иногда бывает нужно уничтожить ваш ключ. Это может случиться, например, тогда, когда ваш секретный ключ будет украден. Даже если ваша ключевая фраза достаточно надежна, вы должны подумать об уничтожении ключа. Так же могут быть и другие причины – например, если вы просто потеряли свой секретный ключ. Для уничтожения ключа нужен сертификат уничтожения, который обычно создается сразу же после создания ключа. Если вы лишились своего секретного ключа, то вы не сможете создать без него сертификат уничтожения, и, следовательно, не сможете его уничтожить. Чтобы создать сертификат, введите: [user@mdk]$ gpg --gen-revoke user@mdk.host GPG спросит у вас, уверены ли вы в том, что хотите создать сертификат. После ответа «Да» вам нужно будет ввести причину уничтожения, например: «Ключ был украден» или «Ключ больше не используется» (например, вы уже создали для себя новый ключ). Можно создать для каждой причины отдельный сертификат и назвать их соответствующим образом. После того, как вы выбрали причину, вы можете включить в сертификат более полное описание причины уничтожения. Например, если вы потеряли ключ, то вы можете написать что-нибудь вроде: «Если мне пришлось возпользоваться этим сертификатом, то, скорее всего, я потерял свой ключ и собираюсь создать вместо него новый». После этого нужно ввести ключевую фразу, и сертификат будет выведен на stdout. Вам нужно сохранить его в текстовом файле с понятным названием (например, lostkey-revoke-certificate.gpg). Сертификаты для удаления нужно хранить в надежном месте, потому что любой может воспользоваться ими и удалить ваш ключ из базы данных серверов обмена ключами. Чтобы использовать сертификат для удаления, нужно просто импортировать его так же, как и любой открытый ключ, и после этого его можно послать на сервер, например: [user@mdk]$ gpg --import
user-lostpasswordrevokecert.gpg Подписи GPG в файлах RPM.RPM-пакеты так же могут иметь встроенные подписи GPG. Обычно это делается во время создания пакета. Так же можно создать подпись заново после построения RPM. По умолчанию RPM включает в себя только подпись MD5. MandrakeSoft уже много лет использует цифровую подпись пакетов. Все пакеты, входящие в дистрибутив, подписаны тем или иным ключом. В последних версиях Mandrake Linux официальные ключи MandrakeSoft сразу же входят в набор ключей GPG для root'а. Чтобы проверить подписи RPM-пакета, используйте команду: [user@mdk]$ rpm -K
gnupg-1.0.6-5mdk.i586.rpm Это означает, что файл – в порядке, и его подписи MD5 и GPG корректны. Если RPM-пакет неподписан, то вы увидите только «md5 OK». Чтобы посмотреть, кем подписан пакет, используйте команду: [user@mdk]$ rpm -Kv
gnupg-1.0.6-5mdk.i586.rpm Если в вашем наборе ключей нет нужного открытого ключа, то вы увидите соответствующее сообщение: [user@mdk]$ rpm -K
gnupg-1.0.6-5mdk.i586.rpm Если вы скачали RPM-пакет с неверной подписью GPG или MD5 – лучше не устанавливайте его. Возможно, что в пакет был помещен троян. Сейчас менеджеры RPM, такие, как MandrakeUpdate/rpmdrake, могут автоматически проверять правильность подписей перед установкой. Но у urpmi еше нет такой возможности. Заключение.GPG может сначала показаться сложным, и, действительно, иногда при работе с ним могут встретиться сложные ситуации. Но в основном работа с GPG проста и понятна. Самое главное – помнить о том, что чужие ключи нужно подписывать с максимальной подозрительностью, потому что от этого зависит ваша репутация. Но подписывать ключи все же надо, потому что это – главный принцип построения сети доверия. А сеть доверия – это очень важная и чрезвычайно нужная вещь... Другие информационные ресурсы:– Man-страница GPG на
русском |
|
2000-2008 г. Все авторские права соблюдены. |
|