Доверенный сертификат GPG

У меня небольшой вопрос о сертификатах GPG и центрах сертификации.

Я использую GnuPG для подписи архива, который я размещаю на своем сервере. Я бы хотел, чтобы пользователи, желающие загрузить этот архив, могли зашифровать его с помощью моего открытого ключа. На данный момент я храню свой открытый ключ на другом принадлежащем мне сервере. Есть 2 проблемы с этим:

  • Ключ не является "доверенным", и пользователь получает предупреждение
  • В той же идее, поскольку ключ не является доверенным, если ключ злонамеренно изменен, пользователь ничего не увидит.

В прошлом я немного читал о криптографических решениях и немного знаю, как работает X.509 CA, но я не очень понимаю, как это работает с ключами PGP. Я пытался использовать свой сертификат SSL (доверенный) в GPG, но это всегда терпит неудачу (может быть, есть вариант, который я не нашел?). Если невозможно использовать мой SSL-сертификат, как я могу «зарегистрировать» свой PGP-сертификат в ЦС?

Спасибо!

С наилучшими пожеланиями,
Тибо.


person termux    schedule 08.04.2014    source источник


Ответы (1)


OpenPGP и X.509 — два похожих по своей природе, но технологически несовместимых формата. Сертификаты X.509 доверяются иерархически (построение цепочек сертификатов), а ключи OpenPGP доверяются на одноранговой основе.

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

В качестве альтернативы вы можете использовать сертификат вашего сервера для создания отдельной подписи PKCS#7/CMS архива, который вы распространяете, но, в отличие от OpenPGP, нет общедоступных инструментов для проверки подписей PKCS#7/CMS на компьютерах конечных пользователей (ну, может быть, OpenSSL будет работать для вашей пользовательской аудитории). Обратите внимание, что KeyUsage сертификата сервера, вероятно, не подходит для подписи, поэтому пользователи получат предупреждение.

Обратите внимание, что ключи OpenPGP называются «ключами», и сертификаты X.509 называются так же. Не существует «сертификатов pgp», а также «сертификатов ssl».

person Eugene Mayevski 'Callback    schedule 08.04.2014
comment
Благодарю вас! Очень интересный ответ. Я посмотрю, как я могу опубликовать свой ключ в хранилище ключей. Спасибо и за расшифровку терминов ;) - person termux; 08.04.2014
comment
Только один дополнительный вопрос. Я поместил туда свой открытый ключ: pgp.mit.edu . Это все, что мне нужно сделать? GPG будет автоматически знать, где искать в ЦС? - Я не понимаю одного, если злоумышленник меняет ключ на сервере, где находится публичный ключ, то проблема все та же.. - person termux; 08.04.2014
comment
Нет, просто поставить недостаточно — как я уже говорил, пользователи должны доверять этому серверу и использовать его. Доверие означает, что сервер должен быть безопасным (например, вам нужно доказать владение закрытым ключом при передаче ключа на сервер) и что пользователи знают этот сервер и могут/хотят получить от него открытые ключи. - person Eugene Mayevski 'Callback; 08.04.2014
comment
Спасибо Евгений. Однако есть еще одна вещь, которую я не понимаю. Я строю эту настройку в случае автоматических обновлений. Таким образом, я сам управляю фазой расшифровки. При этом я мог бы установить сервер, который я хочу, как доверенный, но меня беспокоит 1- как доказать владение закрытым ключом? 2- более конкретно, как я могу быть уверен, что ключ не был изменен со стороны пользователя (в автоматизированном процессе)? - Проще говоря, есть ли какой-нибудь защищенный сервер, который я мог бы использовать для загрузки своего открытого ключа и загрузки его на стороне клиента, будучи уверенным в ключе? - person termux; 08.04.2014
comment
Я не знаю никаких конкретных URL-адресов серверов, чтобы дать вам. Построение доверительных отношений — одна из самых сложных задач как в PKI, так и в OpenPGP. - person Eugene Mayevski 'Callback; 08.04.2014
comment
Спасибо, тогда вопрос остается открытым. - person termux; 09.04.2014
comment
Для вопроса о доверенном сервере я бы предложил задать отдельный вопрос, потому что этот вопрос в его текущей форме не упоминает такие серверы. Кроме того, с учетом того, как работает StackOverflow, этот вопрос уже видел свой лучший день вчера, и если вы не предложите награду (за которую у вас нет репутации), он не будет иметь гораздо большей известности. С другой стороны, поиск доверенного сервера PGP не соответствует текущим правилам SO (с просьбой порекомендовать любимый сайт или ресурс). - person Eugene Mayevski 'Callback; 09.04.2014