由于深假和其他技术使得视频防伪变得非常困难,我想设计一个基于密码学的方案来验证视频实际上是被摄像机捕获的。同时,我希望这个视频支持截断。例如,我有一个需要一个小时长的视频,如果我截取一分钟而没有任何其他变化,那么这一分钟的视频就是真的。
一个简单的方法是使用数字签名。摄像机捕获的视频流或视频帧用私钥签名,以便其他人验证。然而,在我的应用场景中,我希望任何人都能捕获视频片段,并证明所捕获的视频实际上是记录的而不是伪造的。数字签名方法似乎不适合这个场景,因为只有当视频完成时,我们才能证明它的完整性。
消息认证代码(MAC)也可以证明真实性,但这需要分发一个秘密。
您知道可以在此场景中使用的密码原语或方案吗?
发布于 2021-03-13 00:32:45
大多数视频格式生成周期性的关键帧,其中整个图片被呈现,然后指定后续的帧,这是不同于以前的图像。这是有益的,因为这大大减少了需要传输的数据量,同时仍然允许定期查找。
可以嵌入包含前一个或当前密钥帧及其后续数据的加密签名,但视频格式必须支持它。这将是进行操作的最小侵入性方法,因为如果没有转码,用户就不能有效地寻觅到流中除关键帧之外的任何点。有时,这些偏移量存储在文件末尾的索引中,假设格式支持它,您可以为此目的添加一个额外的索引。我不能谈论支持这一点的视频格式的内容。
您可能希望在签名中包括一些额外的元数据,如流ID和关键帧计数或时间戳,以避免意外的无序编辑和拼接。您也可能希望包含完整的头数据和任何其他结构数据。TLS的MAC中包含的数据是适当保护完整记录免遭篡改的一个很好的例子。
当然,所有这些都验证的是拥有私钥的人创建了签名,而不是那个签名是谁或者数据是否准确。如果您的相机没有足够的抗篡改能力,恶意方将能够提取私钥。如果相机是防篡改的,但出现一个虚假或误导性的图像来记录,它当然会记录错误或误导性的数据。密码学和安全性不能阻止人们将虚假或误导性的数据作为事实呈现出来。您肯定会想咨询合适的专家在抗篡改系统,使系统尽可能安全。
https://crypto.stackexchange.com/questions/88798
复制相似问题