LINUXSOFT.cz Přeskoč levou lištu

ARCHIV



   

> Linux v příkazech - GnuPG

V další sérii článků tohoto seriálu se prakticky podíváme na to, jak chránit data programem GnuPG.

2.9.2004 08:00 | Josef "jose" Kadlec | Články autora | přečteno 32697×

GnuPG (The GNU Privacy Guard - zkráceně označováno také jako GPG) vzniklo jako kompletní, volně šiřitelná náhrada PGP (Pretty Good Privacy). Oba tyto programy slouží k šifrování dat, elektronickému podepisování, ověřování elektronických podpisů, správě klíčů, apod. GPG je tedy na rozdíl od PGP bezplatný software, který lze používat za podmínek licence GNU GPL. PGP používá patenty IDEA a RSA, které tedy v současné době již neomezují (jejich platnost vypršela v září roku 2000), takže je volně k dispozici i mimo USA a Kanadu. Protože omezení vývoje a používání šifrovacího softwaru, který je například v USA řazen na stejnou úroveň jako zbraně, jsou značně nejasná a v dnešní době se týká politik jednotlivých států, zmínil bych dokument Crypto Law Survey, který veškerá omezení, týkající se šifrování, shrnuje. Ovšem PGP jako freeware obsahuje pouze omezené množství funkcí a to pouze k nekomerčnímu použití.

Tento článek nemá být teoretický, takže nyní již popíši proces vytvoření vlastních klíčů. Začneme příkazem (pozn: následující příkazy nemusíte spouštět jako superuživatel root):

bash-2.05b# gpg --gen-key
gpg (GnuPG) 1.2.4; Copyright (C) 2003 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

gpg: /root/.gnupg: adresář vytvořen
gpg: vytvořen nový konfigurační soubor `/root/.gnupg/gpg.conf'
gpg: VAROVÁNÍ: nastavení z `/root/.gnupg/gpg.conf' \
                            \nejsou při tomto spuštění zatím aktivní
gpg: soubor klíčů (keyring) `/root/.gnupg/secring.gpg' vytvořen
gpg: soubor klíčů (keyring) `/root/.gnupg/pubring.gpg' vytvořen
Prosím, vyberte druh klíře, který chcete:
   (1) DSA a ElGamal (implicitní)
   (2) DSA (pouze pro podpis)
   (4) RSA (pouze pro podpis)
Váš výběr? 1
Pár klíčů DSA bude dlouhý 1024 bitů.
Chystám se vytvořit nový pár klíčů ELG-E.
                       minimální velikost klíče je  768 bitů
                      implicitní velikost klíče je 1024 bitů
             nejvyšší navrhovaná velikost klíče je 2048 bitů
Jakou velikost klíče si přejete? (1024) 
Požadovaná délka klíče je 1024 bitů.    
Prosím určete, jak dlouho by klíč měl platit.
      0 = doba platnosti klíče není omezena
        = doba platnosti klíče skončí za n dní
      w = doba platnosti klíče skončí za n týdnů
      m = doba platnosti klíče skončí za n měsíců
      y = doba platnosti klíče skončí za n let
Klíč je platný pro? (0) 365
platnost Key skončí Pá 26. srpen 2005, 20:26:14 CEST
Je to správně (a/n)? a
                      
Aby bylo možné rozpoznat Váš klíč, musíte znát identifikátor uživatele;
program jej složí z Vašeho jména a příjmení, komentáře a e-mailu
v tomto tvaru:
    "Magda Prochazkova (student) <magda@domena.cz>"

Jméno a příjmení: Josef Kadlec
E-mailová adresa: jose@czslug.cz
Komentář: geek               
Zvolil(a) jste tento identifikátor uživatele:
    "Josef Kadlec (geek) <jose@czslug.cz>"

Změnit (J)méno, (K)omentář, (E)-mail, (P)okračovat dál nebo (U)končit program? P
Pro ochranu Vašeho tajného klíče musíte zadat heslo.                            

Musíme vytvořit mnoho náhodných bajtů. Během vytváření můžete
provádět nějakou jinou práci na počítači (psát na klávesnici, pohybovat myší,
používat disky); díky tomu má generátor lepší šanci získat dostatek entropie.
+++++.++++++++++.+++++..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+..+++++.++++++++++..++..+++++.++++++++++...
++++++++++...............................+++++ gpg: /root/.gnupg/trustdb.gpg: databáze důvěry vytvořena veřejný a tajný klíč byly vytvořeny a podepsány. klíč označen jako absolutní důvěryhodný. pub 1024D/58A764A7 2004-08-26 Josef Kadlec (geek) <jose@czslug.cz> Fingerprint klí??e = AEC9 415B A47B A164 AD69 1539 9674 45AB 58A7 64A7 sub 2048g/EDF65E6B 2004-08-26 [platnost skončí: 2005-08-26]

Pokud je toto vaše první práce s GPG na daném počítači, vytvoří se adresář .gnupg, kde se budou nacházet potřebné konfigurační soubory. Po zadání příkazu potvrďte implicitní volbu "DSA a ElGamal (implicitní)", kterou vytvoříte pár klíčů. Dále vyberte velikost klíče. Optimální bude zvolit 1024 nebo 2048 bitů. Více už by bylo zbytečné a nepohodlné - velikost 2048 je ještě v současné době prakticky neprolomitelná a větší velikost klíče by šifrování a rozšifrování značně prodlužovala. Dále vybere dobu platnosti klíče - nedoporučuje se nechat dobu platnosti klíče neomezenou. Dále je nutné vyplnit identifikátory klíče ve formě jména, e-mailové adresy a komentáře. Při následné generaci klíče potřebuje program náhodné hodnoty - ke zvýšení entropie můžeme přispět například pohybem myši. Nyní máme k dispozici pár klíčů.

Pokud chceme předat veřejný klíč druhé straně, která s ním bude šifrovat data pro nás, je nutné ho nejdříve vyexportovat - nejlépe do souboru:

gpg --export --armor e-mailova_adresa_klice > verejny_klic.pub

Takový klíč je vlastně obyčejný textový soubor.

bash-2.05b# cat jose.pub 
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.2.4 (GNU/Linux)

mQGiBEEuK5gRBACcvwFL/ltULhkYII7OSWIjIdvGp5rSJ0QWHyZD1zV7EraAlz7g
FfADP1TLjmYMIoMtpbwJ8aoYJa+x6RVpf9O7Cd7wLWl4AR0vKoSiq21Unw/WpHd8
PeXM+SWVdIzLtdj9gBiwopo3N7hVyycVaCJtcLaQ2dKRnbu6xTDMWwNxpwCg2G69
kQU6Dj5jJ53oVE5MZvhCvr0D/ixF41uZPkfM9NcdXZT7naGZIGz8X8RkMS5l22hZ
g7VHAuniVRmyA0HVfrChQDyzL6GJq8HvFKCsV40HEjS12w4Uh5x/blkfMaRuOm+A
eawOfCGruT+ERjBvWiYJIOhOV482uIUTAn7koeYL2mgr2zoop9EVcbYY6lKjj9TA
81JAA/4ot3wPekLVIBhzscTdTyLLr6tOO8nvn0ahQ/g8ciDlPjkafsVD9Aydu/Yg
q6v3Z1dEKh3Utcd9AHF+IDog5BI/eXGxh7WaVWkfkCmOS/5TiWLm7eKQYK+Iupxr
D+etdV/ujwgDLVald6IyheGyb+NvOJ4yhKR/RGlP1CyFfTmGZLQkSm9zZWYgS2Fk
bGVjIChnZWVrKSA8am9zZUBjenNsdWcuY3o+iGQEExECACQFAkEuK5gCGwMFCQHh
M4AGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQlnRFq1inZKfmbgCdHgsLuwiM8m3a
hupkNrFHHSXWn30AoLV7zOHGH+2YTGNrWvFNfv/cJ4aOuQINBEEuK6AQCACDPXlG
pzwH+dZGcngVQ7jCIZRrX3HkY0Y/jX8suRVaR/xsM41Z5nyCR962XIhTCY5HFz5T
S5J84GCyINbwddaM0DdbqcjFHt5sMlamog4aSG93qZVxGe/nxwzXbUHvGhyIez1h
V3sUp/8fSVqFkzAUcD3e8EL2gM6b9h/WtI836v3vB6G0OYByOag6a1Lkj2bGDm4N
IC7lzrvB0cgSh34VytdPZR3YJwOJIRGogo2yqk7h3sdmnMjde8v48H/qSSZeS4uc
7FmNhfQYsHyifXq1fnq28U+7QoMIAzxKh69axDyU6MRC8WuG+s4QE2ynZiPDjMkB
pLye6ZX4sJ17tyPrAAMFB/wL3up1vEKN6V/LJ+Y0nXgeuLrwxZ72wM82U8B7Aws2
6Q8ZYMnhK36rpcsxZ09AsxgpOQiHGkNadyIIvpfzF/MB9j9bavGnNtz+x7P9v58L
lC5j6G+8YG0tbvBtbtaLCu/gahUbC92blc05XXGkuwlj3tVkKA80eKRrv7BmDqj6
iEKlZNPHsvWyneP3t89Pc+MkDUKkRgMDS+B2JVTlr8YQ3SwK61SUkEe0r54SpRpL
6EnAZplrHptOTyAJ5LmOpiWLWdsxmMHyT4NiCUwrYDgLR0gSyt2t8of64j05MP6N
RWAjc2XFGuMh8cf1mfALlCCz2cftixW8N6RhTaNc/NU3iE8EGBECAA8FAkEuK6AC
GwwFCQHhM4AACgkQlnRFq1inZKcqKACfd96y3wvTe+7OSEivey4HGDCtMlIAoLp0
ZJNzoCNyDE5bQA1JLYnTdF3/
=ZPzR
-----END PGP PUBLIC KEY BLOCK-----

Po bezpečném předání tohoto souboru druhé straně (uživatelé často vystavují své veřejné klíče na webových stránkách, což nemusí být z hlediska bezpečnosti optimální. Je proto nutné důkladně kontrolovat fingerprinty (viz. dále) takto stahovaných klíčů.), může druhá strana tento soubor (veřejný klíč) importovat:

bash-2.05b# gpg --import popelek.pub      
gpg: klíč 77099380: veřejný klíč "Jan Popelek <popelek@geocities.com>" importován
gpg: Celkový počet zpracovaných klíčů: 1
gpg:               importováno: 1

Měli bychom také vyloučit možnost, že někdo klíč změnil po cestě a to pomocí již zmiňovaných fingerprintů (otisků). Pro zobrazení fingerprintu daného klíče zadají obě strany:

bash-2.05b# gpg --fingerprint popelek@geocities.com 
pub  1024D/77099380 2000-03-22 Jan Popelek <popelek@geocities.com>
   Fingerprint klíče = 99F9 85C1 B301 ECD4 B3D4  FBD5 A69F 1305 7709 9380
sub  1024g/02F838D6 2000-03-22

Místo e-mailové adresy lze opět použít i jméno vztahující se ke klíči. Poté vhodným způsobem komunikace otisky porovnají. Pokud se shodují, je vše v pořádku a druhá strana (jakožto příjemce veřejného klíče) by měla klíč uznat pravým a podepsat ho příkazem sign, který zadá v interaktivním režimu, který se spustí takto:

bash-2.05b# gpg --edit-key popelek@geocities.com
gpg (GnuPG) 1.2.4; Copyright (C) 2003 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.


pub  1024D/77099380  vytvořen: 2000-03-22 platnost skončí: nikdy     důvěra: -/-
sub  1024g/02F838D6  vytvořen: 2000-03-22 platnost skončí: nikdy     
(1). Jan Popelek <popelek@geocities.com>

Příkaz> sign
            
pub  1024D/77099380  vytvořen: 2000-03-22 platnost skončí: nikdy     důvěra: -/-
 Primární fingerprint klíče: 99F9 85C1 B301 ECD4 B3D4  FBD5 A69F 1305 7709 9380

     Jan Popelek <popelek@geocities.com>

S jakou jistotou jste prověřili, že klíč, který chcete podepsat
patří výše uvedené osobě.
Pokud neznáte odpověď, zadejte "0".

   (0) Neodpovím. (implicitně)
   (1) Nijak jsem to nekontroloval(a).
   (2) Částečně jsem to ověřil(a).
   (3) Velmi pečlivě jsem to ověřil(a).

Vaš výběr? (pro detailnější informace stiskněte '?'):3

Jste si jistý(á), že chcete podepsat tento klíč
svým klíčem: "Josef Kadlec (geek) <jose@czslug.cz>" (58A764A7)

Velmi pečlivě jsem ověřil tento klíč.

Skutečně podepsat? ano
                      
Musíte znát heslo, abyste odemknul(a) tajný klíč pro
uživatele: "Josef Kadlec (geek) <jose@czslug.cz>"
délka 1024 bit??, typ DSA, klíč 58A764A7, vytvořený 2004-08-26

              
Příkaz> 

Pokud chceme vypsat všechny klíče v interaktivním režimu, použijeme příkaz list. Může to vypadat např. takto:

Příkaz> list
            
pub  1024D/77099380  vytvořen: 2000-03-22 platnost skončí: nikdy     důvěra: -/-
sub  1024g/02F838D6  vytvořen: 2000-03-22 platnost skončí: nikdy     
(1). Jan Popelek <popelek@geocities.com>

Příkaz> 

Všechny příkazy interaktivního režimu zobrazíte příkazem help.

Když máte svojí práci v interaktivním režimu hotovou, můžete ho opustit příkazem save, který uloží provedené změny. Příkaz quit ukončí tento režim bez uložení těchto změn.

Veřejné klíče lze stahovat i ze serveru, pokud jsou na něm k dispozici:

gpg --keyserver server_s_klici --recv-keys ciselna_hodnota

Klíč nelze stáhnout přímo přes e-mail či jméno vztahující se ke klíči, ale pomocí jakési číselné hodnoty. Tato služba využívá TCP port 11 371. K těmto účelům lze využít například servery www.keyserver.net, wwwkeys.pgp.net či pgp.ai.mit.edu. Pokud chceme umístit naše veřejné klíče na takovýto server, uskutečníme to příkazem:

gpg --send-keys e-mailova_adresa_klice --keyserver server_s_klici

Nyní k samotnému šifrování a dešifrování dat. Prosté zašifrování souboru provedeme takto:

gpg -e -r jmeno_klice soubor

Příznak -e znamená, že soubor bude zašifrován. Příznakem -s si lze vynutit i podepsání šifrovaného souboru. Příznak -r definuje klíč, kterým bude soubor zašifrován. Lze zadat jméno nebo e-mail vztahující se ke klíči. Po zašifrování se v aktuálním adresáři vytvoří soubor s příponou .gpg, což je výsledný zašifrovaný soubor. Rozšifrování takového souboru provedeme takto:

gpg -d soubor.gpg

Pokud nechceme mít výsledný rozšifrovaný soubor vypsaný na standardním výstupu, lze výstup specifikovat i pomocí příznaku -o, za kterým následuje název souboru, kam chceme výsledná data uložit.

Pokud chceme ověřit pravost souboru (například program stažený z Internetu), ke kterému je k dispozici podpis, provedeme to takto:

gpg --verify program.asc program.tgz

kde program.asc je soubor s podpisem (často má také koncovku .sig, což je většinou binární podoba podpisu) a program.tgz samotný program. Pokud chceme tedy vytvořit soubor s ASCII podobou podpisu bez originálních dat s koncovkou .asc, provedeme to takto:

gpg -b --armor soubor

Pokud neuvedeme příznak --armor, vytvoří se binární podoba podpisu s koncovkou .sig.

Program GPG nám samozřejmě nabízí nesčetně dalších voleb, které nalezneme v dokumentaci.

Verze pro tisk

pridej.cz

 

DISKUZE

GnuPG - bezpečná kominikace 26.2.2007 11:19 Granda Urso




Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

28.11.2018 23:56 /František Kučera
Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1

12.11.2018 21:28 /Redakce Linuxsoft.cz
22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář

6.11.2018 2:04 /František Kučera
Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

4.10.2018 21:30 /Ondřej Čečák
LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář

18.9.2018 23:30 /František Kučera
Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

9.9.2018 14:15 /Redakce Linuxsoft.cz
20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business. Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář

12.8.2018 16:58 /František Kučera
Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář

16.7.2018 1:05 /František Kučera
Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

31.7.2023 14:13 / Linda Graham
iPhone Services

30.11.2022 9:32 / Kyle McDermott
Hosting download unavailable

13.12.2018 10:57 / Jan Mareš
Re: zavináč

2.12.2018 23:56 / František Kučera
Sraz

5.10.2018 17:12 / Jakub Kuljovsky
Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze