Command disabled: backlink
 

SSH klíče

SSH klíče jsou nástrojem alternativní a bezpečnější metody autentizace ssh spojení.

Pro autentizaci uživatele vzdálenému systému se původně používala kombinace dvou údajů - uživatelského jména a hesla. Pokud heslo, které uživatel pošle spolu s uživatelským jménem, je heslo, které má server u daného uživatele uložené v databázi hesel, uživatel je autentizován. Tuto metodu autentizace lze v dnešní době označit za zastaralou a nepříliš bezpečnou.

Autentizace pomocí ssh klíče je z bezpečnostního hlediska výrazně lepší. Uživatelské jméno se používá beze změny, ale místo prostého poslání hesla provede SSH klient se serverem tzv autentizační handshake za použití SSH klíče. Při této operaci se neposílá po síti žádný citlivý údaj - ani heslo, ani SSH klíč.

Trocha teorie

Co je SSH klíč?

SSH klíč je číslo o délce několika (kilo)bitů. Jedná se o kryptografický prostředek, který se skládá ze dvou částí:

  • privátní klíč
  • veřejný klíč

Veřejný klíč je veřejně publikovatelným prostředkem. Tímto klíčem je možné zašifrovat zprávu, nelze ji ale v rozumném čase rozšifrovat. Z veřejného klíče nelze vypočítat klíč privátní.

Privátní klíč je určen výhradně majiteli a měl by být vhodně skladován (viz dále). Tímto klíčem je jeho majitel schopen rozšifrovat zprávu, zašifrovanou veřejným klíčem. Z privátního klíče je vypočítán klíč veřejný.

Jak funguje autentizace

Server má k dispozici veřejný klíč osoby, která má právo být systémem autentizována. Pomocí tohoto klíče zašifruje výzvu (blok náhodných dat, která nelze uhádnout) pro klienta, který za použití privátního klíče prokáže, je-li schopen tuto výzvu dešifrovat. Pokud server obdrží od klienta správně rozšifrovanou výzvu, ověří tím, že klient má k dispozici příslušný privátní klíč a autentizuje jej. Pokud klient neprokáže vlastnictví privátního klíče je mu přístup odepřen. Povšimněte si, že samotný privátní klíč se během tohoto procesu neposílá sítí.

Proč je klíč lepší než heslo

  • útok hrubou silou je exponenciálně náročný (předkládat serveru náhodné klíče znamená předložit mu například 21024 tedy 179 769 313 486 231 590 772 930 519 078 902 473 361 797 697 894 230 657 273 430 081 157 732 675 805 500 963 132 708 477 322 407 536 021 120 113 879 871 393 357 658 789 768 814 416 622 492 847 430 639 474 124 377 767 893 424 865 485 276 302 219 601 246 094 119 453 082 952 085 005 768 838 150 682 342 462 881 473 913 110 540 827 237 163 350 510 684 586 298 239 947 245 938 479 716 304 835 356 329 624 224 137 216 klíčů)
    • pokus o výpočet privátního klíče z klíče veřejného je řádově stejně náročný
  • autentizační metoda je výrazně sofistikovanější než pouhé předložení hesla a zvyšuje tak integritu celého autentizačního procesu
  • heslo lze jednoduše ukrást či okoukat z klávesnice, u klíče je neoprávněné získání náročnější (nutnost zcizení média s klíčem a případně prolomení dalších ochranných prostředků)

Proč je klíč horší než heslo

  • nelze si ho zapamatovat a je nutné uložit ho na médiu, které lze odcizit (na rozdíl od hlavy ;-)

Doporučení pro uložení privátního klíče

  • klíč skladujte na přenosném médiu (USB flash, CD, …)
  • chraňte svůj privátní klíč dostatečně silným heslem pro případ, že vám někdo zcizí fyzické médium, kde jej máte uložen
  • zálohujte klíč na jiná média uložená na bezpečných místech
  • mějte klíč pro nejhorší scénář i vytištěný na papíře a uložený na bezpečném místě
  • chraňte záložní klíče fyzicky (trezor) i elektronicky použitím dalších metod zabezpečení (například šifrováním celého záložního media)
  • nezapomínejte, že elektronická média mají konečnou životnost (u DVD např. jen 2 roky)

Generování klíčů

Microsoft Windows

Doporučenou variantou je použít program puttygen.

Po spuštění se objeví toto okno:

V rámečku „Parameters“ zvolte SSH-2 DSA a klikněte na tlačítko „Generate“.

Program poté chce, abyste pomohli vygenerovat trochu entropie, proto náhodně hýbejte kurzorem myši v políčku „Key“. Poté je klíč vygenerován a objeví se něco v tomto smyslu:

Do políčka „Key comment“ vyplňte Váš identifikátor - přezdívku či přímo jméno a příjmení. Volitelně můžete do „Key passphrase“ a „Confirm passphrase“ vyplnit heslo pro ochranu privátního klíče.

Důležité! V rámečku „Actions“ klikněte na „Save public key“ pro uložení veřejného klíče a „Save private key“ pro uložení veřejného klíče. Bez uložení klíče je celá akce k ničemu.

Linux / BSD / Mac OS X

Za předpokladu, že používáte OpenSSH, zadejte v terminálu následující příkaz:

  ssh-keygen -d

Budete dotázáni na cestu pro uložení klíče:

Generating public/private dsa key pair.
Enter file in which to save the key (/home/misko/.ssh/id_dsa): 

Můžete použít jakoukoliv cestu; výchozí je adresář .ssh/, kam se klient dívá automaticky.

Dále budete dotázáni na heslo pro ochranu klíče:

Enter passphrase (empty for no passphrase): 

Předání klíče pracovníku společnosti Trustica s.r.o.

Microsoft Windows

Zašlete e-mailem či jinak elektronicky obsah kolonky “Public key for pasting into OpenSSH authorized_keys file:

Zaměstnancem můžete být dotázáni na „fingerprint“ (otisk) klíče. “Key fingerprint“ se v obrázku nachází hned pod kolonkou „Public key …“.

Linux

Zašlete obsah souboru id_dsa.pub. Pokud jste použili výchozí nastavení, nachází se v adresáři ~/.ssh/. V opačném případě hledejte v cestě, kterou jste zvolili během generování.

Mac OS X

Pokud jste použili výchozí nastavení, je klíč uložen v souboru id_dsa.pub v adresáři ~/.ssh/. Nejsnazší způsob jak se k němu dostat je tento:

  • přejít do Finderu
  • přejít do domácího adresáře resp. zobrazit ho v novém okně (Cmd-Shift-N)
  • vyvolat volbu pro zadání adresáře (Cmd-Shift-G)
  • do vstupního pole zapsat .ssh
  • objeví se obsah adresáře včetně souboru id_dsa.pub
  • ten pomocí Drag&Drop přiložíme k mailu

Odkazy

 
obecne/ssh-klice.txt · Poslední úprava: 30.07.2016 18:52 (upraveno mimo DokuWiki)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki */ ?> --> */ ?>