Principal je autorizované jméno pro certifikát, v případě serverového jde o jméno serveru, u uživatelského jde o jméno uživatele. Seznam principals se zadává za volbu -n
programu ssh-keygen
. Opravdu je to trochu zamlžené, za to se omlouvám.
Jinak mým cílem samozřejmě není okopírovat celé manuálové stránky, spíše mi jde o to ukázat, jaké možnosti jsou k dispozici a jak se dají prakticky použít.
Nezkousel jsem ale co treba tohle ? http://roumenpetrov.info/openssh/
Certifikaty obecne slouzi ke zjednoduseni zprostredkovani duvery. T.j. mam jednu certifikacni autoritu, ktere vsichni duveruji. Neni pak napriklad potreba, aby server znal vsechny uzivatele predem. Staci, kdyz server uznava nejakou CA, a uzivatel se prokaze certifikatem od one CA.
Takze mne tak napada, firma, ktera provozuje 100 stroju, na ktere se hlasim pres SSH si u vsech podepise privatni klic jednou CA. Kdyz se pak budu na nektery z tech stroju hlasit, muzu si bit jist jejich autenticitou, protoze znam certifikat.
Ma nejaky vyznam podepisovani klice u klienta?
U uživatelů je to obdobné. Naimportuju na server certifikát od CA a řeknu OpenSSH, že všichni, kdo mají certifikát od té CA, se mohou přihlásit. Samozřejmě je pak potřeba nějaký mechanismus, jak na tom stroji mít uživ jména a spol. ALe to se dá řešit přes LDAP, kopírování, atd... Prostě možnosti tu jsou :-)
Jinak řečeno, certifikát obecně slouží k tomu, že entita A (Alice) potká CA, entita B (Bob) potká CA a pak se A s B můžou navzájem ověřit, aniž by předem potřebovali cokoliv víc, než jendou potkat tu CA....
revalidace - nevim jak kde, ale u nas je to peklo, ktere se vyzaduje :D takze mas casove omezeny access, napr. 1 rok; otazka je, jak uzivatele pouzivajici ssh upozornit, ze si ma udelat revalidaci, aby chudak pak necekal tyden, nez mu manazer potvrdi, ze mu opravdu maji novej klic podepsat :)
Je potřeba si uvědomit roli jednotlivých kryptografických objektů. Certifikát jako takový je veřejná věc. Je naprosto běžné, že si CA nechává kopii všech certifikátů, které vystavila. Pak není problém je projet a patřičné uživatele upozornit. Pokud by nevadilo vystavení certifikátu na staré klíče, pak je možné rovnou vystavit nový certifikát a ten uživateli poslat (třeba po kontrole nějakým tím mananagerem).
Stejně tak je možné (nevím, zda OpenSSH dělá) poslat celý certifikát SSH serveru s tím, že uživatel k němu bude mít přístup (třeba v nějaké ENV proměnné). Pak ho může zkontrolovat jakákoliv userspace aplikace.