如何保护Android上的媒体内容(视频、音频)不被保存/重新分发?
常规应用程序开发人员(我的意思是,你不是一家百万美元的内容制作公司或分销渠道提供商,而是一家常规的小型应用程序开发公司)有哪些机会保护应用程序的视频/音频内容不被保存/分发。 我提到“普通开发者”,因为我在Android核心代码中看到索尼在DRM软件包中添加了一些代码部分。让我们假设我们没有那么强大的能力去说服谷歌在他们的核心代码中包含这样的内容 有没有真正安全的方法来保护Android上的视频/音频(作为应用程序的一部分) 假设(如果我错了,请纠正我):如何保护Android上的媒体内容(视频、音频)不被保存/重新分发?,android,public-key-encryption,drm,android-mediaplayer,Android,Public Key Encryption,Drm,Android Mediaplayer,常规应用程序开发人员(我的意思是,你不是一家百万美元的内容制作公司或分销渠道提供商,而是一家常规的小型应用程序开发公司)有哪些机会保护应用程序的视频/音频内容不被保存/分发。 我提到“普通开发者”,因为我在Android核心代码中看到索尼在DRM软件包中添加了一些代码部分。让我们假设我们没有那么强大的能力去说服谷歌在他们的核心代码中包含这样的内容 有没有真正安全的方法来保护Android上的视频/音频(作为应用程序的一部分) 假设(如果我错了,请纠正我): 设备可能会被用户扎根,需要注意这一点
- 设备可能会被用户扎根,需要注意这一点
- 在Android上,检测设备是否是根设备(在应用程序中)是不可能的,因为超级用户基本上可以伪造设备的任何状态
- 我们不能修改任何硬件或用户系统(意思是:我们不会将我们的应用程序产品与设备捆绑在一起,该应用程序应该作为“常规”应用程序在应用程序市场上下载)
- 媒体文件/流可以在本地设备上,也可以来自远程服务器,两者都可以
在我的问题中,我发现这个问题很有趣:我认为没有一个解决方案可以保护应用程序中的媒体内容不被窃取。DRM当然不适合普通开发人员。我也不明白为什么公钥会有帮助 有没有真正安全的方法来保护Android上的视频/音频(作为应用程序的一部分) 如果你说的“安全”是指“完全安全”,那么就不是了 在Android上,检测设备是否是根设备(在应用程序中)是不可能的 这在任何地方都是不可能的。宇宙法则使得探测这样的东西变得不可能,(好吧,也许你可以利用量子物理来实现这一点,但即便如此,我也不确定)你只能添加代码来探测已知的技术,所有这些都是微不足道的 公钥加密是另一个想法,但是在哪里真正安全地存储私钥呢 没有地方可以安全地存放它。想想看,你想加密内容并给用户解密的密钥(这样他就可以观看),但你不想让他能够解密(这样他就不能复制)。这是一个矛盾
您所能做的最多就是加密您的流,以防止用户仅仅截取并使用它。然后混淆解码/播放流的代码。尽管通过实现这一点,您可能会引入更多的bug(和更差的性能),从而使合法用户的体验更差。如果你决定不使用你自己的模糊处理,并且使用一些大公司已经提供的自动模糊处理产品,它将被普遍破解,对于一个几乎不知道自己在做什么的人来说,在很短的时间内破解你的产品是非常容易的。只要你的产品在远程流行,一个人就会破解它并将所有视频上传到torrent,那么每个人都可以在不做任何工作的情况下盗版你的产品。谢谢你的回复。你的意思是“我不明白为什么公钥也帮不上忙”还是“可以”?对不起,我没有记下你的最后一部分。你认为公钥是一种方法吗?如果是这样的话,在哪里安全地存储私钥?顺便说一句,我想指出的是,一些带有NFC的手机可能会有一个可编程的安全元件,因此将来可能会有(这里可能会有很大的)一种方法来进行DRM。现在,你被软件困住了(本质上是不安全的)。@Delyan:是什么让硬件保护更“安全”?事实上,它的神秘度要高出1000倍?好吧,“安全”就像“需要数千美元的设备才能开始破解它”。它确实将障碍提升到了一个非常非常高的水平,但最终,你是对的。这只是一种几乎无法克服的困惑。事实是,如果DRM真的成为主流,99%的人将无法打破现有的方法。我想这对相关公司来说已经足够好了。在我的问题中,我发现这个问题+它的更新非常有趣:你找到解决方案了吗?