přejít na obsah přejít na navigaci

Linux E X P R E S, Komunikujeme a ukládáme data bezpečně s PGP/GPG (1) – úvod

Komunikujeme a ukládáme data bezpečně s PGP/GPG (1) – úvod

zamek.png

Zkratka PGP je jedním z dlouhodobě známých symbolů bezpečnosti. Od používání této technologie někdy odrazuje domnělá složitost, ve skutečnosti je to ale jednoduché a máme k dispozici řadu zajímavých nástrojů.


PGP, OpenPGP, GPG a další

Tento seriál je určen běžným uživatelům, nenajdete v něm proto žádné rozbory algoritmů ani jiné teoretické popisy. Naopak se v něm dozvíte o zajímavých nástrojích pro využití známé bezpečnostní technologie. Základní úvod do problematiky však bude ku prospěchu věci, proto ho najdete v následujících odstavcích.

Technologii Pretty Good Privacy (PGP) vytvořil Phil Zimmermann již v roce 1991, tehdy především pro šifrování ukládaných souborů a komunikace na BBS (Internet v té době teprve vznikal). Protože v té době platily silné restrikce na export silnějších šifrovacích nástrojů z USA, Zimmermann si nechal zdrojový kód vytisknout jako knihu – její výtisky se mohly následně vyvážet. Za to Zimmermann čelil od roku 1993 trestnímu stíhání, které bylo o tři roky později zastaveno.

Velký význam měla verze PGP 3, která znamenala hned několik změn – kromě jiného zavedení nových, patenty nechráněných algoritmů. Tato verze už také neměla jen formu programu spouštěného z příkazové řádky, nýbrž i knihovny použitelné v širší škále aplikací.

Dalším klíčovým momentem byla standardizace. Standard PGP získal název OpenPGP a byl poprvé vydán v roce 1998 jako RFC 2440 (v informativní podobě ovšem již v roce 1996 – RFC 1991); aktuální verze je v RFC 4880 z roku 2007. V dalších dokumentech jsou obsaženy související standardy.

Krátce po vydání standardu (formálně se jedná o „navržený standard“, ale v tomto režimu je reálně většina standardů IETF) přichází poslední z hlavních událostí okolo této technologie – vydání první verze implementace GNU Privacy Guard (GnuPG, GPG). Jejím autorem byl Werner Koch a na implementaci předtím pracoval dva roky. Tato implementace, která v aktuální verzi 2.1 podporuje širokou škálu algoritmů a funkcí, nás zajímá nejvíc.

Co umí GPG

Přestože se o GPG hovoří hlavně v souvislosti s šifrování dat (zpráv, souborů), umí toho ale ve skutečnosti víc:

  • symetrické, asymetrické a hybridní šifrování a dešifrování
  • podepisování a kontrola podpisu
  • podpora široké škály algoritmů (u verze 2.1 včetně kryptografie nad eliptickými křivkami)
  • podpora pro veřejné klíče na keyserverech
  • podpora pro klíče na čipových kartách
  • nástroje pro správu klíčů (generování, export/import, revokaci, podepisování...)

Proto toto všechno jsou k dispozici utility spouštěné z příkazové řádky. Na rozdíl od původní implementace PGP však bohužel není u GPG k dispozici implementace ve formě knihovny, kterou by bylo možno snadno využít v dalších aplikací. Jedinou možností je tedy spouštět jednotlivé utility – předávat jim vstupní data a přebírat ta výstupní. Nemusí se to však dělat přímo, existuje knihovna nazvaná GnuPG Made Easy (GPGME), která to řeší, stačí tedy volat její API.

GPG je multiplatformní software. Lze ho využít na široké škále platforem, zejména GNU/Linux, *BSD, Microsoft Windows, Apple OS X nebo VMS. Kromě zmíněných platforem ho lze používat i na dalších, je však třeba dát pozor na to, aby byl dostupný dostatečně kvalitní zdroj entropie.

Také ve virtualizovaném prostředí může být se zdrojem entropie problém. Ne však s jeho implementační kvalitou, nýbrž s dostupností dostatečného množství pseudonáhodných dat. Proto může někdy generování klíčů trvat ve virtualizovaném prostředí i několikařádově déle než na fyzickém stroji.



K čemu všemu lze GPG využít

Ze škály dostupných funkcí vyplývá, k jakým účelům můžeme GPG v praxi využít:

  • šifrování a dešifrování zpráv a souborů
  • podepisování zpráv a souborů
  • kontrola podpisu a integrity zpráv a souborů
  • podepisování a „odpodepisování“ patchů pro zdrojové kódy
  • podepisování a kontrola softwarových balíčků
  • ověřování totožnosti na serverech

Uvedený seznam samozřejmě není vyčerpávající a jistě půjdou najít i další možnosti využití, i když ne vždy bude takové využití účelné.

Proč vůbec GPG (a podobné nástroje) používat

Lze to rozdělit na dvě části. Nejprve je potřeba si odpovědět na otázku, proč vůbec nějaké takové nástroje používat. V dnešní době však už určitě nikdo nepochybuje o tom, že šifrování dat je v mnoha případech nezbytností a že podobnou nezbytností je i jejich podepisování.

Mnoho citlivých dat se dostalo do nesprávných rukou a jejich další osud závisel na tom, zda byla kvalitně zašifrována či nikoliv. Ve druhém případě mohla být data zneužita, často k něčí velké škodě. Podobné je to i v případě elektronického podepisování. Pokud nemáme možnost ověřit, kdo zprávu nebo soubor vytvořil a zda nebylo do dat zasaženo, nelze mít k obsahu takových dat žádnou důvěru – mohla být podvržena nebo upravena.

Druhou otázkou je, proč používat právě GPG. Odpověď lze z části nalézt v předchozích odstavcích. Je to multiplatformní svobodný software, kvalitně implementovaný, podporuje otevřený standard OpenPGP, umí pracovat s širokou škálou algoritmů. Ještě je potřeba dodat další důležitou věc: existuje k němu řada snadno použitelných aplikací (samostatných i jako součást obecnějších programů), často s grafickým rozhraním.

Nástroje spouštěné z příkazové řádky

Než se ale k těmto nástrojům dostaneme, podíváme se – v příštím dílu seriálu – na ty, které se spouštějí z příkazové řádky. Lze jimi ovládat vše, co GPG umí.

Nahoru

Příspěvky

Komunikujeme a ukládáme data bezpečně s PGP/GPG (1) – úvod
Michal 15. 05. 2015, 16:00:18
Odpovědět  Odkaz 
Super, tesim sa na dalsi diel.
Komunikujeme a ukládáme data bezpečně s PGP/GPG (1) – úvod
Derbian4Ever 15. 05. 2015, 16:18:31
Odpovědět  Odkaz 
Uzitecny clanek i tema - nejen pro "newbies" :P
Dobre by bylo, aby se v serii take pak zminilo i prakticke pouziti, zejmena tedy pro newbies, s pouzitim na wind$ a s ruznymi GUI na Linuxech.
Samozrejme pouziti zakladnich operaci v CLI, jako treba overeni sig-u stazeneho iso souboru nebo cehokoli jineho atd. atd.

Za me nekolik starsich i novejsich, snad uzitecnych, odkazu:

Obecně:

https://cs.wikipedia.org/wiki/GnuPG

Bezpečná komunikace s GnuPG
http://goo.gl/LwhtAm

Mějte bezpečnost svých e-mailů pod kontrolou
http://goo.gl/sjYniM

(NE)Bezpečný email: ochraňte svou poštu před NSA i zvědavci
[český popis o použití PGP v internet prohlížeči /Gmail, Outlook, Yahoo,
Gmx]
http://goo.gl/Wo43M8

Svobodné šifrování pomocí PGP v Outlooku
http://goo.gl/AGXMVl

Jak na šifrování pošty
http://goo.gl/sedAQJ

Jak se šifruje s poštovním klientem Thunderbird
http://goo.gl/PMVZCX

Encrypted e-mail: How much annoyance will you tolerate to keep the NSA away?
[anglicky]
http://goo.gl/c3IZTV

Pro Windows uživatele:
[český popis programu pro všechny operační systémy]
http://goo.gl/RpFAFN

http://www.gpg4win.org
[anglický popis; zdarma program pro OS Windows, anglicky]


Pro OS X (Mac OS) uživatele:
https://gpgtools.org

Practical Introduction to GNU Privacy Guard in Windows
http://goo.gl/vPuvPN
Komunikujeme a ukládáme data bezpečně s PGP/GPG (1) – úvod
Zdeněk 22. 02. 2016, 18:27:12
Odpovědět  Odkaz 
Ještě existuje pro programátorský editor geany doplněk GEANYPG. S tímto doplňkem umí geany šifrovat a dešifrovat zprávy, nic víc. Někomu to může vyhovovat více takto, protože se nedá nic pokazit s klíči ap.
Viz: http://zmsoft.cz/index.php?str=gpg---lehke-graficke-rozhrani-

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Lukáš Jelínek

Lukáš Jelínek

Dlouholetý člen autorského týmu LinuxEXPRESu a OpenOffice.cz. Vystudoval FEL ČVUT v oboru Výpočetní technika. Žije v Kutné Hoře, podniká v oblasti IT a zároveň pracuje v týmu projektu Turris. Ve volném čase rád fotografuje, natáčí a stříhá video, občas se věnuje powerkitingu a na prahu čtyřicítky začal hrát tenis.


  • Distribuce: Debian, Kubuntu, Linux Mint
  • Grafické prostředí: KDE

| proč linux | blog