Middle
Brauzer və server arasında mesajların şifrələnməsi necə həyata keçirilir?
sobes.tech Süni İntellekt
AI-dan cavab
Brauzer və server arasındakı şifrləmə HTTPS protokolu vasitəsilə həyata keçirilir; bu, HTTP üzərində SSL/TLS (Secure Sockets Layer / Transport Layer Security) protokollarını istifadə edən əlavə bir qatdır.
Təhlükəsiz əlaqənin qurulması prosesi (Handshake):
- Client Hello: Brauzer, dəstəklənən SSL/TLS versiyalarını, şifrələmə dəstlərini (cipher suites), sıxışdırma alqoritmlərini və təsadüfi bir ədədi (müştəridən) ehtiva edən mesajı serverə göndərir.
- Server Hello: Server, təklif olunanlar arasından ən yaxşı protokol versiyasını, şifrələmə dəstini və sıxışdırma alqoritmini seçir, həmçinin özünün təsadüfi ədədi (serverdən) yaradır və onu SSL/TLS sertifikatı ilə birlikdə brauzerə göndərir.
- Təsdiqləmə: Brauzer serverin sertifikatını yoxlayır:
- Kök CA (Root CA) etibarlılığı.
- Sertifikatın keçərlik müddəti.
- Sertifikatdakı domen adının veb sayt ünvanı ilə uyğunluğu.
- Siyahıdakı ləğv edilmiş sertifikatların olmaması (CRL və ya OCSP).
- Premaster Secret: Brauzer təsadüfi bir ədəd (premaster secret) yaradır, onu serverin açıq açarı ilə şifrələyir (sertifikatdan alınır) və serverə göndərir.
- Sessiya açarının yaradılması: Həm brauzer, həm də server, müştəri (Client Random), server (Server Random) və premaster secret istifadə edərək simmetrik sessiya açarını yaradır.
- Change Cipher Spec: Brauzer, serverə, yaradılan sessiya açarını istifadə etməyə keçdiyini bildirən mesaj göndərir.
- Finished: Brauzer, bütün əvvəlki əl sıxma mesajlarının hash-ini, sessiya açarı ilə şifrələyir və serverə göndərir. Bu mesaj əl sıxmanın düzgünlüyünü yoxlayır.
- Change Cipher Spec: Server, brauzerə, şifrələnmiş əlaqəyə keçidi bildirən mesaj göndərir.
- Finished: Server, bütün əvvəlki əl sıxma mesajlarının hash-ini, sessiya açarı ilə şifrələyir və brauzerə göndərir.
Uğurlu əl sıxmadan sonra, brauzer və server arasındakı bütün məlumat ötürməsi, yaradılan sessiya açarına əsaslanan simmetrik şifrələmə ilə həyata keçirilir. Simmetrik şifrələmə, asimmetrik şifrələmədən çox daha səmərəlidir və böyük məlumat həcmlərinin şifrələnməsi üçün uyğundur.
İstifadə olunan alqoritmlər (nümunə):
- Asimmetrik şifrələmə (sessiya açarının mübadiləsi üçün): RSA, Diffie-Hellman (DH), Elliptic Curve Diffie-Hellman (ECDH).
- Simmetrik şifrələmə (məlumatların şifrələnməsi üçün): AES, 3DES, ChaCha20.
- Hashing (mesajların bütövlüyünü yoxlamaq üçün): SHA-256, SHA-384.