HTTPS (pun naziv: Hyper Text Transfer Protocol over SecureSocket Layer) je HTTP kanal čiji je cilj sigurnost. Na osnovu HTTP-a, enkripcija prijenosa i autentikacija identiteta osiguravaju sigurnost procesa prijenosa [1]. HTTPS dodaje SSL na osnovu HTTP-a. Sigurnosna osnova HTTPS-a je SSL, tako da je SSL potreban za detalje enkripcije. HTTPS ima zadani port koji se razlikuje od HTTP-a i sloj šifriranja/autentifikacije (između HTTP-a i TCP-a). Ovaj sistem obezbeđuje autentifikaciju i šifrovane metode komunikacije. Široko se koristi u sigurnosno osjetljivim komunikacijama na World Wide Webu, kao što su transakcijska plaćanja.
HTTPS se uglavnom sastoji od dva dijela: HTTP + SSL / TLS, odnosno sloj modula za obradu šifriranih informacija se dodaje HTTP-u. Prijenos informacija između servera i klijenta bit će šifriran putem TLS-a, tako da su svi preneseni podaci šifrirani podaci.
HTTP princip
① Pretraživač klijenta' mora prvo uspostaviti vezu sa serverom preko mreže. Veza je dovršena preko TCP-a. Generalno, broj porta za TCP vezu je 80. Nakon uspostavljanja veze, klijent šalje zahtjev serveru. Format zahtjeva je: Uniform Resource Identifier (URL), broj verzije protokola, nakon čega slijede MIME informacije uključujući modifikatore zahtjeva, informacije o klijentu i sadržaj licence.
② Nakon prijema zahtjeva, server će dati odgovarajuće informacije o odgovoru. Format je statusna linija, uključujući broj verzije protokola informacija, šifru uspjeha ili greške, a MIME informacije uključuju informacije o serveru, informacije o entitetu i mogući sadržaj.
HTTPS princip
① Klijent šalje listu algoritama koje podržava i slučajni broj koji se koristi za generisanje ključa serveru;
② Server bira algoritam enkripcije sa liste algoritama i šalje klijentu isti i sertifikat koji sadrži javni ključ servera; sertifikat takođe sadrži identifikaciju servera za potrebe autentifikacije, a server takođe obezbeđuje korisnika Koristi se kao nasumični broj za generisanje ključa;
③ Klijent verifikuje sertifikat servera' (za verifikaciju sertifikata, možete se obratiti digitalnom potpisu), i izdvaja javni ključ servera' zatim, generirajte nasumični niz lozinke pod nazivom pre_master_secret, i koristite javni ključ servera' za njega Šifrirajte (pogledajte asimetrično šifriranje/dešifriranje) i pošaljite šifrirane informacije na server;
④ Klijent i server nezavisno izračunavaju šifrovanje i MAC ključeve na osnovu pre_master_secret i nasumične vrednosti klijenta i servera (pogledajte algoritam za razmenu DH ključeva);
⑤ Klijent šalje serveru MAC vrijednost svih poruka rukovanja;
⑥ Server šalje klijentu MAC vrijednost svih poruka rukovanja
prednost
Koristite HTTPS protokol za autentifikaciju korisnika i servera kako biste osigurali da se podaci šalju ispravnom klijentu i serveru;
HTTPS protokol je mrežni protokol koji je konstruirao SSL+HTTP koji se može koristiti za šifrirani prijenos i autentifikaciju identiteta. Sigurniji je od HTTP-a. Može spriječiti krađu i promjenu podataka tokom prijenosa i osigurati integritet podataka.
HTTPS je najsigurnije rješenje prema trenutnoj arhitekturi. Iako nije apsolutno siguran, uvelike povećava cijenu napada čovjeka u sredini.
nedostatak
U istom mrežnom okruženju, HTTPS protokol će produžiti vrijeme učitavanja stranice za skoro 50% i povećati potrošnju energije za 10% do 20%. Osim toga, HTTPS protokol će također utjecati na keš memoriju, povećavajući opterećenje podataka i potrošnju energije.
Sigurnost HTTPS protokola ima opseg i ima mali uticaj na hakerske napade, napade uskraćivanja usluge i otmicu servera.
Najvažnije je da sistem kreditnog lanca SSL sertifikata nije siguran. Naročito kada neke zemlje mogu kontrolirati CA root certifikat, napadi čovjeka u sredini su jednako izvodljivi.
Povećani troškovi. Nakon što se HTTPS implementira, rad HTTPS protokola će povećati potrošnju dodatnih računarskih resursa. Na primjer, algoritam šifriranja SSL protokola i broj SSL interakcija će zauzeti određenu količinu računarskih resursa i troškova servera. U scenariju aplikacija za pristup korisnika velikih razmjera, poslužitelj mora izvoditi česte operacije šifriranja i dešifriranja, a gotovo svaki bajt treba biti šifriran i dešifrovan, što uzrokuje troškove servera. S razvojem tehnologije računarstva u oblaku, cijena korištenja servera raspoređenih u podatkovnim centrima postepeno se smanjivala nakon povećanja obima. U poređenju sa poboljšanjem sigurnosti pristupa korisnika, ulazni trošak je pao na prihvatljiv nivo.




