GnuPG / PGP и SSL: общий доступ к одному и тому же закрытому ключу? - PullRequest
7 голосов
/ 07 марта 2012

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

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

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

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

Спасибо

1 Ответ

10 голосов
/ 07 марта 2012

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

Во-первых, когда вы говорите «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) только усугубит проблему.

...