Sigurnost više nije opcija, već obavezan kurs za svakog stručnjaka za internet tehnologiju. HTTP, HTTPS, SSL, TLS - Da li zaista razumijete šta se dešava iza kulisa? U ovom članku ćemo objasniti osnovnu logiku modernih šifrovanih komunikacijskih protokola na laički i profesionalan način i pomoći vam da shvatite tajne "iza brava" uz pomoć vizuelnog dijagrama toka.
Zašto je HTTP "nesiguran"? --- Uvod
Sjećate li se onog poznatog upozorenja preglednika?
"Vaša veza nije privatna."
Kada web stranica ne implementira HTTPS, sve korisničke informacije se prenose preko mreže u običnom tekstu. Vaše lozinke za prijavu, brojevi bankovnih kartica, pa čak i privatni razgovori mogu biti ukradeni od strane dobro pozicioniranog hakera. Osnovni uzrok tome je nedostatak enkripcije u HTTP-u.
Kako HTTPS i "čuvar vrata" iza njega, TLS, omogućavaju sigurno putovanje podataka preko interneta? Hajde da to razložimo sloj po sloj.
HTTPS = HTTP + TLS/SSL --- Struktura i osnovni koncepti
1. Šta je HTTPS u suštini?
HTTPS (HyperText Transfer Protocol Secure) = HTTP + Sloj za šifriranje (TLS/SSL)
○ HTTP: Ovo je odgovorno za transport podataka, ali sadržaj je vidljiv u otvorenom tekstu
○ TLS/SSL: Pruža "zaključavanje enkripcije" za HTTP komunikaciju, pretvarajući podatke u zagonetku koju samo legitimni pošiljalac i primalac mogu riješiti.
Slika 1: HTTP u odnosu na HTTPS tok podataka.
"Lock" u adresnoj traci preglednika je sigurnosna zastavica TLS/SSL-a.
2. Kakav je odnos između TLS-a i SSL-a?
○ SSL (Secure Sockets Layer): Najraniji kriptografski protokol za koji je utvrđeno da ima ozbiljne ranjivosti.
○ TLS (Transport Layer Security): Nasljednik SSL-a, TLS 1.2 i naprednijeg TLS 1.3, koji nude značajna poboljšanja u sigurnosti i performansama.
Ovih dana, "SSL certifikati" su jednostavno implementacije TLS protokola, samo imenovane ekstenzije.
Duboko u TLS: Kriptografska magija iza HTTPS-a
1. Tok rukovanja je potpuno riješen
Temelj sigurne TLS komunikacije je ples rukovanja prilikom postavljanja. Hajde da analiziramo standardni tok TLS rukovanja:
Slika 2: Tipičan tok TLS rukovanja.
1️⃣ Postavljanje TCP veze
Klijent (npr. preglednik) inicira TCP vezu sa serverom (standardni port 443).
2️⃣ Faza rukovanja TLS-om
○ Pozdrav klijenta: Preglednik šalje podržanu TLS verziju, šifru i slučajni broj zajedno sa indikacijom imena servera (SNI), koja serveru govori kojem imenu hosta želi pristupiti (omogućavajući dijeljenje IP adrese na više lokacija).
○ Pozdrav servera i problem s certifikatom: Server odabire odgovarajuću TLS verziju i šifru te šalje natrag svoj certifikat (s javnim ključem) i nasumične brojeve.
○ Validacija certifikata: Preglednik provjerava lanac certifikata servera sve do pouzdanog korijenskog CA kako bi se uvjerio da nije krivotvoren.
○ Generiranje premasternog ključa: Preglednik generira premasterni ključ, šifrira ga javnim ključem servera i šalje ga serveru. Dvije strane pregovaraju o ključu sesije: Koristeći slučajne brojeve obje strane i premasterni ključ, klijent i server izračunavaju isti simetrični ključ sesije za šifriranje.
○ Završetak rukovanja: Obje strane šalju jedna drugoj poruke "Završeno" i ulaze u fazu prijenosa šifriranih podataka.
3️⃣ Siguran prijenos podataka
Svi servisni podaci su simetrično šifrirani dogovorenim ključem sesije, efikasno, čak i ako se presretnu u sredini, to je samo gomila "iskrivljenog koda".
4️⃣ Ponovna upotreba sesije
TLS ponovo podržava Sesiju, što može značajno poboljšati performanse omogućavajući istom klijentu da preskoči zamorno rukovanje.
Asimetrično šifriranje (kao što je RSA) je sigurno, ali sporo. Simetrično šifriranje je brzo, ali je distribucija ključeva nezgrapna. TLS koristi strategiju "u dva koraka" - prvo asimetrična sigurna razmjena ključeva, a zatim simetrična shemu za efikasno šifriranje podataka.
2. Evolucija algoritma i poboljšanje sigurnosti
RSA i Diffie-Hellman
○ RSA
Prvi put je široko korišten tokom TLS handshake-a za sigurnu distribuciju sesijskih ključeva. Klijent generira sesijski ključ, šifrira ga javnim ključem servera i šalje ga tako da ga samo server može dešifrirati.
○ Diffie-Hellman (DH/ECDH)
Od verzije TLS 1.3, RSA se više ne koristi za razmjenu ključeva u korist sigurnijih DH/ECDH algoritama koji podržavaju tajnost unaprijed (PFS). Čak i ako privatni ključ procuri, historijski podaci se i dalje ne mogu otključati.
TLS verzija | Algoritam za razmjenu ključeva | Sigurnost |
TLS 1.2 | RSA/DH/ECDH | Više |
TLS 1.3 | samo za DH/ECDH | Više |
Praktični savjeti koje praktičari umrežavanja moraju savladati
○ Prioritetna nadogradnja na TLS 1.3 za brže i sigurnije šifriranje.
○ Omogućite jake šifre (AES-GCM, ChaCha20, itd.) i onemogućite slabe algoritme i nesigurne protokole (SSLv3, TLS 1.0);
○ Konfigurišite HSTS, OCSP Stapling itd. kako biste poboljšali ukupnu HTTPS zaštitu;
○ Redovno ažurirajte i pregledajte lanac certifikata kako biste osigurali validnost i integritet lanca povjerenja.
Zaključak i razmišljanja: Da li je vaše poslovanje zaista sigurno?
Od HTTP protokola s čistim tekstom do potpuno šifriranog HTTPS protokola, sigurnosni zahtjevi su se razvijali nakon svake nadogradnje protokola. Kao temelj šifrirane komunikacije u modernim mrežama, TLS se stalno poboljšava kako bi se nosio sa sve složenijim okruženjem napada.
Da li vaše preduzeće već koristi HTTPS? Da li je vaša kripto konfiguracija usklađena s najboljim praksama u industriji?
Vrijeme objave: 22. jula 2025.