Қауіпсіздік енді таңдау емес, Интернет технологиясы бойынша әрбір тәжірибеші үшін міндетті курс. HTTP, HTTPS, SSL, TLS - Сахна артында не болып жатқанын шынымен түсінесіз бе? Бұл мақалада біз заманауи шифрланған байланыс хаттамаларының негізгі логикасын қарапайым және кәсіби түрде түсіндіреміз және көрнекі ағын диаграммасы арқылы «құлыптардың артындағы» құпияларды түсінуге көмектесеміз.
Неліктен HTTP «қауіпсіз»? --- Кіріспе
Браузердің таныс ескертуі есіңізде ме?
«Сіздің байланысыңыз жеке емес».
Веб-сайт HTTPS қолданбаған кезде, пайдаланушының барлық ақпараты желі бойынша ашық мәтінде таратылады. Кіру құпия сөздеріңізді, банк картасының нөмірлерін және тіпті жеке сөйлесулеріңізді жақсы орналасқан хакер басып алады. Мұның негізгі себебі HTTP шифрлауының болмауы.
Сонымен, HTTPS және оның артындағы «қақпашы» TLS деректердің Интернет арқылы қауіпсіз өтуіне қалай мүмкіндік береді? Оны қабат-қабат бөлшектеп көрейік.
HTTPS = HTTP + TLS/SSL --- Құрылым және негізгі түсініктер
1. HTTPS мәні неде?
HTTPS (Hypertext Transfer Protocol Secure) = HTTP + Шифрлау деңгейі (TLS/SSL)
○ HTTP: Бұл деректерді тасымалдауға жауапты, бірақ мазмұн ашық мәтінде көрінеді
○ TLS/SSL: HTTP байланысы үшін деректерді тек заңды жіберуші мен қабылдаушы шеше алатын басқатырғышқа айналдырып, "шифрлауды құлыптауды" қамтамасыз етеді.
1-сурет: HTTP және HTTPS деректер ағыны.
Браузердің мекенжай жолағындағы "құлыптау" - TLS/SSL қауіпсіздік жалауы.
2. TLS мен SSL арасында қандай байланыс бар?
○ SSL (Secure Sockets Layer): елеулі осалдықтары бар екені анықталған ең ерте криптографиялық протокол.
○ TLS (Transport Layer Security): SSL, TLS 1.2 және одан да жетілдірілген TLS 1.3 мұрагері, олар қауіпсіздік пен өнімділікті айтарлықтай жақсартуға мүмкіндік береді.
Бұл күндері «SSL сертификаттары» жай ғана аталған кеңейтімдер TLS протоколының іске асырылуы болып табылады.
TLS тереңірек: HTTPS артындағы криптографиялық сиқыр
1. Қол алысу ағыны толығымен шешілді
TLS қауіпсіз байланысының негізі орнату уақытында қол алысу биі болып табылады. Стандартты TLS қол алысу ағынын бөлейік:
2-сурет: әдеттегі TLS қол алысу ағыны.
1️⃣ TCP қосылымын орнату
Клиент (мысалы, браузер) серверге (стандартты порт 443) TCP қосылымын бастайды.
2️⃣ TLS қол алысу фазасы
○ Client Hello: Браузер қолдау көрсетілетін TLS нұсқасын, шифрын және кездейсоқ санды Сервер атауының көрсеткішімен (SNI) жібереді, ол серверге қай хост атауына қол жеткізгісі келетінін айтады (бірнеше сайттар арқылы IP бөлісуді қосады).
○ Сервер сәлемі және сертификат мәселесі: Сервер сәйкес TLS нұсқасын және шифрін таңдап, сертификатын (ашық кілтпен) және кездейсоқ сандарды кері жібереді.
○ Сертификатты тексеру: браузер жалған емес екеніне көз жеткізу үшін сервер сертификаттарының тізбегін сенімді түбірлік CA-ға дейін тексереді.
○ Premaster кілтін генерациялау: Браузер премастер кілтін жасайды, оны сервердің ашық кілтімен шифрлайды және оны серверге жібереді. Екі тарап сеанс кілтін келіседі: Екі тараптың кездейсоқ сандары мен премастер кілтін пайдаланып, клиент пен сервер бірдей симметриялық шифрлау сеансы кілтін есептейді.
○ Қол алысуды аяқтау: екі тарап бір-біріне "Дайын" хабарларын жіберіп, шифрланған деректерді жіберу кезеңіне кіреді.
3️⃣ Деректерді қауіпсіз тасымалдау
Барлық қызмет деректері келісілген сеанс кілтімен тиімді түрде симметриялы түрде шифрланады, тіпті ортасында ұсталса да, бұл жай ғана «бұзылған код» тобы.
4️⃣ Сеансты қайта пайдалану
TLS бір клиентке жалықтыратын қол алысуды өткізіп жіберуге мүмкіндік беру арқылы өнімділікті айтарлықтай жақсартатын сеансты қайта қолдайды.
Асимметриялық шифрлау (мысалы, RSA) қауіпсіз, бірақ баяу. Симметриялық шифрлау жылдам, бірақ кілттерді тарату қиын. TLS «екі сатылы» стратегияны пайдаланады - алдымен асимметриялық қауіпсіз кілт алмасу, содан кейін деректерді тиімді шифрлау үшін симметриялық схема.
2. Алгоритм эволюциясы және қауіпсіздікті жақсарту
RSA және Диффи-Хеллман
○ RSA
Ол алғаш рет сеанс кілттерін қауіпсіз тарату үшін TLS қол алысу кезінде кеңінен қолданылды. Клиент сеанс кілтін жасайды, оны сервердің ашық кілтімен шифрлайды және оны тек сервер шифрын шеше алатындай етіп жібереді.
○ Диффи-Хеллман (DH/ECDH)
TLS 1.3 нұсқасынан бастап RSA бұдан былай алға құпиялықты (PFS) қолдайтын қауіпсіз DH/ECDH алгоритмдерінің пайдасына кілт алмасу үшін пайдаланылмайды. Жеке кілт ағып кетсе де, тарихи деректер әлі де құлпын ашу мүмкін емес.
TLS нұсқасы | кілт алмасу алгоритмі | Қауіпсіздік |
TLS 1.2 | RSA/DH/ECDH | Жоғарырақ |
TLS 1.3 | тек DH/ECDH үшін | Жоғарырақ |
Желілік тәжірибешілер меңгеруі тиіс практикалық кеңес
○ Жылдам әрі қауіпсіз шифрлау үшін TLS 1.3 нұсқасына басымдықты жаңарту.
○ Күшті шифрларды (AES-GCM, ChaCha20, т.б.) қосыңыз және әлсіз алгоритмдер мен қауіпті хаттамаларды (SSLv3, TLS 1.0) өшіріңіз;
○ Жалпы HTTPS қорғауын жақсарту үшін HSTS, OCSP Stapling және т.б. конфигурациялаңыз;
○ Сенім тізбегінің жарамдылығы мен тұтастығын қамтамасыз ету үшін сертификаттар тізбегін үнемі жаңартып, қарап шығыңыз.
Қорытынды және ойлар: Сіздің бизнесіңіз шынымен қауіпсіз бе?
Ашық мәтінді HTTP-тен толық шифрланған HTTPS-ке дейін қауіпсіздік талаптары әрбір протоколды жаңартудан кейін дамыды. Заманауи желілердегі шифрланған байланыстың негізі ретінде TLS барған сайын күрделі шабуыл ортасымен күресу үшін өзін үнемі жетілдіріп отырады.
Сіздің бизнесіңіз HTTPS пайдаланады ма? Сіздің криптографиялық конфигурацияңыз саланың озық тәжірибелеріне сәйкес келе ме?
Хабарлама уақыты: 22 шілде 2025 ж