14

常规应用程序开发人员(我的意思是,您不是价值百万的内容制作公司或分销渠道提供商,而是常规的小型应用程序开发公司)有哪些机会来保护应用程序的视频/音频内容不被保存/分散式。我提到了“常规开发者”,因为我在 Android 核心代码中看到索尼在 DRM 包中添加了一些代码部分。假设我们没有那么强大的能力与 Google 交谈以将其包含在他们的核心代码中。

是否有任何真正安全的方法来保护 Android 上的视频/音频(作为应用程序的一部分)。

假设(如果我错了,请纠正我):

  • 设备可能被用户植根,需要注意这一点
  • 在 Android 上检测设备是否已植根(在应用程序中)实际上是不可能的,因为超级用户基本上可以伪造设备的任何状态。
  • 我们不能修改任何硬件或用户的系统(意思是:我们不会将我们的应用产品与设备捆绑在一起,该应用应该在应用市场上作为“常规”应用提供下载)
  • 媒体文件/流可以在设备上本地或远程来自服务器,两者都可以

我已经对这个主题进行了相当多的研究,在谷歌上搜索了很多,在 SO 上解决了(希望如此)所有相关问题,我已经与一个 DRM 提供商交谈过(作为一家小公司或自由开发者,这真的很难联系,或至少获得一些真实的相关信息、技术文档和详细信息)。

我将 DRM 视为一种方法,但“隐蔽安全”似乎不是一个很好的方法。此外,我还没有为普通开发人员找到任何信息或真正的解决方案/API。

公钥加密是另一个想法,但是在哪里真正安全地存储私钥呢?此外,我假设在这种情况下,需要重写整个媒体框架和播放器,以便将安全的视频流传递给播放器。还是我弄错了?

我想从该领域其他经验丰富的开发人员那里获得一些意见,因为在任何地方都很难找到有关 Android 媒体内容保护的信息。

更新:

在我的问题的上下文中,我发现了这个问题并且它的更新很有趣:Streaming to the Android MediaPlayer

4

2 回答 2

10

是否有任何真正安全的方法来保护 Android 上的视频/音频(作为应用程序的一部分)。

如果通过“安全”,您的意思是“完全证明”,那么不是。请参阅模拟孔

在 Android 上检测设备是否已植根(在应用程序内)实际上是不可能的

也不可能在任何地方。宇宙法则使得无法检测到这样的事情,(好吧,也许你可以为此利用量子物理学,但即便如此我也不确定)你只能添加代码来检测已知技术,所有这些都是微不足道的绕过。

公钥加密是另一个想法,但是在哪里真正安全地存储私钥呢?

没有地方可以安全地存放它。想想看,你想加密内容并给用户解密它的密钥(这样他就可以看到它),但你不希望他能够解密它(这样他就不能复制它)。这是一个矛盾。

你能做的最多就是加密你的流,以防止用户能够截取并使用它。然后混淆解码/播放流的代码。尽管通过实施,您可能会引入更多错误(以及更差的性能),从而使合法用户的体验变得更糟。如果决定不做自己的混淆,而使用一些大公司已经提供的自动混淆器产品,它已经被普遍破解,对于一个几乎不知道自己在做什么的人来说,用一个小公司来破解你的产品将是非常容易的。多少时间。只要你的产品火了,一个人就可以破解它,把所有的视频上传到torrent,然后每个人都可以盗版你的产品,不做任何工作。

于 2011-10-02T16:46:24.357 回答
0

我认为没有解决方案可以保护应用程序中的媒体内容不被盗用。DRM 当然不适合普通开发者。我也不明白为什么公钥可以提供帮助。

于 2011-10-02T08:01:57.893 回答