HTTPS

**HTTPS** (HTTP over TLS, HTTP over SSL, HTTP Secure) нь интернет өргөн хэрэглэгддэг, компютерын сүлжээ холболтын аюулгүй байдлыг хангадаг протокол юм. HTTPS нь HTTP (Hyper Text Transfering Protocol)-г TLS (Transfer Layer Security), SSL (Secure Socket Layer)-р шифрлэж байгаа нэгдэл юм. HTTPS-ийн гoл сэдэл нь зочилсон веб хуудас болгон солилцсон мэдээний нууцлал аюулгүй, бүрэн бүтэн байдлыг хадгалах юм. Интернетэд өөрийн байршлаараа, веб сайт болон холбогдох веб серверт хэн холбогдож буйг таних ба Man-in-the-middle халдлагаас хамгаалдаг. Үүнээс гадна клиент болон сервер хоёpын хооронд eavesdrop халдалт болон харилцааны агуулгыг хуурамчаар үйлдэх зэргээс хамгаалж, холболтын нууц шифрлэлт үүсгэдэг. Түүхээс, HTTPS холболтууд голдуу WWW (World Wide Web), и-мэйл төлбөрийн гүйлгээ хийх болон аж ахуйн нэгжийн мэдээллийн систем дэх эмзэг гүйлгээнд ашиглаж байна.

## Тойм 
HTTPS нөөцийг танигч URL схем нь стандарт HTTP-н схем тэмдэгт юм. Гэсэн хэдий ч, HTTPS нь урсгалыг хамгаалахын тулд SSL/TLS шифрлэлт давхарга нэмэхийг вэб хөтөчид дохиолдог. SSL/TLS-н харилцаа холбооны зөвхөн 1 тал нэвтрүүлдэг үед HTTP-д илүү тохиромжтой байдаг. Энэ тохиолдолд HTTP-н үйл ажиллагаа нь интернетгүй үед зөвхөн сервер рүү нэвтрүүлдэг. HTTPS нь аюултай гарцаар аюулгүй гарц бий болгодог. Үүний шалтгаан нь вэб серверийн гэрчилгээг хамгаалалттай итгэлтэй байлгахын тулд хангалттай шифр ашиглан Man-in-the-middle, eavesdrop халдлагаас хамгаалахад байгаа юм. Учир нь HTTPS piggyback нь TLS хамгийн эхэнд HTTP нэвтрүүлэх ба нэвтэрсэн HTTP протокол нь шифрлэгддэг. Энэ нь URL хүснэгт (вэб хуудсанд хүсэлт илгээсэн хэсэг), хайлтын параметр, толгой мэдээлэл болон cookie (хэрэглэгчийн тухай таних тэмдэгт агуулдаг) агуулж байдаг. Гэсэн хэдий ч, хост (вэб сайт) хаяг ба портуудын дугаарууд TCP/IP үндсэн протоколын нэг хэсэг байдаг учраас HTTPS тэднийг хамгаалж чадахгүй. Бодит байдал дээр тохируулагдсан вэб сервер дээр eavesdrop-үүд вэб сэрвэрийн IP хаяг болон портын дугааруудыг илрүүлж чадна. Вэб хөтөч нь урьдчилан суулгасан гэрчилгээт HTTPS вэб сайтад хэрхэн итгэхээ мэддэг. Гэрчилгээний мэргэжилтнүүд (тухайлбал Symantic, Comodo, Go Daddy, Global sign гэх мэт) энэ аргаар вэб хөтөч хөгжүүлэгчдэд хүчин төгөлдөр гэрчилгээ олгодог. Тиймээс хэрэглэгч дараах зүйлс үнэн тохиолдолд HTTPS холбогдсон вэб сайтад итгэж болно. Хэрэглэгч итгэж буй хөтөч програм зөв урьдчилан суулгасан гэрчилгээ бүxий HTTP хэрэгжүүлдэг.

- Хэрэглэгчийн хөтөч болон програм хангамжийн сервер тал дээр урьдчилан суулгасан HTTPS тусламжтайгаар таны үүсгэсэн холболт нь бүх талаараа хамгаалагдах юм.

- Хууль ёсны веб сайтууд зөвхөн HTTPS протоколтой байдаг.

- Тухайн веб хуудсан нь албан ёсны итгэмжлэгдсэн учир HTTPS протоколоор хамгаалагдсан байдаг.

- HTTPS протоколоор холбогдож байгаа тохиолдолд (SSL/TLS) шифрлэлтээр хамгаалагдсан байдаг.

## Хэрэглээ 
HTTPS протоколоор холбогдох нь үнэгүй болон олон нийтийн сүлжээнээс өөрийн хувийн мэдээлэл бүхий веб сайт руу хандалт хийх үед тухайн веб сайт HTTPS протоколоор хамгаалагдсан байвал тухайн төхөөрөмж дээрээс таны мэдээлэл алдагдахгүй юм.

HTTPS нь товчхондоо аюултай сүлжээгээр аюулгүй холболт үүсгэж байна гэсэн үг юм.

Орчин үед цахим сүлжээний хэрэглээ өдөр ирэх тусам ихэсч байгаа бөгөөд онлайн банкны үйлчилгээ болон онлайн худалдаа маш хурдацтай хөгжиж байгаатай холбоотойгоор цахим гэмт хэрэг буюу хакераас хамгаалагдсан байх нь маш чухал учир HTTPS протоколоор хамгаалагдах зайлшгүй шаардлага гарж ирж байгаа.

Жишээ нь: Монголын цахим банкны үйлчилгээ үзүүлж байгаа банкнууд бүгд HTTPS протоколоор хамгаалагдсан байгаа юм.

## Browser интеграц 
HTTPS-ээр холбогдсон үед хөтөч дээр хэрхэн харагдах байдлыг зургаар жишээ гаргаж харууллаа.

## Аюулгүй байдал 
Бидний вебээр үзэж болон илгээж байгаа бүх зүйл нээлттэйгээр хийгдэж байдаг. Өөрөөр хэлбэл хэн ч замаас нь бариад, задлаад үзэж болох. Та нэгэн веб сайтад ороод нэр, нууц үгээ хийхэд түүнийг тань замаас нь мэдэж болно гэсэн үг. Энэ байдал нь мэдээллийн нууцлал, аюулгүй байдалд нөлөөлж байсан тул мэргэжилтнүүд энэхүү дамжиж байгаа мэдээллийг хэрхэн нууцлах, хөндөгдөөгүй байдлыг хэрхэн хангах талаар толгойгоо гашилгасны эцэст SSL буюу Secure Socket Layer гэдэг юмыг зохион бүтээжээ. SSL нь хэрэглэгчээс сервер рүү илгээж байгаа мэдээллийг encrypt буюу шифрлэж нууцлан илгээх бөгөөд серверээс хэрэглэгчид ирж байгаа мэдээллийг ямар нэг өөрчлөлтгүй, бүрэн бүтэн байдлыг хангах механизмыг агуулж байдаг. Өөрөөр хэлбэл таны оруулсан мэдээллийг тань серверээс өөр хэн ч уншиж чадахгүй гэсэн үг, мөн таны хүлээн авч байгаа мэдээлэл тань замдаа ямар нэг байдлаар засварлагдаагүй гэсэн баталгаатай байдаг. Иймд SSL нь зөвхөн интернетийн сүлжээгээр дамжиж буй мэдээллийн нууцлалыг хангах хэрэгсэл болохоос биш агуулгыг хянадаггүй, бас серверийг хамгаалдаггүй. Вебээр дамжин хийгддэг SQL Injection, XSS гэх мэт халдлага нь агуулгын хэлбэртэй хийгддэг болохоор өмнөх хариултууд ҮГҮЙ гэж гарсан. SSL технологи маань хөгжлийн явцдаа бусад технологиудын адил цоорхой гарч байсан ба мэргэжилтнүүд v3 буюу сүүлийн 3-р хувилбар нь илүү найдвартай, өндөр зэрэглэлийн хамгаалалт өгдөг гэж үзэж, санал болгож байна.

SSL нь хэн үүсгэж байгаа, хэн баталгаа өгч байгаагаасаа шалтгаалан хоёр үндсэн хэсэгт хуваагддаг. Хэн нэгэн өөрөө түлхүүрийг нь үүсгээд, өөрөө сертификатыг нь үүсгээд өөрөө баталгаа гаргаж байгаа бол үүнийг self signed гэж нэрлэдэг. Харин түлхүүрийг нь өөрөө үүсгээд, сертификатыг нь thawte гэх мэт аль нэг аюулгүй байдлын (CA буюу Certificate Authority) компани үүсгэж, баталгааг гаргаж байгаа бол CA гэж нэрлэдэг. Self signed сертификат нь нууцлалын хувьд ялгаагүй ч маш бага хүрээнд хэрэглэхэд илүү тохиромжтой байдаг. Учир нь ийм төрлийн сертификат бүхий веб рүү зочлох бүрд веб хөтөч маань итгэх эсэхийг асуудаг. Харин CA-ын үүсгэсэн сертификат бүхий вэб руу ороход ямар нэг анхааруулга өгөхгүй бөгөөд өндөр нууцлалын баталгаа өгдөг юм.

Компьютерын хүч өнөөдрийн аюулгүй сертификатын хувийн түлхүүрүүдийг ашиглаж алгоритмыг эвдэх хугацааг багасгасан байна. Тухайн SSL сертификатыг эвдэхэд 1024-битийн урт аюулгүй гэрчилгээ эвдэх шаардлагатай гэсэн тооцоо байдаг. Онлайн нууцлалын чуулга уулзалтаар 2014 оноос хойш 1024 битийн урт хангалтгүй гэж үзсэн бөгөөд түүнээс хойш SSL сертификатыг 2024 битийг дэмждэг байх шаардлага тавигдсан.

## Техник 
Хэш функц, гэрчилгээ хослуулах үед, цор ганц байх ёстой гэсэн стандарт урт нь тоон хэлбэрээр үүснэ. Гурван нийтлэг хэш функц байдаг: MD5, MD2, болон SHA-1. Ихэнх MD5 болон MD2 сул талтай бөгөөд одоогийн байдлаар бүх гэрчилгээ SHA-1 хеш функц ашиглаж байгаа. SHA-1 хеш функц нь хамгийн өндөр нууцлалтай бөгөөд өнөөдрийг хүртэл эвдэгдээгүй байгаа юм. MD5 эсвэл MD2 ашиглаж байгаа SSL-ийн хувьд нууцлал муу гэж ойлгож болно. Иймээс шинээр SSL гэрчилгээ авж байгаа хүмүүст SHA-1 хеш функцийн техник дээр суурилсан гэрчилгээ авахыг зөвлөж байна.

### HTTP, HTTPS-ийн ялгаа 
HTTP энгийн холбоотонд зориулагдсан протокол http байдаг ба харин илүү аюулгүй хамгаалалт сайтай өгөгдлүүдийг солилцоход https нь ашиглагддаг. http(S) S нь бол англиар Secure гэсэн үгний товчилгоо буюу илүү нууцлал аюулгүй байдлыг хангаж ажилладаг.

HTTP холболтын анхдагч порт нь 80. Цаашлаад сервер дээрх нөөц рүү хүрэх зам нь гарах ба параметрүүдийн гинжин холбоо үүснэ. Үүн дээр HTTPS холболт үүсгэснээр таны хийж байгаа холболтууд илүү найдвартай, гадны халдлага нэвтрэхгүй байх баталгаатай болох юм.

### Сүлжээний давхаргууд 
HTTP TCP/IP загвар нь сүлжээний давхаргын хамгийн дээд давхаргад үйл ажиллагаа явуулдаг бөгөөд TLS аюулгүй байдлын протоколыг дамжуулж, HTTP зурвас шифрлэн мөн ирсэн зурвасыг decrypts (ижил давхаргын доод болон дэд давхаргыг гэх мэт үйл ажиллагаа явуулдаг) хийдэг юм. HTTPS нь тусдаа протокол биш бөгөөд, харин шифрлэгдсэн SSL / TLS холболтоор энгийн HTTP-г ашиглаж байгаа явдал юм.

### Серверийн тохиргоо 
Тухайн сервер дээр администратор эхний ээлжинд өөрийн гэсэн вебийг http холболтоор үүсгэсэн байх бөгөөд тухайн серверийн төрлөөс хамаарч өөрийн HTTPS гэрчилгээг хаана байршуулах болон тохиргооны файл өөр өөрөөр хийгдэг.

### Эрхийн бичиг, хандалтын хяналт 
Хэрэглэгч нь баталгаагүй вебсайтад хувийн мэдээллээ өгөх оролдлого хийсэн бол (ө/х, хүчинтэй SSL гэрчилгээгээр хамгаалагдаагүй сайт), браузерын аюулгүй байдлын механизм хэрэглэгчид тухайн сайт баталгаагүй гэдгийг сануулна. Ийм веб хуудсанд өөрийн мэдээлэл болон худалдан авалт хийхгүй байх нь чухал юм.

Зарим тусгай нэр хүндтэй байгууллагын HTTPS үнэгүй байх бөгөөд өөр нөхцөлд жилийн хугацаатай 8$-70$ үнэтэй байгаа юм. Тухайн протоколын aюлгүй байдлын зэрэг болон SSL/TCL аль дээр дэмжигдэх гэх мэт олон зүйлээс шалтгаалан үнийг тодорхойлдог.

### Ашиглах 
SSL нь Secure Sockets Layer товчлол. SSL нь аюулгүй бий болгох албан ёсны стандарт юм.Вэб сервер болон браузер хооронд нь шифрлэгдсэн холбоос, нь эмзэг мэдээллийн аюулгүй хэсгийг хангах, such as credit card numbers. И-худалдааны вэб сайт, банкууд, гэх мэт. тэдний үйлчлүүлэгчдийн онлайн гүйлгээг хамгаалах арга хэрэгсэл болгон ашиглах SSL. Аюулгүй холболт дараа, SSL нь Вэб сервер рүү таны браузер илгээсэн мэдээллийг шифрлэдэг.

### Нууц (хувийн) түлхүүр эвдэгдсэн тохиолдол 
Таны худалдан авсан HTTPS протокол ямар нэгэн байдлаар эвдэгдсэн бол та тухайн протокол авсан байгууллага руу яаралтай хандаж протоколоо дахин шалгуулах юм уу шинэ протокол солиулж авах боломжтой. Мөн протоколын хугацаа дуусан нөхцөлд таны веб рүү гаднаас хандах үед хэрэглэгчид аюултай веб хуудас гэсэн мэдээлэл гарч ирэх бөгөөд тухайн хуудас руу орох эсэхийг асуух юм.

### Хязгаарлалт 
SSL/TCL эдгээр протоколын хувьд илүү найдвартай байдаг бөгөөд ихэвчлэн веб дээр өргөнөөр хэрэглэгдэж байгаа юм. Одоогийн байдлаар хуучны үйлдлийн систем болон хуучин хувилбарын хөтчүүд HTTPS SHA-1 дэмжихгүй байгаа бөгөөд одоогийн байдлаар Firefox 2, Opera 8, Safari 2.1, Google Chrome 6, Internet Explorer 7-с хойших хувилбарууд дэмжиж ажиллах боломжтой болсон байгаа.

## Түүх 
1994 оноос Netscape Communications дээр HTTPS хийгдэж эхэлсэн бөгөөд Netscape Navigator хөтөч дээр зөвхөн дэмжигддэг байсан. Анх HTTPS нь зөвхөн SSL протокол дээр суурилж хөгжүүлэгдэж байсан. Удалгүй SSL дээр нэмэлтээр (TLS) хөгжүүлсэн нь одоогийн бидний ашиглаж байгаа HTTPS протокол юм.

## Цахим холбоос 
#Peter Eckersley: Encrypt the Web with the HTTPS Everywhere Firefox Extension EFF blog, 17 June 2010
#HTTPS Everywhere EFF projects
# Law Enforcement Appliance Subverts SSL, Wired, 2010-04-03.
# New Research Suggests That Governments May Fake SSL Certificates, EFF, 2010-03-24.
# SSL: Intercepted today, decrypted tomorrow, Netcraft, 2013-06-25.
# "Free SSL Certificates from a Free Certificate Authority". sslshopper.com. Retrieved 2009-10-24.
# Walls, Colin (2005). *Embedded software*. Newnes. p. 344. ISBN 0-7506-7954-9..

Ангилал:HTTP
Ангилал:Криптографийн протокол
Ангилал:Интернэт хэрэглээний протокол
Ангилал:Криптологийн стандарт