如何保护mp4/mp3文件不被复制但又必须能正常打开播放? (如果已知主要在 NAND 存储介质文件系统中显示其功能点)
答案1
如果您可以读取文件(播放/打开它),则可以复制它。
您可以加密文件 (DRM) 并要求用户使用专有播放器打开文件,但即使这样也不是 100% 的保护,因为聪明的用户要么从播放器中提取解密密钥,要么捕获解密的文件播放时从内存中读取文件流。最后,他们可以简单地将数字录音机连接到计算机的声音输出并以这种方式捕获音频。同样对于视频,它们可以捕获HDMI音频/视频信号;事实上,这就是早期蓝光盗版活动的开始。
底线是,DRM(数字版权管理)本质上是有问题的,并且是密码学的误用。
答案2
简短的版本是这样的很难并且始终涉及加密文件并防止用户找到解密密钥。
尝试在行业层面做到这一点(数字版权管理)屡屡失败(例如:这里,这里和这里)因为总有人设法“找到”私钥。一次某人找到密钥并发布它,大家然后可以用它来解密和复制文件。
对于跨行业解决方案来说,这尤其棘手,因为多个(通常是很多)不同的公司需要访问相同的私钥。只需要一名员工窃取共享密钥,整个系统就会被搞砸。
如果您正在寻找较小规模的解决方案,那么有多种选择,但没有灵丹妙药。
你不能做什么
最终,如果您想播放声音,那么您无法阻止别人录制您播放的声音。如果您正在播放 HDMI、SPDIF 或其他数字连接,您无法阻止有人盗用[接近]完美录音。高质量的模拟录音始终是可能的。
您也无法阻止有人篡改硬件和从板上拆焊芯片,或添加其他组件。在某些时候,文件必须被解密,如果有人可以在内存和 CPU 之间插入设备,那么他们就可以获得解密的数据。
如果您控制设备上安装的操作系统
您可以加密文件,然后将解密密钥嵌入到可信平台模块 (TPM)。按照设计,如果操作系统被篡改,TPM 应拒绝提供解密密钥。然后就可以配置操作系统了
每个设备可以使用不同的加密/解密密钥。这可能会让用户非常不高兴,但是可以为用户提供一个针对其(一个)设备而不是其他设备加密的文件。
这通常会使用公钥/私钥密码。这里的优点是没有根密钥窃取可以解密每个设备的信息。最好的办法就是一次窃取一台设备的解密密钥(花费相当大的费用)。
只要您保留用户设备的公钥记录,您还可以向用户发送新的(加密文件)。
如果您可以制造专业硬件
超出了本网站的范围,但值得一提...可以制造在单芯片上解密和播放的设备。值得一提的是 FPGA,它是可编程芯片,一些可以配置为防止回读。这将让您创建一个可以播放加密文件的播放器,其中嵌入了解密密钥。但由于可以禁用回读,因此您可以防止某人简单地读取解密密钥或解密文件。
没有什么是完美的,有一些方法可以对微芯片内部的功能进行逆向工程。