HTTPS (pun naziv: Hyper Text Transfer Protocol over SecureSocket Layer) je HTTP kanal čiji je cilj sigurnost. Na temelju HTTP-a, enkripcija prijenosa i autentifikacija identiteta osiguravaju sigurnost procesa prijenosa [1]. HTTPS dodaje SSL na temelju HTTP-a. Sigurnosna osnova HTTPS-a je SSL, tako da je SSL potreban za detalje enkripcije. HTTPS ima zadani priključak različit od HTTP-a i sloj šifriranja/autentifikacije (između HTTP-a i TCP-a). Ovaj sustav omogućuje provjeru autentičnosti i šifrirane komunikacijske metode. Široko se koristi u sigurnosno osjetljivoj komunikaciji 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 dodaje se HTTP-u. Prijenos informacija između poslužitelja i klijenta bit će šifriran putem TLS-a, tako da su svi preneseni podaci šifrirani podaci.
HTTP princip
① Preglednik klijenta' mora prvo uspostaviti vezu s poslužiteljem putem mreže. Veza je dovršena preko TCP-a. Općenito, broj porta za TCP vezu je 80. Nakon uspostavljanja veze, klijent šalje zahtjev poslužitelju. 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 primitka zahtjeva, poslužitelj će dati odgovarajuće informacije o odgovoru. Format je statusna linija, uključujući broj verzije protokola informacija, šifru uspjeha ili pogreške, a MIME informacije uključuju informacije o poslužitelju, informacije o entitetu i mogući sadržaj.
HTTPS princip
① Klijent šalje poslužitelju popis algoritama koje podržava i slučajni broj koji se koristi za generiranje ključa;
② Poslužitelj odabire enkripcijski algoritam s popisa algoritama i šalje ga i certifikat koji sadrži javni ključ poslužitelja klijentu; certifikat također sadrži identifikaciju poslužitelja za potrebe provjere autentičnosti, a poslužitelj također pruža korisnika Koristi se kao slučajni broj za generiranje ključa;
③ Klijent provjerava certifikat poslužitelja' (za provjeru certifikata možete se obratiti digitalnom potpisu) i izdvaja javni ključ poslužitelja' zatim generirajte nasumični niz lozinke nazvan pre_master_secret i upotrijebite javni ključ poslužitelja' za njega Šifrirajte (pogledajte asimetrično šifriranje/dešifriranje) i pošaljite šifrirane informacije poslužitelju;
④ Klijent i poslužitelj neovisno izračunavaju šifriranje i MAC ključeve na temelju pre_master_secret i slučajne vrijednosti klijenta i poslužitelja (pogledajte algoritam razmjene DH ključeva);
⑤ Klijent šalje MAC vrijednost svih poruka rukovanja poslužitelju;
⑥ Poslužitelj šalje klijentu MAC vrijednost svih poruka rukovanja
prednost
Koristite HTTPS protokol za provjeru autentičnosti korisnika i poslužitelja kako biste osigurali da se podaci šalju ispravnom klijentu i poslužitelju;
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 tijekom 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 produžit će vrijeme učitavanja stranice za gotovo 50% i povećati potrošnju energije za 10% do 20%. Osim toga, HTTPS protokol također će utjecati na predmemoriju, povećavajući opterećenje podataka i potrošnju energije.
Sigurnost HTTPS protokola ima opseg i ima mali utjecaj na hakerske napade, napade uskraćivanja usluge i otmicu poslužitelja.
Najvažnije je da sustav kreditnog lanca SSL certifikata nije siguran. Pogotovo kada neke zemlje mogu kontrolirati CA root certifikat, napadi čovjeka u sredini jednako su izvedivi.
Povećani troškovi. Nakon što se HTTPS implementira, rad HTTPS protokola povećat će potrošnju dodatnih računalnih resursa. Na primjer, algoritam šifriranja SSL protokola i broj SSL interakcija zauzet će određenu količinu računalnih resursa i troškova poslužitelja. U scenariju velikih aplikacija za korisnički pristup, poslužitelj mora izvoditi česte operacije šifriranja i dešifriranja, a gotovo svaki bajt treba biti šifriran i dešifriran, što uzrokuje troškove poslužitelja. S razvojem tehnologije računalstva u oblaku, cijena korištenja poslužitelja raspoređenih u podatkovnim centrima postupno se smanjivala nakon povećanja opsega. U usporedbi s poboljšanjem sigurnosti pristupa korisnika, ulazni trošak je pao na prihvatljivu razinu.




