Prijeđi na sadržaj

HTTPS

Izvor: Wikipedija
IP Model
Sloj Protokol
Aplikacijski DNS, DHCP, TLS/SSL, TFTP, FTP, HTTP, IMAP, IRC, NNTP, POP3, SIP, SMTP, SNMP, SSH, Telnet, BitTorrent, RTP, rlogin, …
Transportni TCP, UDP, DCCP, SCTP, IL, RUDP,
Mrežni IP (IPv4, IPv6), ICMP, IGMP, ARP, RARP, …
Podatkovni Ethernet, Wi-Fi, Token ring, PPP, SLIP, FDDI, ATM, DTM, Frame Relay, SMDS, …

HyperText Transfer Protocol Secure (HTTPS) je internetski protokol nastao kombinacijom protokola HTTP s protokolom SSL/TLS.[1]

HTTPS koristi se za 22,65% od svih hrvatskih domena.[2] HTTP (engl. HyperText Transfer Protocol) je protokol, tj. skup pravila po kojima se web stranica prenosi od poslužitelja do korisnika. Osnovna namjena ovog protokola je upravo omogućavanje objavljivanja i prezentacije HTML dokumenata, tj. web stranica.[3]

Svojstva HTTPS-a

[uredi | uredi kôd]

Ovaj protokol omogućava kriptiranu komunikaciju i sigurnu identifikaciju web poslužitelja mreže. HTTPS veze često se koriste za novčane transakcije na World Wide Webu i ostale povjerljive transakcije u korporativnim informacijskim sustavima.

HTTPS je URI shema koja ima identičnu sintaksu poput standardnog HTTP programa, osim svoje znakovne sheme. Međutim, HTTPS signalizira pregledniku za korištenje dodatnog zaštitnog SSL/TLS protokola kako bi zaštito promet. SSL je posebno pogodan za HTTP jer može pružiti određenu zaštitu čak i ako je samo jedna strana komunikacije ovjerena (autentična). To je slučaj HTTP transakcije preko Interneta, gdje je obično samo poslužitelj ovjeren.

Osnovna ideja HTTPS je stvoriti siguran kanal preko nesigurne mreže. To osigurava razumnu zaštitu od prisluškivanja i napada Man-in-the-middle, pod uvjetom da je korištena odgovarajuća enkripcija i da je poslužiteljev certifikat provjeravan i pouzdan. Ako web stranica ima SSL certifikat, komunikacija internet preglednika s web poslužiteljem je enkriptirana. 

Web preglednici znaju kako vjerovati HTTPS web stranicama na temelju certifikata koji dolaze pre-instalirani u njihovom softveru. Izdaju ih posebne tvrtke (engl. Certificate authorities) (npr. VeriSign / Thawte / itd.) kojima proizvođači Internet preglednika (Mozilla, Google, Microsoft) vjeruju. Logično, slijedi da korisnik mora imati povjerenja u HTTPS povezivanje na web stranicu onda i samo onda ako je sljedeće navedeno istinito:

1. Korisnik vjeruje da je internet preglednik ispravno implementirao podršku za HTTPS s ispravnim predinstaliranim certfikatom izdanim od ovlaštenih CA (certificirani autoritet).

2. Korisnik vjeruje certificiranom autoritetu CA da jamči samo za legitimne web stranice.

3. Internetska stranica daje valjani certifikat, što znači da ga je potpisao pouzdan certificirani autoritet.

4. Potvrda ispravno identificira web stranice (npr. kad preglednik posjeti https://example.com, dobiveni certifikat je ispravan za "Example Inc", a ne neki drugi subjekt).     

5. ili da je Internet mreža vjerodostojan, ili korisnik vjeruje da je sloj kriptiranog protokola (TLS/SSL) dovoljna zaštita protiv prisluškivanja.[4]

Integracija u pregledniku

[uredi | uredi kôd]

Većina web preglednika prikazuje upozorenje ako prime pogrešnu potvrdu. Stariji preglednici, prilikom spajanja na stranicu s nevažećim certifikatom, postavit će korisniku pitanje u dijaloškom okviru (dialog box) žele li nastaviti. Noviji preglednici prikazuju upozorenje preko cijelog prozora. Noviji preglednici također istaknu prikazane informacije o sigurnosti stranice u adresnoj traci. Proširena provjera valjanosti potvrde u novijim preglednicima mijenja boju adresne trake u zeleno. Većina preglednika također prikazuje upozorenje korisniku prilikom posjeta web lokaciji koja sadrži mješavinu šifriranih i nekodiranih sadržaja.

Electronic Frontier Foundation nudi dodatak pod nazivom HTTPS Everywhere ("HTTPS svuda") za Mozilla Firefox koji omogućava automatsko korištenje HTTPS-a za stotine često korištenih web stranice. Jedna od najvećih tvrtki na svijetu, pogotovo u svijetu digitala je Google i upravo Google najviše gura projekt HTTPS everywhere kako bi internet bio sigurniji. Iako je to primarni razlog, postoje još par prednosti https-a:

Razlika od HTTP-a

[uredi | uredi kôd]

HTTPS standardno rabi TCP/IP-port 443 a njegovi URL-ovi počinju s "https://". S druge strane, HTTP standardno rabi TCP/IP-port 80 a njegovi URL-ovi počinju s "http://".

HTTP je nezaštićen i predmet je napada čovjek-u-sredini i prisluškivanja, što može dopustiti napadačima pristup web računima i osjetljivim informacijama. HTTPS je dizajniran da izdrži takve napade i smatra se sigurnim protiv takvih napada (uz iznimku izvan upotrebe starije verzije SSL).

HTTP djeluje na najvišem sloju OSI modela, aplikacijski sloj, ali sigurnosni protokol radi na nižim podrazinama, kodirajući HTTP poruku prije prijenosa i dekriptirajući poruku pri dolasku. Strogo govoreći, HTTPS nije zasebni protokol, ali se odnosi na korištenje običnog HTTP preko kriptirane SSL / TLS veze.

Sve u HTTPS porukama je kodirano, uključujući i zaglavlja. S iznimkom mogućeg kriptografskog napada, napadač može znati činjenicu da se veza odvija između dviju stranaka, naziv domene i IP adrese ali kriptografski algoritmi korišteni za kodiranje su toliko sigurni da ih je u realnim uvjetima nemoguće probiti. Ako web sjedište ne koristi https vezu, korisnički podaci se šalju kao tekst preko cijelog interneta. 

Tipovi certifikata

[uredi | uredi kôd]
  • Domain Validation (DV): primjenjuje se na domenu ili poddomenu, nema dodatne papirologije (samo e-mail validacija), jeftni, i daju se kroz nekoliko minuta
  • Business/Organization Validation: primjenjuje se također na domenu ili poddomenu, ali zahtjeva potvrdu tvrtke koja daje veću razinu sigurnosti i povjerenja, izdaje se kroz 1-3 dana
  • Extended Validation: primjenjuje se na domenu ili poddomenu, zahtjeva potvrdu tvrtke, izdaje se kroz 2-7 dana, i ima tzv. zelenu traku.[5]

Postavke poslužitelja

[uredi | uredi kôd]

Za izradu web-poslužitelja koji će prihvatiti HTTPS veze, administrator mora stvoriti javni ključ certifikata za web poslužitelj. Taj certifikat mora ovjeriti CA kako bi ga Internet preglednik prihvatio bez upozorenja .CA potvrđuje da je nositelj certifikata operator na web poslužitelju koji ga predstavlja. Web preglednici su uglavnom raspoređeni s listom potpisanih certifikata glavnih davatelja usluga certificiranja, tako da oni mogu provjeriti certifikate koje su potpisali.

Stjecanje certifikata

Potpisani certifikati mogu biti besplatni ili koštaju između 8 $ i 1500 $ godišnje. Međutim, u slučaju besplatnih davatelja usluga certificiranja kao što su CACert u popularnim preglednicima (npr. Firefox, Internet Explorer) ne mora nužno biti uključivati njihov glavni (root) certifikat, što može dovesti do upozorenja prilikom posjeta stranica koje su potpisane njihovim glavnim (root) certifikatom. (CAcert.org je izdao blizu 800 000 certifikata do siječnja 2012. godine.).

Organizacije također mogu pokrenuti vlastiti autoritet za izdavanje potvrda, osobito ako su odgovorne za postavljanje preglednika za pristup svojim web stranicama (npr, web stranice na intranet mreži tvrtke, ili velikih sveučilišta).

Korištenje kao kontrola pristupa

[uredi | uredi kôd]

Sustav se također može koristiti za autentifikaciju klijenta kako bi ograničili pristup web servera ovlaštenim korisnicima. Da biste to učinili, administrator web-mjesta obično stvara certifikat za svakog korisnika, certifikat koji se učitava u njegov preglednik. Normalno, koji sadrži ime i e-mail adresu ovlaštenog korisnika i koji je automatski provjerava poslužitelj prilikom svakog ponovnog povezivanja kako bi potvrdio korisnikov identitet, potencijalno čak i bez unosa lozinke.

U slučaju kompromitirajućeg privatnog ključa

Certifikat može se opozvati prije nego što istekne, na primjer, jer je tajnost privatnog ključa ugrožena. Novije verzije popularnih pretraživača kao što su Firefox, Google Chrome, Opera, i Internet Explorer u sustavu Windows Vista provode Online Certificate Status Protocol (OCSP) za potvrdu da to nije slučaj .Preglednik šalje certifikatov serijski broj prema certificiranom autoritetu ili putem svog izaslanika OCSP i autoritet reagira, govoreći pregledniku da li je potvrda još uvijek na snazi.

Ograničenja protokola

[uredi | uredi kôd]

SSL dolazi u dvije opcije, jednostavna i zajednička.

Zajednička verzija je sigurnija, ali zahtijeva od korisnika instaliranje osobnog certifikata u svom pregledniku kako bi se prepoznao.

Koja god se strategija koristi (jednostavna ili zajednička), razina zaštite uvelike ovisi o ispravnosti provedbe web preglednika i poslužiteljevog softvera i kriptografskih algoritama koje podržava.

SSL ne sprječava da pretraživač (npr. Google) potpuno indeksira web stranice.

S arhitektonske točke gledišta:

1. SSL/TLS vezom upravlja prvi (frontalni) server, ako se kojim slučajem aplikacija koji se pristupa ne nalazi na tom serveru, treba postojati rješenje koje će proslijediti informacije o korisniku i certifikatu tom aplikacijskom serveru.

2. Za SSL s zajedničkom autentifikacijom, SSL/TLS sjednicaom (session) upravlja prvi poslužitelj koji inicira vezu. U situacijama gdje se šifriranje mora širiti povezanim serverima, upravljanje istekom sjednice postaje vrlo komplicirana zadatak za provedbu. 3. S zajedničkim SSL/TLS, sigurnost je maksimalna, ali na strani klijenta, ne postoji način da se pravilno završi SSL veza i isključi korisnika osim čekanjem da SSL sjednica istekne ili zatvori sve povezane aplikacije klijenata.     4. Zbog preformasni statički sadržaj koji nije specifičan za korisnika ili transakciju, obično se dostavlja putem ne kriptiranog prednjeg poslužitelja ili zasebnog poslužitelja bez SSL-a. Kao posljedica toga, ovaj sadržaj obično nije zaštićen. Mnogi preglednici upozoravaju korisnika kada stranica pomiješa kodirane i ne kodirane dijelove

Sofisticiran tip MITM predstavljen je na Blackhat Conference 2009. Ova vrsta napada probija sigurnost koju pruža HTTPS promjenom https: linka u http://link, uzimajući prednost činjenice da rijetki korisnci Interneta zapravo upisuju "https" u njihov preglednik. Korisnici odlaze na sigurnu stranicu putem linka misleci da koriste HTTPS dok ustvari koriste HTTP. Napadač tada komunicira jasno s klijentom.

Povijest

[uredi | uredi kôd]

Netscape Communications stvorio je HTTPS 1994. za svoj Netscape Navigator web preglednik. Izvorno, HTTPS se koristio sa SSL protokolom. Kao što je SSL evoluirao u Transport Layer Security (TLS), trenutna inačicu HTTPS je formalno odredio RFC 2818 u svibnju 2000.

Izvori

[uredi | uredi kôd]
  1. stil, Život i. HTTPS protokol: Koja je najvažnija uloga HTTPS protokola?. Život. Inačica izvorne stranice arhivirana 5. rujna 2021. Pristupljeno 5. rujna 2021. Navedeno je više parametara |deadurl= i |url-status= (pomoć)
  2. Hrvatskog Internet statistika. Inačica izvorne stranice arhivirana 23. listopada 2017. Pristupljeno 16. veljače 2017. journal zahtijeva |journal= (pomoć)
  3. Nikola Papratović. 2017-09-11. Instalacija SSL certifikata na web stranicu. mediumit.hr. Inačica izvorne stranice arhivirana 23. listopada 2017. Pristupljeno 23. listopada Provjerite vrijednost datuma u parametru: |accessdate= (pomoć)
  4. HTTP - HTTPS - Biti ili ne biti. WM Forum - Forum za web majstore (engleski). 28. rujna 2016. Pristupljeno 5. rujna 2021.
  5. Nikola Papratović. 11. rujna 2017. Instalacija SSL certifikata. mediumit.hr. Inačica izvorne stranice arhivirana 23. listopada 2017. Pristupljeno 23. listopada 2017.