Sobes.tech
Junior

Šta je SSL i kako se koristi za obezbeđivanje sigurnosti podataka u mreži?

sobes.tech АИ

Одговор од АИ

SSL (Secure Sockets Layer) — to je kriptografski protokol koji obezbeđuje sigurnu transmisiju podataka između klijenta (npr. veb pregledača) i servera (npr. veb sajta). Koristi asimetrično šifrovanje za uspostavljanje zaštićenog komunikacionog kanala, a zatim simetrično šifrovanje za prenos podataka.

Glavni koraci korišćenja SSL:

  1. Handshake (Rukovanje):

    • Klijent šalje serveru poruku "ClientHello" koja sadrži listu podržanih verzija SSL i skupova šifri.
    • Server odgovara sa "ServerHello", birajući optimalnu verziju SSL i skup šifri, kao i šaljući svoj sertifikat.
    • Klijent proverava autentičnost sertifikata servera koristeći listu poverenih korenskih sertifikacionih autoriteta.
    • Klijent generiše tajni sesijski ključ i šifruje ga koristeći javni ključ iz sertifikata servera.
    • Klijent šalje šifrovani sesijski ključ serveru.
    • Server dešifruje sesijski ključ koristeći svoj privatni ključ.
    • Obje strane generišu potrebne ključeve (za šifrovanje i autentifikaciju) za simetrični algoritam koristeći sesijski ključ.
    • Klijent i server šalju poruke "Finished" šifrovane korišćenjem usaglašenih ključeva, kako bi potvrdili uspešno uspostavljanje zaštićene veze.
  2. Šifrovanje podataka: Nakon uspešnog rukovanja, svi podaci koji se prenose između klijenta i servera šifruju se korišćenjem usaglašenog simetričnog algoritma i ključeva.

Primer dela SSL sertifikata:

// Identifikator sertifikata
Serial Number: ...
// Algoritam potpisa sertifikata
Signature Algorithm: sha256WithRSAEncryption
// Izdavalac sertifikata (Certificate Authority)
Issuer: C = US, O = Google Trust Services LLC, CN = GTS CA 1C3
// Vremenski period važenja
Validity
    Not Before: ...
    Not After : ...
// Subjekt sertifikata (domen ime sajta)
Subject: CN = www.example.com
// Javni ključ subjekta
Subject Public Key Info
    Public Key Algorithm: rsaEncryption
    Public-Key: (2048 bit)

SSL, odnosno njegov moderniji pandan TLS (Transport Layer Security), obezbeđuje:

  • Privatnost: Sprečava presretanje i čitanje podataka od strane zlonamernika.
  • Integritet podataka: Garantuje da podaci nisu izmenjeni tokom prenosa.
  • Autentifikacija: Potvrđuje autentičnost servera (i opcionalno klijenta) pomoću sertifikata.

Upotreba SSL/TLS široko je rasprostranjena u veb pregledačima (protokol HTTPS), elektronskoj pošti (STARTTLS), VPN-ovima i drugim aplikacijama koje zahtevaju siguran prenos podataka.