Безбедност више није опција, већ обавезан курс за сваког стручњака за интернет технологију. HTTP, HTTPS, SSL, TLS - Да ли заиста разумете шта се дешава иза кулиса? У овом чланку ћемо објаснити основну логику модерних шифрованих комуникационих протокола на лаички и професионалан начин и помоћи вам да разумете тајне „иза брава“ помоћу визуелног дијаграма тока.
Зашто је HTTP „небезбедан“? --- Увод
Сећате ли се оног познатог упозорења прегледача?
„Ваша веза није приватна.“
Када веб-сајт не примени HTTPS, све информације о кориснику се шаљу преко мреже у отвореном тексту. Ваше лозинке за пријаву, бројеви банковних картица, па чак и приватни разговори могу бити откривени од стране добро позиционираног хакера. Основни узрок овога је недостатак енкрипције у HTTP-у.
Па како HTTPS, и „чувар капије“ иза њега, TLS, омогућавају безбедан пренос података преко интернета? Хајде да то анализирамо слој по слој.
HTTPS = HTTP + TLS/SSL --- Структура и основни концепти
1. Шта је HTTPS у суштини?
HTTPS (HyperText Transfer Protocol Secure) = HTTP + слој шифровања (TLS/SSL)
○ HTTP: Ово је одговорно за пренос података, али је садржај видљив у отвореном тексту
○ TLS/SSL: Обезбеђује „закључавање шифровања“ за HTTP комуникацију, претварајући податке у загонетку коју само легитимни пошиљалац и прималац могу да реше.
Слика 1: HTTP наспрам HTTPS тока података.
„Каут“ у адресној траци прегледача је безбедносна заставица TLS/SSL.
2. Каква је веза између TLS-а и SSL-а?
○ SSL (Secure Sockets Layer): Најранији криптографски протокол, за који је утврђено да има озбиљне рањивости.
○ TLS (Transport Layer Security): Наследник SSL-а, TLS 1.2 и напреднијег TLS 1.3, који нуде значајна побољшања у безбедности и перформансама.
Данас су „ССЛ сертификати“ једноставно имплементације ТЛС протокола, само именоване екстензије.
Дубоко у TLS: Криптографска магија иза HTTPS-а
1. Ток руковања је потпуно решен
Основа безбедне TLS комуникације је плес руковања приликом подешавања. Хајде да анализирамо стандардни ток TLS руковања:
Слика 2: Типичан ток TLS рукостискања.
1️⃣ Подешавање TCP везе
Клијент (нпр. прегледач) иницира TCP везу са сервером (стандардни порт 443).
2️⃣ Фаза руковања TLS-ом
○ Поздрав клијенту: Прегледач шаље подржану TLS верзију, шифру и случајни број заједно са индикацијом имена сервера (SNI), која говори серверу ком имену хоста жели да приступи (омогућавајући дељење IP адресе између више локација).
○ Поздрав сервера и проблем са сертификатом: Сервер бира одговарајућу TLS верзију и шифру и шаље назад свој сертификат (са јавним кључем) и насумичне бројеве.
○ Валидација сертификата: Прегледач проверава ланац сертификата сервера све до поузданог коренског CA како би се уверио да није фалсификован.
○ Генерисање премастер кључа: Прегледач генерише премастер кључ, шифрује га јавним кључем сервера и шаље га серверу. Две стране преговарају о кључу сесије: Користећи случајне бројеве обе стране и премастер кључ, клијент и сервер израчунавају исти симетрични кључ сесије за шифровање.
○ Завршетак рукостискања: Обе стране шаљу једна другој поруке „Завршено“ и улазе у фазу преноса шифрованих података.
3️⃣ Безбедан пренос података
Сви подаци сервиса су симетрично шифровани ефикасно договореним кључем сесије, чак и ако се пресретну у средини, то је само гомила „искривљеног кода“.
4️⃣ Поновна употреба сесије
TLS поново подржава сесију, што може значајно побољшати перформансе омогућавајући истом клијенту да прескочи заморно руковање.
Асиметрично шифровање (као што је RSA) је безбедно, али споро. Симетрично шифровање је брзо, али је дистрибуција кључева гломазна. TLS користи „двостепену“ стратегију – прво асиметричну безбедну размену кључева, а затим симетричну шему за ефикасно шифровање података.
2. Еволуција алгоритма и побољшање безбедности
RSA и Дифи-Хелман
○ RSA
Први пут је широко коришћен током TLS рукостискања за безбедну дистрибуцију сесијских кључева. Клијент генерише сесијски кључ, шифрује га јавним кључем сервера и шаље га тако да га само сервер може дешифровати.
○ Дифи-Хелман (DH/ECDH)
Од TLS 1.3, RSA се више не користи за размену кључева у корист безбеднијих DH/ECDH алгоритама који подржавају тајност унапред (PFS). Чак и ако приватни кључ процури, историјски подаци се и даље не могу откључати.
TLS верзија | Алгоритам за размену кључева | Безбедност |
TLS 1.2 | RSA/DH/ECDH | Више |
TLS 1.3 | само за DH/ECDH | Више |
Практични савети које стручњаци за умрежавање морају савладати
○ Приоритетна надоградња на TLS 1.3 за брже и безбедније шифровање.
○ Омогућите јаке шифре (AES-GCM, ChaCha20, итд.) и онемогућите слабе алгоритме и небезбедне протоколе (SSLv3, TLS 1.0);
○ Конфигуришите HSTS, OCSP Stapling итд. да бисте побољшали укупну HTTPS заштиту;
○ Редовно ажурирајте и прегледајте ланац сертификата како бисте осигурали валидност и интегритет ланца поверења.
Закључак и мисли: Да ли је ваше пословање заиста безбедно?
Од HTTP-а као обичног текста до потпуно шифрованог HTTPS-а, безбедносни захтеви су еволуирали са сваком надоградњом протокола. Као камен темељац шифроване комуникације у модерним мрежама, TLS се стално унапређује како би се носио са све сложенијим окружењем напада.
Да ли ваше предузеће већ користи HTTPS? Да ли је ваша крипто конфигурација у складу са најбољим праксама у индустрији?
Време објаве: 22. јул 2025.