Gpg

Z Wikiknih

Vygenerování klíče[editovat | editovat zdroj]

Je jednoduchá operace. Mějte při ní na paměti, že se jimi budete podepisovat, tudíž zkompromituje-li se váš klíč, zkompromitujete se i vy. Nezapomínejte tedy na hesla a důkladné zajištění vašeho systému před nezvanými hosty.

user@stroj:~$ gpg --gen-key

Při generování klíče budete vyzváni k zadání některých údajů (pokud je neposkytnete ve formě parametrů výše uvedenému příkazu rovnou:

  1. .. Metoda DSA a ElGamal
  2. .. Doba platnosti.
  3. .. Jméno a příjmení (identifikátor)
  4. .. Emailová adresa
  5. .. Komentář
  6. .. Heslo

Identifikátor je textový řetězec, který bude později figurovat u podpisu jako jeho id. Při práci s klíčem však je praktičtější pracovat s uid viz níže. Je to osmiznaková entita, která je individuální pro každou identitu. Jako uid ale může fungovat také udaný e-mail

Tímto získáte tzv. primární tajný klíč. Ten však má jednu nevýhodu. Nelze jej vyměnit za jiný. Při jeho zprofanování je nutné odvolat (revokovat) celou identitu a založit novou. V případě, že se používají sekundární tajné klíče, stačí revokovat pouze zprofanovaný sekundární klíč, a vytvořit nový.

Byť soubory s klíči nemají povinné žádné přípony, doporučuji abyste se drželi jedné konvence, abyste časem neměli v souborech s klíči galimatyáš. V následujících postupech uvádím tyto přípony:

.secret - pro primární tajný klíč .subsecret - pro sekundární tajný klíč .asc - soubor s klíčem v ascii kódu

Sekundární klíče[editovat | editovat zdroj]

Máte-li tedy vygenerován primární tajný klíč, přidejte k němu příkazem addkey sekundární klíče. Jeden pro podepisování ve formátu DSA a druhý pro šifrování.

Těmto klíčům nastavte dobu platnosti. Až jim vyprší, nebude nutné klíče odvolávat. Přestanou platit a vy si pomocí primárního klíče vytvoříte nové.

Po vytvoření sekundárních klíčů, které budeme používat pro běžnou práci je vhodné primární klíč s naší "klíčenky" vyexportovat, bezpečně uložit na nějaké externí médium a pak z databáze vymazat. Pokud by totiž došlo ke kompromitaci naší klíčenky, můžeme po naimportování primárního klíče na jiném stroji s klidnou duší kompromitované sekundární klíče odvolat a vytvořit nové.

Pro bezpečné uložení je nejjistější zkombinovat vytištěnou ascii formu primárního klíče s elektronickou formou vypálenou na CD. U papíru je pravděpodobnost zachování klíče oproti elektronickým médiím přeci jenom vyšší.

Práce s klíči[editovat | editovat zdroj]

Výpis obsahu klíčenky[editovat | editovat zdroj]

user@stroj:~$ gpg --list-key
/home/user/.gnupg/pubring.gpg



pub 2048R/5869CEC3 2006-02-23
uid Jan Venda (VŠ Života) <jan.venda@zivot.edu>
uid Jenda <jenda@venda.cz>
sub 2048R/5B8EAE8F 2007-03-02 [platnost skončí: 2009-03-31] sub 2048R/8B4EB26A 2007-03-02 [platnost skončí: 2009-03-31]
pub 1024D/1F41B907 1999-10-03
uid Christian Marillat <marillat@debian.org>
uid Christian Marillat <marillat@free.fr>
sub 1536g/C28DCC42 1999-10-03
sub 1024D/5D3877A7 2002-08-26

pub 1024D/0E3606D9 2005-09-29
uid Mozilla Software Releases <releases@mozilla.org>
sub 2048g/AFE99880 2005-09-29

Přihlášení k editaci klíče[editovat | editovat zdroj]

Pro editaci je třeba pomocí identifikátoru určit se kterým klíčem má gpg pracovat. Jako identifikátor lze použít:

  • uid některého z klíčů ( 5869CEC3, 8B4EB26A, 8B4EB26A )
  • e-mail některé z identit ( jan.venda@zivot.edu nebo jenda@venda.cz )

user@stroj:~$ gpg --edit-key 8B4EB26A
gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Tajný klíč je dostupný.

pub 2048R/5869CEC3 vytvořen: 2006-02-23 platnost skončí: nikdy použití: SC
  důvěra: plná platnost: neznámý formát
sub 2048R/5B8EAE8F vytvořen: 2007-03-02 platnost skončí: 2009-03-31 použití: S
sub 2048R/8B4EB26A vytvořen: 2007-03-02 platnost skončí: 2009-03-31 použití: E
[ neznámá ] (1). Jan Venda (VŠ Života) <jan.venda@zivot.edu>
[ neznámá ] (2) Jenda <jenda@venda.cz>

Příkaz>

Aby bylo možné vytvářet nové sekundární klíče, nebo pracovat s identitami, musí být v klíčence k dispozici tajný klíč. Což poznáte podle zprávy ve výpisu při přihlášení ( v příkladu je zvýrazněna červeně )

Odstranění sekundárního klíče[editovat | editovat zdroj]

Příkaz> key 2

pub 2048R/5869CEC3 vytvořen: 2006-02-23 platnost skončí: nikdy použití: SC
  důvěra: plná platnost: neznámý formát
sub 2048R/5B8EAE8F vytvořen: 2007-03-02 platnost skončí: 2009-03-31 použití: S
sub* 2048R/8B4EB26A vytvořen: 2007-03-02 platnost skončí: 2009-03-31 použití: E
[ neznámá ] (1). Jan Venda (VŠ Života) <jan.venda@zivot.edu>
[ neznámá ] (2) Jenda <jenda@venda.cz>

Příkaz> delkey
Opravdu chcete smazat tento klíč? (a/N) a
pub 2048R/5869CEC3 vytvořen: 2006-02-23 platnost skončí: nikdy použití: SC
  důvěra: plná platnost: neznámý formát
sub 2048R/5B8EAE8F vytvořen: 2007-03-02 platnost skončí: 2009-03-31 použití: S
[ neznámá ] (1). Jan Venda (VŠ Života) <jan.venda@zivot.edu>
[ neznámá ] (2) Jenda <jenda@venda.cz>

Příkaz>

Jak poznat zda je v klíčence tajný klíč primární či sekundární?[editovat | editovat zdroj]

V případě, že je tajný klíč, který je v klíčence je nainstalovaný není klíčem primárním, se zobrazuje u jeho identifikátoru znak #. V následujícím příkladu je vyznačen červeně. Je-li tajný klíč sekundární, nelze přidat novou identitu nebo klíč.

user@stroj:~$ gpg -K
/home/user/.gnupg/secring.gpg



sec# 2048R/5869CEC3 2006-02-23
uid Jenda <jenda@venda.cz>
uid Jan Venda (VŠ Života) <jan.venda@zivot.edu>
ssb 2048R/5B8EAE8F 2007-03-02
ssb 2048R/8B4EB26A 2007-03-02

Potřebujete-li tedy provést některou z těchto operací, je třeba sekundární tajný klíč odstranit a naimportovat klíč primární.

user@stroj:~$ gpg --delete-secret-keys 5869CEC3

gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.


sec 2048R/5869CEC3 2006-02-23 Jan Venda (VŠ Života) <jan.venda@zivot.edu>

Smazat tento klíč ze souboru klíčů? (a/N) a
Toto je tajný klíč! - opravdu smazat? (a/N) a

Identity v klíči[editovat | editovat zdroj]

Pro jeden klíč můžete mít vytvořeno více identit. Jinou pro pracovní použití, jinou pro privátní použití, atd.

Časem se může stát, že některá identita přestane být aktuální - třeba při změně zaměstnání. V takovém případě je třeba přidat identitu novou a starou zrušit. Klíče se starou identitou je pak třeba odvolat (revokovat) a nahradit novými.

Příkaz> adduid
Jméno a příjmení: Honza
E-mailová adresa: honza@venda.cz
Komentář: správce linuxových serverů na DCE FEL ČVUT
Používáte znakovou sadu `utf-8'.
Zvolil(a) jste tento identifikátor uživatele:
  "Honza (pan domácí) <honza@venda.cz>"

Změnit (J)méno, (K)omentář, (E)-mail, (P)okračovat dál nebo (U)končit program? P

Musíte znát heslo, abyste odemknul(a) tajný klíč pro
uživatele: "Jan Venda (VŠ Života) <jan.venda@zivot.edu>"
délka 2048 bitů, typ RSA, klíč 5869CEC3, vytvořený 2006-02-23


pub 2048R/5869CEC3 vytvořen: 2006-02-23 platnost skončí: nikdy použití: SC
  důvěra: plná platnost: neznámý formát
sub 2048R/5B8EAE8F vytvořen: 2007-03-02 platnost skončí: 2009-03-31 použití: S
sub 2048R/8B4EB26A vytvořen: 2007-03-02 platnost skončí: 2009-03-31 použití: E
[ neznámá ] (1). Jan Venda (VŠ Života) <jan.venda@zivot.edu>
[ neznámá ] (2) Jenda <jenda@venda.cz>
[ neznámá ] (3). Honza (pan domácí) <honza@venda.cz>

Příkaz> 1

pub 2048R/5869CEC3 vytvořen: 2006-02-23 platnost skončí: nikdy použití: SC
  důvěra: plná platnost: neznámý formát
sub 2048R/5B8EAE8F vytvořen: 2007-03-02 platnost skončí: 2009-03-31 použití: S
sub 2048R/8B4EB26A vytvořen: 2007-03-02 platnost skončí: 2009-03-31 použití: E
[ neznámá ] (1).* Jan Venda (VŠ Života) <jan.venda@zivot.edu>
[ neznámá ] (2) Jenda <jenda@venda.cz>
[ neznámá ] (3). Honza (pan domácí) <honza@venda.cz>

Příkaz> deluid
Opravdu odstranit tento id uživatele? (a/N) a

pub 2048R/5869CEC3 vytvořen: 2006-02-23 platnost skončí: nikdy použití: SC
  důvěra: plná platnost: neznámý formát
sub 2048R/5B8EAE8F vytvořen: 2007-03-02 platnost skončí: 2009-03-31 použití: S
sub 2048R/8B4EB26A vytvořen: 2007-03-02 platnost skončí: 2009-03-31 použití: E
[ neznámá ] (1) Jenda <jenda@venda.cz>
[ neznámá ] (2). Honza (pan domácí) <honza@venda.cz>

Příkaz>

Pro práci s identitami je nutné mít v klíčence k dispozici primární klíč, jinak vám bude gpg při pokusu o změnu hlásit: gpg: tajné části klíče nejsou dostupné !

Vyexportování veřejného klíče[editovat | editovat zdroj]

user@stroj:~$ gpg --export [uid == jméno a příjmeni] > Soubor_s_klicem_v_asci_kodu.asc

ten buď uložit na veřejně přístupné místo, nebo na některý se serverů pro správu veřejných klíčů

Naimportování veřejného klíče[editovat | editovat zdroj]

Získat soubor s veřejným klíčem buď přímo z webu, nebo ze serveru pro správu veřejných klíčů, např.: pks.gpg.cz nebo subkeys.pgp.net (defaultní server)

Odvolání klíče[editovat | editovat zdroj]

Dojde-li ke kompromitaci vašeho klíče, nebo jej z nějakého jiného důvodu budete chtít prohlásit za neplatný, musíte provést tzv. revokaci (odvolání).

Ta spočívá v tom, že vygenerujete nejprve revokační (odvolávací) certifikát který pak umístíte někam, odkud si jej mohou stáhnout všichni ti co ověřují vámi podepsané soubory

user@stroj:~$ gpg --gen-revoke něco na tns.cz

Pro odvolání certifikátu pak stačí, aby si tento soubor naimportovali do své klíčenky (keyring) kde mají už naimportovaný klíč který má tento certifikát odvolat.

user@stroj:~$ gpg --import odvolaci_certifikat.asc

Totéž platí i pro klíče ve vaší klíčence. Pokud se setkáte s tím, že byl nějaký vámi naimportovaný klíč kompromitován, informujte o této skutečnosti jeho vlastníka, aby mohl někam umístit svůj revokační certifikát.

Pozor na odvolávací certifikáty. Pokud byste si jej omylem naimportovali a tak si nechtěně odvolali vámi používaný klíč, tak budete muset vygenerovat a publikovat klíč nový.

Externí odkazy[editovat | editovat zdroj]