Infrastruktura javnog ključa (engl. public key infrastructure, skr. PKI) je skup tehnologija, ljudi i politika čija je glavna svrha izdavanje i opozivanje digitalnih certifikata. Digitalni certifikat je skup podataka u elektroničkom obliku koji povezuju stvarne identitete korisnika internetskih usluga s njihovim javnim ključevima koji se koriste u šifriranju internetskog prometa u asimetričnoj kriptografiji. Infrastruktura javnog ključa složeni je sustav koji se sastoji od nekoliko različitih komponenti koje djeluju kao cjelina te osim što osiguravaju korisnicima sigurnost komunikacije na internetu, omogućavaju i forenzičarima rekonstrukciju događaja u slučaju incidenta. Kakogod, infrastruktura javnog ključa ima i svoje nedostatke i ranjivosti.
Ključne riječi: PKI; Digitalni certifikati; sigurnost; kriptografija, CA, forenzika
Video prezentacija: https://ferhr-my.sharepoint.com/:v:/g/personal/fg52615_fer_hr/EZ-QSMwnf41PrlZGmcbzMDcBQC4uAcFZufA6z64XyLoJpA
Razvojem interneta i internetskih usluga veliki broj poslovnih entiteta koristi internet bankarstvo i usluge elektroničkog poslovanja. Rezultat toga je kruženje velikog broja privatnih i osjetljivih podataka na internetu koje je potrebno zaštititi, odnosno sakriti od potencijalnih zlonamjernih napadača. Jedan način zaštite od napadača je šifriranje podataka koji putuju internetom. Asimetrična kriptografija tj. kriptografija javnog ključa metoda je šifriranja u kojem se koristi par ključeva koji se sastoji od javnog i privatnog ključa [1]. Kao što i imena ključeva govore, privatni ključ je poznat samo njegovom vlasniku i mora ostati tajan, dok javni ključ mora biti poznat svim entitetima koji sudjeluju u komunikaciji. Glavna karakteristika asimetrične kriptografije je da podatak može šifrirati bilo koji entitet uporabom javnog ključa, no dešifrirati podatak može samo entitet koji ima odgovarajući privatni ključ, odnosno drugi dio para ključa kojim je podatak šifriran. Problem koji se pojavljuje kod asimetrične kriptografije je način distribucije javnog ključa i dokazivanje da javni ključ pripada određenom entitetu. Navedeni problemi rješavaju se uporabom digitalnih certifikata koji se izdaju entitetima koji komuniciraju uporabom infrastrukture javnog ključa.
Digitalni certifikat je skup podataka u elektroničkom obliku koji predstavlja entitet koji sudjeluje u internetskoj komunikaciji [2]. Digitalni certifikat povezuje identitet entiteta i njegov javni ključ, odnosno potvrđuje da je određeni entitet vlasnik određenog javnog ključa. Osim informacije o javnom ključu entiteta, certifikat sadrži i informacije o vlasniku certifikata, izdavaču certifikata, datumu izdavanja i roku valjanosti. Informacije na digitalnom certifikatu pohranjene su u obliku ključ-vrijednost (slika 1).
Slika 1 Digitalni certifikat domene fer.unizg.hr prikazan u pregledniku Google Chrome
Pri pristupu određenoj web-stranici, internetski preglednik provjerava digitalni certifikat. Preglednici utvrđuju je li rok valjanosti certifikata istekao, provjeravaju izdavača certifikata i je li entitet koji posjeduje certifikat zapravo njegov vlasnik. Ako netko pokuša predstaviti tuđi certifikat kao svoj, pa čak i izmijeni podatak o vlasniku na certifikatu, preglednik će preko digitalnog potpisa izdavača certifikata utvrditi da certifikat nije valjan [6]. Digitalni potpis nastaje tako da se od svih podataka na certifikatu napravi sažetak (engl. hash) i taj sažetak šifrira privatnim ključem izdavača. Internetski preglednik tada može javnim ključem izdavača dešifrirati sažetak i usporediti ga sa sažetkom kojeg napravi od podataka na certifikatu. Ako su sažetci jednaki, preglednik može potvrditi certifikat jer zaključuje da podaci na certifikatu nisu izmijenjeni.
Infrastruktura javnog ključa (engl. public key infrastructure, skr. PKI) je skup sklopovlja, programske podrške, ljudi, politika i procedura potrebnih za stvaranje, upravljanje, izdavanje, korištenje, pohranjivanje i opozivanje digitalnih certifikata [2]. Glavna svrha PKI je na siguran način osigurati razmjenu i korištenja javnih ključeva u internetskoj komunikaciji [3]. Kada se koristi uz asimetričnu kriptografiju, PKI osigurava:
PKI se koristi u raznim sustavima. Najčešće se koristi putem HTTPS protokola, no primjenjuje se i u SSL i IPsec protokolima, kao i u standardima S/MIME i PGP za osiguravanje sigurnosti elektroničke pošte.
Osnovni dijelovi infrastrukture javnog ključa su: certifikacijsko tijelo, registracijsko tijelo, centar za pouzdano vremensko označavanje, certifikacijska politika i pravilnik rada. Ostali dijelovi su: repozitorij u kojem su pohranjeni certifikati, klijenti tj. aplikacije koje provjeravaju certifikate i korisnici tj. vlasnici certifikata.
Certifikacijsko tijelo (engl. Certificate Authority, skr. CA) najvažniji je dio infrastrukture javnog ključa [4]. Certifikacijsko tijelo bavi se izdavanjem i opozivanjem digitalnih certifikata, kao i održavanjem informacija o stanju certifikata. Kako bi izdalo digitalni certifikat određenom entitetu, certifikacijsko tijelo potpisuje certifikat svojim privatnim ključem. Drugi entiteti pomoću javnog ključa certifikacijskog tijela mogu potvrditi da je određeni certifikat valjan tj. potvrđen od tog tijela.
U PKI može postojati veliki broj certifikacijskih tijela. Certifikacijsko tijelo može izdati digitalni certifikat drugom certifikacijskom tijelu čime nastaje hijerarhija certifikacijskih tijela. Na najvišoj razini te hijerarhije nalazi se korijensko certifikacijsko tijelo koje samostalno potpisuje svoj digitalni certifikat.
Registracijsko tijelo (engl. Registration Authority, skr. RA) je dio PKI koji obavlja provjeru entiteta koje od certifikacijskog tijela zahtjeva certifikat. Registracijsko tijelo opcionalan je dio PKI te njegove funkcije često obavlja samo certifikacijsko tijelo [4]. Registracijsko tijelo dobavlja informacije o entitetu koji zahtjeva certifikat i skupom provjera potvrđuje ili odbacuje zahtjev entiteta. Te provjere mogu biti složene ili jednostavne poput provjere postoji li već na razini PKI ime entiteta s istim javnim ključem [3]. Jedno certifikacijsko tijelo može imati više registracijskih tijela za različite skupine entiteta (slika 2).
Slika 2 Primjer hijerarhije certifikacijskih i registracijskih tijela, modificirano s [2]
Certifikacijska politika (engl. Certificate Policy, skr. CP) je dokument u kojem je opisana infrastruktura javnog ključa, kao i njena svrha te svi njeni dijelovi. Ova politika također sadrži određena pravila koje organizacija mora primjenjivati u svome radu te određuje tko i kako može raditi s infrastrukturom kao i pristupati i obrađivati njene podatke [3].
Pravilnik rada (engl. Certificate Practice Statement, skr. CPS) je skup pravila koji reguliraju način rada certifikacijskog tijela. U pravilniku se nalazi detaljan opis životnog ciklusa digitalnog certifikata koje certifikacijsko tijelo izdaje. Životni ciklus uključuje faze stvaranja, izdavanja, održavanja, pohrane i opozivanja certifikata [4]. U pravilniku se također nalaze pravila pomoću kojih registracijsko tijelo provjerava entitete koji su podnijeli zahtjev za digitalnim certifikatom. Glavni cilj ovog pravilnika je stvoriti osjećaj povjerenje u cjelokupnu infrastrukturu kod svojih korisnika.
Centar za pouzdano vremensko označavanje (engl. Timestamp Authority, skr. TSA) važan je dio PKI koji pomoću vremenskih žigova (engl. timestamps) osigurava pouzdanost digitalnog certifikata čak i nakon njegovog opoziva ili isteka valjanosti [2]. TSA je koristan u sljedećoj situaciji: pošiljatelj šifrira poruku koju šalje svojim privatnim ključem. Pošiljatelj ima važeći certifikat za javni ključ koji je par od privatnog ključa kojim je šifrirao poruku, ali prije dolaska poruke do primatelja, valjanost tog certifikata ističe. Kada se ne bi koristio TSA, primatelj ne bi mogao vjerovati primljenoj poruci jer ne postoji važeći digitalni certifikat s javnim ključem pošiljatelja. TSA u poruku ugrađuje vremenski žig pomoću kojeg se može potvrditi da je poruka šifrirana prije isteka valjanosti certifikata.
U komunikaciji dva entiteta, pošiljatelj prije slanja dokumenta primatelju šalje sažetak dokumenta u TSA kako bi dobio vremenski žig. TSA na sažetak dokumenta dodaje vremenski žig i od svega zajedno radi novi sažetak. Novom sažetku ponovno pridružuje vremenski žig i sve zajedno šifrira svojim javnim ključem. Pošiljatelj na dobiveni šifrant nadodaje originalni dokument i sve zajedno šifrira svojim privatnim ključem te šalje prema primatelju (slika 3).
Slika 3 Postupak dodjeljivanja vremenskog žiga, modificirano s [2]
Primatelj primjenu poruku dešifrira javnim ključem pošiljatelja te razdvaja poruku na originalni dokument, vremenski žig i šifrant koji je napravio TSA. Potom, pošiljatelj javnim ključem TSA dešifrira šifrant i razdvaja ga na sažetak originalnog dokumenta i vremenskog žiga te na sam vremenski žig. Potom od originalnog dokumenta i dobivenog vremenskog žiga izračuna novi sažetak i uspoređuje ga s onim dobivenim iz šifranta (slika 4). Ako su sažetci jednaki, dokazano je da su i vremenska oznaka i dokument nepromijenjeni te da je TSA izdao vremenski žig. Ako sažetci nisu jednaki, to znači ili da je poruka izmijenjena tijekom puta kroz mrežu ili da vremensku oznaku nije izdao sam TSA.
Slika 4 Postupak provjere vremenskog žiga, modificirano s [2]
Infrastruktura javnog ključa, uz sve sigurnosne zahtjeve koje ispunjava, ima i svoje ranjivosti. Jedna od najveće ranjivosti PKI je sigurnost odnosno tajnost privatnog ključa [5]. Ako napadač uspije doći do privatnog ključa bilo kojeg entiteta, PKI gubi svoja svojstva tajnosti, autentičnosti i neporecivosti jer napadač može dešifrirati poruke namijene žrtvi i slati poruke drugim entitetima u ime žrtve. Iz tog razloga, iznimno je važan način pohrane i zaštite privatnog ključa.
Autentičnost certifikacijskog tijela isto je jedna od većih ranjivosti PKI. Kao što je već navedeno, certifikacijska tijela također imaju svoje digitalne certifikate koje potpisuju druga certifikacijska tijela čime nastaje hijerarhija. Kakogod, u svakoj hijerarhiji uvijek postoji korijensko certifikacijsko tijelo koje potpisuje sam svoj certifikat. Napadač, u pokušaju da prevari žrtve, može sam napraviti korijensko certifikacijsko tijelo kojim će potpisivati lažne digitalne certifikate kako bi se pretvarao da je netko drugi.
Također, pravila po kojim certifikacijsko ili registracijsko tijelo izdaje entitetima digitalne certifikate nisu univerzalno propisana, već ih određuju vlasnici certifikacijskih tijela. Ta pravila mogu biti loše propisana i moguće je da ih napadač uspije zaobići i dobiti certifikat od inače dobronamjernog certifikacijskog tijela.
Još jedna ranjivost PKI je način na koji je entitet povezan s njegovim javnim ključem na digitalnom certifikatu. Na većini certifikata javni ključ je povezan samo s imenom entiteta koji ga posjeduje. Dok je to sasvim dovoljno u manjim sustavima, u većim se može dogoditi da postoje dva entiteta s istim imenom, što napadači mogu iskoristiti da zavaraju entitet kojem šalju poruke. U takvim situacijama, javni ključ je povezan s imenom i s još nekim informacijama, ali to često ne bude dovoljno primateljima poruka da razluče jesu li poruku dobili od pošiljatelju kojeg poznaju ili potencijalno od zlonamjernog napadača.
Zbog sigurnosnih svojstva autentičnosti i neporecivosti, PKI ima važnu ulogu u računalnoj forenzici. Na digitalnim certifikatima je povezano ime entiteta s njegovim javnim ključem, pa ako dođe do određenog sigurnosnog incidenta, forenzičari mogu doći do digitalnih dokaza koji potvrđuju koji su entiteti sudjelovali u komunikaciji i koje su transakcije inicirali. Svojstvo neporecivosti onemogućuje entitetima poricanje završenih transakcija, no vrlo je bitno da forenzičari provjere i certifikacijsko tijelo koje je entitetima potpisalo digitalne certifikate, kako bi ustanovili da se radi o vjerodostojnom certifikacijskom tijelu, a ne tijelu koji su podmetnuli zlonamjerni napadači.
Problem forenzičara kod ovakvog pristupa je činjenica da su podaci šifrirani tijekom komunikacije. Kako bi dešifrirali podatke, forenzičari moraju doći do privatnog ključa entiteta. Privatni ključ se ne može dohvatiti preko infrastrukture javnog ključa jer je pohranjen na strani entiteta, pa je potrebna suradnja entiteta pri njegovom dohvatu.
Sve veća uporaba elektroničkog poslovanja povlači i sve veću potrebu za sigurnosti i zaštitom prometa koji se generira. Uporabom asimetrične kriptografije, infrastrukture javnog ključa i digitalnih certifikata osiguravaju se svojstva autentičnosti, tajnosti, cjelovitosti i neporecivosti internetske komunikacije. Digitalni certifikati, osim za povezivanje entiteta s njihovim javnim ključem imaju i značajnu ulogu u rekonstruiranju događaja i praćenju kriminalnih aktivnosti u računalnoj forenzici. Kakogod, sama infrastruktura javnog ključa ima svoje ranjivosti koje napadači mogu iskoristiti da zavaraju žrtve, pa čak i neoprezne forenzičare. Shodno tome, važno je uz provjeru digitalnog certifikata, napraviti provjeru i entiteta kome certifikat pripada, ali i certifikacijskog tijela koje je potpisalo certifikat.