Uploaded by Asadbek Abduvaliyev

Mustaqil ish

advertisement
O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA
KOMMUNIKATSIYALARINI RIVOJLANTIRISH
VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT
TEXNOLOGIYALARI UNIVERSITETI QARSHI
FILIALI
KIBERXAVFSIZLIK FAKULTETI
AX-070-21 GURUH TALABASINING
Kriptografiya(2)
FANIDAN
1-MUSTAQIL ISHI
Bajardi:
Suyunov A.
Qabul qildi:
Davronova L
Toshkent-2024
SSH protokoli va unda kriptografik algoritmlardan foydalanish holati
SSH, Secure Shell yoki Secure Socket Shell degan ma'noni anglatadi. Bu
kriptografik tarmoq protokoli boʻlib, u ikki kompyuterga internet kabi xavfsiz
boʻlmagan tarmoq orqali maʼlumotlarni almashish va almashish imkonini beradi. Bu
buyruqlarni bajarish va ma'lumotlarni bir mashinadan boshqa mashinaga uzatish
uchun masofaviy serverga kirish uchun ishlatiladi.
SSH protokoli SSH communication security Ltd tomonidan masofaviy qurilma
bilan xavfsiz aloqa qilish uchun ishlab chiqilgan.Xavfsiz aloqa kuchli parol
autentifikatsiyasini va xavfsiz bo'lmagan kanal orqali ochiq kalit bilan shifrlangan
aloqani ta'minlaydi. U Telnet, rlogin, rsh va boshqalar kabi himoyalanmagan
masofaviy kirish protokollarini va xavfsiz bo'lmagan FTP fayl uzatish protokollarini
almashtirish uchun ishlatiladi .
Uning xavfsizlik xususiyatlari tarmoq ma'murlari tomonidan tizimlar va ilovalarni
masofadan boshqarish uchun keng qo'llaniladi.
SSH protokoli tarmoqni DNS-spoofing , IP manbasini yo'naltirish va IPspoofing kabi
turli xil hujumlardan himoya qiladi .
Oddiy misolni tushunish mumkin, masalan, siz paketni do'stlaringizdan biriga
o'tkazmoqchisiz. SSH protokolisiz uni har kim ochishi va o'qishi mumkin. Ammo
agar siz uni SSH protokoli yordamida yuborsangiz, u shifrlanadi va ochiq kalitlar
bilan himoyalanadi va faqat qabul qiluvchi uni ochishi mumkin.
SSHdan oldin:
SSHdan keyin:
SSH protokolidan foydalanish
SSH protokolining mashhur qo'llanilishi quyida keltirilgan:
- Bu foydalanuvchilarga xavfsiz kirish va avtomatlashtirilgan jarayonlarni
ta'minlaydi.
- Bu xavfsiz bo'lmagan tarmoq orqali fayllarni bir tizimdan ikkinchisiga
o'tkazishning oson va xavfsiz usuli.
- Shuningdek, u foydalanuvchilarga masofaviy buyruqlar beradi.
- Bu foydalanuvchilarga tarmoq infratuzilmasi va boshqa muhim tizim
komponentlarini boshqarishda yordam beradi.
- Telnet va rlogin o'rnini bosuvchi va rsh o'rnini bosuvchi xostda bitta buyruqni
bajarish uchun foydalaniladigan masofaviy tizimda (Host) qobiqqa kirish uchun
ishlatiladi.
- U to'liq xavfsizlik va samaradorlik bilan fayllarni zaxiralash, nusxalash va aks
ettirish uchun rsync yordam dasturi bilan birlashadi .
- U portni yo'naltirish uchun ishlatilishi mumkin.
SSH yordamida biz OpenSSH kabi masofaviy serverga avtomatik kirishni
sozlashimiz mumkin.
- SOCKS protokolini qo'llab-quvvatlovchi SSH mijozi bilan shifrlangan
proksiulanish orqali internetni xavfsiz ko'rib chiqishimiz mumkin.
SSH qanday ishlaydi?
SSH protokoli mijoz-server modelida ishlaydi, ya'ni u xavfsiz qobiq mijoz ilovasini
(sessiya ko'rsatiladigan joy) SSH serveri bilan bog'laydi (sessiya bajariladigan
joyda).
Yuqorida muhokama qilinganidek, u dastlab Telnet, rlogin kabi xavfsiz kirish
protokollarini almashtirish uchun ishlab chiqilgan va shuning uchun u bir xil
funktsiyani bajaradi.
SSH protokoli tarixi
SSH ning 3 ta versiyasi mavjud, ular quyida keltirilgan:
- Versiya 1.x: SSHning birinchi versiyasi 1995 yilda ishga tushirilgan va
Finlyandiyaning Xelsinki texnologiya universiteti tadqiqotchisi Tatu Ylonen
tomonidan ishlab chiqilgan. U SSH-1 nomi bilan tanilgan. Ushbu versiyada
bir nechta muammolar bor edi va shuning uchun u eskirgan.
- Versiya 2.x: Ikkinchi versiya SSH-2 sifatida tanilgan, SSH protokolining joriy
versiyasi. 2006-yilda u Internet Engineering Task Force (IETF) tomonidan
Standartlar Track spetsifikatsiyasi sifatida tanlandi. Ushbu versiya SSH-1
protokoli bilan mos kelmaydi. U SSH-1 bilan solishtirganda yaxshiroq
xavfsizlik xususiyatlariga ega.
1.99-versiya: 1.99-versiya 2.1 proto-versiyasi sifatida belgilangan. Bu haqiqiy
versiya emas, balki orqaga qarab muvofiqlikni aniqlashning bir usuli.
SSH protokoli arxitekturasi
SSH arxitekturasi bir-biridan yaxshi ajratilgan uchta qatlamdan iborat. Bu qatlamlar:
1. Transport qatlami
2. Foydalanuvchi autentifikatsiya qatlami
3. Ulanish qatlami
SSH
protokoli
arxitekturasi
ochiq
arxitektura;
shuning
uchun
u
katta
moslashuvchanlikni ta'minlaydi va SSH-dan faqat xavfsiz qobiq o'rniga boshqa
ko'plab maqsadlarda foydalanish imkonini beradi. Arxitekturada transport qatlami
transport qatlami xavfsizligiga (TLS) o'xshaydi. Foydalanuvchi autentifikatsiya
qatlamidan maxsus autentifikatsiya usullari bilan foydalanish mumkin va ulanish
qatlami turli ikkilamchi seanslarni bitta SSH ulanishiga multiplekslash imkonini
beradi.
Transport qatlami
Transport qatlami TCP/IP protokollar to'plamining yuqori qatlamidir. SSH-2 uchun
ushbu qatlam dastlabki kalit almashinuvi, server autentifikatsiyasi, shifrlashni
sozlash, siqish va yaxlitlikni tekshirish uchun javobgardir. U hajmi 32,768 baytgacha
bo'lgan ochiq matnli paketlarni yuborish va qabul qilish interfeysi sifatida ishlaydi.
Foydalanuvchi autentifikatsiya qatlami
Nomidan ko'rinib turibdiki, foydalanuvchi autentifikatsiya qatlami mijozning
autentifikatsiyasini boshqarish uchun javobgardir va turli autentifikatsiya usullarini
taqdim etadi. Autentifikatsiya mijoz tomonidan amalga oshiriladi; shuning uchun
parol so'ralsa, odatda server emas, SSH mijozi uchun so'raladi va server bu
autentifikatsiyalarga javob beradi.
Bu qatlam autentifikatsiyaning turli usullarini o'z ichiga oladi; bu usullar
quyidagilardir:
Parol: Parolni autentifikatsiya qilish autentifikatsiya qilishning oddiy usulidir.
U oson kirish uchun parolni o'zgartirish funksiyasini o'z ichiga oladi. Ammo
u barcha ilovalar tomonidan qo'llanilmaydi.
- Ochiq kalit: Ochiq kalit ochiq kalitga asoslangan autentifikatsiya usuli bo'lib,
DSA, ECDSA yoki RSA kalit juftlarini qo'llab-quvvatlaydi.
- Klaviatura-interaktiv: Bu ko'p qirrali autentifikatsiya usullaridan biridir.
Bunda server ma'lumotni kiritish taklifini yuboradi va mijoz uni foydalanuvchi
tomonidan kiritilgan javoblar bilan qaytarib yuboradi. U bir martalik parol
yoki OTP autentifikatsiyasini ta'minlash uchun ishlatiladi.
- GSSAPI: Ushbu usulda autentifikatsiya Kerberos 5 yoki NTLM kabi tashqi
usullar bilan amalga oshiriladi, ular SSH seanslariga bir marta kirish
imkoniyatini beradi.
Ulanish qatlami
Ulanish darajasi SSH xizmatlari taqdim etiladigan turli kanallarni belgilaydi. U
kanallar, kanal so'rovlari va global so'rovlar tushunchasini belgilaydi. Bitta SSH
ulanishi bir vaqtning o'zida turli kanallarni joylashtirishi va ma'lumotlarni bir
vaqtning o'zida ikkala yo'nalishda ham uzatishi mumkin. Kanal so'rovlari ulanish
qatlamida tarmoqdan tashqari kanalga xos ma'lumotlarni uzatish uchun ishlatiladi,
masalan, terminal oynasining o'zgartirilgan o'lchami yoki server tomonidagi
jarayonning chiqish kodi. Ulanish qatlamining standart kanal turlari:
- qobiq: U terminal qobiqlari, SFTP va exec so'rovlari uchun ishlatiladi.
- Direct-tcpip: U mijozdan serverga yo'naltirilgan ulanishlar uchun ishlatiladi.
- forwarded-tcpip: U serverdan mijozga yo'naltirilgan ulanishlar uchun
ishlatiladi.
SSH protokoli bilan nimani o'tkazish mumkin?
SSH protokoli quyidagilarni uzatishi mumkin:
- Ma'lumotlar
- Matn
Buyruqlar
- Fayllar
Fayllar har qanday tahdidning oldini olish uchun xavfsizlikni ta'minlaydigan FTP
ning shifrlangan versiyasi bo'lgan SFTP (Secure file transfer protocol) yordamida
uzatiladi.
SSH va Telnet o'rtasidagi farq
- Telnet masofaviy xostda terminal seansini yaratish va saqlash uchun
ishlatiladigan birinchi internet-ilova protokoli edi.
- SSH ham, Telnet ham bir xil funksiyaga ega. Shunga qaramay, asosiy farq
shundaki, SSH protokoli ochiq kalitli kriptografiya bilan himoyalangan bo'lib,
u terminal seansini o'rnatishda so'nggi nuqtani autentifikatsiya qiladi. Boshqa
tomondan, Telnet-da foydalanuvchining autentifikatsiyasi uchun hech qanday
autentifikatsiya taqdim etilmaydi, bu esa uni kamroq xavfsiz qiladi.
- SSH shifrlangan ma'lumotlarni yuboradi, Telnet esa ma'lumotlarni oddiy
matnda yuboradi.
- Yuqori xavfsizlik tufayli SSH umumiy tarmoqlar uchun afzal qilingan
protokol bo'lib, kamroq xavfsizlik tufayli Telnet xususiy tarmoqlar uchun mos
keladi.
- SSH sukut bo'yicha 22-portda ishlaydi, lekin uni o'zgartirish mumkin, Telnet
esa mahalliy tarmoq uchun maxsus mo'ljallangan 23-portdan foydalanadi.
SSH shifrlash usullari
Xavfsiz uzatishni amalga oshirish uchun SSH uzatish paytida turli nuqtalarda uchta
turli shifrlash texnikasidan foydalanadi. Bu texnikalar:
- Simmetrik shifrlash
- Asimmetrik shifrlash
- Xeshlash
-
Simmetrik shifrlash
Belgilangan manzildan yuborilgan va qabul qilingan xabarlarni shifrlash va shifrini
ochish uchun simmetrik shifrlash usullarida faqat bitta kalitdan foydalanish mumkin.
Ushbu usul umumiy kalit shifrlash sifatida ham tanilgan, chunki ikkala qurilma ham
yuborgan ma'lumotlarni shifrlash va qabul qilingan ma'lumotlarni shifrlash uchun bir
xil kalitdan foydalanadi.
Ushbu uslub o'rtadagi odam hujumlarini oldini olish uchun butun SSH ulanishini
shifrlaydi. Ushbu texnikada kalitlarni dastlabki almashish vaqtida bitta muammo
yuzaga keladi. Ushbu muammoga ko'ra, agar kalit almashinuvi paytida uchinchi
tomon mavjud bo'lsa, ular kalitni bilishi va butun xabarni o'qishi mumkin.
Ushbu
muammoning
oldini
olish
uchun
kalit almashinuvi
algoritmi qo'llaniladi. Ushbu algoritm yordamida maxfiy kalitlarni to'xtatmasdan
xavfsiz almashish mumkin.
Kalit almashinuvi algoritmini amalga oshirish uchun assimetrik shifrlash talab
qilinadi.
Asimmetrik shifrlash
Asimmetrik shifrlashda shifrlash va shifrni ochish uchun ikki xil kalitlardan
foydalaniladi, shaxsiy va ochiq kalitlar. Maxfiy kalit faqat foydalanuvchi uchun
shaxsiy bo'lib, uni boshqa foydalanuvchi bilan bo'lishib bo'lmaydi, ochiq kalit esa
hammaga ochiq. Ochiq kalit SSH serverida saqlanadi, shaxsiy kalit esa mahalliy
sifatida SSH mijozida saqlanadi; bu ikki kalit kalit juftligini tashkil qiladi. Ochiq kalit
bilan shifrlangan xabar faqat tegishli shaxsiy kalit bilan shifrini ochishi mumkin.
Bu ochiq kalitni uchinchi tomon olgandek xavfsiz usul va ular shaxsiy kalitni
bilmagani uchun xabarni parolini hal qila olmaydi.
Asimmetrik shifrlash to'liq SSH seansini shifrlamaydi. Buning o'rniga, u asosan
simmetrik shifrlashning kalit almashinuvi algoritmi uchun ishlatiladi. Bunda,
ulanishni o'rnatishdan oldin ikkala tizim (mijoz va server) vaqtincha umumiyxususiy
kalit juftlarini yaratadi va keyin umumiy maxfiy kalitni yaratish uchun shaxsiy
kalitlarini almashadi.
Xavfsiz simmetrik ulanishni o'rnatgandan so'ng, server uni autentifikatsiya qilish
uchun mijozga uzatish uchun ochiq kalitdan foydalanadi. Mijoz faqat shaxsiy kalitga
ega bo'lsa, ma'lumotlarning shifrini ochishi mumkin va shuning uchun SSH seansi
o'rnatiladi.
Xeshlash
SSHda
bir
tomonlama
xeshlash
shifrlash
usuli
sifatida
ishlatiladi,
bu
kriptografiyaning yana bir shaklidir. Xeshlash texnikasi yuqoridagi ikki usuldan farq
qiladi, chunki u shifrni ochishni nazarda tutmaydi. U imzo yoki ma'lumotlarning
qisqacha mazmunini yaratadi. SSH xabarlar to'liq va o'zgartirilmagan shaklda yetib
borishini ta'minlash uchun HMAC (Xeshga asoslangan xabar autentifikatsiyasi) dan
foydalanadi.
Ushbu texnikada har bir uzatiladigan xabar uchta komponentdan foydalanadigan
MACga ega bo'lishi kerak: simmetrik kalit, paketlar tartib raqami va xabar mazmuni.
Ushbu uchta komponent hech qanday ma'noga ega bo'lmagan satr hosil qiluvchi xesh
funktsiyasini tashkil qiladi va bu satr xostga yuboriladi. Xost ham bir xil
ma'lumotlarga ega, shuning uchun ular xesh funktsiyasini ham yaratadilar va agar
hosil qilingan xesh qabul qilingan xesh bilan mos kelsa, bu xabar temperli emasligini
anglatadi.
Download