Guruh: 413-19 Bajardi: zarif jo’rayev
Download 1.17 Mb.
|
SSL va SSH protokollarining xavfsizlik tahlili
- Bu sahifa navigatsiya:
- Tekshirdi
O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI MUSTAQIL ISH MAVZU: SSL va SSH protokollarining xavfsizlik tahlili Guruh:413-19 Bajardi: ZARIF JO’RAYEV Tekshirdi: Xaydarov Elshod SSL va SSH protokollarining xavfsizlik tahlili Reja: 1.Kirish 2 SSH protokoli 2.1 SSH protokoli arxetekturasi 3 SSL 3.1 SSL certificate 3.2 SSL arxitejturasi 4 SSH VA SSL protokolari xafsizlik taxlili 5 Xulosa 6 Foydalanilgan adabiyotlar Kirish
SSH, xavfsizlik uchun bir qator turli xavfsizlik usullarini taqdim etadi, masalan, parol bilan kirish, kalitlarni (public va private key) ishlatish, 2-faktorli autentifikatsiya va boshqalar.Umumiy ma'lumotlar bo'yicha, SSL veb-serverlar orasidagi ma'lumot almashuvini shifrlashda, SSH esa uzaktan serverlarga xavfsiz kirish va boshqarishda foydalaniladi. SSL, veb-saytlarning xavfsizlik darajasini oshirishga yordam beradi, SSH esa serverlarni uzaktan boshqarishda xavfsizlikni ta'minlaydi. Bular ikki ajralmas protokollar bo'lib, internet va tarmoq xavfsizligi uchun muhimdirlar. SSH (ingl. Secure shell - "xavfsiz qobiq" [1])-operatsion tizimni masofadan boshqarish va TCP ulanishlarini tunnel qilish imkonini beradigan (masalan, fayllarni uzatish uchun) dastur darajasidagi tarmoq protokoli. Funktsional jihatdan Telnet va rlogin protokollariga o'xshash, ammo ulardan farqli o'laroq, u barcha trafikni, shu jumladan uzatiladigan parollarni shifrlaydi. SSH turli xil shifrlash algoritmlarini tanlashga imkon beradi. Ssh mijozlari va SSH serverlari ko'pgina tarmoq operatsion tizimlari uchun mavjud.SSH deyarli har qanday boshqa tarmoq protokolini himoyalanmagan muhitda xavfsiz uzatish imkonini beradi. Shunday qilib, buyruq qobig'i orqali nafaqat kompyuterda masofadan turib ishlash, balki shifrlangan kanal orqali ovoz oqimi yoki videoni (masalan, veb-kameradan) uzatish mumkin[2]. Shuningdek, SSH uzatilayotgan ma'lumotlarni keyinchalik shifrlash uchun siqishni ishlatishi mumkin, bu, masalan, x Window System mijozlarini masofadan ishga tushirish uchun qulaydirKo'pgina hosting provayderlari mijozlarga Ssh orqali uy katalogiga haq evaziga kirish huquqini beradi. Bu buyruq satrida ishlash uchun ham, dasturlarni (shu jumladan grafik dasturlarni) masofadan ishga tushirish uchun ham qulay bo'lishi mumkin.SSH-bu dastur darajasidagi protokol. SSH serveri odatda TCP 22 portidagi ulanishlarni tinglaydi. Ssh-2 protokolining spetsifikatsiyasi RFC 4251 da mavjud. Serverni autentifikatsiya qilish uchun Ssh rsa yoki dsa elektron raqamli imzo algoritmlari asosida tomonlarning autentifikatsiya protokolidan foydalanadi, ammo parol (Telnet bilan orqaga qarab muvofiqlik rejimi) va hatto xostning ip-manzili (rlogin bilan orqaga qarab muvofiqlik rejimi) yordamida autentifikatsiyaga ham ruxsat beriladi.Parolni autentifikatsiya qilish eng keng tarqalgan. Https kabi har bir ulanishda trafikni shifrlash uchun umumiy maxfiy kalit ishlab chiqariladi.Asosiy juftlik autentifikatsiyasi oldindan ma'lum bir foydalanuvchi uchun ochiq va shaxsiy kalit juftligini yaratadi. Ulanishni talab qiladigan mashinada shaxsiy kalit saqlanadi va masofaviy mashinada ochiq kalit saqlanadi. Ushbu fayllar autentifikatsiya paytida uzatilmaydi, tizim faqat ochiq kalit egasi ham shaxsiy kalitga ega ekanligini tekshiradiMa'lumotlar yaxlitligi SSH1-da CRC32 yoki SSH2-da HMAC-SHA1/HMAC-MD5 yordamida tekshiriladi.Shifrlangan ma'lumotlarni siqish uchun LEMPELZIV (LZ77) algoritmidan foydalanish mumkin, bu ZIP arxivatori bilan bir xil siqishni darajasini ta'minlaydi. Ssh siqilishi faqat mijozning iltimosiga binoan yoqiladi va amalda kamdan kam qo'llaniladi.Protokolning birinchi versiyasi SSH-1 1995 yilda Xelsinki texnologiya universitetidan (Finlyandiya) tatuirovka tadqiqotchisi Ulenen tomonidan ishlab chiqilgan. Ssh-1 rlogin, telnet va rsh protokollariga qaraganda ko'proq maxfiylikni ta'minlash uchun yozilgan. Ssh-ning ikkita amalga oshirilishi keng tarqalgan: xususiy tijorat va bepul bepul. Bepul amalga oshirish OpenSSH deb nomlanadi. 2006 yilga kelib, Internet kompyuterlarining 80 foizi OpenSSH-dan foydalangan. Xususiy amalga oshirish TECTIA korporatsiyasining 100% bo'linmasi bo'lgan SSH Communications Security tomonidan ishlab chiqilgan[3], u notijorat maqsadlarda foydalanish uchun bepul.SSH TCP/IP tarmog'i orqali masofaviy server bilan ulanishni ta'minlash uchun ishlatiladi. Bu serverni terminal orqali boshqarishga imkon beradi. Bu Telnet nomli eski protokolning vorisi. Telnetdan farqli o'laroq, SSH ulanishi shifrlangan. U odatda turli maqsadlarda, masalan, mashinalarda masofadan ishlash, xavfsiz ma'lumotlarni uzatish, masofaviy ma'lumotlar bazalarini boshqarish yoki elektron pochta provayderlaridan foydalanish uchun ishlatiladi.SSH mijoz-server yoki server-mijoz arxitekturasida ishlaydi. Ulanish SSH ilovasi va SSH serveri o'rtasida amalga oshiriladi. SSH uzoq serverga ulanish uchun autentifikatsiyaning ikki usulini taqdim etadi: ochiq kalit bilan parol yoki parol bilan Keling, ular qanday ishlashini ko'rib chiqaylik. 2.1. Autentifikatsiya Ochiq kalit bilan autentifikatsiya qilish kriptografik assimetrik texnikaga tayanadi. U ommaviy va shaxsiy ikkita kalitdan iborat klaviaturalardan foydalanadi.Shaxsiy kalit mijoz tomonida saqlanadi va xavfsiz saqlanishi va hech qachon baham ko'rilmasligi kerak. U ma'lumotlarni shifrlash va imzolash uchun ishlatiladi. Shaxsiy kalitning ta'siri ruxsatsiz shaxslarga ochiq kalit bilan bog'liq mashinalarga kirishga imkon beradi.Aksincha, ochiq kalitni erkin bo'lishish mumkin. Server ochiq kalitni maxsus faylda saqlaydi. Ochiq kalit ma'lumotlarni faqat tegishli shaxsiy kalit shifrlashi mumkin bo'lgan tarzda shifrlaydi. Shuning uchun, ushbu xususiyatdan foydalanib, server mijozni autentifikatsiya qilishga qodir. Shunday qilib, faqat tegishli shaxsiy kalitga ega bo'lgan mijoz serverga autentifikatsiya qilishi mumkin.Ushbu autentifikatsiya usuli parol yoki parolni ishlatishdan ko'ra kuchli xavfsizlik darajasini ta'minlaydi. Bundan tashqari, Ssh tugmalaridan foydalanish SSH serverlarida bitta tizimga kirish mexanizmini amalga oshirish imkoniyatini beradi.Autentifikatsiyaning ikkinchi usuli-parol yoki parol yordamida. Bu SSH kalitlari texnikasiga qaraganda sodda va xavfsizroq. Foydalanuvchilar murakkab va etarlicha uzoq parollardan foydalanishlari kerak. Aks holda, ular qo'pol kuch kabi mashhur hujumlarga qarshi himoyasiz yoki hatto taxmin qilish oson bo'lishi mumkin. Xulosa qilib aytganda, SSH ulanishini tasdiqlash uchun ikkala usuldan ham foydalanish mumkin. Garchi ochiq kalitlarni autentifikatsiya qilish asosan tavsiya etiladi va u xavfsizlikning eng kuchli darajasini ta'minlaydi. 2.2. Arxitektura SSH uchta qatlamdan iborat. Ulardan birinchisi transport qatlami. U shifrlash, siqish va ma'lumotlarning yaxlitligi uchun javobgardir. Bundan tashqari, u sessiyani saqlaydi. Bir soat yoki bir gigabayt uzatish ma'lumotlaridan so'ng ulanish parametrlari qayta tayinlanadi, masalan, SSH tugmachalari yana almashtiriladi.Ikkinchisi-autentifikatsiya qatlami. Autentifikatsiya qatlami transport qatlamining tepasida ishlaydi. U autentifikatsiya usullarini taqdim etadi va boshqaradi. Boshqacha qilib aytganda, u mijozni serverga tasdiqlaydi. Biz oldingi bo'limda autentifikatsiya usullarini tasvirlab berdik.Oxirgisi-ulanish qatlami. U ulanish kanallarining xususiyatlari va konfiguratsiyasini boshqaradi. Uchta asosiy kanal turi mavjud, ya'ni: qobiq, to'g'ridan-to'g'ri-TCP/IP va yo'naltirilgan-tcpip. Endi SSH paketining tuzilishini ko'rib chiqamiz: SSH paketida beshta maydon mavjud. Birinchisi, uzunlik, HMAC qiymati va uzunlik maydonining o'zi bundan mustasno, paket uzunligini baytlarda belgilaydigan to'rt baytli maydon.Ikkinchi maydon, to'ldirish uzunligi, tasodifiy to'ldirish uzunligini baytlarda tavsiflaydi. Foydali yuk maydonida foydali ma'lumotlar mavjud va u o'zgaruvchan hajmga ega.Keyingi maydon-bu to'ldirish. U tasodifiy baytlardan iborat bo'lishi kerak va u o'zboshimchalik uzunligiga ega. Ushbu maydonning maksimal hajmi 255 bayt. To'ldirish tahdidlarning ayrim turlaridan, masalan, vaqtni tahlil qilish hujumlaridan qo'shimcha himoya qiladi.Oxirgi maydon MAC(xabarni tasdiqlash kodi). MAC xabarni autentifikatsiya qilish bo'yicha muzokaralardan so'ng hisoblanadi. Shuning uchun, dastlab, bu yo'q. 3. SSL SSL (Secure Socket Layer)-bu server va oxirgi foydalanuvchilar o'rtasida shifrlangan ma'lumotlarning xavfsiz ulanishi va uzatilishini ta'minlaydigan keng tarqalgan tarmoq protokoli. Eng mashhur SSL protokolidan foydalanish HTTPS protokolida. Biz hammamiz https-dan tez-tez foydalanamiz, masalan, onlayn to'lovlarni amalga oshirishda. HTTPS-dan foydalanadigan veb-saytlar SSL sertifikati bilan himoyalangan. Bu kredit kartalar raqami kabi maxfiy ma'lumotlar har qanday hujum yoki ta'sirlardan himoyalanganligini ta'minlaydi.Boshqacha qilib aytganda, SSL kriptografik shifrlash va autentifikatsiya mexanizmlaridan foydalangan holda Internet tarmog'ida ma'lumotlarni uzatishni ta'minlash uchun mo'ljallangan.SSL-dan foydalanishning uchta asosiy foydasi bor: shifrlash-uzatilgan ma'lumotlarni har qanday ta'sirdan himoya qilish autentifikatsiya-uzatilgan ma'lumotlar to'g'ri serverdan kelishini ta'minlaydi ma'lumotlar yaxlitligi-uzatilgan ma'lumotlar uzatish paytida o'zgartirilmaydi yoki yo'qolmaydi 3.1. SSL sertifikati SSL (ingl. Secure Sockets Layer-himoyalangan soket qatlami) - xavfsizroq aloqani nazarda tutadigan kriptografik protokol. U almashish kalitlarini autentifikatsiya qilish uchun assimetrik kriptografiyadan, maxfiylikni saqlash uchun nosimmetrik shifrlashdan, xabarlarning yaxlitligi uchun xabarlarni autentifikatsiya qilish kodlaridan foydalanadi. Protokol tezkor xabar almashish va ip orqali ovoz uzatish uchun keng qo'llanilgan (ingl. Voice over IP-VoIP) elektron pochta, Internet-faks va boshqalar kabi ilovalarda. 2014 yilda AQSh hukumati protokolning joriy versiyasida zaiflik haqida xabar berdi[1]. SSL TLS foydasiga ishdan chiqarilishi kerak (qarang: CVE-2014-3566). SSL protokoli quyidagi ikkita element orqali xavfsiz ma'lumotlar almashinuvini ta'minlaydi: Autentifikatsiya Shifrlash SSL almashish kalitlarini autentifikatsiya qilish uchun assimetrik kriptografiyadan, maxfiylikni saqlash uchun nosimmetrik shifrdan, xabarlarning yaxlitligi uchun xabarlarni autentifikatsiya qilish kodlaridan foydalanadi.SSL protokoli uchta asosiy xususiyatga ega bo'lgan "xavfsiz kanal" ni taqdim etadi:Kanal xususiydir. Shifrlash maxfiy kalitni aniqlashga xizmat qiladigan oddiy dialogdan so'ng barcha xabarlar uchun ishlatiladi.Kanal tasdiqlangan. Dialogning server tomoni har doim autentifikatsiya qilinadi va mijoz buni ixtiyoriy ravishda amalga oshiradi.Kanal ishonchli. Xabarlarni tashish yaxlitlikni tekshirishni o'z ichiga oladi.SSL-ning afzalligi shundaki, u dastur protokolidan mustaqil. Ilova protokollari (HTTP, FTP, TELNET va boshqalar) SSL protokoli ustida to'liq shaffof ishlashi mumkin, ya'ni SSL shifrlash algoritmi va sessiya kalitini muvofiqlashtirishi va dastur xabarning birinchi baytini qabul qilishi yoki uzatishidan oldin serverni tasdiqlashi mumkin.SSL axborot almashish xavfsizligini ta'minlash uchun bir nechta qatlamli muhitdan foydalanadi. Aloqa maxfiyligi xavfsiz ulanish faqat maqsadli foydalanuvchilar uchun ochiq bo'lganligi sababli mavjud.Raqamli sertifikat ochiq kalitga ega. Ulanish deb nomlangan mexanizm yordamida o'rnatiladi.Keling, bu qanday ishlashini ko'rib chiqaylik: Mijoz SSL handshake-ni boshlaydi. U server tomonidan talab qilinadigan spetsifikatsiyani, shu jumladan SSL versiyasi, siqish usuli, shifr to'plami va sessiya bilan bog'liq ma'lumotlarni yuboradi. Ushbu dastlabki bosqich ko'pincha "mijoz Salom" deb nomlanadi.Ikkinchi bosqich "Server Salom" deb nomlanadi. Uning davomida server SSL protokolining har ikki tomon ham ishlay oladigan eng yuqori versiyasini tekshiradi va siqish va shifrlashning mumkin bo'lgan usulini tanlaydi. Keyin, server mijozga ushbu ma'lumot bilan javob beradi.Keyingi bosqichda mijoz serverni autentifikatsiya qiladi. Shuning uchun, u server SSL sertifikatini tekshiradi. Muvaffaqiyatli autentifikatsiyadan so'ng, mijoz shifrga asoslanib, premaster sirini yaratadi va uni serverning ochiq kaliti yordamida shifrlaydi. Keyin, uni serverga yuboradi. Server ushbu premaster sirini oladi va uni shaxsiy kaliti bilan shifrlaydi. Endi ikkala tomon ham nosimmetrik shifrlash uchun asosiy sirni yaratishi mumkin.Va nihoyat, ikkala tomon ham bundan buyon shifrlangan ma'lumotlar bilan xabar almashadilar. 3.2. Arxitektura SSL protokoli arxitekturasini qisqacha aniqlaymiz. U to'rtta kichik protokoldan iborat. Ulardan birinchisi yozuv protokoli. Bu uzatilgan ma'lumotlarning xavfsizligi va yaxlitligini ta'minlaydi. Umuman olganda, u ma'lumotlarni ajratish, ularni maxsus sarlavhalarga o'rash va yozuv deb nomlangan ob'ektni yaratish uchun javobgardir. Yozuv shifrlanishi, siqilishi, MAC kodi bilan ta'minlanishi va TCP protokoli orqali uzatilishi mumkin.Ikkinchi protokol ogohlantirish protokoli deb ataladi. Uning asosiy maqsadi transfer paytida yuzaga keladigan xatolar haqida xabar berishdir. Eng muhimi, SSL Handshake protokoli. Bu biz oldingi bobda tasvirlangan ayting SSL Handshake jarayonini boshqaradi. Va nihoyat, o'zgartirish shifrlash protokoli mavjud. U faqat bitta qiymatga ega bitta xabarni saqlaydi. U faqat sessiya holatini belgilash uchun javobgardir.Biz Ssh va SSL protokollarining asoslarini tavsifladik. Keling, ularni taqqoslaylik va farqlarni ko'rsatamiz.Avvalo, SSH protokoli ikkita mashina o'rtasidagi aloqani shifrlaydi. Uning asosiy maqsadi serverni boshqa kompyuterdan tarmoq orqali masofadan boshqarish paytida xavfsiz aloqani ta'minlashdir. Boshqa tomondan, SSL protokoli mijoz va server o'rtasidagi aloqani shifrlaydi. Mijoz ko'pincha veb-brauzer hisoblanadi. SSL protokolining asosiy maqsadi ma'lumotlarni, ayniqsa maxfiy ma'lumotlarni har qanday hujum yoki ta'sirlardan himoya qilishdir.SSH protokolini masofaviy protokol deb atash mumkin. Bu parol yoki shaxsiy va ochiq kalitlar yordamida autentifikatsiyani ta'minlaydi. Aksincha, SSL protokolini xavfsizlik protokoli deb atash mumkin. Odatda mijoz va serverni tasdiqlash uchun raqamli sertifikatlardan foydalaniladi. Keyingi farq shundaki, SSH protokolining ishi tarmoq tunnellariga tayanadi. Holbuki, SSL protokoli raqamli sertifikatlarga asoslangan.Va nihoyat, SSL protokoli onlayn-banking, elektron tijorat, ijtimoiy media, sog'liqni saqlash va maxfiy ma'lumotlarni qayta ishlaydigan boshqa barcha xizmatlarda keng qo'llaniladi. Biroq, SSH protokoli tarmoq sanoati tomonidan qabul qilingan va u terminalga kirish, fayllarni uzatish, tunnel ilovalari, VPN o'rnatish kabi muayyan holatlarda qo'llaniladi. Xulosa
Foydalanilgan adabiyotlar
2. "SSH, The Secure Shell: The Definitive Guide" (Daniel J. Barrett, Richard E. Silverman, Robert G. Byrnes) - Ushbu kitobda SSH (Secure Shell) protokolining o'zgarishsiz tuzilishi va uning xavfsizlik tahlili olib borilgan. 3. "Network Security Essentials: Applications and Standards" (William Stallings) - Bu kitobda tarmoq xavfsizligi bo'yicha umumiy qoidalar, protokollar va algoritmlar taqdim etilgan. Download 1.17 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling