PKI infrastruktura
Temu izradio: Ivan Martinčić
Sadržaj |
UVOD
Temelji PKI infrastrukture sežu u 1976. godinu kada su po prvi put objavljeni algoritmi temeljeni na asimetričnim ključevima. Snažno se proširila i razvila tijekom posljednjih desetljeća zbog velike potražnje za PKI servisima. Implementacijom i upotrebom infrastrukture javnog ključa stvaraju se prednosti unutar sigurnosti informacijskih sustava organizacije. PKI infrastruktura se zasniva na kriptografiji javnog ključa.
KRIPTOGRAFIJA
Kriptografija je znanost bazirana na primijenjenoj matematici. Riječ dolazi od grčkog pridjeva kriptós „skriven“ i glagola gráfo – „pisati“. Nikad nije točno utvrđen početak kriptografije, ali se smatra da je počela prije više od 2000g. pr. Kr. jer iz tog vremena potječu prvi pronađeni tragovi šifriranja. U Rimskom Carstvu Julije Cezar je u državnim komunikacijama koristio jednostavnu supstituciju koja je kasnije nazvana „caesar“ šifriranje. Ideja je bila u pomicanju svih slova za tri mjesta unaprijed. Kriptografija se snažno počela razvijati razvojem računala. 1970. godine IBM razvija šifru pod nazivom Lucifer prema kojem je kasnije stvoren DES (Data Encryption Standard)
Izvor [1]
Simetrična kriptografija
Simetrična kriptografija ili kriptografija tajnog ključa je vrsta kriptografije u kojoj je moguće poznavanjem ključa kojim je poruka kriptirana doći do ključa za dešifriranje poruke. Pojam simetrična veže se uz simetričnost izračunavanja ključa za šifriranje/dešifriranje. Sigurnost i tajnost temeljene na simetričnoj kriptografiji oslanja se na tajnost navedenih ključeva. Primjeri simetričnih algoritama:
DES – razvijen od strane IBM-a. Fiksiran je na dužinu od 56 bitova
3DES – Trostruki DES. Trostrukim kriptiranjem povećana je otpornost i efektivnost DES algoritma. Dužina mu je 168 bitova
RC5 – ima mogučnost šifriranja blokova veličine 64 ili 128 bitova, a podržava duljinu ključa do 2048 bitova
AES – temelji se na simetričnom Rijndael algoritmu, a kao standard je razvijen da postupno zamjeni DES. Šifrira blokove veličine 128 bitova, a duljina ključa može biti 128,192 ili 256 bitova
Izvor [2]
Asimetrična kriptografija
Asimetrična kriptografija ili kriptografija javnog ključa je vrsta kriptografije gdje se koriste dva različita ali matematički povezana ključa. Ti ključevi su javni i tajni ključ. Javni ključ je objavljen i poznat svima, a služi za šifriranje poruke. Dešifriranje poruke obavlja se korištenjem tajnog ključa poznatog samo primatelju poruke. Iz jednog ključa je nemoguće izračunati drugi. Asimetričnost je postignuta korištenjem asimetričnih matematičkih algoritama. Primjeri asimetričnih algoritama:
RSA – najrasprostranjeniji algoritam javnog ključa. Ključ može biti dužine 1024 bitova
ECC – kriptografija eliptične krivulje
DSA – algoritam dizajniran za potpisivanje, verifikaciju te integritet podataka
Izvor [3]
Kvantna kriptografija
Relativno nova grana kriptografije koja se bavi sigurnošću kada se kvantna računala krenu koristiti. Kvantna kriptografija opisuje uporabu efekata kvantnih mehanizama za izvođenje kriptografskih zadataka.
Zasniva se na Heisenbergovom načelu neodređenosti. To osnovno načelo kvantne mehanike definira da mjerenje jednog svojstva kvantne čestice, na primjer fotona, mijenja njegovo stanje te onemogućuje poznavanje drugih njegovih svojstava prije samog mjerenja.
Razmjena tajnog ključa u kvantnoj kriptografiji obavlja se kvantnim česticama, najčešće fotonima. Ako napadač presretne informacije o tajnom ključu, svojim mjerenjem će toliko utjecati na čestice da će pošiljatelj i primatelj s lakoćom ustanoviti prisutnost
napadača i točnu količinu informacija koje je presreo. Jedan od najraširenijih protokola koji se koristi za distribuciju ključeva u kvantnoj kriptografiji je BB84 protokol. On se koristi činjenicom kvantne mehanike da prisluškivanje kvantnog komunikacijskog kanala neizbježno uzrokuje poremećaj u informacijama koji upozorava korisnike na prisutnost napadača
Izvor [4]
Izvor [5]
INFRASTRUKTURA JAVNOG KLJUČA
"PKI(eng. Public Key Infrastructure) infrastruktura je skupina programa, sklopovlja, ljudi, sigurnosnih politika i procedura potrebnih za kreiranje, upravljanje, pohranjivanje te povlačenje digitalnih certifikata"[6]
PKI infrastruktura je osnova na kojoj se grade druge aplikacije, sustavi i ostale komponente sigurnosnih mreža
Komponente sustava
Slika 1. Komponente PKI infrastrukture [7]
Osnovne komponente sustava su:
Krajnji entiteti - svaki korisnik ili objekt koji treba digitalni certifikat iz nekog razloga. Moraju imati sposobnost generiranja javnog ključa te pohrane i korištenja privatnog ključa
Certifikacijski centar (CA) - entiteti kojima "vjeruje" jedan ili više korisnika, a služi za kreiranje i dodjelu javnih ključeva certifikata
Certifikacijska pravila (CP) - skup pravila koja uključuju primjenjivost javnih ključeva certifikata za određenu zajednicu ili klasu aplikacija s osnovnim sigurnosnim zahtjevima
HSM - osnovna komponenta CA entiteta, koja omogućava uspostavu povjerenja ne samo s klijentima određenog CA, nego i svima koji ovise o certifikatima izdanih od krajnjih entiteta
Javni ključ certifikata - služi kao potvrda povezivanja identiteta krajnjeg korisnika i njegovog javnog ključa. Sadrži informacije kako bi drugi entitet mogao provjeriti i potvrditi identitet vlasnika certifikata
Proširenje certifikata - pruža dodatne informacije o certifikatu i dopušta njegovu uporabu za posebne potrebe organizacije
Registracijski centar (RA) - provodi određene administrativne i slične zadatke u korist CA. Osnovna uloga je provjera identiteta krajnjeg entiteta i određivanje ovlasti za dodjelu javnog ključa.
Baza certifikata - služi za distribuciju certifikata na način da je svaki objavljeni certifikat spremljen u spremište koje kontrolira CA i RA. Na ovaj način je proces distribucije pojednostavljen, jer je prilikom izdavanja novog certifikata potrebno samo obnoviti zapise u spremištu
Lista povučenih certifikata - popis svih povučenih certifikata, kojeg obnavljaju RA i CA
Izvor [8]
Osnovne funkcije PKI infrastrukture
Kriptografija uporabom javnog ključa - uključuje generiranje, distribuciju, administraciju i kontrolu kriptografskih ključeva. Algoritmi se zasnivaju na složenim matematičkim relacijama. Korištenje javnog i privatnog ključa
Izdavanje certifikata - povezivanje javnog ključa jednog korisnika, organizacije ili drugih entiteta sa samim entitetom. Entitet može poslati zahtjev za certifikatom. Zahtjev proveravaju CA i RA te vrše provjeru identiteta. CA formira certifikat na temelju zahtjeva, potpisuje certifikat s privatnim ključem te zapisuje u spremište certifikata. Krajnji entitet sprema privatni ključ, a javni distribuira
Provjera certifikata - provjera da certifikat postoji i da je valjan. Poruke potpisane valjanim certifikatima zadovoljavaju svojstva povjerljivosti, integriteta, autentičnosti te nemogučnost poricanja. Svi valjani certifikati spremljeni su u spremište certifikata
Povlačenje certifikata - Povlačenje prethodno izdanih certifikata
Izvor [9]
Certifikat
Je digitalni dokument koji povezuje javni ključ s osobom, aplikacijom ili servisom. Postoji nekoliko standarda koji su zasnovani na konceptu certifikata a najpoznatiji su:
PKIX/X509 – zasniva se na certifikacijskim tijelima koji izdaju komercijalne certifikate
PGP – certifikat izdaje pojedinac, a više drugih osoba potvrđuje taj certifikat
SDSI/SPKI – zasniva se na certifikacijskim tijelima kao i kod PKIX, ali više certifikatora potvrđuje certifikat
X509 certifikat
Izvor [10]
sadrži sljedeće dijelove:
Dio koji je potrebno "potpisati"
- serijski broj
- vrijeme valjanosti
- ime izdavatelja (identitet CA)
- ime entiteta (krajnji korisnik, drugi CA i sl.)
- javni ključ
- osnovna polja s zahtjevima: oznaka da li se radi o CA ili korisničkom certifikatu, duljina puta (maksimalno dozvoljeni broj CA entiteta između korijenskog CA i korisnika
Dio s potpisom
- potpis preko svih dijelova koje treba "potpisati"
- koristi se za generiranje privatnog ključa
Slika 2. Primjer X.509 certifikata [11]
PKIX/X509
Slika 3.PKIX sustav, sustav infrastrukture javnog ključa temeljenog na X509[12]
Krajnji entitet – su krajni korisnici (ljudi, serveri i routeri, programi i procesi)
Certifikacijski centar - ustanova koja potpisuje i izdaje certifikate. Certifikacijski centar svojim potpisom jamči ispravnost podataka u certifikatu.
Registracijski centar – opcionalna komponenta PKI sustava koja može biti i dio certifikacijskog centra. Njegova uloga je vezana za registriranje krajnjih korisnika PKI sustava. Osim toga može provjeravati posjeduje li korisnik privatni ključ koji odgovara javnom ključu koji će se nalaziti na certifikatu, ili može sam generirati par ključeva.
Baza certifikata – predstavlja sustav ili skup distribuiranih sustava koji pohranjuju certifikate i listu opozvanih certifikata, dostupnih svim unutarnjim i vanjskim korisnicima PKI sustava koji koriste certifikate za identifikaciju
Izdavač opozvanih certifikata – Komponenta PKI sustava koja izdaje listu opozvanih certifikata
Primjer Nedostatka PKI infrastrukture
Izvor [13]
MD5 problem
U prosincu 2008. godine tim stručnjaka objavio je da su uspjeli kreirati lažni certifikat te ga prikazati valjanim.
MD 5 algoritam
MD5 algoritam koristi Merkle-Darmgard iterativnu konstrukciju. Ulazni niz bitova se dopuni do višekratnika od 512 bita te dijeli u ulazne blokove. Jezgra MD5 algoritma je funkcija kompresije. MD5 algoritam učitava ulazne blokove uzastopnom pozivanju funkcije kompresije, koja koristi svaki blok smanjen na 128 bitova.
Izvor [14]
MD 5 koalizija
Osnovna ideja bila je skriti slučajne koalizijske blokove u javni ključ. To ne bi izazvalo sumnju ni pri pažljivom pregledu certifikata u svrhu pronalaska neispravnosti. Kasnije je otkriveno da je moguće skriti takve blokove u RSA module. Tako je prikazano kako je moguće proizvesti različite X.509 certifikate s identičnim MD5 sumama potpisanih dijelova. Takvi certifikati imaju iste potpise, što narušava osnovne principe infrasktrukture. Budući da prefiksi ulaza moraju biti isti kako bi certifikati bili prikazani kao isti zlouporaba ima određena ograničenja.
Izvor [15]
Iskorištavanje MD5 problema
"Scenarij napada započinje tako da legitimna web stranica zahtjeva certifikat od CA entiteta, kojem vjeruju svi osnovni web preglednici. Budući da je zahtjev legitiman, CA potpisuje certifikat i vraća ga web stranici. Potrebno je izabrati CA koji koristi MD5 hash funkcije za generiranje potpisa certifikata, jer je certifikat posebno oblikovan kako bi izazvao koliziju sa drugim certifikatom. Taj drugi certifikat nije certifikat web stranice, nego certifikat središnjeg CA entiteta, koji je moguće iskoristiti za potpisivanje certifikata proi zvoljnih web stranica. Budući da su MD5 hash vrijednosti legitimnog i lažnog certifikata jednake, digitalni potpis CA entiteta može se jednostavno kopirati u lažni certifikat. Takav certifikat se prikazuje valjanim svim osnovnim web preglednicima" [16]
Ostali primjeri nedostataka PKI infrastrukture
Još neki primjeri nedostataka koji se mogu zloupotrebiti su koalizija upotrebom posebno odabranih prefiksa, iskorištavanje HTTP nedostataka te supstitucija parametara.
ZAKLJUČAK
PKI infrastruktura zadovoljava osnovne zahtjeve o sigurnosti osjetljivih podataka. Dok postoje određeni nedostatci PKI infrastrukture na koje su ukazali mnogi stručnjaci ona je i dalje jako sigurna i dobra u zaštiti informacijskih sustava. Računala se jako razvijaju u današnje vrijeme te je potrebno konstantno razvijati nove tehnike sigurnosti. Daljnjim napretkom računala i tehnologije očekuje se pojava novih tehnika probijanja postoječih mehanizama zaštite, zbog toga svakodnevno se radi na razvoju i poboljšanju sigurnosnih algoritama pa se u budućnosti može očekivati uporaba novih sustava kriptiranja.
LITERATURA
http://hr.wikipedia.org/wiki/Kriptografija
https://security.carnet.hr/vise-o-sigurnosti/enciklopedija/kriptografija/
http://os2.zemris.fer.hr/kvant/2004_jakus/#BB84
http://sigurnost.lss.hr/images/dokumenti/lss-pubdoc-2011-10-020.pdf
http://sigurnost.lss.hr/Novi-dokumenti/kvantna-kriptografija.html
http://en.wikipedia.org/wiki/RSA_%28algorithm%29
http://os2.zemris.fer.hr/pki/2005_rebac/#infrastruktura_javnog_kljuca
http://www.cert.hr/sites/default/files/CCERT-PUBDOC-2009-02-255.pdf