Esimese ametliku vĂ€ljaande katseversioon SSH3 protokolli serverist ja kliendist, mis on vormistatud HTTP/3 protokolli pealisehitusena, kasutades QUIC (UDP-pĂ”hisel) ja TLS 1.3, et luua kaitstud sidekanal ja HTTP mehhanisme kasutaja autentimiseks. Projekti arendab François Michel, Leuveni katoliikliku ĂŒlikooli doktorant (Belgia), koostöös Olivier Bonaventure'iga, sama ĂŒlikooli professoriga, kes on tuntud Multipath TCP alamsĂŒsteemi ja IPv6 segmentide suunamise koodi arendamisega Linuxi tuumas, samuti 10 RFC kaasautori ja enam kui 60 vĂ”rgustiku spetsifikatsiooni eelnĂ”u kaasautorina. Kliendi ja serveri viidatud teostuse kood on kirjutatud Go keeles ja levitatakse Apache 2.0 litsentsi alusel.
SSH3 arendamine on olnud igaĂŒhe pĂ”hjaliku ĂŒlevaatuse tulemuseks SSH protokollist, mida on viinud lĂ€bi eraldi teadlaste grupp iseseisvalt OpenSSH ja teiste klassikalise SSH protokolli teostuste projektidest. SSH3 semantika klassikalisest SSH protokollist on rakendatud HTTP mehhanismide kaudu, mis on vĂ”imaldanud rakendada tĂ€iendavaid funktsioone ja peita SSH-tegevust teiste andmevoogude seas.
SSH3 kasutamisel ei eristu server HTTP-serverist ja aktsepteerib pĂ€ringuid 443. vĂ”rgupordil (HTTPS), samas kui SSH3 liiklus seguneb tavalise HTTP-liiklusega, mis toob kaasa rĂŒnnakute, sealhulgas sadama skaneerimise ja SSH-serverite avastamisega seotud rĂŒnnakute keerukuse. RĂŒnnakute keerukuse suurendamiseks serverid SSH3, peale teadmise serveri olemasolust antud IP-aadressil, vĂ”ib kasutada ka salajast SSH3-serveri identifikaatoriteed. Kui Ă”ige identifikaator ei ole esitatud, kĂ€sitleb server vastuseid nagu tavaline HTTPS-server ja ei paljasta SSH3 ĂŒhendamise vĂ”imalust. NĂ€iteks, identifikaatori âe6ae772cbdaafd6918865cc2ce449daeâ mÀÀramisel saab serveriga ĂŒhenduda ainult URL kaudu âhttps://192.0.2.0:443/e6ae772cbdaafd6918865cc2ce449daeâ, ja kui identifikaator on vale, annab server tavalise â404â vea.
SSH3 laiem funktsionaalsus hĂ”lmab X.509 sertifikaatide ja OAuth 2.0/OpenID Connect meetodite kasutamise vĂ”imalust autentimise jaoks, lisaks traditsioonilistele SSH meetoditele; UDP-portide suunamise tugi SSH-tunneli kaudu, koos TCP-portide suunamise vĂ”imalusega (nĂ€iteks QUIC, DNS ja RTP edastamiseks); QUIC protokolli tĂ€iustatud funktsioonide, nagu katkestusteta ĂŒhenduste migratsioon ja multipath-ĂŒhenduste loomine, kasutamine, et jagada liiklust mitmete marsruutide vahel.
SSH3 kasutamisel on mĂ€rkimisvÀÀrselt vĂ€henenud ĂŒhenduse loomise aeg. SSH3 serveriga ĂŒhenduse loomisel tuleb lĂ€bi viia vaid 3 vĂ”rgu ringkĂ€iku (Round Trip), samas kui SSHv2 puhul on vajalik 5-7 pakettide vahetuse iteratsiooni. SSH3 ja SSHv2 juba loodud seansside klaviatuuri sisendi reageerimisajad on samal tasemel.

SSH3 kasutab sidekanali krĂŒpteerimiseks TLS 1.3 protokolli, autentimiseks on vĂ”imalik kasutada klassikalisi meetodeid, mis pĂ”hinevad paroolidel ja avalikel vĂ”tmetel (RSA ja EdDSA/ed25519). Samuti on SSH3-s vĂ”imalik rakendada OAuth 2.0 protokolli pĂ”hiseid meetodeid, mis vĂ”imaldavad autentimise delegeerimist kolmandate osapoolte pakkujatele, nĂ€iteks Googleâi, Microsofti ja GitHubâi kontode kaudu sisselogimise kinnitamiseks. Serveritele ĂŒhenduste loomiseks, lisaks SSH vĂ”tmetele, on vĂ”imalik kasutada ka X.509 sertifikaate, mida kasutatakse HTTPS-i jaoks.
Avaldatud SSH3 klientide ja serverite teostus toetab paljusid OpenSSH pÔhiomadusi, sealhulgas:
- Support for the file ~/ .ssh/authorized_keys with key settings on serveris.
- Kliendi poolel on vÔimalik kasutada konfigureerimisfaili ~/ .ssh/config. Praegu toetatakse parameetreid Hostname, User, Port ja IdentityFile, kÔik muud ignored.
- Tugi sertifikaatide pĂ”hisele autentimisele serverisse ĂŒhendamisel.
- Tugi known_hosts mehhanismile (olukordades, kus X.509 sertifikaate ei kasutata).
- SSH-agensi (ssh-agent) toetamine ja automaatne agendi kasutamine avalike vÔtmete autentimisel.
- SSH-agendi kaudu suunamise funktsiooni tugi kohalike vÔtmete kasutamiseks vÀlistel serveritel.
- Otsene TCP-portide edastamine.
Allikas: opennet.ru
