komunikacija putem ssl protokola.doc
TRANSCRIPT
-
7/28/2019 Komunikacija putem SSL protokola.doc
1/5
1. Uvod
Sigurne transakcije i izmjena povjerljivih elektronikih informacija postavljaju vane sigurnosne
zahtjeve kao to su ouvanje integriteta, autentinost i povjerljivost. Navedeni sigurnosni ciljevi
esto se ostvaruju koritenjem asimetrinih kriptografskih algoritama, odnosno kriptografskih
algoritama javnog kljua (eng. public key cryptography). Ovakav pristup omoguuje samo onimentitetima koji posjeduju valjani klju izvrenje odreenih akcija, kao to su digitalno potpisivanje
dokumenata ili dekriptiranje kriptiranih podataka.
Koncept koji povezuje vlasnike i njihove javne kljueve na pouzdan nain naziva se infrastruktura
javnih kljueva, odnosno PKI (eng. Public Key Infrastructure) infrastruktura. Digitalni certifikat je jedan
od kljunih elemenata PKI infrastrukture, te je za razumijevanje naina rada digitalnih certifikata
potrebno poznavanje osnova PKI infrastrukture.
Digitalni certifikat je jedna od tehnologija koja tvori bazu Internet sigurnosti. To su raunalne
datoteke koje djeluju kao online propusnice, te omoguuju autentikaciju svojih vlasnika, kao i zatitu
podataka izmijenjenih preko javnih kanala. Uloga certifikata u PKI infrastrukturi je automatizacijaprocesa distribuiranja javnih kljueva i sigurne izmjene podataka. Temelj ove tehnologije predstavlja
X.509 standard, kojim su definirane informacije koje se pohranjuju u certifikat, te format zapisa tih
informacija. Iako PKI nije zaivio u onoj mjeri kako je bilo predviano u prolosti, certifikati su ipak
pronali svoju primjenu, od kojih je jedna od najoitijih ona u Web preglednicima koji podravaju
komunikaciju putem SSL kanala.
U dokumentu e ukratko biti opisana PKI infrastruktura, kao i osnovni elementi koji je sainjavaju, s
posebnim naglaskom na digitalne certifikate. Takoer, ukratko e biti opisane osnovne
funkcionalnosti OpenSSL programskog paketa, te nain komunikacije SSL protokolom. Konano, dan je
detaljan primjer generiranja certifikata za potrebe Web posluitelja.
2. PKI infrastruktura
PKI infrastruktura je jedna od robusnijih metoda za sigurnu komunikaciju putem nesigurnih kanala,
kao to je Internet. Digitalni certifikat je osnovni element ove strukture koja slui za podizanje
razine sigurnosti informacijskog sustava.
Digitalni certifikat je elektroniki dokument koji identificira osobe i resurse na javno dostupnim
mreama, a temelji se na tehnologiji javnih i privatnih kljueva. Ovi kljuevi se uvijek generiraju u
paru. Podaci koji se kriptiraju pomou javnog kljua, dekriptiraju se privatnim kljuem, i obratno.
Svaki klju je jedinstven, te se stoga pomou njega moe identificirati vlasnik. Javni kljuevi su
dostupni svima koji ele sigurno komunicirati s vlasnikom, dok se privatni klju nikad ne prenosi
nesigurnim kanalima, te je poznat samo vlasniku. S ciljem ouvanja autentinosti poruke PKI
tehnologija omoguuje i digitalno potpisivanje poruka. Potpis se kriptira privatnim kljuem, te je
stoga primatelj u mogunosti provjeriti autentinost poruke dekriptiranjem potpisa javnim kljuem
entiteta koji je poslao poruku. Uobiajeno je da se potpisom smatra saetak (hash) same poruke.
-
7/28/2019 Komunikacija putem SSL protokola.doc
2/5
Digitalni certifikat potvruje povezanost javnog i tajnog kljua koje posjeduje neki entitet.
Identitet entiteta, koji moe biti osoba ili aplikacija, je sadran u certifikatu zajedno s javnim kljuem.
Kako bi ovakva struktura bila valjana, ona mora biti potpisana od tree strane, certifikacijskog autoriteta
CA (eng. Certificate Authority), koji predstavlja autoritet od povjerenja. Razina povjerenja ovisi o samom
CA-u. Proces izdavanja certifikata moe ukljuivati i registracijski autoritet, RA (eng. Registration
Authority, Request Authority), koji je zaduen za registraciju i eventualnu verifikaciju identitetakorisnika. Digitalni certifikati se nakon objave mogu slobodno razmjenjivati ili objavljivati u
odgovarajuim repozitorijima, kao to su LDAP ili X.500 direktoriji. X.500 je ISO/ITU standard
koji definira nain strukturiranja globalnih direktorija.
Vrlo bitna stavka digitalnih certifikata je i trajanje njihove valjanosti. Ova vrijednost predstavlja
vremenski period unutar kojeg certifikat vrijedi, te je unaprijed definirana. U sluaju kompromitacije
korisnika ili digitalnog certifikata valjanost moe biti ukinuta i prije isteka vremenskog roka na koji je
digitalni certifikat inicijalno izdan. Povlaenje digitalnih certifikata mogue je obaviti objavom
informacije o povlaenju na CRL (eng. Certificate Revocation List) revokacijskoj listi, ili dobivanjem
informacija o povuenim digitalnim certifikatima koritenjem OCSP (eng. Online Certificate
Status Protokol) protokola. Vie o nainu povlaenja digitalnih certifikata mogue je saznati izdokumenta dostupnom na adresihttp://www.cert.hr/filehandler.php?did=202.Osim upravo navedenih
elemenata PKI infrastrukture, postoje i dodatni elementi, kao to su toke povjerenja koje omoguuju
provjeru valjanosti, upravljanje privatnim kljuevima koje prua obnovu digitalnih certifikata prije
isteka valjanosti, te back-up privatnih kljueva. Ovi elementi PKI infrastrukture nee biti detaljno razmatrani
u sklopu ovog dokumenta.
2.1. Format digitalnog certifikata
Format digitalnog certifikata definiran je X.509 standardom, koji ga opisuje kao strukturu od 3 polja:
tbsCertificate - niz, odnosno struktura koja se sastoji od informacija koje identificirajuentitet kojem se izdaje certifikat i izdavaa digitalnog certifikata. U strukturi su sadrani ime
izdavaa certifikata, ime entiteta i njegov javni klju, period valjanosti, inaica, te eventualne
dodatne ekstenzije.
signatureAlgorithm - polje koje sadri identifikator algoritma kojim je digitalni
certifikat digitalno potpisan od strane izdavaa (npr. RSA-MD5, RSA-SHA1, DSA-SHA1).
signatureValue - polje koje sadri digitalni potpis, koji predstavlja tbsCertificate
strukturu enkodiranu ASN.1 (eng. abstract syntax notation) DER (eng. distinguished
encoding rules) pravilima nad kojom je proveden algoritam naveden u
signatureAlgorithm polju.
http://www.cert.hr/filehandler.php?did=202./http://www.cert.hr/filehandler.php?did=202./http://www.cert.hr/filehandler.php?did=202./http://www.cert.hr/filehandler.php?did=202./http://www.cert.hr/filehandler.php?did=202./ -
7/28/2019 Komunikacija putem SSL protokola.doc
3/5
3. Komunikacija putem SSL protokola
Za sigurnu komunikaciju izmeu Web posluitelja i korisnika koji ga posjeuju potrebno je
generiranje
para javnog i privatnog kljua posluitelja. Svim korisnicima koji moraju posluitelju proslijediti
povjerljive informacije dodjeljuje se javni klju posluitelja. Ovaj klju slui za dogovaranje detalja
sjednice, kao to su algoritam kriptiranja te sjedniki klju (eng. session key) koji e biti koriten u
komunikaciji. Nakon to su dogovoreni, ovi parametri se koriste za sigurnu komunikaciju izmeu Web
posluitelja i njegovih klijenata. Problem koji se javlja u ovakvoj koncepciji je pitanje
vjerodostojnosti
posluitelja kojem se povjerljive informacije predaju, gdje do izraaja dolazi potreba za uporabom
digitalnih certifikata. Web posluitelj bi trebao posjedovati digitalni certifikat kojim dokazuje da je
uistinu onaj za kojeg se izdaje, pri emu je certifikat potpisan od strane CA kojem korisnici mogu
vjerovati. Na Internetu je dostupan velik broj tvrtki koje se bave ovom djelatnou, od kojih su
poznatije Thawte (http://www.thawte.com/) i VeriSign (http://www.verisign.com/).
Prilikom podnoenja zahtjeva za izdavanjem digitalnog certifikata uz javni klju se predaje i
dokumentacija kojom se dokazuje identitet entiteta. CA generira digitalni certifikat koji sadri
javni
klju, ime vlasnika posluitelja, vlastito ime kao CA autoritet koji je izdao certifikat, te vlastiti
digitalni potpis. Na Slici 1 je prikazan put digitalnog certifikata na sigurnom Web posluitelju.
http://www.thawte.com/http://www.verisign.com/http://www.thawte.com/http://www.verisign.com/ -
7/28/2019 Komunikacija putem SSL protokola.doc
4/5
Slika 1. Put digitalnog certifikata na Web posluitelju
Provjera digitalnog certifikata Web posluitelja na kojem postoji SSL podrka je slijedea:
Korisnik se spaja na Web stranicu na kojoj je omoguena SSL komunikacija koritenjem
https://url umjesto http://urladrese.
Posluitelj prezentira svoj digitalni certifikat Web pregledniku korisnika, koji provjerava
certifikat, te pokuava potvrditi da je CA koji ga je potpisao jedan od onih koje preglednik
prepoznaje i kojem vjeruje, te da li je u mogunosti provjeriti digitalni potpis.
Ukoliko provjera proe uspjeno, Web preglednik korisnika prihvaa javni klju zapisan u
digitalnom certifikatu.
U sluaju neuspjene provjere Web preglednik objavljuje upozorenje korisniku da ne
prepoznaje CA autoritet.
Za obostrano sigurno komuniciranje pomou asimetrinog algoritma, svaki korisnik bi takoer trebao
posjedovati svoj par javnog i privatnog kljua. Tek na ovaj nain je mogua i obostrana
autentikacija.
Korisnik mora posjedovati digitalni certifikat jedino u sluaju potrebe dokazivanja svog identiteta
posluitelju.
PKI tehnologija se u SSL komunikaciji koristi jedino u fazi rukovanja. Faza rukovanja ukljuuje
pregovor posluitelja i Web preglednika o simetrinom algoritmu kojim e se kriptirati podaci tijekom
komunikacije, te za dogovor kljua koji e vrijediti samo za vrijeme trajanja sjednice. U ovoj fazi
javni klju posluitelja slui za autentikaciju posluitelja i zatitu dogovora o sjednikom kljuu.
Nakon to SSL rukovanje zavri, slijedi drugi dio protokola (eng. Record Protocol) u kojem se svipodaci koji se izmjenjuju izmeu posluitelja i Web preglednika kriptiraju dogovorenim
simetrinim algoritmom.
Ukoliko tijekom sjednice doe do potrebe za bilo kakvom vrstom upozorenja, SSL protokol ima i
za takav tip poruke definirani protokol, nazvan Alert protokol. Iz upravo navedenog moe se zakljuiti
da se SSL protokol sastoji od tri razliita protokola, to je prikazano slikom 2.
Slika 2. Dijelovi SSL protokola
Sva komunikacija koja se odvija putem SSL kanala je osigurana kriptiranjem, ali vrlo esto se
krivo pretpostavlja da je snaga kriptografskog algoritma odreena digitalnim certifikatom. Snaga
SSL sjednice zapravo je funkcija Web preglednika i mogunosti Web posluitelja. Ako posluitelj podrava
http://url/http://url/http://url/ -
7/28/2019 Komunikacija putem SSL protokola.doc
5/5
128-bitne kljueve, a Web preglednik samo 40-bitne kljueve, sjednica e se ostvariti koritenjem 40-
bitnog kljua.