GPG con smart card Yubikey: la smart card non ha bisogno di essere collegata! [duplicare]

2

Ho creato un tasto MASTER offline insieme a sottochiavi. Le chiavi secondarie sono state inviate alla smartcard Yubikey tramite gpg 'keytocard'. Il comando gpg --card-status identifica correttamente le informazioni che mostrano l'id masterkey e le sottochiavi.

Voglio usare questo tramite Windows. Quindi ho scaricato Gpg4win. Ha installato una GUI Kleopatra.

In Kleopatra ho IMPORTATO la mia chiave PUBLIC. Tuttavia, non sono in grado di crittografare / firmare nulla in quanto afferma che sono obbligato a importare una chiave privata. Sono un po 'confuso, non è questo il punto di Yubikey (NON avendo la chiave privata su un disco fisso che è online)? Non è Yubikey THE PRIVATE KEY, di nuovo così che non devo avere la chiave privata sul disco fisso?

Ho rifatto tutto questo test con un altro Yubikey e ho importato la chiave privata (che doveva essere offline) e funziona, ma decodifica anche SENZA RICHIEDERE LO YUBIKEY.

Idealmente, quello che voglio che accada è che è OBBLIGATORIO inserire lo Yubikey nella macchina per poter crittografare o decifrare un file o un blocco appunti.

Ho notato che questo test quando ho importato la chiave privata mi chiede la passphrase piuttosto che inserire Yubikey. Una volta importata la chiave privata, Yubikey è praticamente inutile.

Qualche suggerimento specifico per gpg per la GUI di Windows / Kleopatra?

    
posta user3330299 05.12.2017 - 00:43
fonte

1 risposta

0

Ho avuto lo stesso problema qualche giorno fa. Dovrai esportare uno stub della tua chiave privata sul tuo PC. Fondamentalmente, lo stub dice al tuo box che la chiave privata è su una scheda e dovrebbe cercarla lì, quindi Kleopatra / GPG4Win sarà in grado di utilizzare correttamente la chiave privata.

EDIT:

Questa risposta dice che è meglio di me ha fatto.

EDIT (2): Sembra che il collegamento non fosse tutto ciò di cui avevo bisogno per farlo, nel mio setup non otterrà stub da Yubikey quindi ho dovuto prenderli da una macchina che aveva già stub per quelle sottochiavi ( quello in cui li ho creati). Illustrerò i miei passaggi qui.

  1. Genera la chiave master PGP (usando Guybrush Threepwood come vero nome)

    gpg2 --full-gen-key
    
  2. Genera sottochiavi per firmare, crittografare e autenticare.

    gpg2 --expert --edit-key Guybrush
    addkey (follow prompts, repeat for all subkeys)
    
  3. Muovi i sottochiavi nella scheda (ancora all'interno del menu -edit-key) (Nota: questo passaggio rimuove effettivamente le sottochiavi dal tuo sistema)

    key1
    keytocard
    key 1
    key 2
    keytocard
    key 2
    key 3
    keytocard
    save
    
  4. Ora che le sottochiavi sono solo sulla tua Yubikey, esporta per loro gli stub delle chiavi private.

    gpg2 -a -o subkeys.sec.asc --export-secret-subkeys Guybrush
    
  5. Spostare in modo sicuro subkeys.sec.asc dalla macchina di generazione alla macchina client (scp / sneakernet ecc.)

  6. Dalla tua macchina client

    gpg --import subkeys.sec.asc
    

Ora Kleopatra dovrebbe mostrare una voce per Guybrush Threepwood come una chiave privata che controlli e non dovrebbe permetterti di firmare / decodificare come lui a meno che non sia inserito il tuo Yubikey e inserito il PIN.

Potresti anche trovare questo README di Github utile.

Disclaimer: non sono esperto in questo, quindi se arrivano dei commenti che contestano il mio consiglio, dovresti ascoltarli.

    
risposta data 05.12.2017 - 15:56
fonte

Leggi altre domande sui tag