Jak šifrovat a dešifrovat soubory pomocí GPG na Linuxu

Chraňte své soukromí pomocí příkazu gpg pro Linux. Použijte prvotřídní šifrování, abyste udrželi svá tajemství v bezpečí. Ukážeme vám, jak pomocí gpg pracovat s klíči, šifrovat soubory a dešifrovat je.

GnuPrivacy Guard (GPG) umožňuje bezpečně zašifrovat soubory tak, aby je mohl dešifrovat pouze zamýšlený příjemce. Konkrétně GPG vyhovuje OpenPGP Standard. Je modelován podle programu s názvem Pretty Good Privacy (PGP). PGP byl napsán v roce 1991 Phil Zimmerman.

GPG spoléhá na myšlenku dvou šifrovacích klíčů na osobu. Každá osoba má soukromý klíč a veřejný klíč. Veřejný klíč může dešifrovat něco, co bylo zašifrováno pomocí soukromého klíče.

Chcete-li soubor odeslat bezpečně, zašifrujete jej svým soukromým klíčem a veřejným klíčem příjemce. K dešifrování souboru potřebují svůj soukromý klíč a váš veřejný klíč.

Z toho uvidíte, že veřejné klíče musí být sdíleny. Abyste mohli soubor zašifrovat, musíte mít veřejný klíč příjemce a příjemce potřebuje váš veřejný klíč k jeho dešifrování. Neexistuje žádné nebezpečí, že by vaše veřejné klíče byly jen takové – veřejné. Ve skutečnosti existují servery s veřejným klíčem právě pro tento účel, jak uvidíme. Soukromé klíče musí zůstat soukromé. Pokud je váš veřejný klíč ve veřejné doméně, pak musí být váš soukromý klíč uchováván v tajnosti a v bezpečí.

Nastavení GPG vyžaduje více kroků než jeho používání. Naštěstí jej obvykle stačí nastavit pouze jednou.

Generování vašich klíčů

Příkaz gpg byl nainstalován na všech linuxových distribucích, které byly zkontrolovány, včetně Ubuntu, Fedory a Manjaro.

S e-mailem nemusíte používat GPG. Soubory můžete šifrovat a zpřístupnit je ke stažení nebo je fyzicky předat příjemci. K vygenerovaným klíčům však musíte přiřadit e-mailovou adresu, takže si vyberte, kterou e-mailovou adresu budete používat.

Zde je příkaz pro vygenerování vašich klíčů. Možnost –full-generate-key generuje vaše klíče v interaktivní relaci v okně vašeho terminálu. Budete také vyzváni k zadání přístupové fráze. Ujistěte se, že si zapamatujete, jaké je heslo. Tři nebo čtyři jednoduchá slova spojená s interpunkcí jsou dobrá a robustní model pro hesla a přístupové fráze.

gpg --full-generate-key

Budete požádáni o výběr typu šifrování z nabídky. Pokud nemáte dobrý důvod, abyste to neudělali, zadejte 1 a stiskněte Enter.

Musíte zvolit bitovou délku pro šifrovací klíče. Stisknutím klávesy Enter přijměte výchozí nastavení.

Musíte určit, jak dlouho má klíč vydržet. Pokud systém testujete, zadejte krátké trvání, například 5 po dobu pěti dnů. Pokud si tento klíč chcete ponechat, zadejte delší dobu trvání, například 1 rok na jeden rok. Klíč vydrží 12 měsíců, a proto bude nutné jej po roce obnovit. Svou volbu potvrďte Y.

Musíte zadat své jméno a e-mailovou adresu. Pokud chcete, můžete přidat komentář.

Budete vyzváni k zadání přístupové fráze. Přístupovou frázi budete potřebovat při každé práci s klíči, takže se ujistěte, že víte, co to je.

Po zadání přístupové fráze klikněte na tlačítko OK. Toto okno uvidíte při práci s gpg, takže se ujistěte, že si zapamatujete heslo.

Proběhne generování klíče a vrátíte se do příkazového řádku.

Generování revokačního certifikátu

Pokud se váš soukromý klíč dozví ostatní, budete muset oddělit staré klíče od vaší identity, abyste mohli vygenerovat nové. K tomu budete potřebovat revokační certifikát. Uděláme to teď a uložíme to na bezpečné místo.

Za volbou –output musí následovat název souboru certifikátu, který chcete vytvořit. Možnost –gen-revoke způsobí, že gpg vygeneruje certifikát o zrušení. Musíte zadat e-mailovou adresu, kterou jste použili při generování klíčů.

gpg --output ~/revocation.crt --gen-revoke [email protected]

Budete požádáni o potvrzení, že si přejete vygenerovat certifikát. Stiskněte Y a stiskněte Enter. Budete dotázáni na důvod, proč generujete certifikát. Protože to děláme s předstihem, nevíme to jistě. Stiskněte 1 jako věrohodný odhad a stiskněte Enter.

Pokud chcete, můžete zadat popis. Stiskněte dvakrát Enter pro ukončení popisu.

Budete požádáni o potvrzení nastavení, stiskněte Y a stiskněte Enter.

Certifikát bude vygenerován. Zobrazí se zpráva potvrzující nutnost uchovávat tento certifikát v bezpečí.

Zmiňuje někoho jménem Mallory. Diskuse o kryptografii se již dlouho používají Bob a Alice jako ti dva lidé komunikující. Jsou zde další vedlejší postavy. Eva je odposlouchávací, Mallory je zákeřný útočník. Vše, co potřebujeme vědět, je, že musíme mít certifikát v bezpečí.

Minimálně odeberme z certifikátu všechna oprávnění kromě našich.

chmod 600 ~/revocation.crt

Zkontrolujeme pomocí ls, jaká jsou nyní oprávnění:

ls -l

To je skvělé. Nikdo kromě vlastníka souboru – nás – nemůže s certifikátem nic dělat.

Import veřejného klíče někoho jiného

Abychom zašifrovali zprávu, kterou může dešifrovat jiná osoba, musíme mít její veřejný klíč.

Pokud vám byl poskytnut jejich klíč v souboru, můžete jej importovat pomocí následujícího příkazu. V tomto příkladu se soubor klíče nazývá „mary-geek.key“.

gpg --import mary-geek.key

Klíč se importuje a zobrazí se jméno a e-mailová adresa spojená s tímto klíčem. Samozřejmě by se to mělo shodovat s osobou, od které jste jej obdrželi.

Existuje také možnost, že osoba, od které potřebujete klíč, nahrála svůj klíč na server veřejného klíče. Tyto servery ukládají veřejné klíče lidí z celého světa. Servery klíčů se mezi sebou pravidelně synchronizují, takže klíče jsou univerzálně dostupné.

Server veřejných klíčů MIT je oblíbený server klíčů, který je pravidelně synchronizován, takže vyhledávání by mělo být úspěšné. Pokud někdo nahrál klíč teprve nedávno, může trvat několik dní, než se zobrazí.

Za volbou –keyserver musí následovat název serveru klíčů, který chcete prohledat. Za volbou –search-keys musí následovat buď jméno osoby, kterou hledáte, nebo její e-mailová adresa. Použijeme e-mailovou adresu:

gpg --keyserver pgp.mit.edu --search-keys [email protected]

Zápasy jsou pro vás uvedeny a očíslovány. Chcete-li jej importovat, zadejte číslo a stiskněte Enter. V tomto případě existuje jedna shoda, takže napíšeme 1 a stiskneme Enter.

Klíč se importuje a zobrazí se nám jméno a e-mailová adresa spojená s tímto klíčem.

Ověření a podepsání klíče

Pokud vám někdo známý předal soubor veřejného klíče, můžete bezpečně říci, že patří této osobě. Pokud jste jej stáhli ze serveru veřejného klíče, možná budete cítit potřebu ověřit, že klíč patří osobě, které je určen.

Volba –fingerprint způsobí, že gpg vytvoří krátkou sekvenci deseti sad čtyř hexadecimálních znaků. Tuto osobu můžete požádat, aby vám zaslala otisk svého klíče.

Poté můžete použít volbu –fingerprint k vygenerování stejné sekvence otisků hexadecimálních znaků a jejich porovnání. Pokud se shodují, víte, že klíč patří této osobě.

gpg --fingerprint [email protected]

Vygeneruje se otisk prstu.

Když jste přesvědčeni, že klíč je pravý a je ve vlastnictví osoby, se kterou má být spojen, můžete její klíč podepsat.

Pokud to neuděláte, můžete to stále používat k šifrování a dešifrování zpráv od a pro tuto osobu. Ale gpg se vás pokaždé zeptá, zda chcete pokračovat, protože klíč není podepsaný. Použijeme příhodně pojmenovanou možnost –sign-key a poskytneme e-mailovou adresu osoby, aby gpg věděl, který klíč má podepsat.

gpg --sign-key [email protected]

Uvidíte informace o klíči a osobě a budete požádáni o ověření, zda opravdu chcete klíč podepsat. Stiskněte Y a stiskněte Enter pro podepsání klíče.

Jak sdílet svůj veřejný klíč

Abychom mohli sdílet váš klíč jako soubor, musíme jej exportovat z místního úložiště klíčů gpg. K tomu použijeme možnost –export, za kterou musí následovat e-mailová adresa, kterou jste použili k vygenerování klíče. Za volbou –output musí následovat název souboru, do kterého chcete klíč exportovat. Volba –armor říká gpg, aby generovalo výstup ASCII armor namísto binárního souboru.

gpg --output ~/dave-geek.key --armor --export [email protected]

Můžeme se podívat do souboru klíčů s méně.

less dave-geek.key

Klíč se ukazuje v celé své kráse:

Svůj veřejný klíč můžete také sdílet na serveru s veřejným klíčem. Možnost –send-keys odešle klíč na server klíčů. Za volbou –keyserver musí následovat webová adresa serveru veřejných klíčů. Aby bylo možné určit, který klíč odeslat, musí být na příkazovém řádku uveden otisk klíče. Všimněte si, že mezi sadami čtyř znaků nejsou žádné mezery.

(Otisk vašeho klíče můžete zobrazit pomocí možnosti –fingerprint.)

gpg --send-keys --keyserver pgp.mit.edu 31A4E3BE6C022830A804DA0EE9E4D6D0F64EEED4

Obdržíte potvrzení, že byl klíč odeslán.

Šifrování SOUBORŮ

Konečně jsme připraveni zašifrovat soubor a poslat ho Mary. Soubor se jmenuje Raven.txt.

Volba –encrypt říká gpg, aby zašifrovala soubor, a volba –sign říká, že má soubor podepsat s vašimi údaji. Možnost –armor říká gpg, aby vytvořil soubor ASCII. Za volbou -r (příjemce) musí následovat e-mailová adresa osoby, které soubor posíláte.

gpg --encrypt --sign --armor -r [email protected]

Soubor je vytvořen se stejným názvem jako originál, ale s „.asc“ připojeným k názvu souboru. Pojďme se podívat dovnitř.

less Raven.txt.asc

Soubor je zcela nečitelný a může být dešifrován pouze někým, kdo má váš veřejný klíč a soukromý klíč Mary. Jediný, kdo má obojí, by měla být Mary.

Nyní můžeme poslat soubor Mary s jistotou, že ho nikdo jiný nedokáže dešifrovat.

Dešifrování souborů

Mary poslala odpověď. Je v zašifrovaném souboru s názvem coded.asc. Můžeme jej velmi snadno dešifrovat pomocí volby –decrypt. Výstup přesměrujeme do jiného souboru s názvem plain.txt.

Všimněte si, že nemusíme gpg říkat, od koho soubor pochází. Může to zjistit ze zašifrovaného obsahu souboru.

gpg --decrypt coded.asc > plain.txt

gpg --decrypt coded.asc > plain.txt v okně terminálu” width=”646″ height=”212″ onload=”pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”  onerror=”this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”></p>
<p>Podívejme se na soubor plain.txt:</p>
<pre>less plain.txt</pre > <p><img loading=

Soubor byl pro nás úspěšně dešifrován.

Obnovení vašich klíčů

Pravidelně můžete požádat gpg, aby zkontroloval klíče, které má, proti serveru veřejných klíčů a obnovil všechny, které se změnily. Můžete to udělat každých několik měsíců nebo když obdržíte klíč od nového kontaktu.

Možnost –refresh-keys způsobí, že gpg provede kontrolu. Po volbě –keyserver musí následovat server klíčů podle vašeho výběru. Jakmile jsou klíče synchronizovány mezi servery veřejných klíčů, nemělo by záležet na tom, který z nich zvolíte.

gpg --keyserver pgp.mit.edu --refresh-keys

gpg odpoví uvedením klíčů, které kontroluje, a dá vám vědět, zda se některé změnily a aktualizovaly.

Soukromí je aktuální téma

Soukromí není v dnešní době nikdy daleko od zpráv. Ať už jsou vaše důvody, proč chcete mít své informace v bezpečí a soukromé, jakékoli, gpg poskytuje jednoduchý prostředek k použití neuvěřitelně silného šifrování na vaše soubory a komunikaci.

Existují i ​​​​jiné způsoby použití gpg. Můžete získat plugin pro Thunderbird volala Enigmail. Zapojí se přímo do vaší konfigurace gpg a umožní vám šifrovat e-mailové zprávy z Thunderbirdu.