Aller au contenu principal

3.3.2. Replay Protection (Protection contre la relecture)

3.3.2. Replay Protection (Protection contre la relecture)

Une protection sécurisée contre la relecture (replay protection) n'est possible que lorsque la protection d'intégrité (integrity protection) est présente. Il est RECOMMANDÉ d'utiliser la protection contre la relecture, à la fois pour RTP et RTCP, car la protection d'intégrité seule ne peut pas assurer la sécurité contre les attaques par relecture.

Un paquet est "rejoué" (replayed) lorsqu'il est stocké par un adversaire, puis réinjecté dans le réseau. Lorsque l'authentification de message est fournie, SRTP protège contre de telles attaques grâce à une liste de relecture (Replay List). Chaque récepteur SRTP maintient une liste de relecture, qui contient conceptuellement les indices de tous les paquets qui ont été reçus et authentifiés. En pratique, la liste peut utiliser une approche par "fenêtre glissante" (sliding window), de sorte qu'une quantité fixe de stockage suffit pour la protection contre la relecture. Les indices de paquets qui sont en retard par rapport à l'indice de paquet dans le contexte de plus de SRTP-WINDOW-SIZE peuvent être supposés avoir été reçus, où SRTP-WINDOW-SIZE est un paramètre côté récepteur, dépendant de l'implémentation et DOIT être d'au moins 64, mais qui PEUT être défini à une valeur plus élevée.

Le récepteur vérifie l'indice d'un paquet entrant par rapport à la liste de relecture et à la fenêtre. Seuls les paquets avec un indice en avance sur la fenêtre, ou, à l'intérieur de la fenêtre mais pas encore reçus, DOIVENT être acceptés.

Après que le paquet a été authentifié (si nécessaire, la fenêtre est d'abord déplacée vers l'avant), la liste de relecture DOIT être mise à jour avec le nouvel indice.

La liste de relecture peut être implémentée efficacement en utilisant un bitmap pour représenter quels paquets ont été reçus, comme décrit dans l'Architecture de sécurité pour IP (Security Architecture for IP) [RFC2401].