Почему нет «Переключить возможность шифрования» при генерации главного ключа с использованием ECC и RSA?

Оценка переключения с RSA на ECC при инициализации YubiKeys.

Заметил, что когда я бегу gpg --expert --full-generate-key и выберите «ECC (установить собственные возможности)», функция «Переключить возможность шифрования» недоступна (по сравнению с использованием RSA).

Я пытаюсь сгенерировать главный ключ ECC, из которого я хотел бы получить подключаемые ключи подписи, шифрования и аутентификации.

Почему? Спасибо за помощь!

1 ответ
1

Подключи не являются производными от главного ключа. Они просто подписано мастер-ключ, но в остальном отношения к нему не имеют — их возможности и даже алгоритмы не обязательно должны совпадать.

Действительно, это все дело подключей в PGP. Первоначально он использовал одну пару ключей RSA для всего, но теперь среди экспертов по криптографии распространено мнение, что один и тот же ключ никогда не должен использоваться для разных целей, таких как подписание и шифрование, поэтому в конечном итоге была изобретена функция « подключей », чтобы подписывать может быть выполнено с использованием одного ключа RSA, а шифрование — с помощью другого.

(В некоторой степени даже использование одного и того же ключа подписи для сетевой аутентификации и сертификации документов не является хорошей идеей — даже если это одно и то же криптографически, они разные с точки зрения политики. Режим «PIV smartcard» в вашем Yubikey имеет явно разделите слоты для ключей для этих целей, потому что они имеют разные требования к PIN-коду.)

Таким образом, хотя пары ключей RSA в PGP могут одновременно иметь все биты возможностей (по устаревшим причинам), все другие типы ключей явно рассматриваются как использующие разные алгоритмы для подписи и шифрования — «ECDSA» (19) или «EdDSA» (22). ключ может только подписывать / проверять, а ключ «ECDH» (18) может только шифровать / дешифровать. Нечто подобное применимо и к DSA по сравнению с ElGamal.

А поскольку главный ключ в PGP используется для сертификации как чужих ключей, так и ваших собственных подключей, он должен быть алгоритмом с возможностью подписи с certify возможности. Для ключа EC это исключает алгоритмы, поддерживающие шифрование.

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

  • Большое спасибо за то, что помогли мне разобраться во всем этом!

    — Санкнудсен
    16 часов назад

  • Итак, при создании главного ключа ECC (с намерением подписывать подключи) единственной необходимой емкостью является «подписать», а «аутентифицировать» можно игнорировать, верно? Спрашиваю, потому что я не вижу возможности «сертифицировать» в GnuPG 2.2.12. Скорее всего, я что-то упускаю.

    — Санкнудсен
    16 часов назад

  • 1

    «certify» нет в списке, потому что он является обязательным для первичного ключа — поэтому он всегда установлен, и вы не можете его отключить. (Между тем «подпись» предназначена специально для подписи сообщений / документов, а не других ключей, поэтому может безопасно выключить, если вы предпочитаете использовать для этого подключ.)

    — user1686
    16 часов назад

  • Значит, при создании главного ключа ECC нам не нужно переключать (включать) какую-либо емкость, верно? Я был сбит с толку после того, как подписал это очень популярное руководство по GnuPG / YubiKey (RSA). Насколько я понимаю, та же логика применима к RSA, когда кто-то не планирует использовать мастер-ключ для чего-либо еще, кроме управления подключами.

    — Санкнудсен
    15 часов назад

  • 1

    Цель не в том, чтобы «переключать» возможности. В руководстве, на которое вы ссылаетесь, цель — отключить нежелательные возможности, а пункт меню «Переключить» — всего лишь механизм для этого. Таким образом, вам следует посмотреть, какие возможности показаны в списке «Текущие разрешенные» — если возможность включена и в учебнике требуется отключить ее, тогда да, вам все равно следует отключить ее, но если, например, encrypt был уже отключен с самого начала, тогда было бы совершенно бессмысленно «переключать» его снова.

    — user1686
    15 часов назад

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *