SSH3 is geïntroduceerd, een variant van het SSH-protocol dat HTTP/3 gebruikt

De eerste officiële release van de experimentele implementatie van de SSH3-server en -client is beschikbaar, gepresenteerd als een uitbreiding op het HTTP/3-protocol, dat QUIC (op basis van UDP) en TLS 1.3 gebruikt voor het opzetten van een beveiligd communicatiekanaal en HTTP-mechanismen voor gebruikersauthenticatie. Het project wordt ontwikkeld door François Michel, een promovendi aan de Katholieke Universiteit Leuven (België), met deelname van Olivier Bonaventure, professor aan dezelfde universiteit, bekend vanwege de ontwikkeling van de Multipath TCP-subsysteem en de code voor segmentrouting in IPv6 voor de Linux-kernel, evenals co-auteur van 10 RFC's en ontwerpdraft voor meer dan 60 netwerkparameters. De referentie-implementatie van de client en server is geschreven in Go en wordt verspreid onder de Apache 2.0-licentie.

De ontwikkeling van SSH3 is het resultaat van een complete herziening van het SSH-protocol, uitgevoerd door een aparte groep onderzoekers onafhankelijk van OpenSSH en andere projecten die implementaties van het klassieke SSH-protocol ontwikkelen. In SSH3 wordt de semantiek van het klassieke SSH-protocol geïmplementeerd via HTTP-mechanismen, wat sommige extra mogelijkheden mogelijk maakt en het verbergen van SSH-activiteit tussen ander verkeer vergemakkelijkt.

Bij het gebruik van SSH3 is de server niet te onderscheiden van een HTTP-server en accepteert deze aanvragen op poort 443 (HTTPS), terwijl het SSH3-verkeer samenkomt met typisch HTTP-verkeer, wat aanvallen gerelateerd aan poortscannen en het identificeren van SSH-servers voor wachtwoordkraken bemoeilijkt. Om aanvallen op servers SSH3 te bemoeilijken, kan naast de vereiste kennis over de aanwezigheid van een server op een bepaald IP-adres een geheime identifier-path voor de SSH3-server worden opgegeven. Zonder een correcte identifier zal de server verzoeken behandelen als een reguliere HTTPS-server en geen informatie geven over de mogelijkheid om verbinding te maken via SSH3. Bijvoorbeeld, door de identifier «e6ae772cbdaafd6918865cc2ce449dae» op te geven, kan je verbinding maken met de server enkel via de URL «https://192.0.2.0:443/e6ae772cbdaafd6918865cc2ce449dae», en als de identifier onjuist is, zal de server een gebruikelijke foutmelding «404» geven.

In de uitgebreide functionaliteit van SSH3 wordt de mogelijkheid vermeld om X.509-certificaten en OAuth 2.0/OpenID Connect-methoden voor authenticatie te gebruiken, naast de klassieke SSH-methoden; ondersteuning voor het doorsturen van UDP-poorten via een SSH-tunnel, naast de mogelijkheid om TCP-poorten door te sturen (bijvoorbeeld voor het doorsturen van QUIC, DNS en RTP); gebruik van geavanceerde functies van het QUIC-protocol, zoals het migreren van verbindingen zonder onderbreking en het opzetten van multipath-verbindingen om verkeer over meerdere routes te paralleliseren.

Er wordt speciaal aandacht besteed aan de aanzienlijke vermindering van de verbindingsinstallatietijd bij het gebruik van SSH3. Bij verbinding met de SSH3-server zijn slechts 3 netwerkiteraties (Round Trip) nodig, terwijl voor SSHv2 5-7 iteraties van pakketuitwisseling nodig zijn. De reactietijd op toetsenbordinvoer voor al gevestigde sessies in SSH3 en SSHv2 is op hetzelfde niveau.

SSH3 is geïntroduceerd, een variant van het SSH-protocol dat HTTP/3 gebruikt

Voor de encryptie van de communicatiekanaal in SSH3 wordt het TLS 1.3-protocol ingezet, terwijl klassieke methoden op basis van wachtwoorden en openbare sleutels (RSA en EdDSA/ed25519) voor authenticatie kunnen worden gebruikt. Bovendien kunnen in SSH3 methoden op basis van het OAuth 2.0-protocol worden toegepast, die het mogelijk maken om de authenticatie aan externe providers over te dragen, bijvoorbeeld voor het verifiëren van toegang via accounts bij Google, Microsoft en GitHub. Voor verbinding met servers op basis van sleutels kunnen naast SSH-sleutels ook X.509-certificaten worden gebruikt die voor HTTPS worden ingezet.

De gepubliceerde implementatie van de SSH3-client en -server ondersteunt veel basisfunctionaliteit van OpenSSH, waaronder:

  • Ondersteuning voor het bestand ~/.ssh/authorized_keys met instellingen voor sleutels. de server.
  • Mogelijkheid om het configuratiebestand ~/.ssh/config aan de clientzijde te gebruiken. Momenteel worden de parameters Hostname, User, Port en IdentityFile ondersteund, terwijl de overige worden genegeerd.
  • Ondersteuning voor authenticatie van verbinding met de server op basis van certificaten.
  • Ondersteuning voor het known_hosts-mechanisme (in situaties waar geen X.509-certificaten worden gebruikt).
  • Ondersteuning voor de werking van de client met OpenSSH Agent (ssh-agent) en automatische gebruik van de agent voor authenticatie met openbare sleutels.
  • Ondersteuning voor de functie van doorsturen via de SSH-agent voor gebruik van lokale sleutels op een externe server.
  • Directe doorsturing van TCP-poorten.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster