2

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

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

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

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

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

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

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

2 ответа2

2

Преимущества использования Subkeys

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

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

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

В любом случае, не используя их

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

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

gpg --expert --gen-key

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

0

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

gpg --expert --gen-key

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

gpg --expert --full-generate-key

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .