SSH3 protokolu üçün eksperimental server və klient tətbiqinin ilk rəsmi versiyası artıq mövcuddur. O, HTTP/3 üzərində qurulub və istifadəçi identifikasiyası üçün təhlükəsiz rabitə kanalı və HTTP mexanizmləri yaratmaq üçün QUIC (UDP əsasında) və TLS 1.3-dən istifadə edir. Layihə, Lüven Katolik Universitetinin (Belçika) doktorantı Fransua Mişel tərəfindən, nüvə üçün Multipath TCP alt sistemini və IPv6 seqment marşrutlaşdırma kodunu hazırlayan eyni universitetin professoru Olivier Bonaventure-in iştirakı ilə hazırlanır. Linux, eləcə də 10 RFC-nin və 60-dan çox şəbəkə spesifikasiyasının layihələrinin həmmüəllifidir. Klient və server istinad tətbiqləri Go dilində yazılıb və Apache 2.0 lisenziyası altında paylanır.
SSH3-ün inkişafı, OpenSSH-dən asılı olmayan ayrı-ayrı tədqiqatçılar qrupu və klassik SSH protokolunun tətbiqlərini inkişaf etdirən digər layihələr tərəfindən həyata keçirilən SSH protokolunun tam yenidən qurulmasının nəticəsi idi. SSH3-də klassik SSH protokolunun semantikası HTTP mexanizmləri vasitəsilə həyata keçirilir ki, bu da bəzi əlavə imkanlara və digər trafik arasında SSH ilə əlaqəli fəaliyyəti gizlətməyə imkan verir.
SSH3 istifadə edərkən, server HTTP serverindən fərqlənmir və 443 şəbəkə portunda (HTTPS) sorğuları qəbul edir və SSH3 trafiki standart HTTP trafiki ilə birləşdirilir ki, bu da port skanlama hücumlarını həyata keçirməyi və parol qəddarlığı hücumları üçün SSH serverlərini müəyyən etməyi daha da çətinləşdirir. Hücumları çətinləşdirmək üçün serverlər SSH3, serverin müəyyən bir IP ünvanında mövcud olub-olmadığını bilməklə yanaşı, gizli bir SSH3 server identifikatorunu da təyin edə bilər. Düzgün identifikator olmadan, server cavabları adi HTTPS serveri kimi emal edəcək və SSH3 bağlantısının mümkün olduğunu göstərməyəcək. Məsələn, "e6ae772cbdaafd6918865cc2ce449dae" identifikatorunu təyin etsəniz, serverə yalnız "https://192.0.2.0:443/e6ae772cbdaafd6918865cc2ce449dae" URL vasitəsilə qoşula bilərsiniz. İdentifikator səhvdirsə, server standart "404" xətası qaytaracaq.
SSH3-ün qabaqcıl funksionallığı arasında klassik SSH metodlarına əlavə olaraq, identifikasiya üçün X.509 sertifikatları və OAuth 2.0/OpenID Connect metodlarından istifadə imkanları qeyd olunur; TCP portlarını yönləndirmək qabiliyyətinə əlavə olaraq SSH tuneli vasitəsilə UDP portunun yönləndirilməsinə dəstək (məsələn, QUIC, DNS və RTP yönləndirmə üçün); QUIC protokolunun qabaqcıl xüsusiyyətlərindən istifadə, məsələn, əlaqəni pozmadan əlaqələrin miqrasiyası və bir neçə marşrut üzrə hərəkəti paralelləşdirmək üçün çoxyollu əlaqələrin qurulması.
Ayrı-ayrılıqda, SSH3 istifadə edərkən əlaqə qurma müddətində əhəmiyyətli bir azalma var. SSH3 serverinə qoşulduqda yalnız 3 şəbəkə iterasiyası (Round Trip) tələb olunur, SSHv2 isə 5-7 paket mübadiləsi iterasiyası tələb edir. SSH3 və SSHv2-də artıq qurulmuş seanslar üçün klaviatura daxiletməsinə cavab müddəti eyni səviyyədədir.

Rabitə kanalını şifrələmək üçün SSH3 TLS 1.3 protokolundan istifadə edir və autentifikasiya üçün parollar və açıq açarlar (RSA və EdDSA/ed25519) əsasında klassik üsullardan istifadə edə bilərlər. Bundan əlavə, SSH3, məsələn, Google, Microsoft və GitHub xidmətlərindəki hesablar vasitəsilə təsdiqlənmiş girişi təmin etmək üçün üçüncü tərəf provayderlərinə autentifikasiyanı yükləməyə imkan verən OAuth 2.0 protokoluna əsaslanan üsullardan istifadə edə bilər. Açarlardan istifadə edərək serverlərə qoşulmaq üçün SSH açarlarına əlavə olaraq HTTPS üçün istifadə olunan X.509 sertifikatlarından istifadə edə bilərsiniz.
Nəşr edilmiş SSH3 müştəri və server tətbiqi bir çox əsas OpenSSH xüsusiyyətlərini dəstəkləyir, o cümlədən:
- Açar parametrləri aktiv olan ~/.ssh/authorized_keys faylı üçün dəstək server.
- Müştəri tərəfində ~/.ssh/config konfiqurasiya faylından istifadə etmək imkanı. Hal-hazırda Hostname, User, Port və IdentityFile parametrləri dəstəklənir və qalanları nəzərə alınmır.
- Sertifikat əsaslı server bağlantısı identifikasiyası üçün dəstək.
- Known_hosts mexanizmi üçün dəstək (X.509 sertifikatlarının istifadə edilmədiyi hallarda).
- OpenSSH Agent (ssh-agent) ilə müştəri işinə dəstək və açıq açarın autentifikasiyası üçün agentin avtomatik istifadəsi.
- Xarici serverdə yerli açarlardan istifadə etmək üçün SSH agenti vasitəsilə yönləndirməyə dəstək.
- TCP portlarının birbaşa yönləndirilməsi.
Mənbə: opennet.ru
