GPG / SSH: Tornar uma chave uma subchave após o fato

3

Ainda sou novo em GPG, SSH e outros, e não sei qual é a melhor prática.

Eu tenho um dispositivo USB capaz de gerar e manter as chaves GPG || SSH sem que elas saiam do dispositivo. Também permite assinar, com saída na máquina local.

Gostaria que uma chave neste dispositivo fosse minha chave mestra M , mas é inconveniente usar este dispositivo para uso diário. Portanto, gostaria de ter outra chave A , assinada pela chave mestra, que eu possa manter localmente e usar para tarefas normais. (possivelmente usando um Yubikey para bloqueá-lo à la ).

Como as subchaves geradas no que eu acho que é a "maneira normal" ainda não deixaria o dispositivo, existe uma maneira padrão de gerar uma nova chave em A em minha máquina local e assiná-la como um subchave de M ?

EDITAR

Para esclarecer, o dispositivo em questão não é um Yubikey e não pode ter chaves transferidas para ele. É mais semelhante em função a algo como um Trezor , onde as chaves só podem ser geradas no dispositivo e não pode ser copiado para dentro ou fora dele.

O método Yubikey é bom, mas acho que é vulnerável se o Yubikey for roubado. O Trezor-like tem camadas adicionais de autenticação no dispositivo, por isso, mesmo se roubado não pode ser usado. $ 5 ataques de chave apenas!

EDIT2 (embora eu ache que também há confiança implícita nos fabricantes de dispositivos)

    
por Prunus Persica 25.01.2018 / 13:26

1 resposta

2

Um excelente recurso para usar o YubiKey é o Guia do YubiKey , que se descreve como:

This is a practical guide to using YubiKey as a SmartCard for storing GPG encryption and signing keys.

An authentication key can also be created for SSH and used with gpg-agent.

Keys stored on a smartcard like YubiKey seem more difficult to steal than ones stored on disk, and are convenient for everyday use.

Instructions written for Debian GNU/Linux 8 (jessie) using YubiKey 4 - with support for 4096 bit RSA keys - in OTP+CCID mode, updated to GPG version 2.2.1. Some notes are included for macOS as well.

A seção de interesse aqui é a de Transferir chaves que contém este aviso:

Transferring keys to YubiKey hardware is a one-way operation only, so make sure you've made a backup before proceeding.

O procedimento é:

  • Relacione as chaves

    gpg --edit-key $KEYID
    
  • Selecione e mova a chave de assinatura

    key 1
    keytocard
    
  • Desmarque, selecione e mova a chave de criptografia

    key 1
    key 2
    keytocard
    
  • Desmarque, selecione e mova a chave de autenticação

    key 2
    key 3
    keytocard
    
  • Verifique seu trabalho

    gpg --list-secret-keys
    
  • Exportar chave pública

    gpg --armor --export $KEYID > /mnt/public-usb-key/pubkey.txt
    
  • Opcionalmente, pode ser enviado para um servidor de chaves público

      gpg --send-key $KEYID
    

Mais informações podem ser encontradas no artigo.

    
por 12.04.2018 / 10:32