Š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:
-
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.
-
Š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.