komunikacija putem ssl protokola.doc

Upload: zorantic1

Post on 03-Apr-2018

225 views

Category:

Documents


0 download

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.