Cijeli sustav PKI-a se temelji na jednom konceptu koji je u osnovi iskrivljen: lancu povjerenja. Onaj koji pristupa nekom dokumentu mora vjerovati onome koji izdaje certifikat koji je korišten u zaštiti. A taj koji izdaje certifikat je možda opet dobio svoj certifikat od nekog u lancu iznad njega, pa implicitno vjerujemo i onom iznad, o kojem možda ne znamo baš ništa. I tako sve do kuće koja izdaje vršni certifikat - root certification authority.
Dodatni problem je što popularni root certifikati dolaze predinstalirani na našim Windowsima ili s našim preglednicima. Od kuda možemo znati da je instalacijski paket došao do nas na pouzdan način i da ti certifikati nisu zapravo falsifikati? Možemo li vjerovati samim kućama i procesima koje one koriste u pripremi tih instalacijskih paketa? Koliko sve nepoznatih ljudi sudjeluje u toj priči?
Ovo su teorijska razmatranja, naravno, ali pokazuju ključni problem s tom infrastrukturom. Da ne ulazimo u detalje oko povlačenja certifikata i pravovremene propagacije te informacije…
Poanta je slijedeća: bit, temelj sigurnosti u ovom procesu je povjerenje. Trgovački gledano, najbolje je kupiti certifikat od onog certifikacijskog autoriteta koji uvažava najveće povjerenje u industriji i među krajnjim potrošačima.
Drugi aspekt PKI-a je sigurnost tzv. autentifikacijskih poslužitelja. Njih pogone certifikacijski autoriteti koji izdaju root certifikate i za cijeli sustav sigurnosti ključno je da ti poslužitelji nisu kompromitirani, tj. da si nitko ne osigura neautorizirani pristup (pristup imaju samo djelatnici kuće kojoj smo dali gore opisano “povjerenje”).
Pravno gledano, najbolje je onda imati certifikat od kuće iza koje stoji i nekakva garancija, tipično u obliku osiguranja odštete. Naravno, treba razumjeti što ta garancija zapravo pokriva.
Ilustracije radi, tipična situacija kod naših banaka je da one same sebe proglase certifikacijskim autoritetima i izdaju vlastite root certifikate. U tome nema ništa loše - tko bolji od banke, pošto njoj po definiciji, pa i po zakonu dajemo povjernje. Problem je što oni onda distribuiraju svoj root certifikat tako što ga objave na svojim web-stranicama kojima se pristupa otvoreno, kao bilo kojoj drugoj stranici na internetu! Dovoljno je da se napadač “ubaci” u žrtvinu vezu i razriješi zahjev njenog preglednika za “www.mojabanka.hr” u IP adresu napadačevog servera na kojem je složio iste web-stranice kakve ima banka, ali gdje je objavio svoj vlastiti root certifikat. I infiltrirao se u sustav. Tipičan način na koji se to radi je “phishing” emailovima koji, kao, dolaze od banke i pozove se klijent da obnovi svoj certifikat. Ali moguće su i tehničke intervencije.
Drugi način je da banka koristi root-certifikat neke dobre kuće poput VeriSigna. To je sve pet, ali se meni osobno ne čini baš pravno utemeljenim da ja - koji sam zakonom dužan dati povjerenje svojoj banci - od svoje banke budem prisiljen dati povjerenje i nekakvom poduzeću iz Amerike čiji sam root-certifikat dobio instaliran na svom kućnom računalu, a za što banka ne odgovara. Koga ću ja tužiti u slučaju probijanja sigurnosti?
No, to je sve samo moje mišljenje. Ja nisam čuo niti jednog “velikog” stručnjaka iz Hrvatske da o tome govori, pa valjda ja nešto tu ne vidim kako spada.
Moje osobno mišljenje jest da država treba pomoću FINA-e osigurati certifikacijski server (to je zapravo već i učinjeno, FINA izdaje smart-kartice) i root-certifikat FINA-e treba biti dostupan svakom građaninu RH na način da ga fizički i osobno podigne na CD-u u poslovnici FINA-e, gdje će i potpisati da ga je primio.
Onda se ostale institucije platnog prometa, kao i općenito državna e-uprava može vezati na to.
Konačno, svaki građanin bi (idejno govoreći) mogao dobiti osobnu iskaznicu s čipom na kojem bi bio pohranjen i njegov osobni certifikat (dakle smart-karticu), koji bi građanin mogao, ako želi, koristiti za različite potrebe. Između ostalog, za pristup do svog portala na stranicama državne e-uprave, za slanje kriptiranih e-mailova, za dokazivanje svog identiteta na različitim servisima na internetu i sl.