Как GnuPG может доверять keyserver.ubuntu.com?

Как GnuPG может доверять keyserver.ubuntu.com?

Я понимаю, что действительность любого сертификата OpenPGP основана на проверке этого сертификата доверенной стороной в сети доверия.

Однако большинство людей, которые не используют GnuPG каждый день, просто получат свои ключи keyserver.ubuntu.comодин раз и будут уверены, что они точны. Например, следуяруководство "как проверить"на Ubuntu.com:

gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys "8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092" "C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451"

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

Но как, основываясь на том, что эта команда была запущена только один раз, мы можем доверять серверу ключей, поскольку я не верю, что GnuPG trustdbуже создал файл? Имеет ли GnuPG встроенный список сертификатов, которым он доверяет, включая сертификат keyserver.ubuntu.com? Если да, как мне найти этот список, чтобы проверить, так ли это?

При отсутствии этого списка доверенных лиц разве не будет возможным перехват всех моих сообщений одним и тем же посредником (MITM), который затем сможет передать мне поддельный сертификат и keyserver.ubuntu.comодновременно поддельный подписанный пакет (например, сам ISO-образ операционной системы)?

решение1

Параметром для получения ключей является полный отпечаток двух ключей:

  • 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092
  • C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451

Отпечаток пальца вычисляется на основе открытого ключа (Iобсудили идентификаторы ключей OpenPGP на Super User, если вам нужна дополнительная информация). GnuPG поймет, что был возвращен неверный ключ, если вычисленный отпечаток полученного ключа не совпадает с запрошенным отпечатком. Другими словами: вы можете не доверять серверам ключей (ими управляют случайные лица, которые вполне могут иметь вредоносные цели), но вам это и не нужно, вся информация, полученная с серверов ключей, в любом случае должна быть проверена. Диапазон возможных отпечатков очень, очень велик: невозможно найти коллизию (такой же отпечаток для другого ключа), даже если у вас есть огромные вычислительные мощности, как у агентств, например, у АНБ).Однако не доверяйте коротким идентификаторам ключей.

По той же причине вы не можете доверять результатам сервера ключей при поиске адресатов почты или идентификаторов пользователей. Операторы сервера ключей не только могут возвращать вредоносную информацию, но и серверы ключей вообще ничего не проверяют (каждый может загрузить ключи для произвольных адресов почты).Вам всегда придется самостоятельно проверять ключи.Нет ничего похожего на ключи, которым доверяют по умолчанию в GnuPG, даже ключей мейнтейнера GnuPG. Если вы доверяете источнику, в котором перечислены отпечатки ключей Ubuntu, вы можете подписать их, чтобы GnuPG знал, что вы проверили эти ключи.

Существует также HKPS (HKP через HTTPs), но это ничего не меняет, учитывая отсутствие проверки информации о сервере ключей; HKPS был введен только для того, чтобы посредник не мог записать, какие ключи вы получаете с серверов ключей.

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