DRM 概述

适用于数字音频的 DRM 在 Microsoft Windows 2000 及更高版本和 Windows Me/98 上实现。 但是,只有 Microsoft Windows XP 及更高版本以及 Windows Me 在内核中实现 DRM 安全性。 目前,Windows 没有针对 MIDI 流或 DLS 集提供 DRM 安全性。

受 DRM 保护的数字内容以加密形式存储在磁盘或其他存储介质类型上。 加密算法会打乱内容,使其在解密之前无法识别。 在播放期间,从磁盘读取内容并将其缓冲在内存中时,该内容保持乱序状态。 在数据路径的末尾附近,DRMK 系统驱动程序 (Drmk.sys) 会解译数据,并将其直接馈送至要播放的音频驱动程序。 通过限制传输解译内容的数据路径的范围,DRMK 使该内容不易受到未经授权复制的影响。

在 Windows 2000 和 Windows 98 中,安全漏洞可让用户轻松加载恶意驱动程序,以未加密的形式将安全内容的播放路由到磁盘。 Windows XP 和更高版本以及 Windows Me 仅允许受信任的音频驱动程序播放受 DRM 保护的内容,关闭填补了此漏洞。

在 Windows XP 及更高版本和 Windows Me 中,安全内容在遍历音频数据路径时保持乱序状态,直到它进入内核的受保护环境。 在内核中,受保护的组件会解译数据,并将解译后的数据馈送给受信任的驱动程序进行播放。 将筛选器图配置为播放已解译的音频流时,DRMK 会验证它放置在图中的每个 KS 筛选器的适配器驱动程序。 系统将通知驱动程序受保护内容的使用规则。 反过来,驱动程序会将它将内容路由到的所有下游筛选器告知 DRMK,系统也会对这些筛选器进行身份验证。 此过程会一直持续到图完成。 如果数字播放流通过不符合 DRM 的任何组件,系统将拒绝整个图。

在播放数字内容时,符合 DRM 的驱动程序必须防止未经授权的复制。 此外,驱动程序必须禁用可通过标准接口(如 S/PDIF)传输内容的所有数字输出,通过该接口可捕获解密的内容。 请注意,此要求不适用于 USB 设备。 目前,DRMK 仅通过没有任何数字输出的 USB 扬声器设备播放安全内容。