为保证直播服务配置、直播内容生产、推送和播放全过程的安全性,视频直播提供了完善的内容安全保护机制,可用于保障直播内容不被盗链、非法下载和传播,可以满足不同业务场景的安全需求。本文介绍如何保护直播安全。
直播安全简介
由下图我们可以了解到视频直播丰富的安全手段。
视频直播提供如下安全机制:
安全机制 | 安全手段 | 特点 | 安全等级 | 使用门槛 |
RAM用户 | 根据授权策略对RAM用户可授予相应的权限。 | 较低 | 低,仅需云端配置 | |
HTTPS安全加速 | HTTPS协议是以安全为目标的HTTP通道,将HTTP用SSL/TLS协议进行封装。 | 高 | 低,仅需云端配置 | |
Referer防盗链 | 基于HTTP Header跟踪来源,但极易伪造。 | 低 | 低,仅需云端配置 | |
IP黑白名单 | 拒绝或只允许特定IP访问,不适合大量C端用户的分发。 | 较低 | 低,仅需云端配置 | |
推流和播放的URL鉴权 | 支持自定义的鉴权Key和鉴权失效时间,动态生成鉴权URL。 | 中 | 较低,提供生成鉴权脚本 | |
透传业务请求信息给客户自定义鉴权中心来判断合法性 | 客户添加自定义的业务请求信息,通过自建鉴权中心,更加精准识别合法请求。 | 高 | 较高,需部署鉴权中心,并确保高可用 | |
阿里云视频加密 | 云端一体的视频加密解决方案,采用私有加密算法对视频流加密,确保视频流安全传输。 | 高 | 较低,简单配置并集成阿里云播放器即可 | |
DRM加密 | 苹果Fairplay、谷歌Widevine的原生支持,安全级别很高,满足大的版权内容提供商的要求。 | 高 | 较高,按调用license次数进行收费,只需集成阿里云播放器SDK |
账号授权
背景:由于阿里云账号AK有完全的权限,一旦泄露风险巨大。
介绍:视频直播会对每一次发起操作请求的用户身份进行验证,通过AccessKey验证该账号是否拥有相应的权限。视频直播支持对账号进行验证,并提供了系统授权策略,您还可以自定义授权策略。更多信息,请参见权限管理概述。
安全加速
背景:HTTP协议以明文方式发送内容,不提供任何方式的数据加密。
介绍:安全超文本传输协议(Hyper Text Transfer Protocol over Secure Socket Layer,简称 HTTPS),是以安全为目标的HTTP通道。简单来说,HTTPS是HTTP的安全版,即将HTTP用SSL/TLS协议进行封装,HTTPS的安全基础是SSL/TLS。更多信息,请参见安全加速。
访问控制
在云端配置视频直播的访问策略,可以达到基本保护。
主要手段有:
Referer防盗链
基于HTTP协议支持的Referer机制,通过Referer跟踪来源。可配置拒绝访问的Referer黑名单,或仅允许访问的白名单。
IP黑白名单
您可以通过配置IP黑白名单来实现对访客身份的识别和过滤,从而限制访问视频直播资源的用户,提升Live的安全性。
更多信息,请参见访问控制。
推流播流URL鉴权
背景:固定不变的播放地址会导致视频内容被持久的非法扩散传播,且无法有效遏制。
介绍:URL鉴权通过生成动态的加密URL(包含权限验证、过期时效等信息)来区分合法请求,以达到保护视频资源的目的。
开启URL鉴权后:
直播推流URL和直播播流URL都会进行鉴权。
视频直播的播放器SDK、获取播放地址的API/SDK都会自动生成带时效的播放URL。如需要自己生成鉴权的动态URL,则可参见URL鉴权中的鉴权方法。
更多信息,请参见URL鉴权。
业务方远程鉴权
背景:目前播放中心鉴权对盗链等非法请求判断较为单一,业务方远程鉴权可以引入客户业务请求的问题,鉴权更加精准。
介绍:业务方远程鉴权是指直播CDN将用户的请求透传到客户的鉴权中心,由客户自己判定该请求是否合法,CDN根据客户的判断结果执行相应动作:允许或拒绝访问。
远程鉴权需要客户自己开发和部署鉴权中心,该鉴权中心的域名如果同时在CDN上加速,可以按照一定规则缓存客户的鉴权结果,以减轻客户鉴权中心的压力。
直播CDN会默认把用户请求的headers和request_uri透传到客户自定义的鉴权中心,并根据鉴权中心返回的结果执行相应的动作。
业务方可将其用户的登录Cookie或UUID等信息隐藏于播放请求中,进而透传到自己的鉴权中心以判定是否为合法用户。
远程鉴权使用门槛较高,需要客户自己开发和部署鉴权中心,如果需要进行开通和配置。您可以提交工单联系阿里云技术支持。关于如何提交工单,请参见联系我们。
视频安全
背景:防盗链安全机制能有效保障用户的合法访问,但对于付费观看直播的场景,用户只需通过一次付费行为便可拿到视频合法的防盗链播放URL,将视频下载到本地,进而实现二次分发。因此,防盗链方案对于视频版权保护是远远不够的。视频文件一旦泄露,会给付费观看模式造成严重的经济损失。
介绍:阿里云视频加密是对视频数据加密,即使下载到本地,视频本身也是被加密的,无法二次分发,可有效防止视频泄露和盗链问题。
阿里云视频加密
阿里云视频加密采用私有的加密算法和安全传输机制,提供云端一体的视频安全方案,核心部分包括加密转码和解密播放。
核心优势:
每个媒体文件拥有独立的加密钥匙,能有效避免采用单一密钥时,一个密钥的泄露引起大范围的安全问题。
提供信封加密机制密文Key+明文Key,仅密文Key入库,明文Key不落存储,所有过程只在内存中,用完即销毁。
提供安全的播放器内核SDK,涵盖iOS、Android、H5、Flash等多平台,自动对加密内容进行解密播放。
播放器和云端使用私有加密协议进行密文传输,不传输明文Key,有效防止密钥被窃取。
提供安全下载,缓存到本地的视频会再次加密,在确保无网离线播放前提下,防止视频被拷贝窃取。
重要阿里云视频加密使用限制如下:
仅支持输出HLS格式。
只能使用阿里云播放器。
暂不支持网页端播放。
更多信息,请参见阿里云视频加密。
DRM加密
高端的直播节目,需要满足内容版权和提供商的安全要求,如体育赛事、演唱会等。阿里视频云推出的云端DRM解决方案,支持Fairplay和Widevine加密,提供了一站式的视频加密、license下发、播放等能力。
更多信息,请参见DRM加密。
视频加密方案各有优劣。一般来说,越是标准、通用,灵活性越高,但安全性越低。您需要根据业务场景,有所取舍,选择适合的方案。