PC Servis a prodej Vondra

Vondra Tomáš, s.r.o.

Návody

PGP a šifrování

Neaktivní hodnoceníNeaktivní hodnoceníNeaktivní hodnoceníNeaktivní hodnoceníNeaktivní hodnocení
 

PGP - Pretty Good Privacy

Z Support

Přejít na: navigace, hledání

Pretty Good Privacy (česky bychom řekli dost dobré soukromí) je balík programů, který umožňuje šifrovat a dešifrovat zprávy, digitálně je podepisovat, ověřovat identitu odesílatele a spravovat klíče. V podstatě je PGP možné použít stejným způsobem jako PKI.

Základní rozdíl mezi PGP a PKI je v přístupu ověřování majitele veřejného klíče - PKI využívá centrální certifikační autoritu (organizace má vlastní certifikační autoritu nebo využívá služeb třetí strany), zatímco PGP je založeno na decentralizovaných certifikačních autoritách, kdy každý uživatel PGP může vystupovat jako certifikační autorita. Každý z přístupů má své výhody, PGP je využíváno zejména uživateli, kteří nemají přístup k centrální certifikační autoritě nebo potřebují bezpečně komunikovat s lidmi, jejichž certifikační autoritě nedůvěřují.

Obsah

[skrýt]

Základní informace o PGP

Jak funguje PGP a další podrobné údaje lze nalézt například na stránkách http://www.pgp.cz, http://cs.wikipedia.org nebo http://www.pgpi.org/.

Pavučina důvěry

Ověření majitele veřejného klíče je možné buď přímo (osobně ověřená identita a fingerprint) nebo nepřímo, když identitu ověřil někdo jiný považovaný za důvěryhodného. Pokud takováto důvěryhodná osoba důvěřuje někomu dalšímu, můřemu mu také důvěřovat. Prakticky lze různým lidem důvěřovat různě, proto je míra důvěry odstupňovaná (nevím, nevěřím, částečně věřím, úplně věřím). Pavučina důvěry zachycuje tyto závislosti a umožňuje vyhodnocovat míru důvěry pro veřejné klíče uživatelů, které ověřil někdo jiný.

Detailnější popis je uveden na stánce http://www.softnov.cz

PGP party

Všechny certifikační autority vždy musí ověřit komu vydávají certifikáty. Chce-li uživatel PGP podepsat něčí veřejný klíč, stává se také certifikační autoritou a musí si tedy ověřit komu daný veřejný klíč patří. Pro takovéto účely jsou pořádány tzv. PGP party.

Běžný průběh takovéto party je následující. Každý z účastníků si na PGP party přinese své údaje (KEY-ID, KEYNAME a FINGERPRINT) vytištené na kouscích papíru. Potom každý účastník postupně obejde všechny ostatní účastníky a vymění si navzájem kousky papíru se svými údaji přičemž si podle nějakého dokladu ověří totožnost. Na konci PGP party všichni odchází s balíčkem údajů o cizích klíčích.

Teprve po návratu ke svému počítači proběhne vlastní akt podpisu veřejných klíčů.

GPG - GNU Privacy Guard

GNU Privacy Guard (GnuPG nebo GPG) je svobodná alternativa k PGP, vydaná pod GNU General Public License. K dispozici je pro většinu operačních systémů. Další informace o PGP lze nalézt například na stránkách http://www.gpg.cz/ nebo http://cs.wikipedia.org/wiki/GNU_Privacy_Guard

Instalace

V linuxových distribucích je GnuPG obvykle jako samostatný balíček, instalace je následující:

apt-get install gnupg

Pro některé další operační systémy (např. Windows) je potřeba instalační balíček stáhnout z adresy http://www.pgpi.org/download/gnupg/ a spustit instalaci.

Běžné operace s GnuPG

Následující operace jsou ty nejběžněji používané.

Vytvoření PGP klíče

Vytvoření páru (privátní a veřejný) klíčů je prováděno příkazem

gpg --gen-key

Je dobré vybrat si délku klíče minimálně 2048 bitů a expiraci nastavit na nikdy. Klíčovou frázi je potřeba si pamatovat, protože tato znalost je vyžadována při podepisování a dalších činnostech. Výsledkem je výstup např.

pub 1024D/BCB88B92 2007-05-10 Ales Padrta <Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.>
Key fingerprint = 6328 6BF1 6835 AC7F BF8B F756 D8DB 958F BCB8 8B92
sub 2048g/07B6F0B9 2007-05-10

Ve výstupu lze identifikovat následující důležité informace :

  • KEYNAME - v příkladu Ales Padrta <Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.>
  • KEY-ID - v příkladu BCB88B92
  • FINGERPRINT - v příkladu 6328 6BF1 6835 AC7F BF8B F756 D8DB 958F BCB8 8B92

V následujícím kroku je potřeba vytvořit revokační certifikát pro případ zapomenutí klíčové fráze nebo kompromitace privátního klíče. Toto se provádí příkazem

gpg --output revoke.asc --gen-revoke Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.

Vzniklý soubor musí být bezpečně uschován, protože jeho zveřejněním bude veřejný klíč zneplatněn.

Pokud jste se dostali až sem, měli byste mít následující soubory (v adresáři c:\gnupg nebo ~/.gnupg:

  • secring.gpg - zde jsou uloženy všechny privátní klíče (vytvořené příkazem gpg --gen-key)
  • punring.gpg - zde jsou uloženy všechny veřejné klíče (vytvořené příkazem gpg --gen-key nebo stažené)
  • revoke.asc - revokační certifikát (každý vytvořený pár klíčů má vlastní soubor)
  • trustdb.gpg - zde jou uloženy informace o pavučině důvěry

V souboru secring.gpg jsou uloženy privátní klíče, takže je nutné jej chránit jako oko v hlavě.

Výměna veřejných klíčů

Pro ověření podpisu je potřeba znát veřejný klíč odesílatele a pro zašifrování veřejný klíč adresáta. Nyní mám přeci pouze svůj veřejný klíč, jak se dostat k ostatním veřejným klíčům? V podstatě to jde dvěma způsoby, buď přímým zasláním nebo pomocí serveru spravujícího veřejné klíče PGP. Prakticky je používána spíše druhá varianta.

Přímá výměna vyžaduje exportování veřejných klíčů do souboru, který je pak poslán adresátovi. Export je realizován příkazem

pgp --output pubkeys.pgp --export 

Chcete-li zaslat pouze omezenou množinu klíčů, zadejte část nebo celé KEYNAME, např.

pgp --output pubkeys_pavels.pgp --export Pavel

Případně můžete klíč specifikovat jeho KEY-ID, např.

pgp --output pubkeys_pavels.pgp --export BCB88B92

Příjemce si pak následně importuje všechny veřejné klíče ze zaslaného souboru příkazem

pgp --import pubkeys.pgp

Tím jsou veřejné klíče přidány do souboru pubring.gpg, případně jsou aktualizovány informace o podpisech klíčů.

Pro zjednodušení existuje pro správu podpisů veřejných klíčů řada serverů, které výměny veřejných klíčů zajišťují. Informace zaslané na jeden server se automaticky vypropagují na ostatní. Mezi takovéto podpisové servery patří např. wwwkeys.cz.pgp.net.

Poslání veřejného klíče specifikovaného svým KEY-ID na server wwwkeys.cz.pgp.net je prováděno příkazem

gpg --keyserver wwwkeys.cz.pgp.net --send-keys <KEY-ID>

Některé verze GnuPG umožňují také hromadné poslání všech veřejných klíčů a jejich podpisů ze souboru pubring.gpg na specifikovaný server příkazem

gpg --keyserver wwwkeys.cz.pgp.net --send-keys

Hromadné zasílání je potřeba potvrdit

Do you really want to send all your public keys to the keyserver? (y/N)

Také lze (opět pouze u některých verzí) omezit množinu veřejných klíčů zadáním celého či části KEYNAME, např.

gpg --keyserver wwwkeys.cz.pgp.net --send-keys Pavel

Stažení konkrétního veřejného klíče s KEY-ID 1BEDF25D ze serveru wwwkeys.cz.pgp.net je prováděno příkazem

gpg --keyserver wwwkeys.cz.pgp.net --recv-key 1BEDF25D

Není možné stahovat více veřejných klíčů najednou. Veřejný klíč je opět přidán do souboru pubring.gpg s aktuálními informacemi o jeho podpisech.

Protože jsou veřejné klíče v průbehu času porůznu podepisovány, je vhodné si občas aktualizovat informace. Místo postupného stahování jednotlivých klíčů je používán příkaz

gpg --refresh-keys --keyserver wwwkeys.cz.pgp.net

Jsou aktualizovány informace o všech klíčích v souboru pubring.gpg.

Výpis informací o stažených veřejných klíčích

Seznam všech dostupných veřejných klíčů lze vypsat příkazem

gpg --list-keys

Opět je možné výpis omezit zadáním části KEYNAME nebo KEY-ID

gpg --list-keys Pavel
gpg --list-keys BCB88B92

Výpis FINGERPRINTU všech dostupných veřejných klíčů je prováděn příkazem

gpg --fingerprint

S omezením pro KEYNAME nebo KEY-ID pak příkazy

gpg --fingerprint Pavel
gpg --list-keys BCB88B92

Podepisování veřejných klíčů

Nejprve je potřeba získat KEYNAME, KEY-ID a FINGERPRINT klíče, který má být podepsán. Také je nutné se přesvědčit, kdo vlastní příslušný privární klíč. Postup těchto úkonů je popsán v kapitole o PGP party.

  • Stažení klíče, který má být podepsán
gpg --keyserver wwwkeys.cz.pgp.net --recv-key <Key_ID>
  • Ověření fingerprintu klíče (vypsaný fingerprint musí souhlasit s tím z PGP party)
gpg --fingerprint <Key_ID>
  • Podepsání klíče (je-li vše v pořádku)
gpg --sign-key <Key_ID>
  • Také se lze podívat, kdo všechno klíč podepsal
gpg --edit-key <Key_ID>
check
  • Odeslání podepsaného klíče na server
gpg --keyserver wwwkeys.cz.pgp.net --send-key <Key_ID>

Práce s pavučinou důvěry

Nastavení míry důvěry pro jednotlivé klíče je prováděno příkazy

gpg --edit-key <KEY-ID>
trust

Poté je potřeba vybrat míru důvěry

  • Nevím nebo neřeknu - neúčastní se výpočtů důvěry
  • Nedůvěřuji - při výpočtu důvěry je ignorován
  • Důvěřuji částečně - částečná důvěra
  • Důvěřuji úplně - plná důvěra
  • Důvěřuji absolutně - pouze pro vlastníky příslušného tajného klíče

Veřejný klíč je považován za důvěryhodný pokud je podepsán x klíči s úplnou důvěrou nebo y klíči s částečnou důvěrou. Hodnoty x a y jsou věcí každého uživatele, obvykle je x = 2 a y = 4.

Vytvoření pavučiny důvery je provedeno spuštěním příkazu

gpg --update-trustdb

Postupně jsou procházeny všechny klíče a uživatel je dotazován jak moc danému člověku věří. V podstatě dávkové spuštění výše uvedeného. Na základě uvedených informací je vypočítána pavučina důvěry

Občas je potřeba pavučinu důvěry přepočítat kvůli revokacím, novým podpisům apod. To by mělo být prováděno automaticky, nicméně tuto aktivitu lze vyvolat také příkazem

gpg --check-trustdb

Oproti příkazu gpg --update-trustdb se liší tím, že zde není žádná interakce s uživatelem. Jsou použity pouye klíče s již zadanou důvěryhodností.

Používání PGP na více počítačích

Pokud je potřeba používat PGP na více počítačích současně, např. pracovní stanice a notebook, je nepraktické uchovávat veřejné i privátní klíče na několika místech současně. Nehledě na nutnost zabezpečit citlivé údaje na všech počítačích.

Proto je vhodným řešením uchovávat všechny klíče na jednom místě (např. flashdisku) a přimět GnuPG, aby klíče vždy hledalo v tomto umístění místo standardního c:\gnupg nebo ~/.gnupg. Následující příklady předpokládají, že obsah zmíňených adresářů byl přesunut na flashdisk do adresáře gnupg.

MS Windows

  • Vytvořit v registrech klíč
HKEY_CURRENT_USER\Software\GNU\GnuPG
  • Do vytvořeného klíče zadat položku HomeDir, která specifikuje adresář obsahující informace o klíčích (zde např. f:/gnupg). Mlčky předpokládejme, že MS Windows flashdisku přiřadí vždy stejné písmeno (obvykle tomu tak je).

Linux

  • Vytvořit symbolický link (pro systém, který připojí flashdisk jako /media/usb0).
ln -s /media/usb0/gnupg ~./gnupg

Po provední těchto kroků už stačí pouze přijít ke správně nakonfigurovanému počítači, připojit flashdisk a používat PGP. Pokud není připojen, PGP nebude schopno pracovat.

PGP v Mozille Thunderbird

Do poštovního klienta Mozilla Thunderbird existuje add-on nazvaný Enigmail, který umožňuje snadné používání PGP v e-mailové komunikaci (oveřování, podepisování a šifrování pošty). Pro svou činnost využívá funkce GnuPG, takže potřeba mít GnuPG nainstalováno. Více informací je na stránce projektu Enigmail

Instalace

V linuxových distribucích je Enigmail obvykle jako samostatný balíček, instalace je tedy jednoduchá:

apt-get install enigmail

Pro ostatní OS je potřeba stáhnout na disk instalační balíček ve formátu xpi, k nalezení je například na stránkách

a naistalovat jej jako add-on

  1. V menu Mozilla Thunderbird otevřít menu Nástroje -> Správce doplňků
  2. Tlačítko Instalovat ...
  3. Nalézt dříve stažený soubor xpi
  4. Po proběhnuté instalaci je nutné Mozillu Thunderbird restartovat

Další informace o instalaci a řešení častých problémů je popsáno na stránce http://enigmail.spi.cz/help.html

Konfigurace

Postup při konfigurování Enigmailu je pěkně popsán krok za krokem na stránce http://enigmail.spi.cz/konfigurace.html. V některých verzích je zpřístupněno jenom základní nastavení, ostatní záložky se objeví až po zaškrtnutí políčka Zobrazit experní nastavení. Další doporučení a poznatky

  • Zapisujete-li KEY-ID používaného klíče ručně nezapomeňte, že musí začínat 0x, jinak nebude rozpoznán
  • Do položky pamatovat heslo vložte 0 (passphrase se nebude nikam ukládat)

Používání

Ověřování elektronických podpisů veřejnými klíči PGP je prováděno automaticky. Při otevření takového e-mailu se v horní částí zobrazí barevný proužek informující o výsledku ověření. Dále je v pravé části vidět (ne)zapečetěná obálka indikující tutéž informaci.

  • Důvěryhodný správný podpis - zpráva byla podepsána odpovídajícím privátním klíčem a daný veřejný klíč je považován za důvěryhodný (ověřený buď osobně nebo pavučinou důvěry)
  • Nedůvěryhodný správný podpis - zpráva byla podepsána odpovídajícím privátním klíčem, ale veřejný klíč nebyl dostatečně ověřen
  • Nesprávný podpis - zpráva byla podepsána jiným privátním klíčem než tvrdí veřejný klíč
  • Chyba - ověření se technicky nepovedlo (některé verze mají problém s kódováním příloh)

Dešifrování příchozích zpráv šifrovaných vaším veřejným klíčem je prováděno automaticky při otevření šifrovaného e-mailu. Před dešifrováním je požadována passphrase vašeho privátního klíče

Pro posílání a šifrování elektronicky podpsaných zpráv přibyla v horní liště hlavního okna ikonka s popiskem OpenPGP. Kliknutím na tuto ikonu mužete zaškrtnout zda zprávu chcete podepsat a/nebo zašifrovat. Pro posílání šifrované zprávy je nutné mít stažený veřejný klíč adresáta - což Enigmail oznámí a pokusí se daný klíč stáhnout ze zadaných PGP keyserverů.

Copyright © 2024 PC servis a prodej Vondra. Všechna práva vyhrazena.
Joomla! je svobodný software vydaný pod licencí GNU General Public License.