HTTPS
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.
HTTPS koristi se za 22,65% od svih hrvatskih domena[1]. 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.[2] Prema istraživanju tvrtke GlobalSign čak 28,9% posjetitelja skrene pogled i provjeri da li web stranica ima zeleni lokot.
Svojstva HTTPS-a
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 je potpisan od strane pouzdanog certificiranog autoriteta.
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.
Integracija u pregledniku
Većina web-preglednika prikazuje upozorenje ako prime pogrešnu potvrdu. Stariji preglednici, prilikom spajanja na stranicu s nevažećim certifikatom, postaviti ć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
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škivanje, š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[3]
– 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.
Postavke poslužitelja
Za izradu web-poslužitelja koji će prihvatiti HTTPS veze, administrator mora stvoriti javni ključ certifikata za web poslužitelj. Taj certifikat mora biti ovjeren od strane 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
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 provjeran od strane poslužitelja za svako ponovno povezivanje kako bi potvrdili 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
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 potpuno indeksiranje web stranica od strane pretraživača (npr. Google)
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 riješenje koje će proslijediti informacije o korisniku i certifikatu tom aplikacijskom serveru.
2. Za SSL s zajedničkom autentifikacijom, SSL/TLS sjednica (session) je upravljana od strane prvog poslužitelja 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
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 verzija HTTPS je formalno određena od strane RFC 2818 u svibnju 2000.
Izvori
- ↑ Hrvatskog Internet statistika. Inačica izvorne stranice arhivirana 23. listopada 2017.. https://www.hrvdo.com/hrvatskog-internet-statistika Pristupljeno 16. veljače 2017.
- ↑ Nikola Papratović (11. rujna 2017.). "Instalacija SSL certifikata na web stranicu". mediumit.hr. https://mediumit.hr/blog/instalacija-ssl-certifikata-na-wordpress-web-stranicu/ Pristupljeno 23. listopada
- ↑ Nikola Papratović (11. rujna 2017.). "Instalacija SSL certifikata". mediumit.hr. https://mediumit.hr/blog/instalacija-ssl-certifikata-na-wordpress-web-stranicu/ Pristupljeno 23. listopada 2017.