常规应用开发者有哪些机会(我的意思是,你不是一个百万美元的内容制作公司或分销渠道提供商,而是一个普通的小型应用开发公司)来保护应用的视频/音频内容从保存/分发。 我提到了“常规开发者”,因为我在Android核心代码中已经看到索尼在DRM包中添加了一些代码部分。让我们假设我们与谷歌谈论将其包含在核心代码中并不是那么强大。
是否有任何真正安全的方法可以保护Android上的视频/音频(作为应用程序的一部分)。
假设(如果我错了,请纠正我):
我已经对这个话题进行了相当多的研究,搜索了很多,希望在这里完成所有相关的问题,我已经和一个DRM提供商进行了交谈(很难与小公司联系或者自由开发者,或至少获得一些真实的相关信息,技术文档和细节)。
我将DRM视为一种方法,但“默默无闻的安全”似乎并不是一种非常好的方法。此外,我还没有为常规开发人员找到任何信息或真正的解决方案/ API。
公钥加密是另一个想法,但在哪里存储私钥真的很安全?此外,我假设在这种情况下,整个媒体框架&播放器需要重写,以便将安全的视频流传递给播放器。或者我错了?
我希望得到该领域其他经验丰富的开发人员的一些意见,因为很难在任何地方找到有关Android媒体内容保护的信息。
更新
在我的问题的背景下,我发现了这个问题并且它的更新很有趣:Streaming to the Android MediaPlayer
答案 0 :(得分:10)
是否有任何真正安全的方法可以保护Android上的视频/音频(作为应用程序的一部分)。
如果通过“安全”,则表示“完全”,则不是。请参阅Analog hole。
在Android上检测设备是否已植根(在应用内)是不可能的
任何地方都不可能。宇宙定律使得无法检测出这样的东西,(好吧,也许你可以为此利用量子物理学,但即便如此我也不确定)你只能添加代码来检测已知技术,所有这些都是微不足道的绕过。
公钥加密是另一个想法,但在哪里真正安全地存储私钥?
没有地方可以安全地存放它。考虑一下,你想要加密内容并给用户解密它的密钥(所以他可以看到它),但你不希望他能够解密它(所以他不能复制它)。这是一个矛盾。
您可以做的最多是加密您的流,以防止用户只是拦截并使用它。然后混淆解码/播放流的代码。虽然通过实施可能会引入更多错误(以及更差的性能),但会使合法用户的体验变得更糟。如果决定不使用自己的混淆,并使用某些大公司已经提供的一些自动混淆器产品,那么它已经普遍破解了,对于那些几乎不知道他在做什么的人来说,在一个小的产品中破解你的产品将非常容易多少时间。只要您的产品变得非常流行,一个人就会破解它并将所有视频上传到torrent,然后每个人都可以盗用您的产品而无需任何工作。
答案 1 :(得分:0)
我认为没有一种解决方案可以保护应用中的媒体内容免遭剽窃。 DRM当然不适合常规开发人员。我也没有看到为什么公钥可以提供帮助。