阿里云视频加密是对视频数据加密


如果key暴露了后,视频也就破解了。 
阿里云的uri不再是key的地址了,获取key的难度大大提升了。

阿里云视频加密

更新时间:2021-07-15 14:46

阿里云视频加密可针对视频数据进行加密,本文为您介绍优势、整体架构和接入方法,并提供方案扩展方法。

背景
防盗链URL不能防止用户通过一次付费行为拿到付费视频合法的防盗链URL,将视频下载到本地,进而实现二次分发。因此,防盗链方案对于视频版权保护是远远不够的。
优势介绍
阿里云视频加密是对视频数据加密,即使下载到本地,视频本身也是被加密的,无法恶意二次分发。视频加密可有效防止视频泄露和盗链问题,广泛用于在线教育、财经金融、行业培训、独播剧等在线版权视频领域。
采用阿里云私有加密算法,安全级别高,能够便捷、高效、安全地保护视频资源。
  • 每个媒体文件拥有独立的加密钥匙,能有效避免采用单一密钥时,一个密钥的泄露引起大范围的安全问题。
  • 视频点播提供完善的权限管理机制“子账号+播放凭证”。
  • 视频点播提供信封加密机制”密文Key+明文Key”,明文Key不存储,所有过程只在内存中。
  • 视频点播提供安全的播放内核SDK。
整体架构
阿里云视频加密方案包含两部分:加密转码 + 解密播放
  • 加密转码
    1. App后台发起视频加密
      业务方提交需要数据加密的转码作业。
    2. 视频点播获取加密密钥
      视频点播服务负责通过密钥管理服务KMS生成明文Key和密文Key。
    3. 视频加密转码
      使用明文Key来加密视频文件,转码完成后,明文Key丢弃,不存储。
    4. 转码完成+消息通知
      保存加密后的视频文件,并给业务方发送消息通知。
  • 解密播放
    1. 业务授权
      移动端的App或者Web页面访问视频时,先访问业务方自己的API或后端页面,业务方可以在这里加上自己的权限控制(例如需要登录才能播放,建议使用HTTPS)。如果业务上允许播放,则通过业务方子账号的AK访问STS,获取播放凭证,并返回给App/Web端。
    2. 获取播放地址
      移动端的App或者Web页面把播放凭证和媒体ID参数传给阿里云播放服务,播放器SDK会负责剩下的播放流程:
      • 根据媒体ID从视频点播服务获取对应的多格式、多清晰的播放地址。
      • 加密视频获取对应的加密钥匙。
    3. 解密播放
      视频云提供了安全的播放内核SDK,使用加密钥匙对内容解密,然后进行视频播放。

注意
  • 视频加密只支持输出HLS格式。
  • 需使用视频点播提供的iOS、Android、H5、Flash播放器对加密内容进行解密播放。
接入方法
前提条件:
  1. 开通视频点播服务
  2. 添加加速域名
  3. 完成点播加速域名CNAME绑定
接入流程:
  1. 在控制台的添加转码模版组页面,单击添加模板。具体操作,请参见转码设置
    • 基本参数区域中的封装格式设置为hls
    • 高级参数区域打开视频加密开关,使用数据加密。
  2. 视频上传
    可以通过SDK上传、OpenAPI上传、控制台上传、OSS第三方工具上传等多种方式来将已有视频文件上传到视频点播。更多信息,请参见媒体上传概述
  3. 视频转码
    视频上传完成后会自动触发转码,转码完成后视频状态标记为正常可播放。更多信息,请参见转码设置
  4. 视频播放
    视频点播提供iOS、Android、H5、Flash多平台的播放SDK供集成,以便您在自己的应用或网站中完成视频播放。

    说明 加密视频,需使用播放凭证方式进行播放,播放器需要的参数playauth,可调用API接口或SDK获取。更多信息,请参见获取视频播放凭证
    • Web播放器(H5/Flash):通过集成在点播控制台的媒资库 > 音/视频 > 管理页面的Web播放器代码页签,用户可以在自己的Web页面中嵌入播放器并实现播放。更多信息,请参见集成文档
    • 移动端播放器(iOS/Android):用户可以通过SDK快速集成到自己的应用中,Android请参见集成文档,iOS请参见集成文档
  5. 视频流管理
    加密转码输出的内容,流信息会标示“加密”,更多信息,请参见播放信息 PlayInfo。在控制台也会展示私有加密标示,便于进行多种方式的内容管理。
方案扩展
如果终端用户有离线下载需求,为保证视频安全,建议开启安全下载。具体操作,请参见下载设置。将视频文件通过密钥进行二次加密,下载后在SDK内部完成视频解密,保障离线视频仅能通过唯一应用进行安全播放,让离线视频更加安全。



  1 #EXTM3U
  2 #EXT-X-VERSION:3
  3 #EXT-X-ALLOW-CACHE:YES
  4 #EXT-X-TARGETDURATION:10
  5 #EXT-X-KEY:MEATHOD=AES-128,URI="NTEyYmI2ZTAtMTk3Ni00ZTc4LTgxMjEtNDY1MzE1ODYwY2U1cjk1ZnJSRTJ0OUJPTFJHb1VZMElycWZuNUdqR3dJMFFBQUFBQUFBQUFBQjEwaU80ek1qdHdIRm9mdDdNQmNjOEZOdm04L2IxYlVFeXJLS0pINUhmaEtvSVAvZ3JNZlJH"
  6 #EXT-X-MEDIA-SEQUENCE:0
  7 #EXTINF:10.000000,
  8 Base64.decode64('NTEyYmI2ZTAtMTk3Ni00ZTc4LTgxMjEtNDY1MzE1ODYwY2U1cjk1ZnJSRTJ0OUJPTFJHb1VZMElycWZuNUdqR3dJMFFBQUFBQUFBQUFBQjEwaU80ek1qdHdIRm9mdDdNQmNjOEZOdm04L2IxYlVFeXJLS0pINUhmaEtvSVAvZ3JNZlJH')
  9 => "512bb6e0-1976-4e78-8121-465315860ce5r95frRE2t9BOLRGoUY0Irqfn5GjGwI0QAAAAAAAAAAB10iO4zMjtwHFoft7MBcc8FNvm8/b1bUEyrKKJH5HfhKoIP/grMfRG"
 10 # 阿里云HLT私秘
 11 # https://help.aliyun.com/document_detail/68613.html                                                                                                                                                                                                                        
 12 d9bf59bfb5f14e3fb46676acb0aaa0ce-f409fd0e79eb35a7104fbffa0a39da7b-fd-encrypt-stream-00001.ts
 13 https://video.qkduo.cn/a98fc836fb7b4c51bd5569edcd5eb5b0/d9bf59bfb5f14e3fb46676acb0aaa0ce-64ee6137c07d9c61cced72f488be8f2d-sd-encrypt-stream-00077.ts
 14 #EXTINF:10.000000,
 15 d9bf59bfb5f14e3fb46676acb0aaa0ce-f409fd0e79eb35a7104fbffa0a39da7b-fd-encrypt-stream-00002.ts
 16 #EXTINF:10.000000,
 17 d9bf59bfb5f14e3fb46676acb0aaa0ce-f409fd0e79eb35a7104fbffa0a39da7b-fd-encrypt-stream-00003.ts
 18 #EXTINF:10.000000,
 19 d9bf59bfb5f14e3fb46676acb0aaa0ce-f409fd0e79eb35a7104fbffa0a39da7b-fd-encrypt-stream-00004.ts
 20 #EXTINF:10.000000,
 21 d9bf59bfb5f14e3fb46676acb0aaa0ce-f409fd0e79eb35a7104fbffa0a39da7b-fd-encrypt-stream-00005.ts
 22 #EXTINF:10.000000,
 23 d9bf59bfb5f14e3fb46676acb0aaa0ce-f409fd0e79eb35a7104fbffa0a39da7b-fd-encrypt-stream-00006.ts
 24 #EXTINF:10.000000,

阅读量: 464
发布于:
修改于: