URL firmada: qué es
Una URL firmada (signed URL) es un enlace de reproducción con una firma criptográfica y una hora de caducidad. El servidor comprueba la firma antes de servir nada, así que un enlace copiado deja de funcionar cuando se cierra su plazo, y uno manipulado no llega a funcionar nunca.
Una URL firmada incluye en el enlace del vídeo una caducidad y una firma hecha con una clave secreta. Un enlace copiado o alterado se rechaza antes de servir el vídeo, pero la firma no interviene una vez que empieza un flujo válido.
¿Qué es una URL firmada?
Una URL firmada es un enlace multimedia normal con parámetros añadidos: una marca de tiempo de caducidad, a veces un conjunto de restricciones y una firma calculada sobre todo ello con una clave secreta. El servidor de borde vuelve a calcular esa firma en cada petición. Si no coincide, o si ya ha pasado la hora de caducidad, rechaza la petición antes de enviar un solo byte de vídeo.
La misma idea aparece como URL con token, URL prefirmada (el término que usa Amazon S3) o simplemente firma de enlaces. El mecanismo es el mismo: la autorización viaja dentro del enlace y el servidor no necesita guardar una sesión. En la práctica, la firma suele cubrir tanto el manifiesto como sus segmentos.
Kinescope firma los enlaces de reproducción en la CDN: cada enlace lleva una caducidad y una firma, y la duración se configura a través de la API.
Cómo funciona la firma
Un espectador pide ver un vídeo. Tu backend comprueba si tiene derecho (suscripción, compra, licencia de usuario) y solo entonces decide emitir un enlace.
Se calcula un HMAC sobre la ruta, la caducidad y las restricciones, con una clave secreta que nunca sale de tu infraestructura ni de la de la plataforma.
El token y la caducidad viajan como parámetros de la consulta. El enlace vale desde ese momento hasta que vence, normalmente minutos y no días.
Cada petición a la CDN se vuelve a comprobar contra la firma. Una clave errónea, una ruta editada o un plazo vencido devuelven un error en lugar del vídeo.
Como la verificación ocurre en el borde, la firma no añade latencia ni necesita consultar tu backend durante la reproducción. La comprobación es un cálculo, sin consultas a ninguna base de datos.
A qué puedes vincular un enlace
| Restricción | Qué significa | Contrapartida |
|---|---|---|
| Caducidad | El enlace deja de funcionar a una hora fija | Los plazos cortos son más seguros, pero si son demasiado agresivos cortan la reproducción al retomarla |
| Dirección IP | Solo la IP que hizo la petición puede reproducir | Los espectadores en el móvil que pasan de wifi a datos se quedan sin vídeo |
| ID de usuario o de sesión | El token indica a quién se emitió | Tu backend tiene que generar enlaces por espectador |
| Ruta o prefijo | La firma cubre un recurso o una carpeta concretos | La firma por recurso es más estricta; la de prefijo es más fácil de gestionar |
Caducidad más un identificador por espectador es la combinación en la que acaban la mayoría de los equipos. Vincular a la IP parece lo más seguro y es lo que más incidencias de soporte genera.
Qué frena la firma y qué no
La firma controla la distribución del enlace. No dice nada sobre lo que pasa con el vídeo cuando la reproducción ya ha empezado de forma legítima.
| Amenaza | ¿La frena la firma? | Por qué |
|---|---|---|
| Un enlace pegado en un chat de grupo | Sí, cuando caduca | El token vence y quien llega tarde recibe un error |
| Hotlinking de tu archivo desde otro sitio | Sí | La firma está ligada a tus parámetros, no a los suyos |
| Rastrear URL de archivos predecibles | Sí | Sin la clave secreta no hay enlace válido |
| Descargar durante el plazo válido | No | Los bytes se sirven de forma legítima; solo el DRM los deja inservibles después |
| Grabar la pantalla | No | Nada en la capa del enlace afecta a la reproducción |
Esas dos últimas filas explican por qué los enlaces firmados y el DRM se complementan. La firma decide quién puede iniciar un flujo; el DRM decide si el archivo entregado vale algo cuando llega.
Las URL firmadas frente a los otros controles
Protege la página. Cuando el reproductor ya ha cargado, la URL HLS del vídeo se ve en las herramientas para desarrolladores y funciona para cualquiera que la copie, salvo que esté firmada.
Impide que tu inserción se reproduzca en otros sitios, pero no hace nada contra un enlace directo al archivo.
Hace que el enlace directo sea temporal e intransferible. El hueco que deja es lo que pasa durante el plazo válido.
Cifra el contenido, así que una descarga hecha dentro de ese plazo sigue sin reproducirse. Es la capa que está por debajo del enlace.
Para seguir leyendo
- HMAC, en Wikipedia: la primitiva de firma que hay detrás de la mayoría de los esquemas de tokens.
- DRM: la capa que protege el contenido y no el enlace.
- Protección antipiratería para vídeo: cómo se combinan la firma, el DRM y la marca de agua.
Sigue leyendo
DRM
Cifrado del archivo de vídeo más un servidor de licencias que emite una clave por sesión. Una copia descargada no se puede…
Leer →CDN (red de distribución de contenidos)
Una red global de servidores perimetrales que guarda en caché el vídeo cerca de los espectadores, reduce la latencia y absorbe…
Leer →Manifiesto
Un pequeño archivo índice (.m3u8 o .mpd) que enumera todas las versiones y segmentos disponibles, para que el reproductor sepa…
Leer →