【发布时间】:2016-10-06 10:37:46
【问题描述】:
我正在制作一个(本地 - 多平台)视频保护应用程序,但我不知道首先“加密->保存在 HDD”然后 的正确解决方案是什么>“从 HDD 加载->解密->播放” 加密视频。
我阅读了有关 MPEG-DASH 和一些 DRM 的信息,发现了这个 Bento4 命令:
mp4dash --encryption-key=000102030405060708090a0b0c0d0e0f:00112233445566778899aabbccddeeff --encryption-args="--property 1:ClearLeadFragments:10 --property 2:ClearLeadFragments:10" movie.mp4
但我不确定 MPEG-DASH 是否可以成为解决方案的一部分。
我该如何解决这个问题?【问题讨论】:
-
您似乎缺少基础知识。否则我无法理解为什么您会选择使用针对互联网流媒体优化的格式(您似乎想在本地环境中工作)。基于 ffmpeg 的解决方案应该很容易实现,它可以从 aes 加密的流中播放。谷歌了一下。警告:当您假设攻击者可以访问您的内存时,您的任务可能会变得复杂。我不确定在实践中如何应对此类攻击,但即使是像 keepass 这样的优秀密码管理器也需要大量额外代码才能更安全!
-
@sascha 我对逆向工程有足够的了解,而且我知道可以通过转储进程来获取内存内容。但是,如果您在多帧中解密并加载内容(而不是将完整的明文文件放入内存中),则转储和合并它会变得非常困难。那么,您可以提供哪种文件格式(而不是 mpeg)或解决方案?
-
您可以使用任何格式(应该可能支持流式传输),只需使用 ffmpeg 进行加密。自己用谷歌搜索有什么难的?获得第一步最多需要 1 分钟。
标签: encryption mp4 mpeg-dash