Sobes.tech
Junior

რა არის SSL და როგორ გამოიყენება მონაცემთა უსაფრთხოების უზრუნველსაყოფად ქსელში?

sobes.tech AI

პასუხი AI-სგან

SSL (Secure Sockets Layer) — ეს არის კრიპტოგრაფიული პროტოკოლი, რომელიც უზრუნველყოფს უსაფრთხო მონაცემთა გადაცემას მომხმარებლის (მაგალითად, ვებ ბრაუზერის) და სერვერის (მაგალითად, ვებგვერდის) შორის. იგი იყენებს ასიმეტრიულ შიფრირებას უსაფრთხო კავშირის დასამყარებლად, ხოლო შემდეგ სიმეტრიულ შიფრირებას მონაცემების გადასაცემად.

SSL-ის გამოყენების ძირითადი ეტაპები:

  1. Handshake (ხელის ჩამორთმევა):

    • მომხმარებელი აგზავნის სერვერს შეტყობინებას "ClientHello", სადაც მოცემულია მხარდაჭერილი SSL ვერსიები და შიფრირების ნაკრები.
    • სერვერი პასუხობს "ServerHello"-ით, სადაც ირჩევს ოპტიმალურ SSL ვერსიას და შიფრირების ნაკრებს, ასევე აგზავნის თავის სერთიფიკატს.
    • მომხმარებელი ამოწმებს სერვერის სერთიფიკატის ნამდვილობას, იყენებს სანდო ძირითადი სერტიფიკატების სიის გამოყენებით.
    • მომხმარებელი ქმნის საიდუმლო სესიის გასაღებს და შიფრავს მას სერვერის საჯარო გასაღებით.
    • მომხმარებელი აგზავნის შიფრირებულ სესიის გასაღებს სერვერს.
    • სერვერი დეკოდირებს სესიის გასაღებს თავისი კერძო გასაღებით.
    • ორივე მხარე ქმნის საჭირო გასაღებს (შიფრირებისა და ავტორიზაციისთვის) სესიის გასაღების გამოყენებით.
    • მომხმარებელი და სერვერი აგზავნიან "Finished" შეტყობინებებს, რომლებიც შიფრირებულია შეთანხმებული გასაღებების გამოყენებით, რათა დაადასტურონ უსაფრთხო კავშირის წარმატებით დამყარება.
  2. მონაცემების შიფრირება: წარმატებული handshake-ის შემდეგ, ყველა გადაცემული მონაცემი შიფრირებულია შეთანხმებული სიმეტრიული ალგორითმით და გასაღებებით.

SSL სერთიფიკატის მაგალითი:

// სერთიფიკატის იდენტიფიკატორი
Serial Number: ...
// სერთიფიკატის ხელმოწერის ალგორითმი
Signature Algorithm: sha256WithRSAEncryption
// სერთიფიკატის გამომცემელი (Certificate Authority)
Issuer: C = US, O = Google Trust Services LLC, CN = GTS CA 1C3
// ვალიდობის ვადა
Validity
    Not Before: ...
    Not After : ...
// სერთიფიკატის საგანი (საიტის დომენის სახელი)
Subject: CN = www.example.com
// საგნის საჯარო გასაღები
Subject Public Key Info
    Public Key Algorithm: rsaEncryption
    Public-Key: (2048 bit)

SSL, ან უფრო ზუსტად მისი თანამედროვე ვერსია TLS (Transport Layer Security), უზრუნველყოფს:

  • კონფიდენციალურობა: თავიდან აცილება მონაცემთა გადაცემის დროს მათი მოპარვა და კითხვა.
  • მონაცემთა მთლიანობა: გარანტია, რომ მონაცემები არ შეცვლილა გადაცემის დროს.
  • ავტორიზაცია: სერვერის (და სურვილის შემთხვევაში, კლიენტის) ნამდვილობის დადასტურება სერთიფიკატების საშუალებით.

SSL/TLS-ის გამოყენება ფართოდ არის გავრცელებული — ვებ ბრაუზერებში (HTTPS პროტოკოლი), ელექტრონულ ფოსტაში (STARTTLS), VPN-ებში და სხვა პროგრამებში, რომლებიც საჭიროებენ უსაფრთხო მონაცემთა გადაცემას.