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 33461×
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:
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:
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
|
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 ...
|