Advanced Media Stream Encryption (AES-256)
Par défaut, les flux de médias qui passent par la plateforme Vonage sont cryptés à l'aide de AES-128. Dans les sessions acheminées, le média est crypté entre tous les clients et le serveur média. Dans les sessions relayées, le média est crypté entre chaque paire de clients.
Pour une sécurité accrue, le système AES-256 fonction complémentaire fournit un niveau de cryptage AES-256 sur les flux de médias.
Important : Cette fonction est disponible en tant que fonction complémentaire.
Lorsque la fonction complémentaire AES-256 est activée, lorsqu'un client se connecte à un routeur multimédia ou à un autre client, le système de chiffrement à utiliser est négocié. Si le client prend en charge l'AES-256, c'est ce dernier qui sera négocié pour le trafic média. Si le client ne le prend pas en charge, c'est l'AES-128 qui sera utilisé. Dans le cas de sessions relayées, les deux clients doivent prendre en charge l'AES-256, sinon ils reviendront à l'AES-128.
Après avoir activé le module complémentaire de cryptage AES-256, cette fonctionnalité sera activée automatiquement pour tous les projets de votre Account.
Important : Pour garantir l'utilisation de l'AES-256, il est recommandé de configurer les sessions de manière à ce qu'elles utilisent le routeur de médias (sessions avec l'option mode média réglé sur routé). Dans les sessions relayées, Chrome, Firefox, Opera, Samsung Internet, WebView Android, WebView on iOS, et Edge basé sur Chromium donnent la priorité à AES-128 pendant la négociation du chiffrement DTLS SRTP, et donc les flux envoyés par ces navigateurs utiliseront AES-128.
Dans les sessions relayées, si l'AES-256 est activé pour votre projet, les SDK clients de Video API pour Android, iOS, Windows et Linux donnent la priorité aux algorithmes de chiffrement AES-256 bits lors de la négociation. Cependant, dans les sessions relayées, les navigateurs web utiliseront AES-128.
Prise en charge du chiffrement sur les clients SDK
L'AES-256 est pris en charge (en plus de l'AES-128) dans chacun des SDK clients (à partir de la version 2.18). Les SDK clients pour Android, iOS, Windows et Linux prennent tous en charge le chiffrement AES-256. Cependant, pour les applications web qui utilisent OpenTok.js, AES-256 n'est pas pris en charge par tous les navigateurs. Les dernières versions des navigateurs suivants prennent en charge l'AES-256 :
- Chrome 62+
- Firefox 56+
- Edge basé sur Chromium
- Opéra
- Samsung Internet
- Safari 15.4+
Remarques importantes :
- Safari ne prend pas en charge les algorithmes de chiffrement AES GCM et se rabat donc sur AES-128 (voir ce rapport de bogue WebKit).
- Même dans les versions de Firefox et de Chrome qui prennent en charge l'AES-256, dans les sessions relayées, ces navigateurs donnent la priorité à l'AES-128 lors de la négociation du chiffrement DTLS SRTP, ce qui entraîne l'utilisation de l'AES-128. C'est pourquoi nous vous recommandons de configurer les sessions de manière à ce qu'elles utilisent le routeur de médias (sessions avec l'option mode média sur routed) pour garantir le cryptage AES-256 dans les navigateurs pris en charge.
FAQ
Qu'est-ce que la fonction de cryptage AES-256 ?
Le cryptage AES-256 est un niveau plus avancé de cryptage des médias qui peut être utilisé avec les flux de médias de l'API Video de Vonage. Par défaut, les flux de médias de l'API Video de Vonage utilisent AES-128, offrant les deux chiffrages AEAD_AES_128_GCM et AES_CM_128_HMAC_SHA1_80 pour une connectivité maximale. La fonction de cryptage AES-256 bits permet aux flux de médias d'utiliser un cryptage 256 bits, avec une option de repli sur AES-128. Cette fonction est disponible en tant qu'option fonction complémentaire.
Le cryptage AES-256 bits peut-il être utilisé pour les sessions relayées et acheminées ?
Oui, mais pour les sessions relayées, la capacité est déterminée par l'ordre de priorité des algorithmes de chiffrement utilisés lors de la négociation DTLS-SRTP activée dans l'implémentation du navigateur. Pour garantir l'utilisation de l'AES-256, les sessions routées sont fortement recommandées.
Dans les sessions routées, le média est crypté entre tous les clients et le serveur média de Vonage. Si AES-256 est activé pour votre projet, le routeur média de Vonage négociera avec les chiffrements AES-256 pour diriger la négociation du cryptage 256 bits pour le trafic média de tous les clients se connectant au serveur média. (Toutefois, Safari ne prend pas en charge le cryptage AES-256).
Dans les sessions relayées, le média est chiffré entre chaque paire de clients. Dans le cas des sessions relayées, les deux clients doivent prendre en charge et donner la priorité à l'AES-256 pendant la négociation DTLS-SRTP, sinon ils reviendront à l'AES-128. Si AES-256 est activé pour votre projet, les SDK clients pour Android, iOS, Windows et Linux donneront la priorité au chiffrement AES-256 bits et ne négocieront pas SRTP_AES128_CM_SHA1_80.
Par conséquent, si l'AES-256 est activé, la mise en place de médias relais entre les SDK natifs et les points d'extrémité ne prenant pas en charge les algorithmes de chiffrement GCM, tels que les versions de Safari antérieures à la version 15.4, échouera. Cependant, pour les navigateurs (utilisant OpenTok.js), la capacité est déterminée par l'ordre de priorité des chiffrements activés dans l'implémentation du navigateur, qui ne peut actuellement pas être modifié puisqu'il n'y a pas d'API WebRTC standard pour gérer l'ordre de priorité des chiffrements. Dans les sessions relayées, Chrome, Firefox, Opera, Samsung Internet, WebView Android, WebView on iOS, et Edge basé sur Chromium donnent la priorité à AES-128 pendant la négociation du chiffrement DTLS SRTP, et donc les flux envoyés par ces navigateurs utiliseront AES-128 dans les sessions relayées. En outre, Safari ne prend pas en charge l'AES-256.
Le cryptage 256 bits est-il pris en charge si le trafic média est acheminé via un serveur TURN ?
Oui. Le chiffrement des médias est un protocole de sécurité de bout en bout utilisant DTLS-SRTP et ne serait pas affecté par le routage via un serveur TURN. Dans les sessions relayées, le cryptage des médias se fait de client à client. Dans les sessions routées, le cryptage des médias est négocié entre le client et le serveur de médias.