首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是最好的加密协议来加密流媒体视频?

什么是最好的加密协议来加密流媒体视频?
EN

Cryptography用户
提问于 2018-03-01 07:22:34
回答 1查看 7.5K关注 0票数 4

我正在构建一个SoC来同时捕获和加密视频。我想了解哪些加密协议可以用来加密视频流。

视频流将来自相机传感器,如CCD。如果有必要,可以在SoC上对其进行预处理,使其成为特定的格式(例如压缩格式),然后再加密。如果可能的话,也可以从原始格式加密。加密协议应该有一个高效的硬件实现,可以在SoC上实现。

此嵌入式系统的目标是通过减少可能向攻击者公开清晰视频流的对Soc的潜在硬件或软件攻击来实现尽可能高的安全性。

请注意,这是一个自包含的芯片,视频数据将不会通过WiFi或网络发送。它会留在芯片里。

EN

回答 1

Cryptography用户

回答已采纳

发布于 2018-03-03 14:24:42

我正在构建一个SoC来同时捕获和加密视频。我想了解哪些加密协议可以用来加密视频流。

建造微型SoC?你确定你没有在像圆周率这样的大板上使用SoC吗?你有视频压缩加速吗?

视频流将来自相机传感器,如CCD。如果有必要,可以在SoC上对其进行预处理,使其成为特定的格式(例如压缩格式),然后再加密。如果可能的话,也可以从原始格式加密。加密协议应该有一个高效的硬件实现,可以在SoC上实现。

为了提高性能,您需要硬件AES。尽管您可以使用AES-GCM,但这将需要硬件中的GHASH来提高性能;相反,您可以忽略GHASH,而使用基于并行分组密码的MAC,例如PMAC

此嵌入式系统的目标是通过减少可能向攻击者公开清晰视频流的对Soc的潜在硬件或软件攻击来实现尽可能高的安全性。

到目前为止,我们有AES-PMAC,虽然你要求更高的安全性,但这是一个很好的选择,所以让我们增加现在的抗误用能力。偶然的不正当使用可能以多种方式发生,包括但不限于:电源故障、包装计数器或错误地处理备份和恢复。我建议您使用AES-PMAC-SIV

如果原始大小是恒定的,对原始未压缩视频进行加密不会泄漏任何内容。例如,加密压缩数据可能会泄漏视频流中的运动。

在这两种情况下,您都应该将视频流分割到段边框上,这样就不会有任何段跨越多个密文消息。我们现在有一个无界的可变长度消息流要加密。您可以使用OAE2结构家族来最大限度地提高当前的误用抗性。使用链强制顺序解密,或流启用无序解密.后者是理想的视频,因为它支持查找,而不依赖于以前的块(如果您想要使用磁盘作为环缓冲区的关键)。

请注意,这是一个自包含的芯片,视频数据将不会通过WiFi或网络发送。它会留在芯片里。

如果数据从未离开磁盘,为什么要加密视频流而不是使用完整的磁盘加密(LUKS,LUKS2)?

如果您想限制视频流的生存期,您可以旋转键,并将您的存储设备作为一个大的环缓冲区。这样你就不需要浪费时间对磁盘进行归零,因为HDD或SSD在管理硬件错误和磨损均衡时使扇区无法访问。

键应该只存在于内存和/或HSM上。

到目前为止,恶棍是我见过的唯一提供AES-PMAC和OAE2的库。

锈菌中的伪码:

代码语言:javascript
复制
let mut file = File::open("video-dump", append);
let mut segments = record_camera();

let key = random();
let mut stream = Stream::new(key, nonce);

for seg in segments {
    file.write_all(stream.encrypt(seg, authenticated associated data))?
}

注意安全和简单的界面。你不需要弄乱任何原始密码。但是,您将希望每个消息都有一个包含段长度的标头,并需要一个标志作为新流的开始,一个标志用于流的末尾(如果它以和平方式结束)。

票数 0
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/56058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档