Gpg
Vygenerování klíče
editovatJe 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:
- .. Metoda DSA a ElGamal
- .. Doba platnosti.
- .. Jméno a příjmení (identifikátor)
- .. Emailová adresa
- .. Komentář
- .. 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
editovatMá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
editovatVýpis obsahu klíčenky
editovatuser@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
editovatPro 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
editovatPří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í?
editovatV 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
editovatPro 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
editovatuser@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
editovatZí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
editovatDojde-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ý.