GPG / SSH: сделать ключ подключом после факта

421
Prunus Persica

Я все еще новичок в GPG, SSH и еще много чего, и я не уверен, что такое лучшая практика.

У меня есть USB-устройство, способное генерировать и удерживать ключи GPG || SSH, не выходя из устройства. Это также позволяет подписывать с выводом на локальный компьютер.

Я хотел бы, чтобы ключ на этом устройстве был моим главным ключом M, но неудобно использовать это устройство для повседневного использования. Поэтому я хотел бы иметь другой ключ A, подписанный главным ключом, который я могу хранить локально и использовать для обычных задач. (возможно, используя Yubikey, чтобы заблокировать его а-ля ).

Поскольку подключи, сгенерированные, как мне кажется, «обычным способом», все равно не покинут устройство, есть ли стандартный способ, которым я могу сгенерировать новый ключ Aна моей локальной машине и затем подписать его как подраздел M?

РЕДАКТИРОВАТЬ

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

Метод Юбики хороший, но я думаю, что он уязвим, если его украсть. У Trezor-подобного есть дополнительные уровни аутентификации на устройстве, поэтому, даже если украденный не может быть использован. Атака всего за $ 5!

РЕДАКТИРОВАТЬ 2 (хотя я думаю, что есть также неявное доверие к производителям устройств)

3
Я также заинтересован в том, чтобы сделать что-то подобное (я бы хотел, чтобы Yubikey был моим главным физическим «главным ключом», но для большинства вещей я использую отзывные подключи). Добавление щедрости! ELLIOTTCABLE 6 лет назад 0
См. [Передача ключей на оборудование YubiKey] (https://github.com/drduh/YubiKey-Guide#transfer-keys), если он отвечает на проблему. harrymc 6 лет назад 0

1 ответ на вопрос

2
harrymc

Отличным ресурсом для использования YubiKey является Руководство YubiKey, которое описывает себя как:

Это практическое руководство по использованию YubiKey в качестве смарт-карты для хранения ключей шифрования и подписи GPG.

Ключ аутентификации также может быть создан для SSH и использован с gpg-agent.

Ключи, хранящиеся на смарт-карте, такой как YubiKey, кажутся более сложными для кражи, чем ключи, хранящиеся на диске, и удобны для повседневного использования.

Инструкции, написанные для Debian GNU / Linux 8 (jessie) с использованием YubiKey 4 - с поддержкой 4096-битных ключей RSA - в режиме OTP + CCID, обновлены до версии 2.2.1 GPG. Некоторые примечания также включены для macOS.

Здесь интерес представляет раздел ключей передачи, содержащий это предупреждение:

Перенос ключей на оборудование YubiKey является односторонней операцией, поэтому перед продолжением убедитесь, что вы сделали резервную копию.

Процедура такова:

  • Перечислите ключи

    gpg --edit-key $KEYID 
  • Выберите и переместите ключ подписи

    key 1 keytocard 
  • Отмените выбор, выберите и переместите ключ шифрования

    key 1 key 2 keytocard 
  • Отмените выбор, выберите и переместите ключ аутентификации

    key 2 key 3 keytocard 
  • Проверь свою работу

    gpg --list-secret-keys 
  • Экспортировать открытый ключ

    gpg --armor --export $KEYID > /mnt/public-usb-key/pubkey.txt 
  • При желании он может быть загружен на публичный сервер ключей.

     gpg --send-key $KEYID 

Более подробную информацию можно найти в статье.

это отличный ответ, и я постараюсь следовать ему в ближайшие недели (как только позволит мое расписание). Однако я не могу принять его как ответ, поскольку устройство, на которое я ссылаюсь в этом вопросе, не является Yubikey и не может передавать ключи на него. По функциям это больше похоже на что-то вроде [https://blog.trezor.io/trezor-firmware-1-3-6-20a7df6e692](Trezor). Метод Юбики хороший, но я думаю, что он уязвим, если его украсть. У Trezor-подобного есть дополнительные уровни аутентификации на устройстве, поэтому, даже если украденный не может быть использован. Атака всего за $ 5! Prunus Persica 6 лет назад 0
@PrunusPersica: Проблема в том, что ELLIOTTCABLE разместил бонус специально для YubiKey. Но я думаю, что эта процедура может работать и для других ключей. harrymc 6 лет назад 0
Для некоторых систем смарт-карт, да. Однако тот, о котором идет речь, не имеет операции `keytocard`, насколько я понимаю Prunus Persica 6 лет назад 0
Не зная, кто это, я не могу помочь. harrymc 6 лет назад 0
Аппаратный кошелек, доступный через https://github.com/romanz/trezor-agent Prunus Persica 6 лет назад 0
Я не думаю, что ты можешь. С Trezor все ключи генерируются его исходной фразой. Вы не можете импортировать другие ключи, так как они не могут быть сгенерированы этим семенем. harrymc 6 лет назад 0
Да, вопрос подтверждает это. Он спрашивает, учитывая, что Мастер-ключ никогда не покинет устройство, возможно ли создать дополнительные ключи на главном ПК, просто используя возможность подписи с помощью Мастер-ключа Prunus Persica 6 лет назад 0
Трезор-агент должен позволить вам сделать это - [ссылка] (https://bitcoin.stackexchange.com/questions/46145/how-do-i-use-the-new-gpg-signing-feature-with- мой-TREZOR). Если у вас есть проблемы с ним, добавьте это в свой пост. harrymc 6 лет назад 0
@ELLIOTTCABLE: Не могли бы вы прокомментировать этот ответ? harrymc 6 лет назад 0
Согласен, я думаю, что вы ответили на вопрос ELLIOTTCABLE RE Yubikey, но не на мои подразделы RE вне устройства. Я использовал trezor-agent, и он просто предоставляет интерфейс для gnupg. Отсюда мой вопрос Prunus Persica 6 лет назад 0
Вы можете опубликовать свой вопрос для [trezor-agent] (https://github.com/romanz/trezor-agent/issues). Разработчик реагирует. Насколько я знаю, вы можете добавить только ключ GPG на основе трезора к существующему идентификатору GPG. harrymc 6 лет назад 0
К сожалению! Похоже, я случайно похитил твой пост! Ну, спасибо за ответы, тем не менее ... ELLIOTTCABLE 5 лет назад 0