Why does the linux XRDP module use a 512 bit RSA key? 512 bit RSA keys are broken by now. How can this be safe?

  • 1
    Why not ask them? Commented Mar 26, 2014 at 6:28
  • @StephenTouset Their project is pretty much dead...
    – Xeron
    Commented Mar 26, 2014 at 6:44
  • 1
    @Xeron Isn't that an answer on its own then?
    – TildalWave
    Commented Mar 26, 2014 at 8:03
  • @Xeron This is active (github.com/neutrinolabs/xrdp/issues). Ask there.
    – Adi
    Commented Mar 26, 2014 at 8:12
  • Voting to reopen -- this received a fact-based and reasoned answer.
    – Jens Erat
    Commented Mar 25, 2016 at 13:57

1 Answer 1


Basically it is not safe. As far as I know, they use 512-bit RSA because they mimic what Microsoft's RDP server used to do, which indeed implied a 512-bit RSA key; using something bigger would risk breaking compatibility with existing clients. Biggest issue, though, is not that the 512-bit key is weak because too short; the main problem is that, as a client, you have no way to make sure that the key is see is indeed the one from the genuine server. Man-in-the-Middle attacks are a plausible possibility, and increasing the key size to 2048 bits would not help in any way.

Relationship of RDP with security is complicated and convoluted. The protocol has historically used its own embedded security system, something roughly SSL-like, but never analysed with any decent level of detail. Previously it did not even encrypt anything, or just the user password. If you want security with RDP, you should use it within a VPN; on Linux, consider SSH as a way to initiate cheap but robust tunnels. Microsoft pushes their own mechanism, called Remote Desktop Gateway -- basically wrapping the complete protocol into a regular SSL tunnel.

  • The question, or at least this well-informed answer, should probably be moved or copied here
    – fgrieu
    Commented Mar 26, 2014 at 17:27
  • I added my own answer, but the moderators apparently feel I have nothing to contribute to the discussion and so they deleted it. So we'll see if they also delete this comment, copied from my answer: "You might want to look into this newer feature: TLS security layer github.com/neutrinolabs/xrdp/wiki/TLS-security-layer Ultimately if they reach the point where only TLS can be negotiated and you use a strong certificate then I would consider it more trustworthy." Commented May 26, 2016 at 18:45
  • Fundamentally I think the real problem OP is wanting to solve is he/she wants a safe RDP connection that is (1) encrypted, (2) authenticated; TLS is an established way to do both, and I believe is a newer method added to xrdp since @ThomasPornin answered. But, I guess that is not an "acceptable answer".... Commented May 26, 2016 at 18:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .