GNU/Linux >> Znalost Linux >  >> Linux

Použití GPG k šifrování a dešifrování souborů v systému Linux [Hands-on pro začátečníky]

GnuPG, populárně známý jako GPG, je extrémně všestranný nástroj, který se široce používá jako průmyslový standard pro šifrování věcí, jako jsou e-maily, zprávy, soubory nebo prostě cokoliv, co potřebujete poslat někomu bezpečně.

Začít s GPG je snadné a během několika minut můžete být na cestě k jeho používání.

V tomto tutoriálu vám ukážu, jak šifrovat a dešifrovat soubory pomocí GPG. Toto je jednoduchý návod a vše si můžete vyzkoušet a procvičit i na svém systému Linux. To vám pomůže procvičit si GPG příkazy a porozumět tomu, když jste v tom úplně nový.

Nejprve si přečtěte celý tutoriál a poté začněte dělat sami.

Jak GPG funguje pro šifrování?

Chcete-li začít používat GPG, musíte mít GPG klíč.

Klíč GPG je to, co později v tutoriálu použijete k šifrování (nebo dešifrování) souborů. Je to také to, co se používá k identifikaci vaší identity, přičemž věci jako vaše jméno a e-mail jsou také spojeny s klíčem.

Klíče GPG fungují pomocí dvou souborů, soukromého klíče a veřejného klíče. Tyto dva klíče jsou vzájemně provázány a oba jsou potřebné k použití všech funkcí GPG, zejména šifrování a dešifrování souborů.

Když zašifrujete soubor pomocí GPG, použije soukromý klíč. Nový, zašifrovaný soubor pak může pouze být dešifrovat se spárovaným veřejným klíčem.

Soukromý klíč je určen k tomu, aby byl uložen způsobem uvedeným přímo v jeho názvu – soukromě a nikomu jej neposkytujte.

Veřejný klíč je na druhou stranu určen k předání ostatním nebo komukoli, komu chcete, aby mohl dešifrovat vaše soubory.

Zde vstupuje do hry hlavní přístup GPG k šifrování. Umožňuje vám lokálně šifrovat soubory a poté umožnit ostatním, aby se ujistili, že soubory, které obdrželi, byly skutečně odeslány od vás. Jako jediný způsob budou moci dešifrovat soubor je s vaším veřejný klíč, který by fungoval pouze v případě, že by byl soubor šifrovaný pomocí vašeho soukromý klíč na prvním místě.

To funguje i v opačném směru! Ostatní lidé mohou šifrovat soubory pomocí vašeho veřejného klíče a jediný způsob, jak to bude možné dešifrovat, je váš soukromý klíč. Umožňuje tak ostatním zveřejňovat soubory, aniž by se museli bát, že je budou moci číst lidé kromě vás.

Jinými slovy, pokud byl soubor zašifrován soukromým klíčem, lze jej dešifrovat pouze pomocí odpovídajícího veřejného klíče. A pokud byl soubor zašifrován veřejným klíčem, lze jej dešifrovat pouze pomocí odpovídajícího soukromého klíče.

GPG již používáte, aniž byste si to uvědomili

Jedním z nejběžnějších příkladů použití GPG je správce balíčků Linux, zejména externí úložiště. Veřejný klíč vývojáře přidáte do důvěryhodných klíčů vašeho systému. Vývojář podepisuje balíčky (vygeneruje podpis) svým soukromým klíčem. Protože váš systém Linux má veřejný soubor, rozumí tomu, že balíček ve skutečnosti pochází od důvěryhodného vývojáře.

Řada šifrovaných služeb používá nějaký druh implementace GPG, aniž byste si to uvědomovali. Ale je lepší nezabíhat do těchto podrobností hned teď.

Nyní, když jste trochu obeznámeni s konceptem, pojďme se podívat, jak můžete použít GPG k šifrování souboru a poté jej použít k dešifrování.

Šifrování a dešifrování souborů pomocí GPG

To je velmi zjednodušený scénář. Předpokládám, že máte jen jeden systém a chcete vidět, jak GPG funguje. Neposíláte soubory do jiného systému. Soubor zašifrujete a poté dešifrujete na stejném systému.

Samozřejmě, toto není praktický případ použití, ale to také není účelem tohoto tutoriálu. Mým cílem je seznámit vás s GPG příkazy a fungováním. Poté můžete tyto znalosti použít v reálné situaci (v případě potřeby). A proto vám ukážu, jak můžete svůj veřejný klíč sdílet s ostatními.

Krok 1:Instalace GPG

GPG lze ihned po vybalení nalézt ve většině repozitářů distribuce.

Na systémech založených na Debianu a Ubuntu nainstalujte balíček gpg:

sudo apt install gpg

Pokud používáte distribuce založené na Arch, nainstalujte balíček gnupg pomocí příkazu pacman:

sudo pacman -S gnupg

Krok 2:Vygenerování klíče GPG

Vygenerování klíče GPG ve vašem systému je jednoduchý postup na jeden příkaz.

Stačí spustit následující příkaz a váš klíč bude vygenerován (pro většinu otázek můžete použít výchozí hodnoty, jak je uvedeno v podtržených částech níže):

gpg --full-generate-key

Kontrola klíče GPG

Poté můžete vidět, že soukromý klíč a veřejný klíč jsou spolu svázány pomocí ID zobrazeného v části pub pomocí–list-secret-keys a –list-public-keys příkazy:

Krok 3:Šifrování souboru pomocí GPG

Nyní, když jste nastavili naše klíče GPG, můžete začít šifrovat naše soubory!

K šifrování souborů použijte následující příkaz:

gpg --encrypt --output file.gpg --recipient [email protected] file

Pojďme si rychle projít, co tento příkaz dělá:

Nejprve jste zadali –šifrovat volba. Toto jednoduše říká GPG, že budeme šifrovat soubor.

Dále jste zadali –output file.gpg . Může to být cokoliv, i když je to obvykle název souboru, který šifrujete, plus .gpg rozšíření (takže message.txt změní se na message.txt.gpg ).

Dále zadáte –recipient [email protected] . Toto určuje e-mail pro odpovídající klíč GPG, který v tomto systému ve skutečnosti ještě neexistuje.

Stále zmatení?

Funguje to tak, že e-mail, který zde zadáte, musí být svázán s veřejným klíčem ve vašem místním systému.

Obvykle to bude z veřejného klíče GPG jiné osoby, pomocí kterého budete šifrovat svůj soubor. Poté bude možné soubor dešifrovat pouze pomocí soukromého klíče daného uživatele.

Budu používat svůj předchozí klíč GPG s [email protected] v tomto příkladu. Logika by tedy byla taková, že soubor zašifruji veřejným klíč h[email protected] , který pak bude možné dešifrovat pouze pomocí soukromého klíč [email protected] .

Veřejný klíč byste měli pouze v případě, že byste soubor šifrovali pro někoho jiného, ​​ale protože soubor šifrujete pro sebe, máte v systému oba klíče.

Nakonec jednoduše určíte soubor, který chcete zašifrovat. Pro tento příklad použijeme soubor s názvem message.txt s následujícím obsahem:

We're encrypting with GPG!

Stejně tak, pokud byl e-mail [email protected] , bude nový příkaz GPG vypadat následovně:

gpg --encrypt --output message.txt.gpg --recipient [email protected] message.txt

Pokud se pak pokusíte soubor přečíst, uvidíte, že vypadá jako blábol. To se očekává, protože soubor je nyní zašifrován:

Nyní smažte nezašifrovaný soubor message.txt, abyste viděli, že soubor message.txt.gpg se ve skutečnosti dešifruje v pořádku i bez původního souboru:

Krok 4:Dešifrování zašifrovaného souboru pomocí GPG

Nakonec dešifrujeme zašifrovanou zprávu. To lze provést pomocí následujícího příkazu:

gpg --decrypt --output file file.gpg

Při procházení tohoto argumentu nejprve specifikujeme –decrypt , což říká GPG, že budete dešifrovat soubor.

Dále zadáte –output file, který jednoduše řekne GPG, do kterého souboru budete po dešifrování ukládat zašifrovanou formu našeho souboru.

Nakonec zadáte soubor.gpg , což je pouze cesta k vašemu zašifrovanému souboru.

Podle příkladu by příkaz, který bych použil, byl následující:

gpg --decrypt --output message.txt message.txt.gpg

A voila, máte hotovo! To je vše, když chcete šifrovat a dešifrovat soubory pomocí GPG.

Jediná další věc, kterou možná budete chtít vědět, je, jak sdílet své veřejné klíče s ostatními, aby mohli zašifrovat soubory, než vám je pošlou.

Odesílání a přijímání klíčů GPG

Chcete-li někomu poslat klíč GPG, musíte jej nejprve exportovat ze své klíčenky , což je to, co obsahuje všechny vaše veřejné a soukromé klíče.

Chcete-li exportovat klíč, jednoduše vyhledejte ID klíče ve své klíčence a poté spusťte následující příkaz nahrazující id s ID klíče a key.gpg s názvem souboru, do kterého chcete uložit:

gpg --output key.gpg --export id

Chcete-li importovat klíč, jednoduše předejte výstupní soubor (z předchozího příkazu) druhému uživateli a poté jej nechte spustit následující příkaz:

gpg --import key.gpg

Chcete-li však klíč používat normálně, budete jej muset ověřit, aby mu GPG správně důvěřovalo.

To lze provést spuštěním –edit-key příkaz v systému druhého uživatele a poté podepsáním klíče:

Nejprve spusťte gpg --edit-key id :

Dále spusťte fpr příkaz, který zobrazí otisk klíče pro klíč. Výstup tohoto příkazu by měl být ověřen proti výstupu na vašem vlastním počítači, který lze nalézt spuštěním stejného –edit-key příkaz ve vašem systému:

Pokud se vše shoduje, stačí spustit znak příkaz a vše bude připraveno:

A je to! Druhý uživatel nyní může začít šifrovat soubory vaším veřejným klíčem stejně jako vy, takže je budete moci číst pouze vy, když je dešifrujete svým soukromým klíčem.

A to jsou všechny základy GPG!

Zabalení

Nyní jste si prošli vše, co potřebujete, abyste mohli začít používat GPG, včetně šifrování souborů pro sebe i pro ostatní. Jak jsem zmínil dříve, je to jen pro pochopení toho, jak funguje proces šifrování a dešifrování GPG. Základní znalosti GPG, které jste právě získali, mohou být posouzeny na další úroveň při použití ve scénářích reálného světa.

Potřebujete pomoc, abyste stále něco zjistili, nebo něco nefunguje správně? Neváhejte a zanechte cokoliv z toho v komentářích níže.

Původní článek


Linux
  1. Jak šifrovat a dešifrovat soubory a adresáře pomocí Tar a OpenSSL

  2. Jak zašifrovat a dešifrovat soubor pomocí GnuPG v Linuxu

  3. Jak auditovat změny souborů a spouštění souborů v Linuxu

  1. Šifrujte a dešifrujte soubory pomocí přístupové fráze v systému Linux

  2. Použití ssh-keygen a sdílení pro ověřování založené na klíčích v Linuxu

  3. Použití sed k nalezení a nahrazení textových souborů v Linuxu

  1. Jak šifrovat a dešifrovat soubory/složky v Linuxu pomocí GnuPG

  2. Použití Checkmk pro monitorování vaší serverové infrastruktury Linux

  3. Použijte Najít a najít k vyhledání souborů v Linuxu