Masterkey GPG e sottochiave per crittografia e firma e chiavi predefinite

3

Sono un po 'confuso (come molti altri) sul concetto di sottochiavi relativo alla chiave primaria. gpg di default (almeno sembra sul mio sistema --- usando RSA ), su gpg --gen-key crea un masterkey e un subkey . Il masterkey ha contrassegni SC che potrebbero essere utilizzati per la firma e la certificazione. Crea anche una sottochiave con flag E , utilizzato per la crittografia. Le seguenti affermazioni sono corrette?

  • Se capisco l'intero concetto, sia masterkey che subkey sono coppie di chiavi, cioè una coppia di chiavi private-pubbliche.
  • il fatto che uno sia solo per la crittografia è perché alcuni algoritmi hanno tale requisito (servono chiavi separate per la crittografia e la firma)
  • Il subkey con E flag: la sua parte pubblica può essere utilizzata per crittografare le informazioni e la sua parte privata per decrittografare le informazioni che sono state crittografate con la parte pubblica.
  • Il masterkey con SC flag: la sua parte privata viene utilizzata per firmare / certificare e la sua parte pubblica viene utilizzata per verificare la validità della firma.

La parte più confusa è quando seguo il consiglio per creare ulteriore subkeys , uno per la firma, uno per la crittografia. Chiamiamo solo la crittografia originale subkey ESK0 e la nuova crittografia subkey ESK1 e la nuova firma subkey SSK1 e masterkey MK .

Dopo aver creato ESK1 e SSK1 dovrei avere in totale 4 coppie di chiavi pubbliche / private, corretto? Quindi, seguendo le guide, rimuovo MK su un supporto offline e lo rimuovo dal mio computer, quindi ora ho nel mio computer:

  • Una coppia pubblica / privata ESK0 (crittografia originale)
  • Una coppia pubblica / privata ESK1 (nuova crittografia)
  • Una coppia pubblica / privata SSK1 (nuova firma)
  • Una chiave pubblica per MK

Quindi cambio la password usando gpg --edit-key $id passwd . Secondo alcune guide dovrebbe cambiare la password per le sottochiavi, ma non ne sono così sicuro, penso che questo cambi solo la password per l'intera struttura delimitata a MK è solo che la struttura con% privato diMK memorizzato offline ha ancora la vecchia password. Quale è corretto?

Ora, se firmo qualcosa, qual è la chiave della firma? Credo che debba essere SSK1 poiché MK non è più disponibile. Corretto?

Quindi caricare alcune chiavi pubbliche in un server delle chiavi utilizzando gpg --send-key $id . Quali chiavi / chiavi pubbliche sono state caricate?

Se qualcuno utilizzerà le informazioni dal server delle chiavi per inviarmi alcune informazioni crittografate, quale chiave pubblica verrà utilizzata per la crittografia: ESK0 o ESK1 ? Sono preoccupato che sarebbe ESK0 da allora l'intero punto di avere sottochiavi sarebbe completamente inutile come per la decifrazione, io starei ancora usando ESK0 .

Inoltre, perché le guide suggeriscono la rimozione di MK ma il ESK0 deve rimanere sul sistema? Qual è lo scopo di ESK1 quindi?

Grazie per l'aiuto.

    
posta leosenko 29.05.2018 - 00:30
fonte

1 risposta

4

Se hai già una chiave SC ed E e vuoi rimuovere la chiave C ("master") nella memoria offline, tutto ciò che ti serve è una nuova chiave S (SSK1 nel tuo esempio). Non è necessario creare una nuova sottochiave di crittografia: quella esistente va bene per questo scopo.

I then change password using gpg --edit-key $id passwd. According to some guides it should change the password to the subkeys, but I am not so sure about that, I think that this just changes password to the whole structure bounded to MK it is just that the structure with private MK stored offline has still the old password. Which is correct?

Cambierete la passphrase su qualsiasi sottochiave memorizzata localmente, quindi è una cosa perfettamente valida da fare. La passphrase della chiave master offline non cambierà. La passphrase è ciò che GnuPG utilizza per cifrare simmetricamente le tue chiavi private prima di memorizzarle su disco (per assicurarti che non vengano rubate facilmente tramite malware o backup mal protetti).

Now, if I sign something, which is the signing key? I believe it has to be SSK1 since MK is no longer available. Correct?

Per impostazione predefinita, GnuPG utilizzerà la chiave S creata più di recente, quindi verrà sempre utilizzato SSK1 nel tuo caso, che è quello che desideri.

I then upload some public key to a key server using gpg --send-key $id. Which public key/keys have I uploaded?

Carica tutti i dati delle chiavi pubbliche, incluse eventuali nuove sottochiavi o identità.

If someone will use the information from the key server to send me some encrypted information, which public key will be use for the encryption - ESK0 or ESK1? I am worried it would be ESK0 since then the whole point of having subkeys would be completely pointless as for decryption I would still be using ESK0.

Avere più sottochiavi di crittografia valide è una ricetta per qualcosa di simile, quindi ti consiglio vivamente di NON creare una nuova sottochiave di crittografia. Come ho già detto, non hai bisogno di una nuova sottochiave di crittografia se ne hai già uno.

Also, why is it that the guides suggest removal of MK but the ESK0 still is supposed to stay on the system? What is the purpose of ESK1 then?

La "chiave master" è la tua chiave "C" (certifica). È la chiave utilizzata per firmare le chiavi di altre persone e le proprie sottochiavi e identità. Se una qualsiasi sottochiave E o S viene persa o sei preoccupato di essere esposta al malware, puoi semplicemente revocarle e crearne di nuove fintanto che ti fidi dell'integrità della tua chiave C. Questo è il motivo per cui è consigliabile che il tuo codice C ("chiave principale") sia attentamente salvaguardato e archiviato offline.

Alla fine, il tuo obiettivo è avere la seguente struttura:

  • chiave esistente [SC] - archiviata offline, rimossa dal disco locale
  • chiave esistente [E] - mantenuta su disco
  • nuovo tasto [S] - mantenuto sul disco

Nota finale: per impostazione predefinita, GnuPG crea la chiave master come [SC], ma non è obbligata a farlo. In particolare, puoi dire a GnuPG di creare un tasto [C] standalone.

    
risposta data 29.05.2018 - 13:47
fonte

Leggi altre domande sui tag