подписывание ключа
Скажите пожалуйста, к примеру я поместил ключ некоторого человека NN на свою связку. Этот ключ мной подписан не был, однако он подписан другим человеком MM, ключ которого в свою очередь уже находится у меня на связке и мною подписан, причем для него установлен средний уровень доверия. В результате ключ человека NN автоматически становиться валидным, на что указывает зелененький шарик графы Validity. Вопрос: Стоит ли в этом случае подписывать ключ человека NN?
комментариев: 11558 документов: 1036 редакций: 4118
комментариев: 510 документов: 110 редакций: 75
Нашел в этом файле одну единственную строку со словом Validi
И никаких ключей. Открыл файл с помощью FrontPage в виде программного кода. Это правильно?
комментариев: 11558 документов: 1036 редакций: 4118
комментариев: 510 документов: 110 редакций: 75
Ваш совет из предыдущего сообщения действует, спасибо. Однако не ясно следующее (далее я исхожу из настроек PGP9 установленных по умолчанию).
В статье основы криптографии описывалось, что для принятия программой ключа как подлинного нужно иметь как минимум 2 других подписанных ключа с установленной маргинальной степенью доверия или один ключ с установленным полным доверием. PGP9 дает валидность ключу и при наличии одного ключа с частичным доверием.
Я провел эксперимент и создал третий ключ. Получилось следующее:
Ключ А подписан ключом Б. Ключ Б подписан ключом С. Ключ С подписан моим ключом. Ключам Б и С присвоен присвоено маргинальное доверие.
Чего я ожидал. Ожидал того, что при такой последовательной цепочке как минимум ключу С нужно будет дать полное доверие для того, что бы программа расценила ключ А как достоверный, но этого не произошло.
Следовательно мне не понятна разница между установкой доверия маргинального и полного. Или я уже совсем запутался? :)
(в эксперименте использовались открытые ключи)
комментариев: 510 документов: 110 редакций: 75
В руководстве сказано
При аннулировании ключа Б, которым подписан ключ А, подпись, которая заверяла ключ А (от ключа Б) осталась не аннулированной. Выполнение операции Verifi Signatures было проведено. Пробовал разместить на связке как только открытый аннулированный ключ Б, так и аннулированную ключевую пару Б. Результат тот же.
комментариев: 510 документов: 110 редакций: 75
Как я себе представляю данную процедуру?
Случай первый – с участием аннулированного ключа и ключевой пары. Пусть мой аннулированный открытый ключ размещается на связке корреспондента (или обновляется им с сервера), ключ которого ранее был подписан моим ключом. Программа обнаруживает данное обстоятельство и автоматически производит отзыв подписи. Или все таки корреспондент должен выполнить данную операцию вручную? Тогда как?
Теперь вариант второй, с ключами которые принадлежат корреспондентам, этот случай я уже описал.
К примеру на моей связке есть ключи корреспондентов А и Б. Корреспондент А подписал ключ корреспондента Б, а после, через некоторое время, аннулировал свой ключ. Идем далее, я обновил ключи с сервера, в результате ключ А стал аннулированным. Сохраниться ли подпись ключа А поставленная на ключе Б действительной? В руководстве написано, что «Аннулированная подпись никогда не берётся в расчёт при вычислении достоверности ключа», тогда каким образом программа понимает данный случай? И зачем тогда опция Verifi Sign?
Если все таки программа самостоятельно должна отозвать подпись на ключе Б, останется ли подпись аннулированной при удалении аннулированного ключа А со связки?
Иными словами мне не ясно, на каком этапе происходит отзыв подписи.
Вы можете аннулировать свою подпись на любом ключе, в том числе чужом. В GPG для этого есть команда revsig – она отзывает подпись на выделенном UID. В PGP8 это делалось просто через граф. интерфейс.
Технически это аналогично отзыву подписи на чужом ключе – здесь тоже отзывается подпись.
Вкратце так. Сеть доверия себе представляете? Это ориентированный граф, в котором вершинами являются ключи, а рёбрами – подписи.
Отзыв ключа означает удаление вершины из графа. При этом из графа также удаляются все входящие в неё и выходящие из неё рёбра. Т.е. подписи на этом ключе и подписи, сделанные этим ключом не будут использоваться при расчетах достоверности ключей.
Отзыв подписи означает удаление ребра из графа. При этом вершины из графа не удаляются.
комментариев: 1060 документов: 16 редакций: 32
комментариев: 510 документов: 110 редакций: 75
комментариев: 11558 документов: 1036 редакций: 4118
Если удалить ключ А, программа просто потеряет путь сертификации к ключу Б, и он останется недостоверным. Если подпись от ключа А к Б была аннулирована, то при наличии на связке ключа А программа также определит, что доверять ей не стоит, и ключ Б всё равно будет недостоверным.
Непосредственно аннулирования подписи A>Б на Вашей связке не происходит. Просто когда программа при запуске вычисляет граф локальной сети доверия (на Вашей связке), она пробегает пути по всем подписям. Если та или иная подпись отозвана, она, как описал sentaus, не принимается в расчёт (как будто её и не было).
Подпись не будет выглядеть отозванной — программа не будет располагать ключом (А), чтобы сверить ЭЦП с сертификата аннулирования. Но поскольку на связке не будет ключа А, то и ключ Б, заверенный им, останется недостоверным.
По умолчанию PGP признает частично достоверные ключи полностью достоверными. Исправить этот недостаток можно в настройках: где-то там должна быть опция вроде Treat marginally valid keys as invalid (привожу по памяти, поскольку включить службу pgpserv из-под юзерского аккаунта не могу). Та же самая опция в файле pgpprefs.xml имеет ключ marginalIsInvalid. Переключите его в True, и всё будет, как надо.