Streaming Vidéo Chiffré — HLS AES-128 Multi-clés Expliqué

Streaming Vidéo Chiffré sur AVCaption

Chaque vidéo téléversée sur AVCaption est chiffrée avant d’atteindre un edge CDN. Le déchiffrement à la lecture se fait côté client, dans le navigateur, via la Web Crypto API, et les clés sont livrées par des URL signées à courte durée liées à votre domaine.

Cette page détaille ce qui se passe réellement à chaque étape.

Le pipeline de chiffrement

Quand vous téléversez une vidéo sur AVCaption :

  1. Encodage GPU — votre fichier source est encodé en variantes HLS à débit adaptatif (360p, 540p, 720p, 1080p, 4K) avec NVIDIA NVENC.
  2. Découpe en segments — chaque variante est tranchée en segments HLS, typiquement 6 secondes chacun.
  3. Chiffrement par lot — les segments sont groupés en lots de 10 (60 secondes de lecture). Chaque lot reçoit une clé AES-128 fraîchement générée.
  4. Téléversement CDN — les segments chiffrés sont envoyés dans Cloudflare R2 et servis via le CDN CF mondial avec un cache agressif.
  5. Coffre à clés — les clés de chiffrement sont stockées séparément, jamais sur le CDN, jamais avec les segments.

Quand un spectateur clique sur lecture :

  1. Demande de token — le lecteur demande un token de lecture à /api/stream/{embed_token}/token. Le serveur vérifie le token d’embed, le domaine demandeur (contre votre liste blanche) et les limites de débit.
  2. Master playlist — le lecteur récupère le .m3u8 master HLS et choisit une variante selon la bande passante.
  3. Récupération de clé par lot — pour chaque lot de segments dont il a besoin, le lecteur demande la clé correspondante à /api/stream/{embed_token}/key/{batch}. Chaque URL de clé est signée avec le token de lecture et n’est valable que pour cette session.
  4. Déchiffrement côté client — la Web Crypto API du navigateur déchiffre les segments en mémoire et les passe à l’élément vidéo. Les clés ne sont pas écrites sur disque.

Pourquoi le multi-clés compte

Le chiffrement à clé unique (modèle simple utilisé par beaucoup de plateformes) signifie : une vidéo, une clé, une URL. Si cette URL fuit, toute la vidéo est déchiffrable à jamais.

Le chiffrement multi-clés par lot signifie : une vidéo, plusieurs clés, plusieurs URL à courte durée. Si une URL fuit, seul ce lot (environ 60 secondes) est exposé. Le lot suivant exige une nouvelle demande de clé que celui qui fait fuiter ne peut faire sans token de lecture frais.

Cela élève fortement le coût de la piraterie. Les outils de rip automatisés qui fonctionnent contre les plateformes à clé unique (variantes de yt-dlp, téléchargeurs en extension) doivent être ré-écrits pour chaque cible multi-clés — la plupart ne s’en donnent pas la peine.

Tokens de lecture signés

Chaque token d’embed porte des métadonnées :

  • Origines autorisées (votre liste blanche de domaines)
  • Identifiant de spectateur optionnel (utilisé pour le filigrane dynamique en Enterprise)
  • Fenêtre d’expiration (24 heures par défaut)
  • Indications de limite de débit

La clé de signature est uniquement côté serveur. Les tokens forgés échouent à la vérification au moment de la requête.

Si vous servez du contenu gated (réservé aux membres, accès cours), votre application génère un token d’embed frais par session authentifiée, et le token expire avec la session. L’API REST d’AVCaption expose la génération de token d’embed pour les clients Enterprise.

Liste blanche de domaines

Par défaut, chaque iframe d’embed est restreint au hotlinking — le navigateur envoie un en-tête Referer avec l’origine d’embed, et l’API de stream d’AVCaption valide cette origine contre votre liste blanche avant d’émettre la master playlist.

Sur les plans Premium et Enterprise, vous spécifiez précisément les domaines autorisés. Quiconque incorpore l’iframe sur un domaine non listé reçoit immédiatement un 403.

C’est la couche où la majeure partie de la piraterie s’arrête : les scrapers qui prennent votre URL d’iframe et l’incorporent ailleurs reçoivent un 403, le lecteur ne se charge jamais.

Comparé aux autres plateformes

Approche Exemples Force Quand l’utiliser
URL signée seule Wistia, chemins basiques CF Stream La plus faible — vidéo entière déchiffrable si l’URL est capturée Vidéo marketing, faible risque de piratage
AES-128 mono-clé Bunny Stream, chemins chiffrés CF Stream Solide contre le hotlinking occasionnel ; une clé + token capturé déchiffre toute la vidéo Contenu gated occasionnel
AES-128 multi-clé AVCaption Clés rotatives par lot — une clé capturée n’expose que ~60 secondes Contenu payant auto-produit
DRM Widevine / PlayReady VdoCipher, JW Player Enterprise Le plus solide — serveurs de licence liés au matériel ; requis pour le contenu studio sous licence DRM imposé par contrat

Pour cours, tutoriels gated, contenu membership payant, formation B2B et vidéo interne — l’AES-128 multi-clé est le bon arbitrage. Le DRM est de l’overkill, la mono-clé trop légère. Le décorticage DRM vs chiffrement couvre la décision.

Démarrer

Vous voulez voir les segments chiffrés en action ? Uploadez une vidéo test — les 60 premières secondes suffisent. Ouvrez DevTools, regardez les requêtes .m3u8 et .m4s voler, et essayez yt-dlp contre l’URL d’embed : les segments redescendent chiffrés et illisibles sans les clés rotatives par lot. L’offre gratuite livre la stack multi-clé complète sur chaque vidéo ; le chiffrement est actif par défaut, pas de bouton à activer.

Questions fréquemment posées

Quel standard de chiffrement utilise AVCaption ? +
AES-128 (Advanced Encryption Standard, clé 128 bits) appliqué au niveau du segment HLS. Le même standard utilisé par la banque en ligne et la plupart des grands services de streaming. AVCaption fait tourner les clés par lot de segments (typiquement tous les 10) ; une clé fuitée n'expose qu'une fenêtre de 60 secondes.
L'AES-128 suffit-il, ou faut-il du DRM (Widevine/PlayReady) ? +
Pour du contenu auto-produit (cours, tutoriels, formation B2B, vidéos internes, adhésions payantes), l'AES-128 multi-clés associé à des URL signées et à une liste blanche de domaines suffit. Le DRM n'est requis que pour distribuer des contenus sous licence studio par obligation contractuelle.
Un spectateur peut-il extraire la clé de chiffrement depuis son navigateur ? +
La clé est livrée au lecteur via une URL signée valable pour une session de lecture. Un attaquant déterminé peut l'intercepter via les outils dev, mais cette clé ne déchiffre qu'un petit lot de segments. La rotation multi-clés d'AVCaption fait qu'extraire la vidéo entière exige de capturer une clé fraîche pour chaque lot, à chaque session — ce qui rend la piraterie automatisée coûteuse.
← content.back_to_index