GnuPG/PGP и SSL: общий закрытый ключ?

Я пытаюсь разобраться в использовании цифровых подписей и шифрования. Я понимаю, что есть 2 основных способа сделать это: способ PGP и способ SSL.

Что я хотел бы знать, можно ли использовать один и тот же закрытый ключ как для SSL-сертификата, так и для GnuPG, при условии, что это 2048-битный ключ RSA.

У меня уже есть SSL-сертификат, подписанный ЦС, поэтому я надеялся использовать закрытый ключ этого сертификата в качестве главного закрытого ключа GnuPG.

Я знаю, что мы не можем делать утверждения между SSL и GnuPG таким образом, но я хотел бы иметь только один закрытый ключ (таким образом, нужно защищать только один фрагмент данных)

Спасибо


person Pedro    schedule 07.03.2012    source источник
comment
Сертификаты не являются SSL-сертификатами и не имеют ничего общего с SSL (хотя они могут использоваться в SSL так же, как и ключи OpenPGP).   -  person Eugene Mayevski 'Callback    schedule 07.03.2012
comment
Как ни прекрасна идея иметь только один закрытый ключ для защиты звуков, вы на самом деле кладете свое яйцо во многие корзины, так сказать (антиизбыточно): если ваш веб-сервер будет взломан, теперь ваш священный ключ PGP сломан! И если ваш ноутбук украдут/взломают, теперь у вас есть ключ, который можно легко использовать для MITM вашего сайта! Лучше иметь разделение обязанностей.   -  person JamesTheAwesomeDude    schedule 26.11.2017


Ответы (1)


Вы можете сделать это, но это не обязательно хорошая практика.

Во-первых, когда вы говорите «сертификат SSL», вы, вероятно, имеете в виду «сертификат X.509». SSL/TLS в большинстве случаев использует сертификаты X.509, но также может использовать сертификаты OpenPGP (насколько мне известно, их поддерживает только GnuTLS).

Обратите внимание, что я также использую выражение «сертификат OpenPGP». Большинство людей называют их «открытыми ключами PGP», но на самом деле они являются сертификатами: они представляют собой комбинацию открытого ключа, идентификатора и некоторых атрибутов, подписанных другими объектами, которые присоединяют к нему свою подпись, чтобы сформировать общий сертификат. Строго говоря, это не просто открытый ключ.

Основное различие между сертификатом X.509 и сертификатом PGP заключается в том, что X.509 может иметь только одну подпись (подпись издателя), тогда как в сертификат PGP можно добавить несколько подписей. (Модель PGP можно использовать для иерархической модели, подобной PKI, тогда как модель PKI нельзя использовать для работы с моделью Web-of-Trust.)

Этот код Java демонстрирует, как "преобразовать" набор ключей PGP в самозаверяющий сертификат X.509. В принципе, вы также можете превратить его в CSR, чтобы получить сертификат X.509 от CA. Другое дело, хорошая ли это идея.

Во-первых, рекомендуется время от времени повторно генерировать новые пары ключей. Как правило, это одна из причин, по которой сертификаты X.509, используемые для SSL, имеют дату окончания срока действия (подписи PGP также могут быть ограничены по времени).

Вы также эффективно положите все яйца в одну корзину. Если один из ключей будет скомпрометирован, ваши сертификаты X.509 и PGP будут скомпрометированы.

Что еще более важно, повторное использование одних и тех же ключей для подписи и шифрования считается плохой практикой: их использование для двух разных приложений (SSL/TLS и GnuPG) только усугубит проблему.

person Bruno    schedule 07.03.2012
comment
Спасибо, теперь это имеет смысл. И да, я на самом деле не эксперт по безопасности, поэтому еще не знаком со всеми терминами (SSL, PGP, Key, X.509). - person Pedro; 07.03.2012
comment
Просто примечание: наш SecureBlackbox также поддерживает ключи OpenPGP в SSL/TLS. - person Eugene Mayevski 'Callback; 07.03.2012
comment
Я тоже пробую этот подход, и кажется невозможным проверить, что самозаверяющий сертификат X.509 связан (подписан) с определенным ключом OpenPGP. Как мне это сделать? Вот вопрос: stackoverflow.com/q/19678786/1045199 - person Daniele Ricci; 07.11.2013
comment
Для справки, на мой последний комментарий был дан ответ здесь: crypto.stackexchange.com/q/11582/9284 - person Daniele Ricci; 23.06.2015