2013-04-28 43 views
1

是否可以使用行业标准加密技术(如PlayReady和AES-128)对HTTP实时流式传输的文件的较小段进行加密/解密?加密/解密用于HTTP实时流式传输的部分文件

我不知道iOS中的默认HLS实现如何与AES-128加密协同工作 - 即它是否仍能够逐步下载部分段(TS)和流文件?还是必须下载完整文件,解密整个内容,然后才能开始播放?

在我接触过的一些PlayReady客户端中,我观察过后一种方法(全下载)。但是,对于播放延迟来说,这似乎是一个可怕的妥协,以获得安全性(也许没有办法解决它)。

有关此主题的一些说明会非常有帮助。谢谢!


P.S:参考技术文档或手册会很棒!

+0

我真的不明白这个问题。 AES是一个块密码,你不需要解密多个块来解密数据。 HLS和PlayReady也是如此。 – vipw 2013-05-04 20:04:59

+0

这就是我不知道的 - 如果数据确实是加密或不加密的。如果你可以重新发布这个答案,我可以接受它。此外,如果您可以共享有关块大小的一些信息会非常有帮助 - 通常可以在任何服务器端软件用于执行加密的情况下进行配置,或者是否有某种标准大小?非常感谢 – 2013-05-08 08:27:08

回答

1

AES使用块大小为128位的分组密码。所以如果解密程序知道密钥和IV,它可以从第一个块返回明文 - 没有理由首先解密整个段/片段。

我猜你所看到的PlayReady实现只是在文件的基础上进行,因为这稍微容易实现。但是没有技术上的理由,客户端在启动解密之前需要检索整个文件。

您可以通过使片段/片段非常大并检查客户端行为来验证客户端在做什么。

快速搜索发现了我这个项目被解密HLS作为记载: https://code.google.com/p/mlbtv-hls-nexdef/source/browse/trunk/mlb.c

+0

有趣。谢谢! – 2013-05-08 22:32:11