RFC 6347 - 1. Introduction
1. Introduction
TLS [TLS] est le protocole le plus déployé pour sécuriser le trafic réseau. Il est largement utilisé pour protéger le trafic Web et des protocoles de courrier tels que IMAP [IMAP] et POP [POP]. L'avantage principal de TLS est qu'il fournit un canal transparent orienté connexion. Il est donc facile de sécuriser un protocole applicatif en insérant TLS entre la couche application et la couche transport. Cependant, TLS doit s'exécuter sur un transport fiable, en général TCP [TCP]. Il ne peut donc pas sécuriser le trafic à datagrammes non fiables.
De plus en plus de protocoles applicatifs utilisent UDP. En particulier, le Session Initiation Protocol (SIP) [SIP] et les protocoles de jeux en ligne gagnent en popularité. (Note : SIP peut utiliser TCP et UDP, mais UDP est parfois préférable.) Les concepteurs de ces applications disposent aujourd'hui de choix peu satisfaisants. Premièrement, IPsec [RFC4301] ; pour les raisons détaillées dans [WHYIPSEC], cela ne convient qu'à certaines applications. Deuxièmement, un protocole de sécurité applicatif sur mesure ; malgré de meilleures propriétés de sécurité (par ex. de bout en bout avec S/MIME), cela exige en général beaucoup plus d'effort que d'exécuter le protocole au-dessus de TLS.
Souvent, TLS serait le moyen souhaitable de sécuriser les applications client/serveur ; l'exigence de sémantique à datagrammes exclut toutefois TLS. Ce mémo décrit le Datagram Transport Layer Security (DTLS). DTLS est volontairement conçu pour être aussi proche que possible de TLS, afin de limiter les inventions cryptographiques nouvelles et de maximiser la réutilisation du code et de l'infrastructure.
DTLS 1.0 [DTLS1] était défini comme un delta de [TLS11]. Ce document introduit DTLS 1.2, défini comme une série de deltas par rapport à TLS 1.2 [TLS12]. Il n'existe pas de DTLS 1.1 ; ce numéro a été sauté pour aligner les versions sur TLS. Cette version clarifie aussi des points ambigus de la spécification DTLS 1.0.
Les implémentations parlant DTLS 1.2 et 1.0 peuvent interopérer avec celles ne parlant que DTLS 1.0 (en utilisant DTLS 1.0), comme les implémentations TLS 1.2 avec les versions antérieures de TLS (voir l'annexe E.1 de [TLS12]), sauf qu'il n'existe pas de DTLS pour SSLv2 ou SSLv3, donc les problèmes de compatibilité descendante pour ces protocoles ne s'appliquent pas.
1.1. Requirements Terminology
Les mots clés « MUST », « MUST NOT », « REQUIRED », « SHALL », « SHALL NOT », « SHOULD », « SHOULD NOT », « RECOMMENDED », « MAY » et « OPTIONAL » dans ce document doivent être interprétés comme décrit dans le RFC 2119 [REQ].