Junior
HTTPS qanday ishlaydi?
sobes.tech AI
AIdan javob
HTTPS (Hypertext Transfer Protocol Secure) — bu protokol, u yordamida mijoz (masalan, brauzer) va server o‘rtasida ma’lumotlar xavfsiz uzatish ta’minlanadi. U HTTP asosida ishlaydi, ammo uzatilayotgan ma’lumotlarni shifrlash uchun foydalaniladi.
HTTPS ishlash prinsipi TLS (Transport Layer Security) protokolidan foydalanishga asoslangan bo‘lib, avval SSL (Secure Sockets Layer) deb nomlangan. TLS/SSL quyidagi uchta asosiy xavfsizlik jihatini ta’minlaydi:
- Shifrlash: Mijoz va server o‘rtasidagi ma’lumotlar shifrlanadi, bu ularni tashqi kuzatuvchilar uchun o‘qilmas holga keltiradi.
- Ma’lumotlarning yaxlitligi: Ma’lumotlar uzatish jarayonida o‘zgartirilmaganligini tekshirish mumkin.
- Autentifikatsiya: Server o‘zining haqiqiyligini mijozga tasdiqlaydi.
HTTPS ulanishini o‘rnatish jarayoni bir nechta bosqichdan iborat bo‘lib, ular "TLS/SSL Handshake" deb ataladi:
- Client Hello: Mijoz serverga "Client Hello" yuboradi, unda:
- TLS versiyasi.
- Qo‘llab-quvvatlanadigan shifrlash algoritmlari ro‘yxati.
- Tasodifiy raqam.
- Server Hello: Server "Server Hello" bilan javob beradi va mijoz taklif qilgan variantlardan tanlaydi:
- TLS versiyasi.
- Bir shifrlash algoritmi.
- Tasodifiy raqam.
- Server sertifikati.
- Certificate: Mijoz server sertifikatini oladi va uning haqiqiligini tekshiradi:
- Sertifikatning raqamli imzosini CA (sertifikatlash markazi) ning ochiq kaliti yordamida tekshiradi.
- Sertifikatning amal qilish muddatini tekshiradi.
- Sertifikatdagi domen nomi bilan so‘ralayotgan nom mos kelishini tekshiradi.
- Client Key Exchange: Mijoz pre-mester sirini yaratadi, uni server sertifikatining ochiq kaliti bilan shifrlaydi va serverga yuboradi.
- Change Cipher Spec (Client): Mijoz serverga shifrlangan ma’lumotlar almashinuvi boshlashga tayyorligini bildiradi.
- Finished (Client): Mijoz barcha oldingi Handshake xabarlarining xeshini o‘z ichiga olgan shifrlangan xabar yuboradi, bu ma’lumotlarning yaxlitligini tekshirish uchun.
- Change Cipher Spec (Server): Server pre-mester sirini o‘zining shaxsiy kaliti yordamida ochadi va sessiya uchun simmetrik kalitlar yaratadi. So‘ngra, u mijozga shifrlangan ma’lumotlar almashinuvi boshlashga tayyorligini bildiradi.
- Finished (Server): Server barcha oldingi Handshake xabarlarining xeshini o‘z ichiga olgan shifrlangan xabar yuboradi.
- Shifrlangan ma’lumotlar uzatish: Handshake muvaffaqiyatli yakunlangach, mijoz va server yaratilgan simmetrik kalitlar yordamida barcha keyingi ma’lumotlarni shifrlashadi.
Shu tarzda, HTTPS xavfsiz aloqa kanalini ta’minlaydi, veb-saytlarni xavfsizroq qilish uchun.