Predavanja 12

KRIPTOGRAFIJA I SIGURNOST KOMUNIKACIJSKIH PROTOKOLA.

KRIPTOGRAFIJA I SIGURNOST KOMUNIKACIJSKIH PROTOKOLA.

PROTOKOL

  • Skup pravila – uspostava, održavanje, raskid, oporavak vezeprotokol za komunikaciju računala preko računalne mreže
  • Internetski protokol (skr. IP od engl. Internet Protocol) mrežni je protokol za prijenos podataka kojeg koriste izvorišna i odredišna računala za uspostavu podatkovne komunikacije preko računalne mreže.
  • Podatci u IP mreži se šalju u blokovima koji se nazivaju paketi ili datagrami.
  • Kriptografski protokoli se upotrebljavaju za uspostavljanje sigurne komunikacije preko nepouzdanih mreža 
  • Osnovni cilj kriptografskog protokola je osigurati sigurnost komunikacije tako što će šifrirati podatke koji se prenose između dviju strana, što znači da će ih učiniti nečitljivima za sve druge osim za primatelja.

Kriptografski protokoli koriste različite algoritme za šifriranje i dešifriranje podataka, a također uključuju postupke za potvrđivanje identiteta strana koje sudjeluju u komunikaciji, kao što su provjera digitalnog potpisa i autentifikacija.

Kriptografija igra ključnu ulogu u sigurnosnim komunikacijskim protokolima pružajući temeljnu zaštitu podataka tijekom prijenosa putem nesigurnih mreža poput interneta. Evo detaljnog opisa veze između kriptografije i sigurnosnih komunikacijskih protokola:

  1. Zaštita privatnosti: Kriptografija omogućuje enkripciju podataka, što znači da se informacije pretvaraju u nečitljiv oblik koji može biti razumljiv samo osobama koje imaju odgovarajući ključ za dešifriranje. Sigurnosni komunikacijski protokoli koriste različite tehnike enkripcije, poput simetrične (gdje se isti ključ koristi za enkripciju i dekripciju) i asimetrične (gdje se koriste različiti ključevi za enkripciju i dekripciju), kako bi se osigurala privatnost podataka tijekom prijenosa.
  2. Integritet podataka: Kriptografski algoritmi osiguravaju integritet podataka tako da omogućuju primatelju da provjeri jesu li podaci bili promijenjeni tijekom prijenosa. To se postiže pomoću kriptografskih funkcija sažetaka (hash funkcija) koje stvaraju jedinstvenu sumu (hash) za svaki blok podataka. Primatelj može ponovno izračunati hash primljenih podataka i usporediti ga s primljenim hashom kako bi provjerio jesu li podaci ostali netaknuti.
  3. Autentikacija: Kriptografija omogućuje autentikaciju sudionika u komunikaciji, što znači provjeru identiteta pošiljatelja i primatelja. Sigurnosni komunikacijski protokoli koriste digitalne certifikate i digitalne potpise kako bi osigurali autentičnost sudionika. Digitalni potpis potvrđuje da je određeni sadržaj stvarno poslan od strane navedenog pošiljatelja, dok digitalni certifikat izdaje pouzdano tijelo kako bi potvrdilo identitet korisnika ili poslužitelja.
  4. Otpornost na napade: Kriptografski algoritmi i sigurnosni komunikacijski protokoli razvijaju se s ciljem pružanja otpornosti na različite vrste napada, uključujući napade poput brute force napada (pokušaji probijanja enkripcijskog ključa iscrpnim ispitivanjem), man-in-the-middle napade (gdje napadač presreće i mijenja komunikaciju između dva sudionika), i mnoge druge.

Ukratko, kriptografija je osnova sigurnosnih komunikacijskih protokola, pružajući zaštitu privatnosti, osiguravajući integritet podataka, omogućujući autentikaciju sudionika i pružajući otpornost na različite vrste napada tijekom prijenosa podataka putem nesigurnih mreža.

OSI model

Sigurnosni aspekti komunikacijskih protokola mogu se razmatrati kroz OSI model koji se sastoji od sedam slojeva. Evo opisa sigurnosti komunikacijskih protokola za svaki sloj OSI modela, zajedno s primjerima:

  1. Fizički sloj (Sloj 1):
    • Sigurnosni aspekti na fizičkom sloju obično se ne odnose na enkripciju ili autentikaciju podataka, već na zaštitu fizičkog pristupa mrežnoj infrastrukturi.
    • Primjer: Fizičko zaključavanje mrežnih ormarića, nadzor pristupa mrežnim uređajima.
  2. Sloj veze podataka (Sloj 2):
    • Sigurnost na ovom sloju obično uključuje kontrolu pristupa mrežnim uređajima, provjeru autentičnosti korisnika i sprječavanje napada poput prometne analize.
    • Primjer: MAC filtriranje na bežičnim pristupnim točkama, VLAN segmentacija, IEEE 802.1X autentikacija.
  3. Mrežni sloj (Sloj 3):
    • Ovaj sloj uključuje sigurnost rute, filtriranje prometa i zaštitu IP adresa.
    • Primjer: IPsec (Internet Protocol Security) za enkripciju IP paketa, VPN (Virtual Private Network) za sigurnu udaljenu komunikaciju.
  4. Transportni sloj (Sloj 4):
    • Na transportnom sloju, naglasak je na osiguravanju integriteta podataka, privatnosti i autentičnosti sudionika komunikacije.
    • Primjer: TLS (Transport Layer Security) za sigurnu komunikaciju putem interneta, SSH (Secure Shell) za siguran udaljeni pristup.
  5. Sesija (Sloj 5):
    • Sigurnost na sloju sesije uključuje upravljanje sesijama, kontrolu pristupa i identifikaciju korisnika.
    • Primjer: Korištenje sigurnih sesijskih ključeva za osiguravanje privatnosti komunikacije.
  6. Prezentacijski sloj (Sloj 6):
    • Prezentacijski sloj se rijetko koristi za sigurnosne svrhe, ali može uključivati enkripciju i pretvorbu podataka u format prikladan za prijenos.
    • Primjer: Kriptiranje podataka prije prijenosa.
  7. Aplikacijski sloj (Sloj 7):
    • Na aplikacijskom sloju, sigurnost se odnosi na autentikaciju korisnika, pristup kontroliranim resursima i sigurnu razmjenu podataka.
    • Primjer: Korištenje SSL/TLS za sigurnu komunikaciju između web preglednika i poslužitelja, PGP (Pretty Good Privacy) za enkripciju e-pošte.

PRIMJERI

  1. Transport Layer Security (TLS):
    TLS je kriptografski protokol koji osigurava sigurnu komunikaciju putem interneta. On pruža privatnost i integritet podataka tijekom prijenosa putem enkripcije podataka i autentikacije sudionika korištenjem digitalnih certifikata. TLS se često koristi za zaštitu web preglednika, e-pošte, sigurnih pristupnih točaka Wi-Fi mreža i mnogih drugih internetskih usluga. TLS protokol omogućuje aplikacijama komunikaciju preko mreže na način da se spriječi prisluškivanje, izmjenu i lažiranje poruka. Pruža autentifikaciju krajnjih točaka i povjerljivost komunikacije preko Internet mreže koristeći kriptografiju. Autentifikacija poslužitelja ima različito značenje za preglednik i za korisnika.  Na razini preglednika označava posjedovanje valjanog certifikata, tj. provjeren digitalni potpis poslužiteljevog certifikata. Kada je jednom provjeren, preglednik je ovlašten, a samo provjera certifikata ne identificira poslužitelj krajnjem korisniku. Da bi korisnik znao identitet poslužitelja, potrebno je obaviti identifikaciju, tj. preslikavanje poznate oznake na nepoznati entitet kako bi se njega jednoznačno odredilo. Obično se koriste identifikatori (ID brojevi) koji moraju biti jedinstveni. TLS protokol također pruža podršku za sigurniju dvosmjernu vezu, u kojoj oba krajnja čvora moraju znati s kim komuniciraju (obostrana autentifikacija). To zahtjeva da svi krajnji korisnici posjeduju certifikate (dakle i klijenti, a ne samo poslužitelji). Osnovna primjena TLS protokola je osiguravanje sustava prilikom pregleda web stranica i informacija u HTTPS komunikaciji. Osim toga, ako je potrebno, protokol se može koristiti u svrhu autentifikacije i zaštite. Neki primjeri uporabe TLS protokola su: Siguran prijenos podataka za potrebe trgovanja putem Internet mreže (eng. e-commerce) – protokol se primjenjuje između preglednika i poslužitelja. Najbolji primjer je uporaba kreditnih kartica za plaćanje proizvoda/usluga putem Internet mreže. Protokol prvo potvrđuje valjanost certifikata web stranice te šalje podatke o kreditnoj kartici u obliku šifriranog teksta. U ovakvom obliku komunikacije, kada certifikat dolazi od povjerljivog izvora, autentifikacija se provodi samo za poslužitelj. TLS mora biti omogućen na web stranici gdje se događa promet podataka.
  2. SSL (Secure Sockets Layer) također je jedan od važnih protokola za sigurnu komunikaciju, ali važno je napomenuti da je SSL stariji protokol koji je postupno zamijenjen novijim i sigurnijim TLS (Transport Layer Security) protokolom. TLS je zapravo nasljednik SSL-a i u mnogim slučajevima se koristi kao sinonim za SSL, iako postoji nekoliko verzija TLS-a (1.0, 1.1, 1.2, 1.3), od kojih je svaka poboljšala sigurnost i performanse u odnosu na prethodne. SSL i rane verzije TLS-a imale su sigurnosne nedostatke koji su postali ozbiljni tijekom vremena, što je dovelo do razvoja novijih verzija TLS-a koje su uklonile poznate ranjivosti i dodale napredne značajke. Upravo zbog toga se preporučuje korištenje TLS-a umjesto starijih verzija SSL-a radi osiguranja sigurne komunikacije na internetu. Međutim, SSL je i dalje prisutan u nekim legacy sustavima i aplikacijama.
  3. Secure Shell (SSH): SSH je sigurni protokol za udaljeni pristup i upravljanje računalima i drugim uređajima preko nesigurnih mreža. On omogućuje enkriptiranu komunikaciju između klijenta i poslužitelja, sprječavajući prisluškivanje i manipulaciju podacima tijekom prijenosa. SSH se često koristi za upravljanje udaljenim poslužiteljima, rutere i drugim mrežnim uređajima.
  4. Internet Protocol Security (IPsec): IPsec je protokol koji pruža sigurnu komunikaciju na razini IP sloja u mrežnim sustavima. On omogućuje enkripciju i autentikaciju IP paketa kako bi se osigurala privatnost, integritet i autentičnost podataka tijekom prijenosa preko nezaštićenih mreža poput interneta. IPsec se često koristi za izgradnju virtualnih privatnih mreža (VPN) i osiguravanje sigurne komunikacije između različitih mrežnih lokacija.

Glavni ciljevi IPsec-a uključuju:

  1. Povjerljivost podataka: IPsec omogućuje enkripciju podataka tijekom prijenosa preko nesigurnih mreža. Enkripcija sprječava prisluškivanje i otkrivanje sadržaja podataka tijekom prijenosa.
  2. Integritet podataka: IPsec osigurava integritet podataka tako što osigurava da podaci nisu bili promijenjeni ili oštećeni tijekom prijenosa. To se postiže korištenjem kriptografskih funkcija sažetaka (hash funkcija) koje generiraju kontrolne sume za IP pakete.
  3. Autentikacija: IPsec omogućuje autentikaciju sudionika u komunikaciji kako bi se osiguralo da su podaci poslani od strane legitimnih entiteta. Autentikacija može biti provođena pomoću pre-shared ključeva, digitalnih potpisa ili digitalnih certifikata.
  4. Zaštita protiv napada: IPsec pruža zaštitu od različitih vrsta napada, uključujući ponovno usmjeravanje (spoofing), ponovljive napade, napade na uslugu (DoS) i mnoge druge.

IPsec se može implementirati na različite načine, uključujući transportni i tunelni način rada. U transportnom načinu rada, samo se korisnički podaci enkriptiraju, dok se IP zaglavlje ostavlja nepromijenjenim. U tunelnom načinu rada, cijeli IP paket, uključujući IP zaglavlje, enkapsuliran je u novi IP paket, što omogućuje sigurnu komunikaciju između različitih mreža.

IPsec je široko korišten u implementacijama VPN-a, gdje omogućuje sigurnu komunikaciju između udaljenih lokacija ili korisnika putem nesigurnih mreža kao što je internet. Također se koristi u raznim drugim mrežnim aplikacijama i sustavima koji zahtijevaju sigurnu komunikaciju na razini IP sloja.

Evo primjera kako IPSec može pomoći u zaštiti od DDoS napada:

  1. Autentikacija: IPSec omogućava autentikaciju komunikacije između poslužitelja i klijenta. Kada se klijent povezuje s poslužiteljem putem IPSec-a, poslužitelj može provjeriti autentičnost klijenta prije nego što dozvoli pristup resursima. Ova autentikacija može pomoći u sprječavanju DDoS napada koji pokušavaju iskoristiti lažne identitete ili bot mreže za preopterećenje poslužitelja.
  2. Integritet podataka: IPSec osigurava integritet podataka putem kriptografskih mehanizama. To sprječava napadače da manipuliraju ili mijenjaju podatke koji se šalju između poslužitelja i klijenta. Ako se DDoS napad usredotoči na pokušaje promjene ili ometanja komunikacije, IPSec će otkriti takve promjene i odbiti sumnjive pakete.
  3. Šifriranje podataka: IPSec omogućava šifriranje podataka koji se prenose između poslužitelja i klijenta. Ovo šifriranje sprječava DDoS napadače da pristupe osjetljivim informacijama ili da manipuliraju podacima dok su u tranzitu. Čak i ako DDoS napadači uspiju preopteretiti mrežne veze, šifrirani podaci će ostati zaštićeni od neovlaštenog pristupa.
  4. Protokolski filtri: IPSec može implementirati protokolne filtre kako bi ograničio pristup određenim vrstama prometa. Na primjer, možete konfigurirati IPSec da odbija promet koji dolazi iz nepouzdanih izvora ili promet koji nije u skladu s definiranim sigurnosnim pravilima. Ovo može pomoći u blokiranju DDoS napadača koji pokušavaju preopteretiti mrežne resurse određenim vrstama prometa.
  5. Razdvajanje i upravljanje prometom: IPSec omogućava razdvajanje prometa na temelju sigurnosnih politika. Na primjer, možete konfigurirati IPSec da prioritizira legitimni promet i da smanji prioritet prometa koji se čini sumnjivim. Ovo može pomoći u smanjenju utjecaja DDoS napada na legitimne korisnike, pružajući im kontinuiranu pristupa mrežnim resursima.

Implementacijom ovih sigurnosnih značajki, IPSec može pružiti učinkovitu zaštitu od DDoS napada tako što sprječava neovlašteni pristup, održava integritet i povjerljivost podataka te upravlja prometom na mreži.

POGLEDAJTE I:

https://howhttps.works/https-ssl-tls-differences/

OpenSSL

OpenSSL je popularna open-source biblioteka koja pruža implementaciju kriptografskih algoritama i protokola za sigurnu komunikaciju na internetu. Ova biblioteka pruža širok spektar funkcionalnosti, uključujući podršku za SSL/TLS protokole, generiranje i upravljanje digitalnim certifikatima, kriptografske funkcije, alate za enkripciju i dekripciju podataka, te razne druge kriptografske operacije.

Evo nekih ključnih značajki i funkcionalnosti OpenSSL biblioteke:

  1. Podrška za SSL/TLS: OpenSSL pruža implementaciju SSL (Secure Sockets Layer) i TLS (Transport Layer Security) protokola za sigurnu komunikaciju između računala putem interneta. Ova podrška omogućuje razvoj aplikacija koje koriste sigurnu komunikaciju, kao što su web poslužitelji, e-mail klijenti, VPN klijenti i mnoge druge.
  2. Generiranje digitalnih certifikata: OpenSSL omogućuje generiranje digitalnih certifikata koji se koriste za autentikaciju poslužitelja i klijenata tijekom SSL/TLS komunikacije. Ovi certifikati se koriste za potvrdu identiteta web stranica, e-mail poslužitelja, VPN poslužitelja i drugih mrežnih entiteta.
  3. Kriptografske funkcije: Biblioteka pruža širok spektar kriptografskih funkcija, uključujući simetrične algoritme (npr. AES, DES, 3DES), asimetrične algoritme (npr. RSA, DSA, Elliptic Curve Cryptography), hash funkcije (npr. SHA-1, SHA-256, SHA-512), digitalne potpise, generiranje slučajnih brojeva itd.
  4. Enkripcija i dekripcija podataka: OpenSSL omogućuje enkripciju i dekripciju podataka korištenjem različitih kriptografskih algoritama i ključeva. To je korisno za zaštitu osjetljivih podataka tijekom prijenosa putem nesigurnih mreža.
  5. Alati za upravljanje certifikatima: OpenSSL dolazi s raznim alatima za generiranje, potpisivanje, provjeru i upravljanje digitalnim certifikatima, uključujući alate poput openssl, ca, genrsa, req, dgst itd.

OpenSSL je široko korištena biblioteka u različitim projektima i aplikacijama, uključujući web poslužitelje (poput Apache i Nginx), e-mail poslužitelje (poput Postfix i Sendmail), VPN aplikacije, sigurnosne alate, kripto valute i mnoge druge. Njegova fleksibilnost, otvoreni kod i podrška za različite platforme čine ga popularnim izborom za implementaciju sigurnosnih rješenja na internetu.

SSH

SSH ili Secure Shell je mrežni protokol koji služi za sigurno spajanje na udaljeno računalo preko nesigurne mreže kao što je internet. 

SSH za razliku od starijih protokola (telnet, rsh, rlogin) za udaljeno spajanje nudi puno veću sigurnost. 

To je protokol koji pripada aplikacijskom sloju TCP/IP modela ali može funkcionirati i preko drugih prijenosnih protokola. 

On osigurava tajnost podataka koji se šalju tako što kriptira sav promet između klijenta i poslužitelja 

Također osigurava integritet podataka računanjem MAC (message authentication code) kodova za svaki paket

Oblikovan je prema klijent/poslužitelj modelu, a komunikacija je podijeljena u tri sloja: transportni, autentifikacijski i spojni. 

Sigurnost se u SSH protokolu postiže primjenom kriptografskih algoritma koji štite tajnost i integritet podataka u prometu te osiguravaju autentičnost sudionika komunikacije. 

Osim samog sigurnog povezivanja, SSH se može napredno koristiti za prosljeđivanje TCP priključaka i X11 sjednica ili za uspostavu VPN mreža preko SSH sjednica.

 Dostupno je više različitih programskih ostvarenja ovog protokola za različite operacijske sustave, no među njima je daleko najrašireniji OpenSSH paket. 

ARHITEKTURA SSH

1. Transportni sloj (eng. The Trasnport Layer Protocol) – pruža autentifikaciju poslužitelja, tajnost prijenosa i integritet podataka. Obično radi kao aplikacijski protokol iznad TCP/IP protokola.

2. Autentifikacijski sloj (eng. The User Authetication Protocol) – zadužen za autentifikaciju korisnika poslužitelju na koji se pokušava spojiti. Za njegov rad je potrebno da prijenosni sloj već bude u funkciji

3. Spojni sloj (eng. The Connection Protocol) – zadužen za multipleksiranje više logičkih kanala u jedan kriptirani tunel. Radi iznad prijenosnog i autentifikacijskog sloja.

SSH omgućava nekoliko metoda autentifikacije klijenta, neke od najkorištenijih su autentifikacija javnim ključem i autentifikacija loznikom. 

Postoji i „none“ metoda koja označava da nema autentifikacije i da je svakom korisniku dopušten pristup

Nakon uspostavljanja veze između klijenta i poslužitelja i autentifikacije, spojni sloj SSH protkola omogućava razne usluge. 

Moguće je korištenje ljuske (shell) operacijskog sustava, također je moguće koristiti uspostavljenu vezu za prosljeđivanje prometa nekih drugih protokola (port forwarding), moguće je pokrenuti neki podsustav (scp, sftp) koji će koristiti SHH kanal kao sigurni medij za prenošenje podataka.

scp – SSH inačica rcp naredbe koja kopira datoteke s lokalnog računala na udaljeno. Pritom se podaci šalju kriptirani i zaštićeni. 

sftp – SSH inačica FTP (eng. File Transfer Protocol) protokola kojim se datoteke prenose između računala

USPOSTAVLJANJE VEZE

  • Poslužitelj osluškuje veze na TCP/IP portu 22, ali to može biti i bilo koji drugi port. 
  • Nakon što je veza uspostavljena obje stranje šalju identifikacijske nizove. Nizovi imaju sljedeći format:

SSH – verzija_protkola – verzija_programa razmak komentari CR LF

Nakon svakog neuspješnog pokušaja autentifikacije klijentu je omogućen ponovni pokušaj. 

Ipak, standard preporuča da se broj neuspjelih pokušaja ograniči na dvadeset. 

Nakon tog broja pokušaja poslužitelj bi trebao prekinut vezu.

Kako bi ostavrio autentifikaciju, klijent serveru šalje zahtjev u obliku sljedeće poruke:

Ako poslužitelj odbije zahtjev klijenta on će klijentu poslati sljedeću poruku:

Nakon što poslužitelj u potunosti prihvati autentifikaciju on šalje paket:

Nakon slanja identifikacijski nizova počinje se koristiti SSH binarni paketni protkol (Binary Packet Protocol) koji će se koristiti za sav promet do prekida veze. 

Riječ je o binarnom protokolu kojim se komunikacija odvija pomoću posebno organiziranih nizova bitova koji predstavljaju pakete.

Integritet podataka u SSH protokolu zaštičen je tako što se uz svaki paket šalje i MAC (message authentication code) koji se računa iz tajnog ključa, rednog broja paketa i sadržaja samog paketa. 

Tijekom procesa dogovaranja algoritama, dogovara se i koji će se MAC algoritam koristiti.

Algoritam za enkripciju dogovara se u postupku pregovaranja algoritama u transportnom sloju SSH protokola, a ključ enkripcije dobiva se Diffie-Hellman razmjenom ključeva. 

Nakon razmjene ključeva svaki se paket kriptira odabranim algoritmom, tj. sva polja osim MAC polja. 

Enkripcija se vrši nezavisno u oba smjera, što znači da se može koristiti jedan algoritam enkripcije za jedan smjer, a drugi algoritam za drugi smjer.

Ipak, u praksi je preporučljivo koristiti isti algoritam enkripcije za oba smjera. 

Duljina ključeva enkripcije trebala bi biti minimalno 128 bitova

Autentifikacija pomoću loznike je najkorištenija metoda autentifikacije.

Autentifikacijski protokol korisiti transportni protokol SSH, koji osigurava tajnost i integritet poslanih podataka. 

Sve što se prenosi je kriptirano pa se zbog toga lozinke koje se prenose tim kanalom ne mogu doznati prisluškivanjem kanal.

Klijent započinje autentifikaciju loznikom slanjem sljedeće poruke:

Metoda autentifikcije pomoću javnog ključa je puno sigurnija nego metoda autentifikacije pomoću loznike. 

Ova metoda je jedina metoda autenitifikacije koju obavezno moraju podržavati sve implementacije. 

Ova metoda funkcionira tako da klijent pošalje poslužitelju digitalni potpis koji on stvara svojim privatnim ključem, također šalje i svoj javni ključ. 

Nakon toga poslužitelj provjerava da li taj javni ključ pripada tom korisniku. 

Svaki korisnik u svom direktoriju na poslužitelju ima stvorenu datoteku u kojoj se nalaze njegovi javni ključevi. 

Privatni ključevi klijenta pohranjeni su na njegovom osobnom računalu i da bi se očuvala sigurnost ove metode potrebno je da oni budu dobr zastićeni. 

Prilikom generiranja ključa on se zaštiuje unošenjem passphrase niza i tako privatni ključ postaje kriptiran. 

Passphrase niz je duži od lozinke i može sadržavati i razmake. Svaki put kad o bude potreban, korisnik će biti upitan za unošenje passphrase niza.

OpenSSH

OpenSSH je open-source verzija alata Secure Shell (SSH) koje koriste administratori sustava Linux i drugih sustava koji nisu Windows za upravljanje udaljenim sustavima na više platformi. 

OpenSSH je dodan u Windows (od jeseni 2018.) i uključen je u Windows Server i Windows klijent.

HTTPS

  • Slovo “s” u HTTPS znači Secure. 
  • HTTPS nije poseban protokol, već se odnosi na kombinaciju „obične“ HTTP komunikacije preko SSL ili TLS veze.
  • Kod običnog HTTP protokola, informacije koje korisnik šalje serveru nisu šifrirane, što hakerima olakšava krađu tih informacija. 
  • Osnovna ideja HTTPS je stvoriti siguran kanal preko nesigurne mreže. 
  • Kod HTTPS protokola, informacije se šifriraju pomoću SSL certifikata (Secure Sockets Layer) ili TLS protokola (Transport Layer Security). 
  • SSL certifikat pretvara informacije u šifru, dok TLS onemogućuje prisluškivanje i uplitanje druge strane prillikom prijenosa. Kod TLS-a poslužitelj je autentificiran – time korisnik zna točno s kim komunicira.
  • HTTPS standardno rabi TCP/IP-port 443 a njegovi URL-ovi počinju s “https://”
  • Još jedna važna razlika između HTTP i HTTPS tiče se optimizacije za tražilice. Naime, Google stranicama koje koriste HTTPS daje bolje pozicije na pretragama. Uz to, Google Chrome upozorava korisnika prije nego što pristupi stranici koja koristi HTTP, i da bi korisnik takvoj stranici pristupio mora napraviti nekoliko dodatnih klikova.

HTTPS (Hypertext Transfer Protocol Secure) je sigurna verzija HTTP protokola koja se koristi za sigurnu komunikaciju između web preglednika korisnika i web poslužitelja. Evo detaljnog opisa HTTPS-a:

  1. Enkripcija podataka: Glavna značajka HTTPS-a je enkripcija podataka tijekom prijenosa putem interneta. Enkripcija se postiže korištenjem kriptografskog protokola TLS (Transport Layer Security) ili, u starijim implementacijama, SSL (Secure Sockets Layer). Ovi protokoli omogućuju enkripciju podataka pomoću asimetrične i simetrične kriptografije, osiguravajući da su podaci zaštićeni od prisluškivanja i manipulacije dok putuju preko mreže.
  2. Autentikacija: HTTPS omogućuje autentikaciju web poslužitelja koristeći digitalni certifikat. Web poslužitelj koristi digitalni certifikat kako bi dokazao svoj identitet preglednicima korisnika. Certifikat je izdan od strane pouzdane certifikacijske tijela (Certificate Authorities – CA) i sadrži informacije o web stranici (npr. domenu), ključ za enkripciju, i potpis CA-e, što potvrđuje da je certifikat valjan. Ovaj proces osigurava korisnicima da su povezani s pravom web stranicom, a ne s lažnom ili zlonamjernom.
  3. Integritet podataka: Korištenjem HTTPS-a, podaci koji se prenose između web preglednika i web poslužitelja su integritirani. To znači da bilo kakve promjene ili manipulacije podataka tijekom prijenosa mogu biti detektirane. To se postiže korištenjem kriptografskih funkcija sažetaka (hash funkcija) kako bi se izračunale kontrolne sume (hash) podataka i provjerilo jesu li podaci ostali netaknuti tijekom prijenosa.
  4. Sigurnost sesija: HTTPS osigurava sigurnost sesija između web preglednika i web poslužitelja. To uključuje generiranje i upravljanje sigurnim sesijskim ključevima koji se koriste za enkripciju i dekripciju podataka tijekom komunikacije. Ovi ključevi se generiraju dinamički za svaku sesiju, čime se osigurava sigurnost podataka čak i ako neki ključ bude kompromitiran.
  5. Indikatori sigurnosti: Preglednici obično pružaju vizualne indikatore sigurnosti kada se koristi HTTPS, kao što su zelena bravica ili ikona lokota pored URL-a u adresnoj traci. Ovi indikatori pružaju korisnicima vizualnu potvrdu da je veza sigurna i da se podaci šalju privatno.

Ukratko, HTTPS osigurava sigurnu komunikaciju između web preglednika i web poslužitelja korištenjem enkripcije podataka, autentikacije web poslužitelja, integriteta podataka, sigurnosti sesija i vizualnih indikatora sigurnosti za korisnike. Ovo je ključni protokol za zaštitu privatnosti i sigurnosti tijekom web pregledavanja i razmjene osjetljivih informacija putem interneta.

RAZLIKE IZMEĐU HTTP I HTTPS PROTOKOLA

Port 443 se koristi za sigurnu komunikaciju putem HTTPS (Hypertext Transfer Protocol Secure) protokola na internetu. Ovo je standardni port za HTTPS komunikaciju i koristi se za prijenos web sadržaja preko sigurne enkriptirane veze.

Kada korisnik pristupi web stranici koja koristi HTTPS, web preglednik će uspostaviti vezu s web poslužiteljem putem porta 443. Ova veza koristi Transport Layer Security (TLS) ili njegov prethodnik, Secure Sockets Layer (SSL), za enkripciju podataka tijekom prijenosa. To osigurava da su podaci koji se prenose između web preglednika i web poslužitelja zaštićeni od prisluškivanja i manipulacije.

E-pošta

Kod elektroničke pošte (e-maila), postoje nekoliko sigurnosnih protokola i tehnologija koje se koriste kako bi se osigurala sigurnost, privatnost i integritet podataka. Neki od najvažnijih sigurnosnih protokola za e-mail poštu uključuju:

  1. Transport Layer Security (TLS): TLS se često koristi za enkripciju i zaštitu podataka tijekom prijenosa e-mail poruka između poštanskih poslužitelja. Kada se koristi TLS, e-mail poruke su enkriptirane tijekom prijenosa putem interneta, što sprječava prisluškivanje i manipulaciju podacima.
  2. Simple Mail Transfer Protocol Secure (SMTPS): SMTPS je sigurna verzija Simple Mail Transfer Protocol (SMTP) koji se koristi za slanje e-mail poruka. SMTPS koristi SSL/TLS enkripciju kako bi osigurao sigurnu komunikaciju između poštanskih poslužitelja.
  3. StartTLS: StartTLS je mogućnost TLS enkripcije koja se može primijeniti na standardni SMTP protokol. Kada se koristi StartTLS, poštanski poslužitelji komuniciraju putem nešifriranog SMTP-a, ali zatim započinju TLS sesiju kako bi enkriptirali komunikaciju.
  4. Pretty Good Privacy (PGP) / OpenPGP: PGP i OpenPGP su protokoli za kriptiranje e-mail poruka na klijentskoj strani. Korisnici mogu koristiti PGP/OpenPGP softver za enkripciju svojih e-mail poruka prije slanja, kako bi osigurali privatnost i sigurnost sadržaja.
  5. DomainKeys Identified Mail (DKIM): DKIM je tehnologija za digitalno potpisivanje e-mail poruka kako bi se omogućila provjera autentičnosti poruka. DKIM omogućuje poštanskim poslužiteljima da provjere jesu li e-mail poruke doista poslane od navedenog pošiljatelja i nisu li bile mijenjane tijekom prijenosa.

Portovi 465 i 587 koriste se u elektroničkoj pošti za sigurnu komunikaciju između poštanskih klijenata (kao što su e-mail klijenti) i poštanskih poslužitelja putem protokola SMTP (Simple Mail Transfer Protocol). Evo opisa veze između ovih portova i kriptografskih algoritama:

  1. Port 465:
    • Port 465 tradicionalno se koristio za SMTPS (Simple Mail Transfer Protocol Secure), što je sigurna verzija SMTP protokola koja koristi SSL/TLS enkripciju za zaštitu komunikacije između poštanskih klijenata i poslužitelja.
    • Kada se koristi port 465, komunikacija između poštanskih klijenata i poslužitelja enkriptirana je pomoću SSL/TLS protokola, što osigurava privatnost i integritet podataka tijekom prijenosa.
    • Kriptografski algoritmi koji se često koriste za enkripciju na portu 465 uključuju RSA (Rivest-Shamir-Adleman) za razmjenu ključeva i AES (Advanced Encryption Standard) za enkripciju podataka.
  2. Port 587:
    • Port 587 koristi se za STARTTLS, što je opcija koja omogućuje enkripciju putem TLS-a (Transport Layer Security) za SMTP komunikaciju. Umjesto da koristi fiksnu SSL/TLS vezu na portu 465, STARTTLS omogućuje dinamičko započinjanje TLS sesije tijekom SMTP razmjene na standardnom portu 587.
    • Kada se koristi port 587 s opcijom STARTTLS, komunikacija između poštanskih klijenata i poslužitelja također je enkriptirana pomoću TLS-a, osiguravajući sigurnost podataka tijekom prijenosa.
    • Kriptografski algoritmi koji se koriste za enkripciju putem TLS-a na portu 587 su isti kao i kod port 465, uključujući RSA za razmjenu ključeva i AES za enkripciju podataka.

U oba slučaja, portovi 465 i 587 omogućuju sigurnu komunikaciju u elektroničkoj pošti putem enkripcije pomoću SSL/TLS protokola ili STARTTLS opcije. Korištenje kriptografskih algoritama poput RSA i AES osigurava privatnost, integritet i sigurnost podataka tijekom prijenosa e-mail poruka između poštanskih klijenata i poslužitelja.