GPG-ключи и электронные письма

GPG-ключи и электронные письма

Я тестировал ключи GPG и изучал изменения ключей при добавлении/удалении пользователей на ключе. Если я добавляю пользователяЭлиспри генерации ключа. Я экспортирую открытый и закрытый ключ пары ключей. А затем добавляю пользователяБобна тот же ключ. И наконец экспортируйте тот же ключ, за исключениемБобдобавлен как пользователь. Затем я сравниваюЭлисиЭлис/БобКлючи.Элисоткрытый ключ имеет огромный кусок, похожий наЭлис/Боботкрытые ключи и также имеет несколько отличий во многих местах.Элис/Боботкрытый ключ значительно длиннее, чемЭлисkey. Я заметил, что то же самое относится и к закрытым ключам. Что мне кажется интересным, так это то, что если я шифрую с помощьюЭлисОткрытый ключ и расшифруйте с помощьюЭлис/Бобзакрытый ключ, я получаю то же самое сообщение.

Вот какие у меня есть вопросы:

  1. Влияет ли адрес электронной почты/идентификатор пользователя на открытый и закрытый ключ?
  2. Можно ли извлечь идентификатор пользователя из открытого ключа? Если да, то как это работает?
  3. Как работает шифрование сЭлиси расшифровка сЭлис/Бобработа?
  4. Используется ли определенная часть каждого ключа для шифрования/дешифрования, а другие части оставлены для идентификатора пользователя и адресов электронной почты?

решение1

А затем добавьте пользователя Bob к тому же ключу.

Самое главное, что «идентификаторы пользователей» ключей PGP предназначены не для этого.

Идентификаторы пользователей — это всего лишь метки.Их нельзя использовать для контроля доступа любого рода – они только информируют других о владельце ключа. Должен быть только один владелец ключа, и все идентификаторы пользователей на одном ключе должны описывать одно и то же лицо.

(Причина, по которой вы можете добавить несколько идентификаторов пользователей, заключается в том, что у одного и того же человека может быть несколько адресов электронной почты и даже несколько имен.)

Если несколько человек должны использовать PGP, каждый из них должен создать свои индивидуальные ключи. Затем вы перечислите все их ключи при шифровании (например, используйте несколько --recipientвариантов).

  1. Как работает шифрование с Алисой и расшифровка с Алисой/Бобом?

Когда вы добавляете второй идентификатор пользователя, это по сути тот же самый материал ключа RSA, вы только изменили этикетку, которая на нем написана. Идентификаторы пользователей не предназначены для контроля доступа.

  1. Влияет ли адрес электронной почты/идентификатор пользователя на открытый и закрытый ключ?
  2. Можно ли извлечь идентификатор пользователя из открытого ключа? Если да, то как это работает?
  1. Используется ли определенная часть каждого ключа для шифрования/дешифрования, а другие части оставлены для идентификатора пользователя и адресов электронной почты?

Когда вы говорите о «открытых ключах» и «закрытых ключах» в PGP, этонеобычно подразумевают только необработанные данные открытого ключа (например, только параметры RSA), как это происходит в некоторых других системах. Вместо этого, то, что вы на самом деле получаете от gpg --exportOpenPGPблок клавишилисертификатсодержащий открытые ключи вместе с различными метаданными (идентификаторами пользователей, подписями и т. д.).

Таким образом, когда вы добавляете идентификатор пользователя, это на самом деле не изменяет фактические параметры ключа — он добавляется как пакет метаданных рядом с пакетом открытого ключа.

И когда люди делятся своими "открытыми ключами PGP", они делятся всем пакетом ключей и метаданных как единым целым. В целом вся идея очень похожа на сертификаты X.509, которые имеют поле "Тема" рядом с самим ключом.

Для отображения экспортированных данных в текстовом формате можно использовать такие инструменты, как pgpdumpили .gpg --list-packets

Связанный контент