2. SSL/TLS qanday ishlaydi? 2.1. TLS Handshake TLS-dan foydalanadigan ikkita tizim ulanishga harakat qilganda, har bir tizim ikkinchisi TLS-ni qo'llab-quvvatlashini tekshirishga harakat qiladi. Bu jarayon TLS bilan qoʻl siqish deb ataladi va bu yerda ikkala tomon ham ushbu jarayonda qoʻllaniladigan TLS versiyasi, shifrlash algoritmi, shifrlar toʻplami va boshqalar haqida qaror qabul qiladi. TLS bilan qoʻl siqish muvaffaqiyatli bajarilgandan soʻng, ikkala tizim ham xavfsiz liniyada maʼlumotlar almashishni boshlaydi.
Eslatma: PKI va uning tarkibiy qismlari, masalan, kalitlar haqida amaliy bilim, TLSni tushunishdan oldin foydali bo'lishi mumkin. Bu haqda yuqoridagi havolada o‘qishingiz mumkin. Hozircha shuni bilishingiz kerakki, shifrlash va shifrni ochish kalitlar deb ataladigan kriptografik qurilmalar yordamida amalga oshiriladi. Ochiq kalit kriptografiyasida Ochiq kalitlar ma'lumotni shifrlash uchun ishlatiladi, maxfiy Maxfiy kalitlar esa bu ma'lumotlarni shifrlash uchun ishlatilishi mumkin. Ikki xil kalit ishtirok etganligi sababli, bu usul "simmetrik kriptografiya" dan farqli ravishda "assimetrik kriptografiya" deb ataladi, bunda bitta kalit ham shifrlash, ham shifrni ochishni amalga oshiradi. Bu haqda quyida batafsilroq.
Har bir TLS qoʻl siqish bir xil asosiy bosqichlarni bajaradi. Oddiylik uchun brauzer (mijoz) veb-saytga ega bo'lgan serverga ulanishga harakat qilmoqda deb faraz qilaylik:
Mijoz serverdan xavfsiz chiziq ochishni so'raydi va server TLS versiyalari va o'zi mos keladigan shifr to'plamlari ro'yxatini ko'rsatish orqali javob beradi. Ular tranzaktsiyada foydalanish uchun umumiy narsalarni kelishib olganlaridan so'ng, ular qo'l siqishni boshlaydilar.
Server o'zining raqamli sertifikatiga biriktirilgan ochiq kalitining nusxasini mijozga yuboradi. Mijoz serverning qonuniyligini tekshirish uchun sertifikatni tekshiradi va agar shunday bo'lsa, tranzaktsiyani davom ettiradi.
Mijoz serverning ochiq kaliti va uning shaxsiy kalitidan "sessiya kaliti" ni shifrlash uchun foydalanadi, bu kalitdan har ikki tomon ushbu seansda ma'lumotni shifrlash va shifrini ochish uchun foydalanadi. Ulanish tugashi bilan seans kaliti yaroqsiz bo'ladi.
Ikkala tomon bir-biriga shifrlangan xabarlarni yuborish orqali ulanishni sinab ko'radi. Agar ikkinchisi ularni seans kaliti yordamida hal qila olsa, ulanish muvaffaqiyatli himoyalangan.