Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
139 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
46 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Towards SSH3: how HTTP/3 improves secure shells (2312.08396v1)

Published 12 Dec 2023 in cs.NI

Abstract: The SSH protocol was designed in the late nineties to cope with the security problems of the telnetf family of protocols. It brought authentication and confidentiality to remote access protocols and is now widely used. Almost 30 years after the initial design, we revisit SSH in the light of recent protocols including QUIC, TLS 1.3 and HTTP/3. We propose, implement and evaluate SSH3, a protocol that provides an enhanced feature set without compromise compared to SSHv2. SSH3 leverages HTTP-based authorization mechanisms to enable new authentication methods in addition to the classical password-based and private/public key pair authentications. SSH3 users can now configure their remote server to be accessed through the identity provider of their organization or using their Google or Github account. Relying on HTTP/3 and the QUIC protocol, SSH3 offers UDP port forwarding in addition to regular TCP forwarding as well as a faster and secure session establishment. We implement SSH3 over quic-go and evaluate its performance.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (43)
  1. 1983. Telnet Protocol Specification. RFC 854. (May 1983). https://doi.org/10.17487/RFC0854
  2. 2023. FFmpeg. (2023). http://www.ffmpeg.org.
  3. 2023. GStreamer. (2023). https://gstreamer.freedesktop.org/.
  4. 2023. Remote Desktop Protocol: Basic Connectivity and Graphics Remoting. (2023). https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/5073f4ed-1e93-45e1-b039-6e30c385867c
  5. Let’s Encrypt: an automated certificate authority to encrypt the entire web. In Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security. 2473–2487.
  6. Martin Arlitt and Carey Williamson. 2005. An analysis of TCP reset behaviour on the internet. ACM SIGCOMM Computer Communication Review 35, 1 (2005), 37–44.
  7. Analyzing real-time video delivery over cellular networks for remote piloting aerial vehicles. In Proceedings of the 22nd ACM Internet Measurement Conference. 98–112.
  8. Steven M Bellovin. 1989. Security problems in the TCP/IP protocol suite. ACM SIGCOMM Computer Communication Review 19, 2 (1989), 32–48.
  9. Robert T. Braden. 1989. Requirements for Internet Hosts - Communication Layers. RFC 1122. (Oct. 1989). https://doi.org/10.17487/RFC1122
  10. Brian Campbell and Mike Bishop. 2023. Client-Cert HTTP Header Field. RFC 9440. (July 2023). https://doi.org/10.17487/RFC9440
  11. denis bider. 2020. QUIC-based UDP Transport for Secure Shell (SSH). Internet-Draft draft-bider-ssh-quic-09. Internet Engineering Task Force. https://datatracker.ietf.org/doc/draft-bider-ssh-quic/09/ Work in Progress.
  12. Marlon Dutra. 2016. Scalable and secure access with SSH. (September 2016). https://engineering.fb.com/2016/09/12/security/scalable-and-secure-access-with-ssh/.
  13. A QUIC implementation in pure go. (2023). https://github.com/quic-go/quic-go
  14. Pavel Fatin. 2023. typometer. (2023). https://github.com/pavelfatin/typometer
  15. HTTP Semantics. RFC 9110. (June 2022). https://doi.org/10.17487/RFC9110
  16. Roy T. Fielding and Julian Reschke. 2014. Hypertext Transfer Protocol (HTTP/1.1): Authentication. RFC 7235. (June 2014). https://doi.org/10.17487/RFC7235
  17. HTTP Authentication: Basic and Digest Access Authentication. RFC 2617. (June 1999). https://doi.org/10.17487/RFC2617
  18. WebTransport over HTTP/3. Internet-Draft draft-ietf-webtrans-http3-08. Internet Engineering Task Force. https://datatracker.ietf.org/doc/draft-ietf-webtrans-http3/08/ Work in Progress.
  19. Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework. RFC 3584. (Aug. 2003). https://doi.org/10.17487/RFC3584
  20. APNIC Blog Geoff Houston. [n. d.]. A look at QUIC use. https://stats.labs.apnic.net/quic. ([n. d.]). Accessed: 2022-02-09.
  21. Rainer Gerhards. 2009. The Syslog Protocol. RFC 5424. (March 2009). https://doi.org/10.17487/RFC5424
  22. Dick Hardt. 2012. The OAuth 2.0 Authorization Framework. RFC 6749. (Oct. 2012). https://doi.org/10.17487/RFC6749
  23. Jana Iyengar and Martin Thomson. 2021. QUIC: A UDP-Based Multiplexed and Secure Transport. RFC 9000. (May 2021). https://doi.org/10.17487/RFC9000
  24. JSON Web Token (JWT). RFC 7519. (May 2015). https://doi.org/10.17487/RFC7519
  25. Michael B. Jones and Dick Hardt. 2012. The OAuth 2.0 Authorization Framework: Bearer Token Usage. RFC 6750. (Oct. 2012). https://doi.org/10.17487/RFC6750
  26. Brian Kantor. 1991. BSD Rlogin. RFC 1282. (Dec. 1991). https://doi.org/10.17487/RFC1282
  27. The quic transport protocol: Design and internet-scale deployment. In Proceedings of the conference of the ACM special interest group on data communication. 183–196.
  28. Multipath Extension for QUIC. Internet-Draft draft-ietf-quic-multipath-06. Internet Engineering Task Force. https://datatracker.ietf.org/doc/draft-ietf-quic-multipath/06/ Work in Progress.
  29. Chris M. Lonvick and Tatu Ylonen. 2006a. The Secure Shell (SSH) Authentication Protocol. RFC 4252. (Jan. 2006). https://doi.org/10.17487/RFC4252
  30. Chris M. Lonvick and Tatu Ylonen. 2006b. The Secure Shell (SSH) Connection Protocol. RFC 4254. (Jan. 2006). https://doi.org/10.17487/RFC4254
  31. Chris M. Lonvick and Tatu Ylonen. 2006c. The Secure Shell (SSH) Protocol Architecture. RFC 4251. (Jan. 2006). https://doi.org/10.17487/RFC4251
  32. Chris M. Lonvick and Tatu Ylonen. 2006d. The Secure Shell (SSH) Transport Layer Protocol. RFC 4253. (Jan. 2006). https://doi.org/10.17487/RFC4253
  33. François Michel. 2023. SSH3: Redesigning SSH over the HTTP/3 protocol stack. (2023). https://github.com/francoismichel/ssh3
  34. Bram Moolenaar. [n. d.]. Vim, the editor. https://www.vim.org/. ([n. d.]). Accessed: 2023-11-30.
  35. An Unreliable Datagram Extension to QUIC. RFC 9221. (March 2022). https://doi.org/10.17487/RFC9221
  36. Eric Rescorla. 2018. The Transport Layer Security (TLS) Protocol Version 1.3. RFC 8446. (Aug. 2018). https://doi.org/10.17487/RFC8446
  37. Openid connect core 1.0. The OpenID Foundation (2014), S3. https://openid.net/specs/openid-connect-core-1_0.html
  38. The Signature HTTP Authentication Scheme. Internet-Draft draft-ietf-httpbis-unprompted-auth-05. Internet Engineering Task Force. https://datatracker.ietf.org/doc/draft-ietf-httpbis-unprompted-auth/05/ Work in Progress.
  39. Martin Thomson and Sean Turner. 2021. Using TLS to Secure QUIC. RFC 9001. (May 2021). https://doi.org/10.17487/RFC9001
  40. The TCP Authentication Option. RFC 5925. (June 2010). https://doi.org/10.17487/RFC5925
  41. Manfred Touron. 2023. quicssh. (2023). https://github.com/moul/quicssh
  42. Detecting Forged TCP Reset Packets.. In NDSS.
  43. Tatu Ylonen. 1996. SSH–secure login connections over the Internet. In Proceedings of the 6th USENIX Security Symposium, Vol. 37. 40–52.
Citations (1)

Summary

  • The paper introduces SSH3, a novel secure shell protocol that leverages HTTP/3 and QUIC for lower latency and efficient resource management.
  • It utilizes HTTP-based authentication to integrate diverse mechanisms like OpenID Connect and basic methods, broadening secure access with major identity providers.
  • SSH3 mitigates TCP limitations by embracing QUIC’s features, resulting in improved resistance to connection resets and faster session initiation.

Analysis of "Towards SSH3: how HTTP/3 improves secure shells"

This paper presents SSH3, a novel approach to modernize the Secure Shell (SSH) protocol by leveraging contemporary network standards such as HTTP/3 and QUIC. Over the course of several decades, SSH has served as a cornerstone for secure remote access. Nonetheless, evolving communication protocols necessitate a reevaluation of SSH's architectural underpinnings. This work critiques traditional SSH implementations and proposes a framework to enhance its efficacy within present-day networking environments.

SSH3 builds atop HTTP/3, which amalgamates the benefits of TLS 1.3 with QUIC's transport traits, offering lower latency and more efficient resource management. In this context, the authors investigate the robustness of SSH3 against connection reset attacks and network scans, an improvement facilitated by QUIC's encryption and seamless connection migration capabilities. This modern stack is conducive to the merger of security and performance, streamlining initial connection establishment while maintaining cryptographic integrity.

Key Features and Performance

The SSH3 implementation harnesses HTTP-based authorization, allowing for an enriched set of authentication mechanisms beyond typical SSH practices—such as basic authentication and OpenID Connect. By utilizing HTTP's extensible authentication framework, SSH3 enables seamless integration of popular identity providers like Google and Microsoft. Furthermore, the proposed architecture facilitates both TCP and UDP port forwarding, extending beyond SSH's historical constraints to support latency-sensitive applications via UDP encapsulation.

The paper highlights considerable reductions in session completion times using SSH3 in comparison to SSHv2. In scenarios tested, SSH3's quick setup significantly diminished connection establishment latency, thanks to the single round-trip initialization afforded by HTTP/3. Empirical benchmarks further demonstrate SSH3's proficiency in an interactive shell environment, achieving lower keystroke latency than SSHv2. Nonetheless, it is important to note that SSH3 currently incurs a throughput trade-off due to the computational demands of its components such as QUIC and Go language runtime.

Implications and Prospective Deployment

SSH3's foundations forgo TCP, relying on QUIC's robust transport characteristics. This paradigm shift enables the protocol to mitigate TCP-specific limitations, such as head-of-line blocking and RST-based denial-of-service attacks. By embedding SSH within HTTP/3's infrastructural fabric, SSH3 potentially transforms secure remote access into a modernized, web-friendly service. Moreover, the adoption of TLS 1.3 natively augments cryptographic strength across SSH3 deployments, capitalizing on the secure session management and innate forward secrecy of TLS.

From a theoretical standpoint, SSH3 underscores the alignment of secure communication protocols with evolving Internet usage patterns. The proposal pragmatically positions the complexity of SSH within the ubiquitous constructs of HTTP, simplifying protocol operations. From a practical perspective, SSH3 instantiates a pathway towards standardizing secure interactive access across diverse network configurations and device ecosystems, thus broadening the operational span of secure shell utilities.

Future Developments

The authors suggest several avenues for further refinement of SSH3. The prompt engagement of the research and open-source communities is pivotal to collaboratively advance the protocol's design and integration within existing systems. Efficiencies in throughput optimization remain a critical focus area for future iterations of SSH3, ensuring it can fulfill high-performance requirements without undermining operational simplicity. With the underlying framework outlined, SSH3 stands to benefit from engagement with network protocol standard bodies to ensure broad acceptance and compatibility with Internet infrastructure.

In summary, this paper positions SSH3 as a forerunner in the effort to reconcile the SSH protocol with contemporary Web architecture, maintaining rigorous security without sacrificing utility and responsiveness. The exploration of HTTP/3-based secure shells heralds an exciting evolutionary trajectory for encrypted interactive sessions in rapidly advancing networking environments.

HackerNews