Как продлить устаревшую пару ключей с помощью gpg

83

Каков наилучший способ обновить пару ключей gpg после истечения срока действия и в чем причина этого метода?

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

  • Должен ли новый ключ быть подразделом устаревшего закрытого ключа?

  • Должен ли он быть подписан старым (я мог бы попытаться отредактировать ключ и изменить дату истечения срока на завтра)?

  • Должен ли новый ключ подписывать старый?

Джонас Стейн
источник

Ответы:

96

Закрытые ключи никогда не истекают. Только открытые ключи. В противном случае мир никогда не заметит истечения срока действия, поскольку (мы надеемся) мир никогда не увидит закрытые ключи.

Для важной части, есть только один способ, так что сохраняет обсуждение плюсов и минусов.

Вы должны продлить срок действия основного ключа:

gpg --edit-key 0x12345678
gpg> expire
...
gpg> save

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

gpg --edit-key 0x12345678
gpg> key 1
gpg> expire
...
gpg> key 1
gpg> key 2
gpg> expire
...
gpg> save

Вам нужно key 1дважды выбрать и отменить выбор, потому что вы можете продлить срок действия только одного ключа за раз.

Вы также можете принять решение о продлении срока действия, если у вас нет причин полагать, что ключ был взломан. Не выбрасывать весь сертификат в случае компрометации имеет смысл, только если у вас есть автономный главный ключ (который в любом случае является IMHO единственным разумным способом использования OpenPGP).

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

Если вы используете смарт-карты (или планируете это делать), то наличие дополнительных ключей (шифрования) создает определенные неудобства (карта с новым ключом не может расшифровать старые данные).

Хауке Лагинг
источник
Я ударил это: есть gpg> expire Need the secret key to do this. идеи, как обойти это?
Феликс
7
@ Феликс Вы не можете обойтись без секретных ключей. Это основа PK криптографии.
Хауке Лагинг
8
Странно, что ключи обновляются с «expire»
Дэвид Коста,
2
Я полагаю, что expireкоманда на самом деле поможет вам установить время истечения срока действия ключа, поэтому, возможно, вы «продлеваете» ключ, просто устанавливая время истечения в будущем?
Виктор Хааг