Можно ли сгенерировать ключи GnuPG без подключаемых ключей?

Можно ли сгенерировать ключи GnuPG без подключаемых ключей?

Я использую PGP, а затем GnuPG уже более 20 лет, и мой самый старый ключ все еще находится на сервере MIT с 1996 года. (RSA 1024 без подключаемых ключей...)

Со временем ключи стали парами Main и Subkey. За все эти годыМне ни разу не понадобился этот подключфункция. Я также не знаю никого лично, кто бы ею пользовался.

Я, возможно, прочитал все "Веские причины" того, почему подключи "должны" использоваться. Но ни одна из этих причин не применима ко мне.

Например, подключи хороши, когда ключ шифрования скомпрометирован!!! Но мои ключи шифрования никогда не были скомпрометированы. И я не знаю никого, чьи ключи были скомпрометированы.

Или, предположительно, это хорошо для организаций, где один главный ключ связан со многими ключами шифрования. Я не видел этого. Интересно, существует ли такая организация где-нибудь в этой Вселенной. Из всего, что я видел, идея подключей, похоже, является случаемизлишняя инженериябез или очень редкое использование в реальной жизни. Возможно, эта идея — просто рационализация схемы DSA/elGamal.

В любом случае, я работаю над некоторым программным обеспечением, где не используются подключи. Кроме того, я хочу, чтобы мои ключи были совместимы с RetroShare (безопасный p2p чат и обмен файлами, использующий только отдельные ключи без подключей).

Кто-нибудь знает, есть ли способ сгенерировать ключи без подключаемых ключей. Я знаю только о возможности удаления подключаемых ключей в меню --edit-key. Я не знаю, можно ли сгенерировать ключи без них. Есть ли способ? Большое спасибо за любую помощь в дальнейшем понимании этой проблемы.

решение1

Преимущества использования подключей

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

Другой пример: у OpenSSH были некоторые проблемы, которые могли раскрыть ваши личные ключи SSH на сервере ключей. Я использую подключи аутентификации OpenPGP вместе с monkeysphere, в этом случае был бы раскрыт мой подключ аутентификации, а не мой первичный ключ. Накрутка подключа аутентификации заняла у меня пять минут, распространение совершенно новых ключей заняло бы у меня час (или даже больше).

Подключи могут добавить некоторую сложность, но вы этого не видите, и это просто отлично работает. Накладные расходы на вычисления и хранение незначительны, нет дополнительных ручных усилий. Почему бы просто не взять некоторые (возможные) дополнительные преимущества "бесплатно"?

Я их все равно не использую

Вполне могут быть причинынетиспользовать подключи. Может быть, вы просто хотите положиться на некоторые части инфраструктуры OpenPGP и вообще не заботиться об управлении доверием и прочем. Если вы создаете программное обеспечение для других, рассмотрите возможность не ограничивать своих пользователей: может быть, для некоторых было бы разумно просто предоставить подключ, вместо того чтобы создавать совершенно не связанную пару ключей?

Генерация ключей без подключаемых ключей требует использования алгоритма, который поддерживает как шифрование, так и подписи, что делает RSA (но не DSA). Для генерации первичного ключа "общего назначения" без подключаемых ключей вам необходимо использовать меню --expertгенерации ключей:

gpg --expert --gen-key

Тогда выбирай(8) RSA (установите свои собственные возможности). Вы сможете выбрать возможные варианты использования ключа, где C(сертификация) требуется для первичного ключа, S(подписание), E(шифрование) и A(аутентификация) могут быть выбраны произвольно. Завершите оставшуюся часть помощника, и вы получите первичный ключ без каких-либо подключей с выбранными возможностями.

решение2

@jens-erat Спасибо за ответ, я искал то же самое. Только одна деталь для протокола:

gpg --expert --gen-key

У меня не сработало (GPG 2.2.4). Это сработало:

gpg --expert --full-generate-key

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