Sobes.tech
Junior

როგორ მუშაობს HTTPS?

sobes.tech AI

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

HTTPS (Hypertext Transfer Protocol Secure) — ეს არის პროტოკოლი, რომელიც უზრუნველყოფს უსაფრთხო მონაცემთა გადაცემას მომხმარებლის (მაგალითად, ბრაუზერის) და სერვერის შორის. იგი დაფუძნებულია HTTP-ზე, მაგრამ იყენებს შიფრირებას გადაცემული ინფორმაციის დაცვის მიზნით.

HTTPS-ის მუშაობა ეფუძნება TLS (Transport Layer Security) პროტოკოლს, რომელიც ადრე იყო SSL (Secure Sockets Layer). TLS/SSL უზრუნველყოფს სამი ძირითადი უსაფრთხოების ასპექტს:

  1. შიფრირება: მონაცემები შორის მომხმარებლის და სერვერის შიფრირებულია, რაც მათ ხდის წაკითხვად გარეშე მესამე მხარისთვის.
  2. მონაცემთა მთლიანობა: შემოწმებულია, რომ მონაცემები არ შეცვლილა გადაცემის დროს.
  3. ავტენტიფიკაცია: სერვერი ადასტურებს თავის ნამდვილობას მომხმარებელს.

HTTPS-ის დამყარების პროცესი მოიცავს რამდენიმე ეტაპს, სახელწოდებით "TLS/SSL Handshake":

  1. Client Hello: მომხმარებელი აგზავნის სერვერს "Client Hello", რომელიც შეიცავს:
    • TLS-ის მხარდაჭერილი ვერსია.
    • მხარდაჭერილი კოდირების ალგორითმების სია (cipher suites).
    • შემთხვევითი ნომერი.
  2. Server Hello: სერვერი პასუხობს "Server Hello"-ით, სადაც აირჩევს:
    • TLS ვერსიას.
    • ერთ-ერთ კოდირების ალგორითმს.
    • შემთხვევით ნომერს.
    • სერვერის სერტიფიკატს.
  3. Certificate: მომხმარებელი იღებს სერვერის სერტიფიკატს და ამოწმებს მის ნამდვილობას:
    • ამოწმებს ციფრულ ხელმოწერას სერტიფიკატზე, გამოიყენებს საჯარო გასაღებს სერტიფიკატის ავტორიზაციის ცენტრის (CA) მიერ.
    • ამოწმებს სერტიფიკატის ვადიანობას.
    • ამოწმებს, რომ დომენის სახელი შესაბამისია სერტიფიკატში მითითებულთან.
  4. Client Key Exchange: მომხმარებელი ქმნის pre-master secret-ს, რომელიც შიფრავს სერვერის სერტიფიკატიდან საჯარო გასაღებით და აგზავნის სერვერს.
  5. Change Cipher Spec (Client): მომხმარებელი აცნობებს სერვერს, რომ მზად არის, დაიწყოს შიფრირებული მონაცემების გაცვლა.
  6. Finished (Client): მომხმარებელი აგზავნის შიფრირებულ შეტყობინებას, სადაც არის ყველა წინამორბედი Handshake შეტყობინებების ჰეში, რათა შემოწმდეს მთლიანობა.
  7. Change Cipher Spec (Server): სერვერი დეშიფრირებს pre-master secret-ს, გამოიყენებს თავის კერძო გასაღებს და ქმნის სესიის სიმეტრიულ გასაღებს. შემდეგ აცნობებს მომხმარებელს, რომ მზად არის, დაიწყოს შიფრირებული მონაცემების გაცვლა.
  8. Finished (Server): სერვერი აგზავნის შიფრირებულ შეტყობინებას, სადაც არის ყველა წინამორბედი Handshake შეტყობინებების ჰეში.
  9. შიფრირებული მონაცემების გადაცემა: წარმატებით დასრულების შემდეგ, მომხმარებელი და სერვერი იყენებენ შექმნილ სიმეტრიულ გასაღებს ყველა შემდეგი მონაცემის შიფრირებისთვის.

ამ გზით, HTTPS უზრუნველყოფს დაცულ კავშირს, რაც უფრო უსაფრთხო ვებ-სერფინგს უზრუნველყოფს.