3

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? – Stephen Touset Mar 26 '14 at 6:28
  • @StephenTouset Their project is pretty much dead... – Xeron Mar 26 '14 at 6:44
  • 1
    @Xeron Isn't that an answer on its own then? – TildalWave Mar 26 '14 at 8:03
  • @Xeron This is active (github.com/neutrinolabs/xrdp/issues). Ask there. – Adi Mar 26 '14 at 8:12
  • Voting to reopen -- this received a fact-based and reasoned answer. – Jens Erat Mar 25 '16 at 13:57
7

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.

| improve this answer | |
  • The question, or at least this well-informed answer, should probably be moved or copied here – fgrieu Mar 26 '14 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." – James Johnston May 26 '16 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".... – James Johnston May 26 '16 at 18:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.