android - Android 解密后如何播放 DRM 内容?
问题描述
我正在查看 Android 的 DRM文档,并看到下图:
该图显示 DRM HAL 请求解密 DRM 内容,然后使用“安全缓冲区句柄”进行访问。请问有没有人知道secure handle对应的内容是怎么播放的?内容是否会离开 TEE 或者 Android 是否可以在 TEE 中播放解密的内容?
解决方案
不同的 DRM 类型有不同的安全级别,但最常见的安全级别(如 Widevine 和 Playready)需要硬件信任根、利用硬件/TEE 存储的密钥以及安全的媒体路径。
安全媒体路径正如您所说的那样 - 未加密的媒体在显示之前永远不会暴露给应用程序或系统的任何其他部分。显示系统通过受保护的内存缓冲区。
对于需要对解密媒体进行后处理的应用程序,例如 VR 和 AR,Android 允许对受保护的缓冲区执行有限的操作。您可以在 Android 在线文档中看到这一点:https ://source.android.com/devices/graphics/arch-st#st_vid_play