Cum să faceți copii de rezervă și să vă restaurați cheile GPG pe Linux

Publicat: 2022-08-18
Laptop Linux afișează un prompt bash
fatmawati achmad zaenuri/Shutterstock.com

Confidențialitatea este un subiect din ce în ce mai fierbinte. Pe Linux, comanda gpg permite utilizatorilor să cripteze fișierele folosind criptografia cu cheie publică, caz în care pierderea cheilor de criptare ar fi catastrofală. Iată cum să le faci copii de rezervă.

OpenPGP și GNU Privacy Guard

Unul dintre avantajele fișierelor electronice față de copiile pe hârtie este că puteți cripta fișierele electronice, astfel încât acestea să fie accesibile numai de către persoanele autorizate. Dacă cad în mâini greșite, nu contează. Numai dvs. și destinatarul vizat puteți accesa conținutul fișierelor.

Standardul OpenPGP descrie un sistem de criptare numit criptare cu cheie publică. Implementarea GNU Privacy Guard a acelui standard a dus la gpg , un instrument de linie de comandă pentru criptarea și decriptarea în conformitate cu standardul.

Standardul conturează o schemă de criptare cu cheie publică. Deși se numește „cheie publică”, există două chei implicate. Fiecare persoană are o cheie publică și o cheie privată. Cheile private, după cum sugerează și numele, nu sunt niciodată dezvăluite și nici transmise nimănui altcuiva. Cheile publice pot fi partajate în siguranță. de fapt, cheile publice trebuie partajate pentru ca schema să funcționeze.

Când un fișier este criptat, cheia privată a expeditorului și cheia publică a destinatarului sunt utilizate în procesul de codificare. Fișierul poate fi apoi livrat destinatarului. Ei folosesc cheia lor privată și cheia publică a expeditorului pentru a decripta fișierul.

Cheile publice și private sunt generate ca o pereche potrivită și legate de o anumită identitate. Chiar dacă nu transmiteți materiale sensibile altor persoane, le puteți utiliza pe propriul computer pentru a adăuga un strat suplimentar de protecție documentelor private.

Cum să criptați și să decriptați fișierele cu GPG pe Linux
LEGATE Cum să criptați și să decriptați fișierele cu GPG pe Linux

Criptarea folosește algoritmi de clasă mondială și funcții criptografice. Fără cheile publice și private adecvate, pur și simplu nu puteți intra în fișiere criptate. Și, dacă îți pierzi cheile, asta e valabil și pentru tine. Generarea de chei noi nu va ajuta. Pentru a decripta fișierele, aveți nevoie de cheile care au fost utilizate în procesul de criptare.

Inutil să spunem că backupul cheilor este de o importanță capitală, la fel ca și cum să le restabiliți. Iată cum să îndepliniți aceste sarcini.

Directorul .gnupg

Cheile dvs. sunt stocate într-un director numit „.gnupg” din directorul dvs. de acasă. Acest director va stoca, de asemenea, cheile publice ale oricui ți-a trimis fișiere criptate. Când importați cheile lor publice, acestea sunt adăugate la un fișier de bază de date indexat din acel director.

Nimic din acest director nu este stocat în text simplu, desigur. Când generați cheile dvs. GPG, vi se solicită o expresie de acces. Sper că ți-ai amintit care este expresia de acces. O să ai nevoie de el. Intrările din directorul „.gnugp” nu pot fi decriptate fără el.

Dacă folosim utilitarul tree pentru a privi directorul, vom vedea această structură de subdirectoare și fișiere. Veți găsi tree în depozitele distribuției dvs. dacă nu îl aveți deja pe computer.

 arbore .gnupg 

Structura de directoare a directorului .gnupg.

Conținutul arborelui de directoare este:

  • openpgp-revocs.d : Acest subdirector conține certificatul dvs. de revocare. Veți avea nevoie de acest lucru dacă cheia dvs. privată devine vreodată cunoscută sau compromisă în alt mod. Certificatul dvs. de revocare este utilizat în procesul de retragere a cheilor vechi și de adoptare a cheilor noi.
  • private-keys-v1.d : Acest subdirector stochează cheile dumneavoastră private.
  • pubring.kbx : un fișier criptat. Conține chei publice, inclusiv a ta, și câteva metadate despre acestea.
  • pubring.kbx~ : Aceasta este o copie de rezervă a „pubring.kbx”. Este actualizat chiar înainte de a se aduce modificări la „pubring.kbx”.
  • trustdb.gpg : Acesta deține relațiile de încredere pe care le-ați stabilit pentru propriile chei și pentru orice chei publice acceptate aparținând altor persoane.

Oricum, ar trebui să faceți copii de siguranță regulate și frecvente ale directorului dvs. de acasă, inclusiv fișierele și folderele ascunse. Acest lucru va face copii de rezervă pentru directorul „.gnupg”.

Dar ați putea crede că cheile dvs. GPG sunt suficient de importante pentru a garanta o copie de rezervă periodică a lor sau poate doriți să copiați cheile de pe desktop pe laptop, astfel încât să le aveți pe ambele mașini. La urma urmei, ești tu pe ambele mașini.

Determinarea ce taste să faceți backup

Putem cere gpg să ne spună ce chei se află în sistemul dvs. GPG. Vom folosi opțiunile --list-secret-keys și opțiunile --keyid-format LONG .

 gpg --list-secret-keys --keyid-format LONG 

Afișarea detaliilor cheii GPG în fereastra terminalului

Ni s-a spus că GPG caută în fișierul „/home/dave/.gnupg/pubring.kbx”.

Nimic din ceea ce apare pe ecran nu este cheia ta secretă reală.

  • Linia „sec” (secretă) arată numărul de biți din criptare (4096 în acest exemplu), ID-ul cheii, data la care a fost creată cheia și „[SC]”. „S” înseamnă că cheia poate fi utilizată pentru semnături digitale, iar „C” înseamnă că poate fi utilizată pentru certificare.
  • Următoarea linie este amprenta cheie.
  • Linia „uid” conține ID-ul proprietarului cheii.
  • Linia „ssb” arată subcheia secretă, când a fost creată și „E”. „E” indică faptul că poate fi folosit pentru criptare.

Dacă ați creat mai multe perechi de chei pentru utilizare cu identități diferite, acestea vor fi și ele listate. Există o singură pereche de chei pentru a face backup pentru acest utilizator. Backup-ul va include toate cheile publice aparținând altor persoane pe care proprietarul acestei chei le-a colectat și a decis să aibă încredere.

Backup

Putem fie să cerem gpg să facă copii de rezervă pentru toate cheile pentru toate identitățile, fie să facă copii de rezervă ale cheilor asociate cu o singură identitate. Vom face backup pentru cheia privată, cheia secretă și fișierul bazei de date de încredere.

Pentru a face copii de rezervă ale cheilor publice, utilizați opțiunea --export . De asemenea, vom folosi --export-options backup options. Acest lucru asigură că toate metadatele specifice GPG sunt incluse pentru a permite importarea corectă a fișierelor pe alt computer.

Vom specifica un fișier de ieșire cu opțiunea --output . Dacă nu am face asta, rezultatul ar fi trimis în fereastra terminalului.

 gpg --export --export-options backup --output public.gpg 

Exportarea cheilor GPG publice

Dacă doriți doar să faceți copii de rezervă ale cheilor pentru o singură identitate, adăugați adresa de e-mail asociată cheilor la linia de comandă. Dacă nu vă amintiți ce adresă de e-mail este, utilizați opțiunea --list-secret-keys , așa cum este descris mai sus.

 gpg --export --export-options backup --output public.gpg [email protected] 

Exportarea cheilor GPG publice pentru o singură identitate

Pentru a face backup cheilor noastre private, trebuie să folosim opțiunea --export-secret-keys în loc de opțiunea --export . Asigurați-vă că salvați acest lucru într-un alt fișier.

 gpg --export-secret-keys --export-options backup --output private.gpg 

Exportarea cheilor private GPG

Deoarece aceasta este cheia dvs. privată, va trebui să vă autentificați cu GPG înainte de a putea continua.

Rețineți că nu vi se cere parola . Ceea ce trebuie să introduceți este fraza de acces pe care ați furnizat-o când ați creat prima dată cheile GPG. Administratorii de parole buni vă permit să păstrați astfel de informații ca note sigure. Este un loc bun pentru a le depozita.

Furnizarea frazei de acces GPG pentru a exporta cheile private

Dacă fraza de acces este acceptată, exportul are loc.

Pentru a face backup relațiilor dvs. de încredere, trebuie să exportăm setările din fișierul dvs. „trustdb.gpg”. Trimitem rezultatul într-un fișier numit „trust.gpg”. Acesta este un fișier text. Poate fi vizualizat folosind cat .

 gpg --export-ownertrust > trust.gpg
 încredere pisică.gpg 

Exportarea relațiilor de încredere GPG

Iată cele trei fișiere pe care le-am creat.

 ls -hl *.gpg 

Cele trei fișiere create de comenzile de export

Le vom muta pe un alt computer și le vom restaura. Acest lucru ne va stabili identitatea pe acea mașină și ne va permite să folosim cheile GPG existente.

Dacă nu mutați cheile pe alt computer și doar le faceți o copie de rezervă pentru că doriți să fiți de două ori sigur că sunt în siguranță, copiați-le pe un alt mediu de stocare și stocați-le în siguranță. Chiar dacă cad în mâini greșite, cheia dvs. publică este oricum publică, așa că nu este rău acolo. Și fără expresia de acces, cheia privată nu poate fi restaurată. Dar totuși, păstrați-vă copiile de siguranță în siguranță și private.

Am copiat fișierele pe un computer Manjaro 21.

 ls *.gpg 

Fișierele exportate au fost transferate pe un computer Manjaro

În mod implicit, Manjaro 21 folosește shell-ul Z, zsh , motiv pentru care arată diferit. Dar asta nu contează, nu va afecta nimic. Ceea ce facem este guvernat de programul gpg , nu de shell.

Pentru a ne importa cheile, trebuie să folosim opțiunea --import .

 gpg --import public.gpg 

Importul cheilor GPG publice

Detaliile cheii sunt afișate pe măsură ce este importată. Fișierul „trustdb.gpg” este, de asemenea, creat pentru noi. Importarea cheii private este la fel de ușor. Folosim din nou opțiunea --import .

 gpg --import private.gpg 

Importul cheilor private GPG

Ni se solicită să introducem expresia de acces.

Introducerea expresiei de acces pentru a importa cheile GPG private

Introduceți-o în câmpul „Frază de acces”, apăsați tasta „Tab” și apăsați „Enter”.

Confirmarea cheilor GPG private importate

Sunt afișate detaliile cheilor importate. În cazul nostru, avem o singură cheie.

Pentru a importa baza noastră de date de încredere, tastați:

 gpg --import-ownertrust trust.gpg 

Importul relațiilor de încredere GPG

Putem verifica că totul a fost importat corect folosind încă o dată opțiunea --list-secret-keys .

 gpg --list-secret-keys --keyid-format LONG 

Verificarea că importul a funcționat

Acest lucru ne oferă exact aceeași ieșire pe care am văzut-o mai devreme pe computerul nostru Ubuntu.

Protejați-vă confidențialitatea

Asigurați-vă că cheile dvs. GPG sunt în siguranță făcându-le copii de rezervă. Dacă aveți un dezastru de computer sau doar faceți upgrade la un model mai nou, asigurați-vă că știți cum să vă transferați cheile pe noua mașină.

RELATE: Cum să faci o copie de rezervă a sistemului tău Linux cu rsync