Monday, March 11, 2013

Нийтийн түлхүүрт дэд бүтэц


Өмнөх жишээн дээр дурьдсан шифрлэлтийг компьютерийн шинжлэх ухаанд хэрхэн ашигладаг талаар жишээ болгож үзье.
1-р жишээ: Нууцлал шаарлагатай вэб хуудас болон хэрэглэгчийн компьютер хоёрын хооронд мэдээллийг хэрхэн шифрлэж явуулдаг вэ.
www.facebook.com хаягийг жишээ болгоод авч үзье.
  1. Хэрэглэгч компьютер дээрээ вэб хөтөч (browser) прорграмын хаягийн талбарт (address bar) www.facebook.com гэж бичнэ. 
  2. Вэб хөтөч домэйн нэрийг ялгах (DNS) серверт хандан www.facebook.com ажиллаж байгаа серверийн IP хаягийг олж авах бөгөөд уг серверт хандах хүсэлтээ илгээнэ. 
  3. Хариуд нь www.facebook.com вэб сервер өөрийн нийтийн түлхүүрийг вэб хөтчөөр өгч явуулна. 
  4. Вэб хөтчийн авчирсан нийтийн түлхүүрээр хэрэглэгчийн компьютер симетрик түлхүүрээ шифрлээд www.facebook.com вэб серверт буцааж илгээнэ. 
  5. www.facebook.com шифрлэгдсэн мэдээллийг хүлээж аваад өөрийн хувийн түлхүүрээр задалж уншина. 
  6. Задалсан мэдээлэл нь симетрик түлхүүр байх бөгөөд энэхүү түлхүүрээр шифрлээд www.facebook.com вэб хуудсыг өгч явуулна.
https протоколын ажиллах зарчим

Хэрэглэгчийн вэб хөтөч дээр www.facebook.com гарч ирэх бөгөөд хэрэглэгч өөрийн нэвтрэх нэр нууц үгээ оруулна. Энэхүү оруулсан мэдээлэл нь www.facebook.com серверийг хүртэл шифрлэгдэх буюу дундаас нь хэн нэгэн этгээд тайлж унших боломжгүй байх юм.
Мэдээж хэрэг энэ бол зөвхөн хялбаршуулсан жишээ бөгөөд үүний цаана олон нарийн процессууд бий. Эдгээр нарийн процессийн нэг бол дундын сертификат олгогч буюу CA (Certificate Authority) юм.
Төсөөлдөө жишээ нь хэрэглэгчийн вэб хөтөч www.facebook.com –ийн нийтийн түлхүүрийг авчрах ёстой байтал дундаас нь хэн нэгэн өөрийнхөө нийтийн түлхүүрийг явуулчихвал яах вэ. Компьютер үүнийг ялгаж танихгүй учир симетрик түлхүүрээ уг “хуурамч” нийтийн түлхүүрээр шифрлээд явуулна. Харин дундаас нь халдагч этгээд www.facebook.com –ийн дүр эсгэн өнөөх шифрлэсэн мэдээллийг хүлээж аваад өөрийнхөө хувийн түлхүүрээр тайлж уншаад хэрэглэгчийн симетрик түлхүүрийг гартаа оруулчихна. Хэрэглэгч өөрийгөө найдвартайгаар www.facebook.com –д нэвтэрсэн гэж ойлгож байгаа боловч бүх мэдээллийг дундын этгээд өөрийнхөө түлхүүрээр тайлж уншаад сууна гэсэн үг. 
Дундын этгээд (Man in the Middle) вэб хөтчийг мунхруулах боломжтой

Үүнээс сэргийлэхийн тулд дундын гуравдагч этгээд гарч ирэх шаардлагатай болно. Энэ нөхрийг сертификат олгогч/баталгаажуулагч (CA) гэж нэрлэе.  СА –ийн хийх үндсэн үүрэг бол www.facebook.com –ийг шалгаж үзээд үнэхээр ард нь Марк Цукерберг байгаа эсэхийг нягталсаны эцэст www.facebook.com –д хувийн болон нийтийн түлхүүрийг олгоно (Өөр олон янзын хувилбараар ажиллаж болно. Хялбаршуулах үүднээс ингэж тавилаа). Уг түлхүүртээ СА өөрийнхөө цахим гарын үсэг буюу digital signature –ийг зоож өгнө.
www.facebook.com уг хос түлхүүрийг хүлээж авч өөрийнхөө вэб сервер дээр байршуулах бөгөөд үүний үр дүнд хэрэглэгчийн вэб хөтөч www.facebook.com –д хандаж өөрт нь өгч буй нийтийн түлхүүрийг шалгаж үзнэ. Бүх хүлээн зөвшөөрөгдсөн СА –ийн дижитал гарын үсэг ихэнх вэб хөтөч програмуудад дотоод мэдээлэл байдлаар агуулагдаж байдаг. Вэб хөтөч уг нийтийн түлхүүр дээрхи СА –ийн цахим гарын үсгийг өөрийнхөө дотоод сантай харьцуулж үзээд мөн бол итгэж www.facebook.com –ийн нийтийн түлхүүрийг компьютертээ авчирж өгнө.
Нийтийн түлхүүрт дэд бүтцийн үндсэн ажиллагаа

Хэрэв энэ бүх шифрлэлт байхгүй байсан бол юу болох байсан бэ гэвэл сүлжээний хаа нэгтэйгээс хэн дуртай нь sniffer буюу шиншлэгч програм ажиллуулж www.facebook.com хэрэглэгч хоёрын солилцож буй мэдээлэл (хэрэглэгчийн нэр, нууц үг гм) –ийг олж авах боломжтой. Манай жишээн дээрхи www.facebook.com –ийн хэрэглэгчийн нэр, нууц үг алдлаа гэхэд шууд утгаараа бодит хохирол учрах нь бага байх. Харин банкны системд нэвтэрч орж банкны мэдээллээ оруулах гэж буй бол тухайн банк хэрэглэгч хоёрын хооронд тогтож буй холболтыг хэн нэгэн дундаас нь шиншлээгүй баталгаатай холболт мөн эсэхийг шалгаж үзэхэд гэмгүй.
Wireshark програмын тусламжтайгаар хялбархан гэгч нь сүлжээгээр дамжиж буй мэдээллийг шиншлэх боломжтой

Банкны мэдээлэл оруулдаг нууцлал шаардах вэб хуудсанд хувийн мэдээллээ оруулж буй бол вэб хөтчийнхөө хаягийн талбарын өмнө гарч ирж буй сертификатны мэдээллийг харчихад зүгээр. 
www.facebook.com -ийг Верисайн компаниас баталгаажуулсан сертификат

Дээрхи зурган дээрхи сертификат нь Верисайн компаниас олгосон сертификат бөгөөд таныг www.facebook.com руу холбогдлоо гэдгийг Верисайн компани баталж дижитал нотариат болж өгч байна гэсэн үг. 
Сертификатыг таних аргагүй байгаа нөхцөлд вэб хөтчийн өгдөг алдаа
Зарим тохиолдолд вэб хөтөч тухайн сайтны аюулгүй байдлын сертификатан дээрхи гарын үсгийг өөрийн баазтайгаа тулгаж үзээд олж чадаагүй нөхцөлд дээрхи алдааг өгдөг. Энэ нь хэн нэгэн хүн тухайн сайтыг дуурайлгаж хийсэн тохиолдолд гарч ирнэ, эс бөгөөс self signed буюу ямар нэгэн хөндлөнгийн хүлээн зөвшөөрөгдсөн сертификатын байгууллагаас бус тухайн вэбсервер өөрөө өөрийгөө баталж өөрийнхөө үүсгэсэн нийтийн түлхүүрт гарын үсэг зурсан тохиолдолд вэб хөтөч танихгүйгээр ийм алдаа өгч болно.

Нийтийн түлхүүрт дэд бүтэц ашигласан https буюу http over ssl протокол энгийнээр ажиллах зарчим нь товчхондоо ийм бөлгөө.

3 comments:

Soyolerdene said...

Oilgomjtoi saihan bichleg baina.

A.Амарсайхан said...

Золиг гэж. Энэ талаар бодож байгаагүй юм байна. Хэрэглэгч би ганц товчлуур дараад л фэйсбүүк нээгдчихлээ гэж боддог. Гэтэл ийм олон толгой эргүүлсэн үйлдлүүд цаанаа мушгирч, инженерүүдийн толгой гашилж байдаг байх нь.

usku said...

ойлгомжтой сайхан бичжээ, яаж холбогдож болох вэ