Avaliku võtme taristu

**Avaliku võtme taristu** ehk **PKI** (inglise keeles *public key infrastructure*) on süsteem, millesse kuuluvad IT vahendid, inimesed, poliitikad ja protseduurid avalike võtmete sidumiseks kasutajate identiteetidega, tavaliselt digitaalsertifikaatide abil; mehhanism andmete ja sidekanalite kaitsmiseks avaliku võtme krüptograafia abil. PKI ühendab küberruumi osalised reaalse maailmaga, annab neile identiteedi ja loob selle läbi usalduse. See võimaldab elektroonilise suhtluse osapooli turvaliselt autentida, infovahetust krüpteerida ning sõnumeid ja dokumente allkirjastada. PKI hõlmab nii tehnoloogilisi kui organisatoorseid meetmeid, näiteks nii kokkuleppeid võtmete formaadi kohta kui reegleid selle kohta, kuidas peab sertifikaadi saajat tuvastama ja sertifikaadi väljaandjat auditeerima. 

PKI kitsamas mõttes on tehnoloogia või süsteem sertifikaatide väljaandmiseks, nende kehtivuse kontrollimiseks ja vajadusel tühistamiseks. Laiemas mõttes kuuluvad PKI alla ka seotud tarkvara ja teenused, andmeformaadid, protsessid, standardid ja õigusruum. 

PKI-l põhineb näiteks tavaline veebiliikluse protokoll HTTPS. PKI abil on turvatud ka interneti domeenimede süsteem ja e-posti saatmine. Eestis kasutatakse seda tehnoloogiat elektroonilises identiteedis – eID (ID-kaart, mobiil-ID, digi-ID, e-residendi digi-ID).

### Võtmed ja sertifikaadid
Avaliku võtme süsteemis on igal osapoolel üks või mitu avalikku krüptograafilist võtit (ehk krüptovõtit). Kuna krüptovõti on lihtsalt suur arv, siis on võtme kasutamiseks (selle usaldamiseks) vaja teada, kellele see kuulub. PKI seob avalikud võtmed nende volitatud omanike või kasutajatega. Võtme omanik võib olla nii füüsiline isik (näiteks ID-kaardi kasutaja), organisatsioon (näiteks veebiserverit haldav ettevõte) kui pseudonüüm (näiteks elektronposti kasutajanimi). Harilikult levitatakse avalikke võtmeid digitaalsete sertifikaatidena. Sertifikaat on kindlas formaadis digitaalne dokument, milles sisaldub avalik võti, selle valdaja informatsioon ja tihti ka lisainfo sertifikaadi kehtimise, kasutuspiirangute ja muu kohta. 

Tänapäeval on enamik sertifikaate X.509 vormingus. Sertifikaate saab näha näiteks läbi veebibrauserite; enamik neist näitab aadressiribal tabaluku ikooni, millel vajutades näitab brauser veebserveri sertifikaati ja selle detaile. 

### Sertifikaatide väljaandjad

Sertifikaate väljaandjad on sertifitseerimisteenuse osutajad (ingl ''certification authority''), kelle esmane ülesanne on kontrollida sertifikaadi taotleja isikut või volitusi. Veebiserverite sertifikaatide puhul kontrollitakse enamasti taotleja võimet hallata internetidomeeni, millele ta sertifikaati taotleb, kuid võidakse kontrollida ka vastava organisatsiooni reaalset olemasolu, selle omandivormi vms. Isikusertifikaatide välja andmisel kasutatakse erinevaid kontrolli- ja usaldustasemeid. Euroopa Liidus reguleerib neid tasemeid ning neile vastavaid turvanõudeid eIDAS määrus. Sertifikaatide väljaandjad on enamasti suured organisatsioonid, mis tagavad oma süsteemide ja protsesside turbe läbi turvastandardite ning regulaarse auditeerimise.

Sertifitseerimisteenuse osutajad levitavad enda avalikke võtmeid samuti läbi sertifikaatide. Need on omakorda signeeritud järgmise taseme sertifikaatidega. Sellisel viisil tekivad sertifitseerimisahelad või -hierarhiad, mille tippe nimetatakse juursertifikaatideks (ingl ''root certificate''). Igas tänapäevases arvutis, nutitelefonis või muus seadmes on sisseehitatud nimekiri usaldatud juursertifikaatidest. Ka kõikidel vahe- ja juursertifikaatidel on oma kehtivusaeg ja piirangud (profiil), mis kirjeldavad sertifikaaditüüpe, mida selle ahela haru kaudu välja anda ja kontrollida saab. Nii ei saa Eesti ID-kaarti jaoks kasutatava sertifitseerimisahela abil välja anda veebiserverite ehk TLS-protokolli serverite sertifikaate, küll aga saab välja anda TLS protokolli kliendi sertifikaate.  

Sertifitseerimishierarhiad on tihti küllalt keerukad, kuna juursertifikaadid ja vahesertifikaadid kehtivad kaua (kümneid aastaid), selle ajaga jõuavad aga nii teenused kui ettevõtted muutuda. Hierarhiad peavad aga sisaldama informatsiooni kõikide tehniliselt kehtivate sertifikaatide kontrollimiseks. Näidisena on lisatud joonis Sertifitseerimiskeskuse (SK ID Solutions AS) hierarhiast. 

Juursertifikaatide aegumine on tihti üleilmne probleem, kuna sellega võivad kaasneda teenuste tõrked vanemates infosüsteemides.

### Sertifikaatide tühistamine ja kontrollimine
PKI põhineb eeldusel, et sertifikaate on võimalik tühistada. Võimalikud põhjused on võivad olla võtme või võtmekandja hävimine (näiteks ID-kaardi kadumine), sertifikaadile vastava privaatvõtme leke, sertifikaati kasutava ettevõtte lõpetamine või füüsilise isiku surm. Seega peavad eksisteerima mehhanismid või teenused nii sertifikaadi ajutiseks peatamiseks kui lõplikuks tühistamiseks. Eesti ID-kaardi sertifikaate saab tühistada Politsei- ja Piirivalveametis. 

Sertifikaadi kasutaja (usaldaja), näiteks veebiserveri poole pöörduv brauser või digitaalselt allkirjastatud dokumendi saaja, peavad suutma sertifikaadi olekut kontrollida. Selleks on kaks põhilist võimalust:

* Tühistusnimekiri ehk CRL (ingl ''Certificate revocation list''), mis on sertifitseerimisteenuse osutaja poolt peetav ja jagatav nimekiri kõikidest nende poolt välja antud, kuid hiljem tühistatud sertifikaatidest;
* Kehtivuskinnituse teenus, mis on OCSP protokollil põhinev sertifikaatide oleku kontrollimise mehhanism. 

Kõik tänapäevased brauserid ja muud PKI implementatsioonid sisaldavad eelistatud mehhanismina OCSP lahendust. 

Informatsioon sertifikaadi kehtivuse kontrolli võimaluste kohta (näiteks OCSP teenuse serveri aadress) on enamasti kirjas sertifikaadis. 

### PKI kasutus internetiprotokollides
Tänapäeval kasutavad praktiliselt kõik levinud turvaprotokollid võtmete levitamiseks ja kontrollimiseks PKI-d. Erandiks on vaid need protokollid, mis töötavad ühe ettevõtte või katusorganisatsiooni sees ning kus on seetõttu võimalik jagatud võtmete või paroolide kasutamine.

Levinud võimalus on tunneldada mitteturvaline protokoll PKI-põhise transpordikihi turbeprotokoll sisse, lisada uue tekkinud protokolli nimele "*Secure*" või "*over SSL*" ja lühendile "S". Nii on tekkinud näiteks HTTPS, IMAPS, SRTP ja FTPS. 

Interneti domeeninimede süsteemi DNS turvalaiendused (DNSSEC) kasutavad PKI-d nimepäringute ja nende vastuste turvamiseks. 

E-posti turbeprotokollid S/MIME ja DKIM kasutavad PKI-d e-posti krüpteerimiseks, allkirjastamiseks ja saatja autentsuse kontrollimiseks.

Sisuliselt kogu avalikult levitatav tarkvara, nii lauaarvutite operatsioonisüsteemide oma kui mobiilirakendused, on PKI abil signeeritud. See võimaldab nii tarkvara levitajal (näiteks Apple, Microsofti või Google rakenduste poel) kui lõppkasutaja seadmel (arvutil või nutitelefonil) kontrollida tarkvara allikat ja terviklust. 

Maksekaartide protokoll EMV kasutab PKI-d nii maksekaartide kui ka kaarditerminalide autentimiseks.

Üks esimesi PKI rakendusi oli Pretty Good Privacy, ilma keskse võtmehalduseta rakendus failide ja sõnumite signeerimiseks ja krüpteerimiseks. Tehnilises sõnumivahetuses (näiteks turvaintsidentidest teavitamisel) on PGP endiselt kasutusel.

### Eesti elektrooniline identiteet
Eesti ID-kaart ja sellega seotud teenused on avaliku võtme taristu, mis seob riigi kodanikud ja residendid nende digitaalse identiteediga. Seeläbi saab riik pakkuda ja kodanikud kasutada digitaalseid teenuseid. Eesti PKI otsesed osalised on Politsei- ja Piirivalveamet kui ID-kaartide väljaandja, Riigi Infosüsteemi Amet kui vastutav asutus, SK ID Solutions kui sertifikaatide väljastaja ning Idemia kui kaartide tootja. Kaudselt on seotud veel operatsioonisüsteemide ja brauserite tootjad kui juursertifikaatide levitajad, Euroopa Liit kui usaldusnimekirjade hoidja, audiitorfirmad kui usalduse kontrollijad jne. 

Samal ajal kasutab riik ka teisi PKI teenuseid. Näiteks RIA veebilehtede sertifikaadi on (2021. aasta detsembri seisuga) välja andnud USA ettevõte en:DigiCert.

Eesti usaldusteenuste nimekirja peab ja avaldab Riigi Infosüsteemi Amet oma vastaval veebilehel.

### Avaliku võtme taristu puudused ja eelised
Avaliku võtme krüptograafia on matemaatiliselt keerukas ja ebaefektiivne. Sama andmemahu krüpteerimine sümmeetrilise algoritmiga on palju kiirem kui avaliku võtme algoritmi abil. 

Avalike võtmete abil tehtud operatsioonide kontrollimine on ka väga veaaldis, kuna tuleb kontrollida kogu sertifikaatide ahelat lõppkasutajast kuni juursertifikaadini koos kõikide lisatingimustega (sertifikaatide kehtivus, lisatingimused ja sertifitseerimisprofiilid jne). Eesti ID-kaartide turvavigadest annavad hea ülevaate Arnis Parsovsi põhjalikud teadustööd.  

Usalduse võib arvutisüsteemides tagada ka muul viisil, kasutades näiteks paroole või omavahel kokku lepitud ühiseid krüpteerimisvõtmeid. Need mehhanismid on tihti lihtsamad, kuna ei nõua kolmandaid osapooli (sertifitseerimisteenuse osutajad) ja ei sõltu neist.

PKI eelis on võimalus delegeerida usaldus kolmandale osapoolele – sertifitseerimisteenuse osutajale, riigile või regulaatorile. Eestis ei pea uue elektroonilise teenuse looja kõiki kodanikke enda teenusele tutvustama, neile paroole andma ega neid haldama; kasutajahalduse eest hoolitseb riik. Samuti saavad kõik internetikasutajad veenduda mistahes HTTPS-serveri autentsuses ning veenduda selles, et andmevahetus nende arvuti ja serveri vahel on krüpteeritud – selle eest hoolitseb nende arvutisse ette konfigureeritud, kasutajale enamasti nähtamatu PKI. 

Samuti välistab PKI tehnoloogia mastaapsed kasutajaparoolide või muude jagatud saladuste lekked. 

## Vaata ka
*Avaliku võtmega krüptograafia
*eIDAS, e-identimise ja e-tehingute usaldusväärsuse määrus
*E-identimise ja e-tehingute usaldusteenuste seadus
*Transpordikihi turbeprotokoll
*Võtmete allkirjastamise pidu
*Sertifitseerimiskeskus ja nende osutatavad või nendega seotud PKI-teenused

## Viited

## Välislingid
*Elektrooniline identiteet eID RIA veebilehel
*Eesti eID ökosüsteemi kirjeldavad videod RIA Youtube'i kanalis
*ID kaardi ökosüsteemi populaarteaduslik kirjeldus RIA veebilehel