Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
technology:security [2009/10/26 11:15] david |
technology:security [2012/12/20 09:17] (aktuální) david [Upload klíče na key server] |
||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
+ | ====== Vyjasnění pojmů ====== | ||
+ | * Open PGP - standard popisující elektronické podepisování a šifrování. V současné době je popsán v [[http://tools.ietf.org/html/rfc4880|RFC 4880]] vydaným [[http://cs.wikipedia.org/wiki/Internet_Engineering_Task_Force|IEFC]]. | ||
+ | * PGP - (Pretty Good Privacy) program poskytující implementaci elektronických podpisů a šifrování. Je postaven na RSA algoritmu asymetrického šifrování. Více informací najdete [[http://cs.wikipedia.org/wiki/Pretty_Good_Privacy|zde]]. | ||
+ | * GnuPGP - (GNU Privacy Guard) alternativa k PGP. Více informací najdete [[http://cs.wikipedia.org/wiki/GNU_Privacy_Guard|zde]]. | ||
+ | |||
====== Výroba kryptovaného adresáře ====== | ====== Výroba kryptovaného adresáře ====== | ||
nainstalovat encryptfs | nainstalovat encryptfs | ||
Řádek 4: | Řádek 9: | ||
sudo apt-get install ecryptfs-utils | sudo apt-get install ecryptfs-utils | ||
</code> | </code> | ||
- | nastavit ho (první dotazované heslo je login heslo, druhá je kryptovací passphrase, měla by být silná. (Nechavám frázi generovat - ať tak nebo tak, **POZNAMENAT** pro účely recovery.) Vytvoří (pokud neexistuje) adrtesář Private a zakryptuje ho. Vyžaduje to restart. | + | nastavit ho (první dotazované heslo je login heslo, druhá je kryptovací passphrase, měla by být silná. (Nechavám frázi generovat - ať tak nebo tak, **POZNAMENAT** pro účely recovery. Pokud frázi nemáte, nedostanete se k obsahu kryptovaného adresáře) Vytvoří (pokud neexistuje) adresář Private a zakryptuje ho. Vyžaduje to restart. |
<code> | <code> | ||
Řádek 16: | Řádek 21: | ||
ln -s ~/Private/.mozilla ~/ | ln -s ~/Private/.mozilla ~/ | ||
</code> | </code> | ||
+ | |||
+ | ====== Generování pgp klíčů ====== | ||
+ | |||
+ | nainstalovat - pokud už není - GNU Privacy Guard. Je to dle mého modernější varianta OpenPGP. | ||
+ | |||
+ | <code> | ||
+ | sudo apt-get install gnupg | ||
+ | </code> | ||
+ | |||
+ | ===== výroba primárního klíče ===== | ||
+ | |||
+ | <code> | ||
+ | gpg --cert-digest-algo=SHA256 --default-preference-list="h10 h8 h9 h11 s9 s8 s7 s3 z2 z3 z1 z0" --gen-key | ||
+ | </code> | ||
+ | |||
+ | __K možnostem:__ | ||
+ | |||
+ | * vybírat RSA klíče pro podpis i pro šifrování | ||
+ | * pro běžné použití by měla stačit délka klíče 2048 | ||
+ | * defaultně je nastavena doba expirace na nekonečno, klidně nechat. Klíč je možno při problémech zneplatnit | ||
+ | * program se zeptá na skutečné jméno, komentář ke klíči a emailovou adresu. Tyto údaje budou po uploadu klíče do veřejné repository volně přístupné, takže tam nepište žádné sprosťárny ;-) | ||
+ | |||
+ | |||
+ | Na konci byste měli skončit s hláškou podobnou této: | ||
+ | <code> | ||
+ | gpg: key FA378DC3 marked as ultimately trusted | ||
+ | public and secret key created and signed. | ||
+ | </code> | ||
+ | |||
+ | FA378DC3 je key-ID, které budete používat jako referenci. | ||
+ | |||
+ | doporučuji dostřelit do ~/.bashrc | ||
+ | <code> | ||
+ | export GPGKEY=FA378DC3 | ||
+ | </code> | ||
+ | nastaví to tento klíč jako default. | ||
+ | |||
+ | Tímto jsme připraveni k používání klíčů pro podepisování. Pokud jste vygenerovali pouze klíč k podpisu (zvolili jste "RSA (sign only)") a potřebujete i šifrovat, je třeba vygenerovat subkey pro šifrování. | ||
+ | |||
+ | ===== Generování šifrovacího klíče ===== | ||
+ | <code> | ||
+ | gpg --cert-digest-algo=SHA256 --edit-key $GPGKEY | ||
+ | </code> | ||
+ | |||
+ | vypíše zvolený klíč a skončíte v promptu | ||
+ | <code> | ||
+ | Command> | ||
+ | </code> | ||
+ | |||
+ | zadejte addkey | ||
+ | <code> | ||
+ | Command> addkey | ||
+ | </code> | ||
+ | |||
+ | dostanete tento výběr, zvolte 6 | ||
+ | <code> | ||
+ | Please select what kind of key you want: | ||
+ | (2) DSA (sign only) | ||
+ | (4) Elgamal (encrypt only) | ||
+ | (5) RSA (sign only) | ||
+ | (6) RSA (encrypt only) | ||
+ | </code> | ||
+ | |||
+ | poté se program zeptá na délku klíče - 2048 stačí a dobu platnosti, zadejte dle uvážení a **bingo!** klíč pro šifrování je na světě. Zobrazí se údaje o klíčích - všiměte si, že přibyla položka sub s usage E. | ||
+ | |||
+ | Zadejte příkaz save a opusťte editor klíčů. Teď jste schopni šifrovat. | ||
+ | |||
+ | ===== Generování ASCII formy klíče ===== | ||
+ | některé servery akceptují klíče v ASCII kabatku (brnění - ASCII Armored). | ||
+ | tento typ klíče vygenerujete takto: | ||
+ | <code> | ||
+ | gpg --export -a <Key-ID> > asciiKey.asc | ||
+ | </code> | ||
+ | jde o ASCII reprezentaci hexadecimálního klíče v kódování Radix-64, což je Base64 kódování s drobnými úpravami. | ||
+ | |||
+ | ===== Generování revocation klíče ===== | ||
+ | V případě ztráty nebo odcizení primárního klíče je třeba mít možnost klíč zneplatnit. K tomu se používá tkzv. revocation key, který sdělí ostatním enititám na síti, že tento klíč už dále nepoužíváte. Je doporučováno vygenerovat tento klíč zároveň s vlastním klíčem a uschovat ho na bezpečném místě. **!! Kdo má přístup k vašemu revocation key, může vám kdykoliv zneplatnit váš klíč !!** | ||
+ | |||
+ | <code> | ||
+ | gpg --output revoke.asc --gen-revoke <KEY-ID> | ||
+ | </code> | ||
+ | |||
+ | ====== Upload klíče na key server ====== | ||
+ | veřejný klíč je potřeba dát k dispozici ostatním, aby na jeho základě mohli ověřovat vaši autenticitu. To uděláte buď takto: | ||
+ | <code> | ||
+ | gpg --send-keys --keyserver http://pgp.mit.edu/ <KEY-ID> | ||
+ | </code> | ||
+ | |||
+ | nebo na http://pgp.mit.edu/ nakopírujte ASCII formu klíče a stiskněte Submit a key. Stačí uploadovat na jeden key server, servery si klíče mezi sebou vymění. | ||
+ | |||
+ | Na keyserverech také samozřejmě můžete sehnat veřejné klíče ostatních. | ||
+ | |||
+ | Některé další servery: | ||
+ | http://www.gpg.cz | ||
+ | http://subkeys.pgp.net | ||
+ | ====== Backup a restore klíčů ====== | ||
+ | |||
+ | seznam public klíčů lze získat pomocí | ||
+ | <code> | ||
+ | gpg --list-keys | ||
+ | </code> | ||
+ | seznam private klíčů | ||
+ | <code> | ||
+ | gpg --list-secret-keys | ||
+ | </code> | ||
+ | |||
+ | backup obou klíčů provedete | ||
+ | <code> | ||
+ | gpg -ao nazev-public.key --export key_id | ||
+ | |||
+ | gpg -ao nazev-private.key --export-secret-keys key_id | ||
+ | </code> | ||
+ | |||
+ | a obnovení nebo novou instalaci pomocí | ||
+ | <code> | ||
+ | gpg --import nazev-public.key | ||
+ | gpg --import nazev-private.key | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ |