# Remote Desktop Protocol

Remote Desktop Protocol (RDP) est un protocole qui permet à un utilisateur de se connecter sur un serveur exécutant Microsoft Terminal Services. Des clients existent pour la quasi-totalité des versions de Windows, et pour d'autres systèmes d'exploitation, comme les systèmes GNU/Linux. Le serveur écoute par défaut sur le port TCP 3389.

## Historique

Basé sur le protocole UIT-T T.share (aussi connu sous le nom T.128), la première version de RDP (version 4.0 à l'époque) a été introduite avec Terminal Services dans Windows NT 4.0 Server, Terminal Server Edition.
La version 5.0, introduite avec Windows 2000 Server, ajoute la prise en charge de nouvelles fonctionnalités, incluant l'utilisation d'imprimantes locales, un cache local persistant, une reprise de session, un partage de presse papier et l'amélioration de l'utilisation de la bande passante réseau.
La version 5.1, introduite avec Windows XP Professionnel, inclut la prise en charge du son, la redirection de disques, les ports COM, la prise en charge des couleurs sur 24 bits ainsi que l'ouverture de sessions par carte à puce.
La version 5.2, introduite avec Windows Server 2003, intègre la prise en charge de l'utilisation de ressources locales. C'est la version où apparait la capacité de protéger les sessions en utilisant TLS 1.0. Il améliore également les mécanismes de sécurité (cf. partie sécurité).
La version 6.0, introduite avec Windows Vista apporte les fonctionnalités de couleurs sur 32 bits, ainsi qu'un pseudo multi-écrans. Pour la sécurité, il prend en charge Network Level Authentication (en) (NLA).
Windows Server 2008 voit apparaître de nouvelles fonctions de RDP qui passe en version 6.1 : passerelle TS, applications distantes, authentification unique, pilote universel d'impression. Ces nouvelles fonctions nécessitent également que le poste client dispose du protocole 6.1 (Vista SP1, XP SP3).
La version 7.0, introduite avec Windows 7 (Professionnel - Ultimate uniquement) apporte des fonctionnalités d'audio bidirectionnel, l'accélération des échanges bitmap, la prise en charge de Windows Aero et un vrai mode multi-écrans. Concernant ses fonctions de sécurité, il permet d'utiliser un certificat auto-signé de 2048 bits d'une validité de six mois (inclus dans la configuration par défaut).
La version 8.0 de RDP ne prend plus en charge Aero Glass.
La version 8.1 (Windows 8.1, Windows Server 2012 R2 et sur Windows 7 avec mise à jour KB2592687) corrige principalement des bugs.
La version 10.0 du protocole RDP (Windows 10 et Windows Server 2016) inclut les nouvelles fonctionnalités suivantes : Zoom AutoSize (utile pour les clients HiDPI). En outre des améliorations de compression graphique ont été incluses utilisant H.264 (aussi appelé MPEG-4 AVC).

## Fonctionnalités

* Prise en charge des couleurs 32-bits, équivalent à 16,7 millions de couleurs. (couleurs 8, 15 et 16 bits également gérées.)
* Prise en charge du Presse-papier permettant d'échanger les données entre l'ordinateur local et l'ordinateur distant.
* Chiffrement 128 bits, utilisant l'algorithme RC4. (C'est la sécurité par défaut; des versions plus anciennes peuvent utiliser un chiffrement moins fort.)
* Prise en charge du son : les utilisateurs peuvent écouter sur l'ordinateur local le son produit par un programme exécuté sur l'ordinateur distant.
* Projection des fichiers de l'ordinateur local sur l'ordinateur distant par le biais de la session RDP.
* Projection d'une imprimante locale sur l'ordinateur distant, pour imprimer sur l'imprimante locale des documents ouverts sur l'ordinateur distant.
* Projection des ports série et parallèle de l'ordinateur local sur l'ordinateur distant.

## Les fonctions de sécurité

Aujourd'hui, RDP peut implémenter deux niveaux de sécurité :
* Mode Standard : mode utilisé par défaut. Il implémente 5 niveaux de sécurité : Aucune (échanges en clair), Low, Medium, Client Compatible, High, FIPS compliant$^,$.
* Mode Enhanced : Mode permettant d'utiliser des mécanismes de sécurité externes (SSP) : TLS ou CredSSP (utilisant au choix une authentification Kerberos ou NTLM).