Dovolím si pár připomínek.
1. Nemyslím si, že systémy u nichž je možné stáhnout certifikát resp.osobní klíč z webu musí být nutně rizikové. U Ge money např.obdržíte nejdříve na pobočce obálku s potvrzovacím kodem a až s jeho pomocí můžete z webu vygenerovat přístupový SSL a podpisový certifikát. Tato varianta je myslím bezpečná ale opravte mne pokud se pletu.
2. Myslím si, že systém DS by měl disponovat vlastní CA, provozovanou stejným poskytovatelem služby. Certifikát by měl být využit k autentizaci uživatelů, autorizaci přístupu, k podepisování a šifrování a to pro všechny (právnické i fyzické) uživatele systému DS. Výdej by pochopitelně nebyl zpoplatněn. Ve chvíli, kdy totiž stát zákonem používání Ds vnucuje nemuže pak chtít po uživateli peníze. U provozu vozidel lze nařídit povinné pojištění odpovědnosti protože kdo nechce nemusí vozidlo provozovat ale právnický subjekt DS mít musí.
Hm ale ten klíč banky se ukládá do browseru současně s importem do browseru vašeho privátního SSL klíče. A integrita Vašeho privátního klíče je zajištěna použitím důvěryhodného hesla z obálky při generování klíče. To heslo jste důvěryhodně získal přímo v bance. Nějaké podvržení falešného certifikátu banky tu tedy podle mne nehrozí.
Privátní klíč si generujete s použitím online nástroje na svém pc. Banka tedy nemůže mít váš privátní klíč ale má pouze jeho veřejnou část, kterou zabezpečeným kanálem bance při generování odešlete. Váš veřejný klíč může mít kdokoliv a nijak Vás neohrozí. Něco si o asymetrických systémech a https zjistěte než někoho nazvete magorem. Takto pak děláte hlupáka sám ze sebe.
To je jen pomocný termín;-) Důvěryhodným heslem myslím heslo, kterému já sám věřím protože mi ho dal někdo v bance. Předpokládám, že ten už podstrčen na tu přepážku není.
Pokud tedy je toto heslo použitelné pouze na nepodvrženém webu tak vím, že na nějaké kopii webu použít nepůjde. To je snad jasné ne?
Ach jo. Podvržený web může klidně dělat proxy (=man-in-the-middle) během komunikace s pravou bankou. Vy rozdíl nepoznáte, ale on bude znát vše co si s bankou tímto kanálem vyměňujete.
A man-in-the-middle útoku zabráníte jen ověřením identitity protistrany pomocí jejího public key nebo alespoň otisku. Žádné "heslo" co dostanete na přepážce vám nepomůže. Na přepážce musíte dostat OTISK klíče (fingerprint) a zkontrolovat ho s tím, co vidíte v těch dialozích po kliknutí na "zámeček". Nebo spoléhat na certifikační autority, věříte-li jim.
Studoval jste tu problematiku někdy?
V tomto případě si nedovedu představit jak by běžný uživatel generoval, ukládal a někam nosil veřejný klíč :-) Proto se veřejný klíč po vygenerování privátního na PC odesílá online. Jde jen o to zajistit prokazatelnou pravost certifikátu protějšku se kterým komunikujete (třeba banky) a to je oč tu běží.
Úplně ideální způsob je vygenerovat uživateli privátní klíč někam na kartu, zajistit aby ten privátní klíč nezůstal někde u toho kdo jej generuje a ukládá na kartu (což lze) a k němu se pak v systému uloží veřejný klíč. Karta se vydá osobně v bance uživateli a je vyděláno. Klíč pochopitelně nesmí jít z karty vykopírovat (klonovat) což opět technicky zajistit lze.
Jenže generování privátních klíčů v prohlížeči (o které jsem mluvil) není žádná online aplikace. Privátní klíč se objeví v certificate store a prohlížeč opustit nemůže.
Ano, až budete ten klíč chtít _použít_ (přihlásit se, něco podepsat atd.), tak samozřejmě musíte sledovat, na které stránce jste a jak je identita ověřena. Abyste náhodou nepodepsal něco jiného než jste chtěl. Ale to je něco jiného než vygenerování klíče a prohlížeč se vás na to zvlášť zeptá.
Prosím vás, uvědomte si jednu veledůležitou věc. Jakákoliv online aplikace je aplikace, kterou vám mohl podstrčit útočník, aby vygenerovala ten správný certifikát (který on umí přečíst), například tak, že negeneruje náhodná data. Nebo prostě odešle vygenerované klíče kromě vašeho disku na internet. Případně pouze odešle veřejný klíč útočníkovi, který bude tak laskav a pro komunikaci s vámi bude používat tento klíč, ale vaše údaje použije při komunikaci s vaší bankou pomocí vlastního klíče.
Jak plyne z článku, zcela zásadní je mít ověřenu identitu PŘED jakokoliv elektronickou komunikací. Bohužel třeba telefony ve firmě jdoucí přes VoIP asi nebudou také ten správný důvěryhodný zdroj. Jakékoliv heslo zadávané na útočníkovu stránku vás prostě nemůže ochránit. A že to je či není útočník si nemáte ověřit jak.
Musím tedy říct, že takto laxní přístup mě nepříjemně překvapil u banky, kde jsem zakládal účet. Certifikát, ani otisk jsem nedostal písemně, ani elektronicky. Přitom nechápu, proč nemůže autorita nebo banka investovat pár peněz a zvěčnit si certifikáty, třeba i s nějakou reklamou na CD placku, kterou bych si mohl na kontaktním místě vzít, nebo za symbolickou dvacku koupit.
Ale ono stačí uživateli vysvětlit, že bezpečné to je, když v prohlížeči je zelený adresní řádek, co? :-(
Ono je to jeste lepsi, CSOB/KB/... (tyhle dve specielne). Uplne klidne vam reknou (KB) "tak to odkliknete" - po reportu ze maj na webu neplatny certifikat.
Respektive nejdriv z vas delaji pitomce, takze tomu "pseudosupportu" 5x vysvetlujete, ze ten jejich postup jako smazat cache,cookies, ... je khovnu kdyz jejich web posila neplatnej certifikat.
Nakonec se mi po cca 5ti telefonatech povedlo je donutit dat mi nekoho kdo tomu rozumi, ten se ze me znudenym hlasem taky chvili pokousel delat idiota ... pak zmlknul a najednou prohlasil "zkuste to za 10 minut". A voiala, za 10 minut byl na webu platny certifikat.
Pokud vas privatni klic generujete nekde na webu, tak ste magor, jinak to nazvat nelze. Jediny bezpecny zpusob je nechat bance podepsat verejnou cast vaseho klice (samo se proto musite dostavit osobne) vygenerovaneho doma. Privatni cast vaseho klice totiz nesmi mit v zadnym pripade vubec nikdo - tedy ani ta banka.