Ka është lëshuar versioni i parë zyrtar i implementimit eksperimental të serverit dhe klientit për protokollin SSH3, i dizajnuar si një shtesë mbi protokollin HTTP/3, që përdor QUIC (bazuar në UDP) dhe TLS 1.3 për të vendosur një kanal komunikimi të sigurt dhe mekanizmat e HTTP për autentikimin e përdoruesve. Projekti është zhvilluar nga François Michel, doktorant në Universitetin Katolik të Leuvenit (Belgjikë), me ndihmën e Olivier Bonaventure, profesor në të njëjtin universitet, i njohur për zhvillimin e nënstrukturës Multipath TCP dhe kodit të segmentimit të ruterimit IPv6 për kernelin Linux, si dhe bashkautor i 10 RFC-ve dhe draft-eve për më shumë se 60 specifikacione rrjeti. Kodi i referencës për implementimin e klientit dhe serverit është shkruar në gjuhën Go dhe shpërndahet nën licencën Apache 2.0.
Zhvillimi i SSH3 është rezultat i një rishikimi të plotë të protokollit SSH, bërë nga një grup të veçantë studiuesish, të pavarur nga OpenSSH dhe projekte të tjera që zhvillojnë implementime të protokollit klasik SSH. Në SSH3, semantika e protokollit klasik SSH implementohet përmes mekanizmave HTTP, duke mundësuar disa mundësi të tjera dhe duke siguruar fshehjen e aktivitetit të lidhur me SSH brenda trafikut tjetër.
Duke pĂ«rdorur SSH3, serveri Ă«shtĂ« i padallueshĂ«m nga njĂ« server HTTP dhe pranon kĂ«rkesa nĂ« portin 443 tĂ« rrjetit (HTTPS), ndĂ«rsa trafiku SSH3 pĂ«rzihet me trafikun tipik HTTP, duke vĂ«shtirĂ«suar realizimin e sulmeve qĂ« lidhen me skanimin e porteve dhe identifikimin e serverĂ«ve SSH pĂ«r tĂ« provuar fjalĂ«kalime. PĂ«r tĂ« vĂ«shtirĂ«suar kryerjen e sulmeve mbi hostingut SSH3, pĂ«rveç njohjes sĂ« informacionit mbi praninĂ« e serverit nĂ« njĂ« adresĂ« IP tĂ« caktuar, mund tĂ« ketĂ« njĂ« rrugĂ« sekrete identifikuesi tĂ« serverit SSH3. Pa njĂ« kĂ«rkesĂ« me identifikuesin e saktĂ«, serveri do tĂ« pĂ«rpunojĂ« pĂ«rgjigjet si njĂ« server HTTPS standard dhe nuk do tĂ« tregojĂ« praninĂ« e mundĂ«sive pĂ«r t'u lidhur pĂ«rmes SSH3. PĂ«r shembull, nĂ«se caktimi i identifikuesit âe6ae772cbdaafd6918865cc2ce449daeâ bĂ«het, mund tĂ« lidheni me serverin vetĂ«m pĂ«rmes URL-sĂ« âhttps://192.0.2.0:443/e6ae772cbdaafd6918865cc2ce449daeâ, dhe nĂ«se identifikuesi Ă«shtĂ« i pasaktĂ«, serveri do tĂ« japĂ« njĂ« gabim tĂ« zakonshĂ«m â404â.
Nga funksionaliteti i avancuar i SSH3 përmendet mundësia e përdorimit të certifikatave X.509 për autentifikim dhe metodave OAuth 2.0/OpenID Connect, përveç metodave klasike të SSH; mbështetje për ridrejtimin e porteve UDP përmes tunelit SSH përveç mundësive të ridrejtimit të porteve TCP (për shembull, për të kaluar QUIC, DNS dhe RTP); përdorimi i funksioneve të avancuara të protokollit QUIC, si migrimi i lidhjeve pa ndërprerje të lidhjes dhe vendosja e lidhjeve multipath për paralelizimin e trafikës përmes disa rrugeve.
Veçanërisht vërehet reduktimi i konsiderueshëm të kohës për krijimin e lidhjes gjatë përdorimit të SSH3. Kur lidheni me serverin SSH3, kërkohen vetëm 3 iteracione rrjetesh (Round Trip), ndërsa për SSHv2 kryhen 5-7 iteracione shkëmbimi paketash. Koha e reagimit ndaj hyrjes nga tastiera për seancat tashmë të krijuara në SSH3 dhe SSHv2 është në të njëjtin nivel.

Për enkriptimin e kanalit të komunikimit në SSH3, përdoret protokolli TLS 1.3, dhe për autentifikimin mund të përdoren metodat klasike të bazuara në fjalëkalime dhe çelësa publikë (RSA dhe EdDSA/ed25519). Për më tepër, në SSH3 mund të aplikohen metoda të bazuara në protokollin OAuth 2.0, duke lejuar që autentifikimi të bëhet përmes ofruesve të jashtëm, për shembull, për të mundësuar hyrjen me konfirmimin përmes llogarive në shërbimet Google, Microsoft dhe GitHub. Për lidhjet me serverët përmes çelësave, përveç çelësave SSH, mund të përdoren certifikata X.509, të cilat përdoren për HTTPS.
Implementimi i publikuar i klientit dhe serverit SSH3 mbështet shumë mundësi bazë të OpenSSH, mes të cilave:
- Mbështetje për skedarin ~/ .ssh / authorized_keys me cilësimet e çelësave në serveri.
- Mundësia e përdorimit të skedarit të konfigurimit ~/ .ssh / config në anën e klientit. Aktualisht mbështeten parametrat Hostname, User, Port dhe IdentityFile, ndërsa të tjerët injorohen.
- Mbështetje për autentifikimin e lidhjes me serverin mbi bazën e certifikatave.
- Mbështetje për mekanizmin known_hosts (në situatat kur nuk përdoren certifikatat X.509).
- Mbështetje për punën e klientit me Agjentin OpenSSH (ssh-agent) dhe përdorimin automatik të agjentit për autentifikimin me çelësa publikë.
- Mbështetje për funksionin e ridrejtimit përmes agjentit SSH për përdorimin e çelësave lokalë në një server të jashtëm.
- Transmetim direkt të porteve TCP.
Burimi: opennet.ru
