Как происходит шифрование, когда разные почтовые клиенты отправляют электронные письма надежно?

3

Чей открытый ключ используется для шифрования электронной почты от me@myemailservice.com до you@youremailservice.com? У моего почтового клиента не может быть открытого ключа каждого человека в мире, к которому я мог бы написать электронное письмо в любой момент, но опять же, если бы у каждой почтовой службы был один открытый ключ для более чем одного владельца учетной записи, похоже, что вероятность того, что один владелец учетной записи сможет перехватить электронные письма, предназначенные для другого владельца учетной записи, и расшифровать их, если они зашифрованы с использованием того же открытого ключа, который используют оба владельца учетной записи.

mring
источник

Ответы:

4

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

Шифрование с одним из ключей открытый / закрытый ключ пары всегда расшифровывается с помощью ДРУГОГО ключа.

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

Теперь, если я что-то зашифрую своим личным ключом и паролем, любой сможет расшифровать это сообщение с помощью моего открытого ключа. Идея состоит в том, что только я мог зашифровать сообщение этим ключом, так что это называется «подпись». (Обычно вы отправляете копию сообщения в виде открытого текста, но это не обязательно.)

ПРИМЕР:

Поэтому, если я хочу отправить вам сообщение, которое только вы можете прочитать, и хотите, чтобы вы были уверены, что только я мог его отправить, я зашифрую свое сообщение своим личным ключом / паролем, а затем зашифрую его вашим открытым ключом.

Вы расшифровываете его с помощью своего закрытого ключа и пароля, чтобы только вы могли прочитать его, а затем расшифровываете его с помощью моего открытого ключа, чтобы вы были достаточно уверены, что это от меня.

Мы также должны были бы сделать один последний шаг - чтобы мы с вами говорили раньше, чтобы вы были уверены, что мой ключ - мой, а ваш - ваш. Обычно для этого тоже подходит телефонный звонок, в зависимости от ваших стандартов.

(Я говорю «достаточно разумно», конечно, потому что кто-то может украсть мой ключ и угрожать мне тюрьмой / избить меня резиновым шлангом за то, что я не сообщу мой пароль, но это еще одна проблема для другого вопроса.)

Мой открытый ключ очень легко найти по моему адресу электронной почты (и вы увидите «Бенанов» в поле комментария / имени пользователя, я забыл, какой). Не стесняйтесь отправить мне сообщение, если вы хотите проверить это.

Broam
источник
3
Техническое примечание: при подписании вы не «шифруете» все сообщение, а скорее его дайджест (он же хеш); обычно SHA-1 или аналогичный.
Гравитация
Спасибо! Я полагаю, что если у вас есть учетная запись электронной почты по адресу broam@example.com, и я никогда не писал вам раньше, то обнаружение вашего открытого ключа влечет за собой обращение моего почтового клиента к почтовому серверу на example.com, запрашивание и получение вашего открытого ключ, все в незашифрованном виде (поскольку у меня еще нет открытого ключа) и шифрование и отправка вам вашего электронного письма после его получения.
mring
В моем конкретном случае мой pubkey находится на keyserver.ubuntu.com и на нем указан адрес электронной почты. Там нет ничего, что говорит о том, что вы должны хранить ключ на почтовом сервере.
Broam
@Pete: По крайней мере, в случае PGP (GPG) расположение открытого ключа не обязательно связано с адресами электронной почты, прикрепленными к нему. Обычно ключи можно найти, посмотрев адрес электронной почты в хорошо известном «сервере ключей» - пул серверов ключей SKS является наиболее распространенным местом. (У некоторых людей есть записи PKA или CERT в DNS (например, мой ключ для grawity@<mydomain>можно найти grawity._pka.<mydomain>в DNS), но это относительно редко и никак не связано с «почтовым сервером», только с именем домена.)
Гравитация
0

Самый простой безопасный способ - отправить подписанное письмо получателю, которому вы хотите зашифровать сообщение, и попросить его ответить подписанным письмом. Их ответ будет включать в свой открытый ключ , который является то , что вам нужно для шифрования электронной почты для них. Вы захотите убедиться, что ответили именно они, а не посредник, попросив их подтвердить свой ключ или отпечаток пальца через альтернативный канал (например, SMS, телефонный звонок, факс). На этом вы закончили.

В качестве альтернативы, если ключ вашего получателя зарегистрирован в ЦС, вы можете найти его по электронной почте на сервере LDAP ЦС (VeriSign позволяет клиентам подписываться на опубликованные сертификаты VeriSign на своем общедоступном сервере LDAP).

Баран
источник