Аюулгүй байдал нь сонголт байхаа больсон, гэхдээ интернетийн технологийн мэргэжилтэн бүрт зайлшгүй шаардлагатай курс юм. 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 холболтын тохиргоо
Үйлчлүүлэгч (жишээлбэл, хөтөч) сервертэй TCP холболтыг эхлүүлдэг (стандарт порт 443).
2️⃣ TLS гар барих үе шат
○ Үйлчлүүлэгч Сайн байна уу: Хөтөч нь дэмжигдсэн TLS хувилбар, шифр, санамсаргүй дугаарыг Серверийн нэрийн заалт (SNI)-ийн хамт илгээдэг бөгөөд энэ нь серверт ямар хост нэр рүү хандахыг хүсч буйг хэлдэг (олон сайтууд дээр IP хуваалцах боломжийг олгодог).
○ Серверийн Hello & Certificate Issue: Сервер нь тохирох TLS хувилбар болон шифрийг сонгож, гэрчилгээгээ (нийтийн түлхүүрээр) болон санамсаргүй тоонуудыг буцааж илгээдэг.
○ Сертификат баталгаажуулалт: Хөтөч нь серверийн гэрчилгээний гинжийг итгэмжлэгдсэн эх CA хүртэл шалгаж, хуурамчаар үйлдээгүй эсэхийг шалгадаг.
○ Premaster түлхүүр үүсгэх: Хөтөч нь premaster түлхүүр үүсгэж, серверийн нийтийн түлхүүрээр шифрлээд сервер рүү илгээдэг. Хоёр тал харилцан ярианы түлхүүрийг хэлэлцдэг: Хоёр талын санамсаргүй тоо болон premaster түлхүүрийг ашиглан клиент болон сервер хоёр ижил тэгш хэмтэй шифрлэлтийн сессийн түлхүүрийг тооцоолдог.
○ Гар барьж дуусгах: Хоёр тал бие биедээ "Дууссан" мессеж илгээж, шифрлэгдсэн өгөгдөл дамжуулах үе шатанд орно.
3️⃣ Аюулгүй өгөгдөл дамжуулах
Үйлчилгээний бүх өгөгдөл нь зөвшилцсөн сессийн түлхүүрээр үр ашигтайгаар тэгш хэмтэй шифрлэгдсэн байдаг, тэр дундаас нь тасалдсан ч гэсэн энэ нь зүгээр л нэг бөөн "гажиг код" юм.
4️⃣ Сессийг дахин ашиглах
TLS нь Session-г дахин дэмждэг бөгөөд энэ нь ижил үйлчлүүлэгчид уйтгартай гар барихыг алгасах боломжийг олгох замаар гүйцэтгэлийг ихээхэн сайжруулдаг.
Тэгш бус шифрлэлт (RSA гэх мэт) аюулгүй боловч удаан байдаг. Тэгш хэмт шифрлэлт нь хурдан боловч түлхүүрийн хуваарилалт нь төвөгтэй байдаг. TLS нь "хоёр үе шаттай" стратегийг ашигладаг - эхлээд тэгш бус аюулгүй түлхүүр солилцох, дараа нь өгөгдлийг үр дүнтэй шифрлэх тэгш хэмтэй схем.
2. Алгоритмын хувьсал болон аюулгүй байдлын сайжруулалт
RSA болон Diffie-Hellman
○ 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 ашигладаг уу? Таны крипто тохиргоо нь салбарын шилдэг туршлагуудтай нийцэж байна уу?
Шуудангийн цаг: 2025 оны 7-р сарын 22