Invatare Atomica

HTTP, HTTPS si securitate pe web

Progres lectie:
0%
🎯

Obiectivul lectiei

Vei intelege cum sa navighezi sigur pe web: de ce conteaza diferenta dintre HTTP si HTTPS, cum recunosti o conexiune securizata, ce riscuri apar pe retele publice si ce decizii de securitate iei in viata de zi cu zi. Contextul tehnic (DNS, TCP/IP) este prezentat la nivel de utilizator informat, nu de inginer de retea.

Dupa aceasta lectie vei putea:

  • Sa explici de ce HTTP si HTTPS sunt diferite si cand fiecare conteaza pentru siguranta ta
  • Sa recunosti semnalele vizuale ale unei conexiuni securizate in browser (lacat, https://)
  • Sa intelegi ce face DNS (traduce numele de domeniu in adrese IP) ca utilizator informat
  • Sa intelegi de ce datele trimise pe HTTP pot fi interceptate si citite de altii
  • Sa identifici riscurile concrete pe WiFi public si masurile de protectie adecvate
  • Sa recunosti protocoalele sigure vs nesigure in situatii practice (email, web, acces la distanta)

Nota de curriculum: aceasta lectie trateaza protocoalele din perspectiva securitatii cibernetice si navigarii avansate pe web (programa TIC cls. X, OMEN 3393/2017). Detaliile tehnice de nivel inginer (straturi TCP/IP, three-way handshake, TLS 1.3) sunt prezentate ca fundal explicativ, nu ca obiective de evaluare pentru cls. X.

Incearca singur!

Provocare:

Deschide browser-ul si scrie in bara de adrese https://www.google.com apoi apasa Enter. In mai putin de o secunda, pagina apare. Ce crezi ca se intampla in acel interval? Noteaza cel putin 3 pasi pe care ii banuiesti ca ii face calculatorul tau inainte ca pagina sa fie afisata.

💡 Ai nevoie de un indiciu?

Gandeste-te la o scrisoare trimisa prin posta: are un destinatar (adresa), este impartita in plicuri (pachete), calatoreste prin mai multe oficii postale (routere) si ajunge la destinatie unde este reasamblata.

In aceasta lectie vei descoperi ca acesti pasi au nume tehnice: DNS (gaseste adresa), TCP (imparte in pachete si verifica), IP (directioneaza), HTTP/HTTPS (formateaza cererea).

1

1. Ce este un protocol? De ce avem nevoie de el?

Un protocol de retea este un set de reguli standard, acceptate de toti participantii, care defineste cum se initiaza, se desfasoara si se incheie comunicarea intre dispozitivele dintr-o retea de calculatoare.
Analogie: Conventia telefonica

Cand raspunzi la telefon spui "Alo", asculti, raspunzi pe rand, la final spui "Pa". Aceasta conventie este un protocol: ambii interlocutori stiu regulile. Fara protocol, unul ar vorbi peste celalalt si nimeni nu ar intelege nimic.

In retele, acelasi principiu se aplica: calculatorul care trimite si cel care primeste trebuie sa fie de acord cu formatul mesajelor, ordinea operatiilor, cum se trateaza erorile si viteza de transmisie.

De ce sunt necesare protocoalele?
  • Interoperabilitate: un telefon Samsung poate comunica cu un iPhone deoarece ambele respecta aceleasi protocoale (WiFi, Bluetooth, TCP/IP).
  • Standardizare globala: un calculator din Romania trimite date unui server din Japonia fara probleme, deoarece folosesc aceleasi reguli.
  • Detectarea si corectarea erorilor: protocoalele includ mecanisme de verificare a integritatii datelor transmise.
  • Securitate: unele protocoale (HTTPS, SSH) includ criptarea datelor in tranzit.
Protocoale uzuale si domeniul lor

TCP/IP — transport date prin Internet
HTTP / HTTPS — transfer pagini web
DNS — traducere nume domeniu in adresa IP
FTP / SFTP — transfer fisiere
SMTP / IMAP / POP3 — trimitere si receptie email
SSH — acces securizat la distanta pe un server

2

2. Modelul TCP/IP — arhitectura comunicarii pe Internet

TCP/IP (Transmission Control Protocol / Internet Protocol) este suita de protocoale pe care se bazeaza Internetul. Modelul TCP/IP organizeaza comunicarea in 4 straturi, fiecare cu responsabilitati clare si bine delimitate.
Cele 4 straturi ale modelului TCP/IP

Stratul 4 — Aplicatie
Protocoale folosite direct de aplicatii: HTTP, HTTPS, DNS, FTP, SMTP, SSH.
Rol: formateaza cererea utilizatorului intr-un mesaj inteles de server.

Stratul 3 — Transport
TCP (Transmission Control Protocol): imparte datele in segmente numerotate, trimite confirmare pentru fiecare, retrimitere automata daca un segment se pierde. Sigur, dar mai lent.
UDP (User Datagram Protocol): trimite fara confirmare. Rapid, fara garantie de livrare. Folosit la streaming video, jocuri online, VoIP.

Stratul 2 — Internet (IP)
Adauga adresa IP sursa si destinatie la fiecare pachet. Router-ele folosesc aceasta adresa pentru a directiona pachetul pana la destinatie.
IPv4: adrese de 32 biti (ex: 93.184.216.34) — stocul global a fost epuizat.
IPv6: adrese de 128 biti (ex: 2001:db8::1) — rezolva problema epuizarii adreselor.

Stratul 1 — Acces la retea (Link)
Transmisia fizica a bitilor prin cablu, fibra optica sau unde radio. Include Ethernet (LAN cu cablu) si WiFi (802.11).
Adresa MAC (Media Access Control) identifica unic placa de retea in reteaua locala.

Analogie: Trimiterea unei scrisori prin posta

Strat Aplicatie = continutul scrisorii (ce vrei sa comunici)
Strat Transport (TCP) = impartirea continutului in plicuri numerotate si confirmarea primirii
Strat Internet (IP) = adresa destinatarului scrisa pe fiecare plic
Strat Acces retea = vehiculul fizic care transporta plicul (camion, avion)

3

3. DNS — agenda telefonica a Internetului

DNS (Domain Name System) este un sistem distribuit de baze de date care traduce numele de domeniu (www.google.com) in adrese IP numerice (142.250.185.46) pe care calculatoarele le inteleg.
Analogie: Agenda telefonica

Stii ca vrei sa suni la "Pizzeria Mario", nu la numarul 0740-123-456. Cauti in agenda dupa nume si gasesti numarul. DNS face exact acelasi lucru: tu scrii un nume, el iti intoarce numarul (adresa IP).

Cum functioneaza rezolutia DNS (pas cu pas):
  1. Tastezi https://www.wikipedia.org in browser.
  2. Browser-ul verifica cache-ul local DNS (lista traducerilor retinute recent). Daca gaseste adresa, sare direct la conexiunea TCP.
  3. Daca nu gaseste, intreaba Resolver-ul DNS al ISP-ului sau un serviciu public (8.8.8.8 Google, 1.1.1.1 Cloudflare).
  4. Resolver-ul intreaba un Root Server (13 clustere globale): cine administreaza .org? Primeste adresa serverului TLD .org.
  5. Resolver-ul intreaba Serverul TLD .org: cine administreaza wikipedia.org? Primeste adresele serverelor autoritare Wikipedia.
  6. Resolver-ul intreaba Serverul autoritar Wikipedia: care e IP-ul www.wikipedia.org? Primeste adresa IP reala.
  7. Resolver-ul returneaza adresa IP browser-ului. Browser-ul initiaza conexiunea TCP/IP catre acea adresa.
Structura unui nume de domeniu

Domeniul se citeste de la dreapta la stanga: www.wikipedia.org

.org = TLD (Top-Level Domain): tipul organizatiei (.com = comercial, .edu = educational, .ro = Romania)
wikipedia = domeniu de nivel 2: numele organizatiei
www = subdomeniu: serverul web (poate fi si mail, ftp, api etc.)

Cache DNS si TTL: rezultatele DNS sunt stocate temporar pentru eficienta. Fiecare inregistrare are un TTL (Time To Live) in secunde, dupa care trebuie re-interogata sursa autoritara. De aceea o modificare DNS nu se vede imediat in toata lumea.
4

4. HTTP vs HTTPS — cum circula datele pe web

HTTP (HyperText Transfer Protocol) este protocolul care defineste formatul cererilor si raspunsurilor dintre un browser web (client) si un server web. HTTP functioneaza pe modelul cerere-raspuns (request-response).
Cum functioneaza HTTP (cerere-raspuns)

Cerere HTTP (Request) trimisa de browser:

GET /index.html HTTP/1.1
Host: www.example.com
Accept: text/html

Raspuns HTTP (Response) trimis de server:

HTTP/1.1 200 OK
Content-Type: text/html
[... continut pagina HTML ...]

Coduri de stare HTTP frecvente:
200 OK — cerere procesata cu succes, continut returnat
301 Moved Permanently — pagina s-a mutat definitiv la alta adresa
403 Forbidden — acces refuzat
404 Not Found — pagina nu exista pe server
500 Internal Server Error — eroare interna pe serverul web

HTTPS = HTTP + TLS (Transport Layer Security). TLS cripteaza intregul continut al comunicarii, asigurand trei garantii:
  • Confidentialitate: datele nu pot fi citite de un atacator care intercepteaza traficul.
  • Integritate: datele nu pot fi modificate in tranzit fara ca aceasta sa fie detectata.
  • Autentificare: browser-ul verifica identitatea serverului prin certificatul digital emis de o Autoritate de Certificare (CA), confirmand ca esti pe serverul real si nu pe un site fals.
Porturile standard si semnalele vizuale

HTTP → portul 80 (canal nesecurizat)
HTTPS → portul 443 (canal securizat cu TLS)
Un port este un canal logic: serverul asculta pe portul 80 cererile HTTP si pe portul 443 cererile HTTPS.

In browser, HTTPS se vede ca: 🔒 (lacatul inchis) + URL incepe cu https://.

Regula de baza: nu introduce niciodata parole, date bancare sau informatii personale pe un site care nu are HTTPS!

5

5. Drumul complet al unui pachet — de la tastatura la server si inapoi

Sa urmarim complet ce se intampla intre momentul in care apesi Enter dupa ce tastezi o adresa web si momentul in care pagina apare pe ecran. Fiecare pas implica un protocol specific.
Exemplu: accesezi https://www.liceu-info.ro/admitere.html

Pasul 1 — Rezolutie DNS
Browser-ul intreaba serverul DNS: Care este adresa IP a www.liceu-info.ro?
Primeste adresa IP a serverului.
Protocol implicat: DNS pe portul UDP 53

Pasul 2 — Conectare TCP (Three-Way Handshake)
Browser-ul initiaza o conexiune TCP cu serverul la portul 443:
(1) Browser catre server: SYN (vreau sa ma conectez)
(2) Server catre browser: SYN-ACK (sunt disponibil, confirmat)
(3) Browser catre server: ACK (confirmat, incepem)
Protocol implicat: TCP

Pasul 3 — Negociere TLS
Browser-ul si serverul negociaza algoritmul de criptare si schimba cheile criptografice. Serverul prezinta certificatul digital; browser-ul il verifica.
Protocol implicat: TLS 1.3

Pasul 4 — Cerere HTTP GET
Prin tunelul criptat TLS, browser-ul trimite: GET /admitere.html HTTP/1.1
Protocol implicat: HTTP peste TLS = HTTPS

Pasul 5 — Raspuns server si rutare IP
Serverul trimite codul HTML (200 OK). Datele vin impartite in pachete IP. Fiecare pachet trece prin mai multe routere; fiecare router citeste adresa IP destinatie si decide urmatorul salt.
Protocoale implicate: IP, Ethernet sau WiFi

Pasul 6 — Reasamblare TCP si afisare
Pachetele pot sosi in ordine diferita. TCP le reasambleaza in ordinea numerelor de secventa originale. Browser-ul interpreteaza HTML-ul si afiseaza pagina.
Protocol implicat: TCP

Alte protocoale importante:
  • FTP (portul 21) — transfer fisiere; versiunea securizata: SFTP (portul 22, peste SSH)
  • SMTP (portul 587 sau 465) — trimitere email de la client la server sau intre servere
  • IMAP (portul 993 cu TLS) — acces la emailuri stocate pe server; accesibile de oriunde
  • POP3 (portul 995 cu TLS) — descarca emailurile pe dispozitivul local si le sterge de pe server
  • SSH (portul 22) — acces terminal criptat la servere la distanta; inlocuieste Telnet (text clar)
6

6. Securitate si protocoale — de ce alegerea protocolului conteaza

Alegerea protocolului are implicatii directe asupra securitatii datelor tale. Protocoalele necriptate transmit datele in text clar, accesibil oricui care le intercepteaza in retea.
Comparatie protocoale sigure vs nesigure

HTTP → text clar — de evitat pentru date sensibile
HTTPS → criptat cu TLS — obligatoriu pentru autentificare si date personale

FTP → text clar, inclusiv parola! — de evitat
SFTP / FTPS → criptat — variantele sigure recomandate

Telnet → text clar — nu se mai foloseste
SSH → criptat — standardul actual

POP3 / IMAP necriptat → parola email in text clar
POP3S / IMAPS → variantele sigure, porturile 995 si 993

Atacul Man in the Middle (MitM)

Intr-un atac MitM, un atacator se interpune intre tine si server, interceptand comunicarea. Pe HTTP, vede totul in text clar: parole, mesaje, date bancare. Pe HTTPS cu TLS, chiar daca intercepteaza pachetele, nu le poate descifra fara cheile private ale serverului.

Regula practica: pe WiFi public (aeroport, cafenea, hotel) foloseste NUMAI site-uri cu HTTPS sau un VPN care cripteaza tot traficul.

Certificatul digital SSL/TLS:
  • Emis de o Autoritate de Certificare (CA) care verifica identitatea detinatorului domeniului.
  • Contine: numele domeniului, cheia publica a serverului, perioada de valabilitate, semnatura digitala a CA.
  • Browser-ul verifica automat validitatea. Daca certificatul este expirat sau invalid, afiseaza un avertisment rosu.
  • Certificatele gratuite Let's Encrypt au democratizat HTTPS: orice site poate fi securizat fara costuri.

Exercitii practice

Exercitiul 1 (Nivel minim) — Identifica protocolul

Asociaza fiecare situatie cu protocolul potrivit din lista: HTTP, HTTPS, DNS, FTP, SMTP, SSH.

  1. Trimiti un email de la contul tau Gmail catre un prieten.
  2. Accesezi pagina web a bancii tale pentru o plata online.
  3. Browser-ul translateaza "www.youtube.com" in adresa IP pentru a se conecta.
  4. Un administrator se conecteaza de la distanta la un server Linux pentru a configura servicii.
  5. Un web-designer incarca fisierele site-ului pe serverul de gazduire.

Exercitiul 2 (Nivel standard) — Ordinea operatiilor

Numeroteaza pasii in ordinea corecta pentru scenariul urmator:

Scenariu: Accesezi https://www.liceu-info.ro/admitere.html de pe telefonul conectat la WiFi.

  • [ ] Serverul trimite codul HTML al paginii (200 OK)
  • [ ] Browser-ul intreaba serverul DNS: Care e IP-ul www.liceu-info.ro?
  • [ ] Browser-ul reasambleaza pachetele TCP si afiseaza pagina
  • [ ] Browser-ul si serverul negociaza criptarea TLS
  • [ ] Browser-ul trimite cererea GET /admitere.html prin tunelul HTTPS
  • [ ] Browser-ul stabileste conexiunea TCP cu serverul (three-way handshake)

Exercitiul 3 (Nivel performanta) — Analiza de securitate

Esti la o cafenea si vrei sa verifici contul bancar de pe laptop. Identifica si explica:

  1. Ce protocol trebuie sa folosesti si cum verifici ca il folosesti inainte de a introduce parola.
  2. Ce informatii contine certificatul digital al site-ului bancii (cel putin 3 elemente).
  3. Ce se intampla daca un atacator intercepteaza pachetele tale pe WiFi, dar conexiunea este HTTPS? Poate el citi parola?
  4. Propune doua masuri suplimentare de securitate (in afara de HTTPS) pentru a-ti proteja sesiunea bancara.

Ce ai invatat astazi

  • Protocol de retea = set de reguli standard pentru comunicarea intre dispozitive; necesar pentru interoperabilitate si standardizare globala
  • Modelul TCP/IP: 4 straturi (Aplicatie, Transport, Internet, Acces retea), fiecare cu rol distinct
  • TCP: transport fiabil cu confirmare si retrimitere; UDP: transport rapid fara garantie de livrare
  • DNS: traduce numele de domeniu in adresa IP; functioneaza ierarhic (Resolver, Root Server, TLD, Autoritar)
  • HTTP: protocol cerere-raspuns; coduri de stare (200, 404, 500); date in text clar
  • HTTPS = HTTP + TLS; garanteaza confidentialitate, integritate si autentificare prin certificat digital
  • Drumul unui pachet: DNS rezolutie, TCP handshake, TLS handshake, HTTP GET, raspuns IP, reasamblare TCP, afisare
  • Protocoale sigure: HTTPS, SFTP, SSH, IMAPS, POP3S. De evitat: HTTP, FTP, Telnet (text clar)

Urmatoarea lectie

Lectia 3 — Backup si stocare sigura: strategii de backup, regula 3-2-1 si criptarea datelor.

Continua →