Sila GnuPG

14.03.2006 15:54 | Články | Jaroslav Imrich

GnuPG (GNU Privacy Guard) je veľmi silný nástroj na šifrovanie dát a vytváranie digitálnych podpisov. Dlhšiu dobu sa mi úspešne darilo práci s ním vyhýbať, no odkedy som pochopil princíp jeho činnosti, stal sa neoddeliteľnou súčasťou môjho života.

1. Využitie GnuPG

Je všeobecne známe, že akékoľvek dáta, ktoré posielame po sieti, či už lokálnej alebo po internete, sa môžu dostať do rúk nepovolanej osoby. Ako jednoduchý príklad nám poslúži e-mailová správa. Predstavte si, že posielate kolegovi dôležité materiály o novom produkte, ktorý má vašej firme zabezpečiť dominantnú pozíciu na trhu. Správu odošlete pomocou zabezpečeného protokolu SMTPs a mylne sa domnievate, že e-mail sa nemôže dostať do nepovolaných rúk. Na poštovom serveri je však správa po prijatí uložená ako čistý text. Čo ak správca tohto servera podľahol lákavej ponuke konkurencie a prepošle im vašu správu? Ak chcete takejto situácii zabrániť, máte dve možnosti. Buď materiály kolegovi odovzdáte osobne, alebo ušetríte čas a odošlete mu ich zašifrované. A práve to vám umožní GnuPG.

2. Ako to funguje

GnuPG šifruje dáta pomocou kľúčových párov. Dáta zašifrované verejným kľúčom môžu byť dešifrované len prislúchajúcim privátnym (tajným) kľúčom. Privátny kľúč je navyše chránený heslom, na rozdiel od verejného. Ak chcete poslať kolegovi šifrovanú správu, zašifrujete ju jeho verejným kľúčom a len on bude schopný ju dešifrovať, pretože vlastní správny privátny kľúč a heslo k nemu. Každý používateľ GnuPG si teda musí vygenerovať kľúčový pár. Verejný kľúč môže zverejniť napríklad na svojej webovej stránke, no privátny kľúč si musí chrániť ako "oko v hlave".

3. Práca s GnuPG

Ukážme si, ako môže Alice zašifrovať pomocou GnuPG súbor pre Boba. Po inštalácii balíka GnuPG si Bob musí vygenerovať svoj vlastný kľúčový pár.

bob@host1# gpg --gen-key

Následne exportuje svoj verejný kľúč do ASCII súboru a ten odovzdá Alice:

bob@host1# gpg -a -o ~/bob.asc --export bob@host1.sk

Alice si ho pridá do svojej databázy kľúčov (angl. keyring):

alice@host2# gpg --import bob.asc

Súbor pre Boba s názvom udaje.tar zašifruje Alice pomocou príkazu:

alice@host2# gpg -e -o udaje.tar.gpg -r bob@host1.sk udaje.tar

Takto zašifrovaný súbor môže Alice bez obáv odoslať e-mailom. Bob ho dešifruje príkazom:

bob@host1# gpg -d -o udaje.tar udaje.tar.gpg

4. Šifrovať sa dá aj bez kľúčov

GnuPG poskytuje možnosť šifrovať dáta aj bez kľúčov, len s použitím hesla. Dešifrovať ich samozrejme dokáže iba osoba, ktorá pozná heslo. Táto jednoduchšia možnosť je vhodná najmä na komunikáciu s niekým, koho poznáte a môžete sa s ním jednoducho a bezpečne dohodnúť na používanom hesle (napríklad s priateľkou). Okrem jednoduchosti je výhodou aj to, že môžete často meniť heslo a znížiť tak riziko, že niekto, kto náhodou získal vaše heslo, dešifruje všetky vaše staršie správy. Osobne si myslím, že tento spôsob šifrovania správ je náchylný na útok hrubou silou, a preto odporúčam jeho použitie dobre zvážiť.

Ak by ste chceli v predchádzajúcom príklade použiť šifrovanie pomocou hesla, zmenil by sa príkaz, ktorým Alice zašifruje dáta pre Boba na takýto:

alice@host2# gpg -c -o udaje.tar.gpg udaje.tar

5. Digitálne podpisovanie súborov

Predstavte si situáciu, že Alice posiela Bobovi e-mailom daňové priznanie, ktoré je zašifrované jeho verejným kľúčom. Ak by mu chcel niekto narobiť problémy, zabráni doručeniu e-mailu od Alice a podstrčí namiesto neho sfalšovanú verziu. Samozrejme útočník falošnú verziu tiež zašifruje Bobovým verejným kľúčom, pretože ten je k dispozícii na jeho firemnom webe. Bob sa tak bude mylne domnievať, že súbor bol prenášaný sieťou bezpečne, pretože ho bez problémov dešifroval. Aby sa zabránilo takejto forme útoku, existuje možnosť digitálneho podpisovania súborov.

Vynikajúca vlastnosť šifrovacích algoritmov použitých v GnuPG je, že súbory zašifrované privátnym kľúčom, môžu byť dešifrované aj verejným kľúčom. Pri podpisovaní súboru sa spraví jeho hash, a ten je potom špeciálnym spôsobom zašifrovaný pomocou privátneho kľúča odosielateľa. Každý, kto má verejný kľúč odosielateľa, si môže overiť, že súbor pochádza naozaj od neho, a že nebol zmenený.

V našom prípade by to teda znamenalo, že pred odoslaním daňového priznania ho Alice nielen zašifruje Bobovým verejným kľúčom, ale aj digitálne podpíše svojím privátnym. Ak by chcel útočník vykonať zámenu z prvého prípadu, nebol by schopný sfalšovať digitálny podpis súboru, pretože nevlastní privátny kľúč Alice.

Alice zašifruje súbor už známym postupom:

alice@host2# gpg -e -o udaje.tar.gpg -r bob@host1.sk udaje.tar

Vytvorí osobitný súbor s digitálnym podpisom šifrovaného súboru:

alice@host2# gpg -sba udaje.tar.gpg

Bob po obdržaní oboch súborov môže overiť pravosť šifrovaného súboru príkazom:

bob@host1# gpg --verify udaje.tar.gpg.asc udaje.tar.gpg

6. Dôveryhodnosť kľúčov

Šifrovanie s GnuPG je bezpečné len v prípade, ak sme si 100% istí, že verejný kľúč, ktorým šifrujeme, naozaj pochádza od danej osoby. Preto sa dá nastavovať miera dôveryhodnosti kľúča a kľúče je možné podpisovať, čím sa ich dôveryhodnosť zvyšuje. Pre bežné použitie však stačí, ak nám verejný kľúč dodá jeho vlastník osobne, alebo napríklad telefonátom s ním overíme odtlačok (angl. fingerprint) kľúča, ktorý je možné zobraziť príkazom:

# gpg --fingerprint bob@host1.sk

Pokiaľ ste si teda istí, že kľúč vo vašej databáze naozaj patrí danej osobe, môžete mu nastaviť mieru dôveryhodnosti na maximum. Spravíte to príkazom:

# gpg --edit-key bob@host1.sk

Následne zadáte v podmenu príkaz "trust" a vyberiete zodpovedajúce parametre. Ak nemáte zadefinovanú mieru dôveryhodnosti kľúča, bude GnuPG pri jeho používaní zobrazovať upozornenie.

7. Záver

GnuPG je veľmi populárne a teší sa širokej podpore v iných softvérových produktoch. Vo forme pluginov je integrovateľné do e-mailových a IM klientov. Ako príklad veľmi dobre poslúži Mozilla Thunderbird a jej plugin enigmail.

Ak by vás nebavilo spravovať kľúče z prostredia shellu, tak môžete použiť napríklad program KGpg, ktorý je súčasťou window manažéra a správcu plochy KDE. Na domovskej stráke projektu GnuPG môžete samozrejme nájsť aj grafických správcov kľúčov pre MS Windows a ďalšie systémy.

    • . 14.03.2006 | 19:06
      Avatar Martin Beastie  Používateľ
      Perfektny clanok !!! Diki:) Preco je ako priklad uvedena Alice a Bob? :)) nieze by mi to trhalo zily, len zo zaujimavosti:) este raz dik a viac takychto skvelych a uzitocnych clankov!!
      <br/> <br/>
      • Re: . 14.03.2006 | 19:43
        puco   Návštevník
        v 99% knihach (clankoch a podobnych zalezitostiach) o kryptologii je pouzity Alice a Bob, Je to takmer standard :-). Nieco ako 2 velke prvocisla p,q. A pravdepodobne sa to pouziva preto, aby to neznelo tak sucho, ze objekt A chce komunikovat s objektom B.
        • Re: . 14.03.2006 | 19:49
          Avatar Jaroslav Imrich Ubuntu  Používateľ
          Dvojica Alice a Bob sa velmi casto pouziva v kryptografii a suvisiacich odboroch. Vyhoda tychto mien je, ze zacinaju pismenami A a B. Preto sa pri kresleni prikladu nepisu cele mena, ale iba tieto pismena. Rozmyslal som nad slovenskou alternativou, no so ziadnou som sa nedokazal uspokojit. Ak sa dobre pamatam, tak aj na matike tieto dva mena pouzival prednasajuci pri asymetrickych sifrach.
          We can't solve problems by using the same kind of thinking we used when we created them - A. Einstein
          • Re: . 23.03.2006 | 11:59
            Avatar kmato SUSE Linux OSS 10.1 Developmen  Používateľ
            :))) ten program mam :)))
          • Re: . 03.02.2008 | 23:14
            Avatar kolkar   Používateľ
            A este ste zabudli na Evku, ako utocnika medzi Alicou a Bobom :P
    • Ako to funguje. 14.03.2006 | 20:35
      puco   Návštevník
      V sekcii 2 autor mohol spomenut, ze cela sprava sa nedifruje verejnym klucom (z dovodu efektivity) ale vygeneruje sa kluc a pomocou nejakej sym. sifry sa zasifruje obsah spravy. Verejnym klucom sa zasifruje len session key.
      • Re: Ako to funguje. 15.03.2006 | 11:34
        Avatar Jaroslav Imrich Ubuntu  Používateľ
        Vacsina ludi ma problem prvy krat pochopit ulohu verejnej a privatnej casti kluca.. Clanok som primarne pisal pre tych, ktori o gpg poculi, ale nevedia celkom presne co to je a nevedia s nim pracovat.. Podrobnosti takehoto typu by si vyzadovali vysvetlovanie symetrickych a asymetrickych sifier.. Toz kto chce vediet viac je tu pre neho oficialna dokumentacia :)
        We can't solve problems by using the same kind of thinking we used when we created them - A. Einstein
        • Re: Ako to funguje. 05.01.2010 | 22:31
          siGlPowkBjbsmK   Návštevník
          claritin loratadine arizona [url="http://www.barkerforsenate.com/claritin-loratadine-arizona.html"]claritin loratadine arizona[/url] http://www.barkerforsenate.com/claritin-loratadine-arizona.html claritin loratadine arizona 0342 lamisil lotion [url="http://www.barkerforsenate.com/lamisil-lotion.html"]lamisil lotion[/url] http://www.barkerforsenate.com/lamisil-lotion.html lamisil lotion =-DD yasmin birth control and weight loss [url="http://www.arkhamgames.com/yasmin-birth-control-and-weight-loss.html"]yasmin birth control and weight loss[/url] http://www.arkhamgames.com/yasmin-birth-control-and-weight-loss.html yasmin birth control and weight loss lpafpl charleston wv lasix [url="http://www.joshstricklandonline.com/charleston-wv-lasix.html"]charleston wv lasix[/url] http://www.joshstricklandonline.com/charleston-wv-lasix.html charleston wv lasix =-DD
          • Re: Ako to funguje. 15.01.2010 | 17:23
            HHdyFNFWhHeD   Návštevník
            does trazodone [url="http://www.arkhamgames.com/does-trazodone.html"]does trazodone[/url] http://www.arkhamgames.com/does-trazodone.html 37916 symptoms for fluoxetine 100mg [url="http://www.arkhamgames.com/symptoms-for-fluoxetine-100mg.html"]symptoms for fluoxetine 100mg[/url] http://www.arkhamgames.com/symptoms-for-fluoxetine-100mg.html %DD sertraline and acne [url="http://www.joshstricklandonline.com/sertraline-and-acne.html"]sertraline and acne[/url] http://www.joshstricklandonline.com/sertraline-and-acne.html uxcoey fexofenadine with amoxicillin [url="http://www.arkhamgames.com/fexofenadine-with-amoxicillin.html"]fexofenadine with amoxicillin[/url] http://www.arkhamgames.com/fexofenadine-with-amoxicillin.html 8PPP
      • Re: Ako to funguje. 25.09.2009 | 12:44
        YYBPlJNIIf   Návštevník
        health insurance 996 [url="http://www.hollywoodbobbers.com/health-insurance-online.html"]health insurance quotes[/url] 3990 http://www.hollywoodbobbers.com/health-insurance-online.html %D
    • Sifrovanie bez klucov 15.03.2006 | 12:30
      Avatar Jiva Mandriva 2006  Používateľ
      Dik za super clanok. Skusil som KGpg funguje to fajn aj na sifrovanie suborov. Da sa v KGpg - alebo inom GUI rozhrani sifrovat aj bez klucov? Chcel by som sifrovat subor len heslom. Subor sifrovany len pomocou hesla v PGP (z windows) odsifrujem v KGpg bez problemov.
      • Re: Sifrovanie bez klucov 16.03.2006 | 09:49
        Avatar Jiva Mandriva 2006  Používateľ
        Tak som to nakoniec v programe KGpg nasiel - treba zvolit Symetricke sifrovanie a potom za sifruje pomocou hesla. Paci sa mi, ze sa volbou v nasaveni KGpg integruje do Konqueror-u . V KGpg je aj "fajka" sifrovanie do armored ASCII - co to znamena? Aky je rozdiel ked je to vypnute?
      • Re: Sifrovanie bez klucov 07.06.2009 | 22:37
        david   Návštevník
        potreboval by som heslo na sifrovanie do fs 2008
    • Super 23.03.2006 | 20:04
      Michal   Návštevník
      Musim se přidat, opravdu kratký, srozumitelný a zároven hodnotný článek. Super:-)
    • rada 4 author 12.09.2007 | 18:29
      Tom@sQo   Návštevník
      ahoj,
      tiez sa musim pridat, ze je to super clanok, ktory som uz daaavno marne hladal v slovencine, aleee este by si to mohol dolepsit tym, ze pridas na koniec clanku, alebo hocikde do neho vyznam tych prepinacov(-e,-o,...). viem, ze je to v man gpg, ale nech je to pekne po kope ;)
    • Oh man! 20.06.2009 | 22:13
      Gabe   Návštevník
      buy levitra -levitra buy propecia -propecia buy zithromax -zithromax buy xenical -xenical buy ultram -ultram buy fioricet -fioricet buy valium -valium buy acomplia -acomplia buy prozac -prozac buy ativan -ativan
    • Thanks for the tip! 24.06.2009 | 20:10
      Caesarea   Návštevník
      buy ambien - ambien best price diazepam - diazepam buy wellbutrin - wellbutrin online alprazolam - alprazolam order prozac - prozac buy tamiflu - tamiflu online lorazepam - lorazepam order nexium - nexium order online zoloft - zoloft klonopin info - klonopin
    • Is there going to be a greatest hits blog at the end of the year? 15.07.2009 | 09:41
      Fabio   Návštevník
      • Príspevok bol vymazaný.
      • Re: Is there going to be a greatest hits blog at the end of the year? 03.11.2010 | 13:33
        Milo   Návštevník
        Naozaj super clanok. V jednoduchosti je sila.
    • dík 02.12.2010 | 16:01
      mirozm   Návštevník
      Dík za super článok.