Remote Desktop Protocol (RDP) is a commonly used protocol for enabling
remote access. A problem with the traditional use of RDP is its direct exposure
to the public internet, which poses a serious security risk, while existing
solutions are either proprietary and closed-source, offer limited performance,
or fail to meet zero-trust requirements. This thesis presents the design and
implementation of an open-source application gateway compliant with the
MS-TSGU specification, supporting both a TCP-based main channel and
a high-performance UDP-based side channel. The implementation targets
a modern, streamlined subset of the specification, extended with OpenID
Connect authentication. The system is implemented in Rust using the Tokio
runtime, with session security ensured though single-use connection tickets
stored in Redis. Evaluation showed that using the gateway does not cause a
meaningful degradation in latency compared to direct access and that using
UDP protocol consistently improves connection performance.
|