KDM(密钥)是什么

影院放映中常常提到的KDM是什么?KDM 是 Key Delivery Message 的缩写,中文一般称为“密钥”。如今日常上映的影片基本都是加密过的,而播放加密的电影内容需要 KDM。每个 KDM 可使特定一个版本的电影在目标播放设备上播放有限的时间,该有限时间可能是几小时、几周或几个月。

KDM 是向授权播放设备安全传输对称内容加密密钥的工具。KDM 只针对一个播放设备,是对表示对该目标设备的信任。此外,KDM 所传递的信任只针对一个加密组件。 内容版本作为单独的合成文件,如果要播放不同版本的内容(比如2D,3D,中文,英文,IMAX版等),需要不同的 KDM 才能播放。

KDM 所携带的对称密钥(Symmetric keys )是加密的,因此 KDM 本身是安全的。它不依赖安全传输(如 TLS)来确保所携带密钥的安全。例如,KDM 可以发布在公共网页上,唯一可能的结果是 KDM 授权的单一设备能够根据 KDM 中的条件播放相关内容。

由此可见,信任是在创建 KDM 时表达的,而不是在分发 KDM 时表达的。这样一来,KDM 的分发就变成了一个纯粹的物流/传输问题,而无需考虑传输机制的安全性。在此种机制下,如果 KDM 到达了错误的目的地,它所针对的组成的安全性也不会受到影响。

在履行其作为信任传播者的角色时,KDM 会包含以下数据:

  • 播放加密影片所需的加密对称内容密钥
  • 将 KDM 与为其创建的合成内容相关联的合成内容标识符
  • 使用内容密钥的日期/时间有效期
  • 鉴定标记说明
  • 目标媒体模块(放映服务器/IMB等)的标识符

KDM 承载信息内容

秘钥 KDM 的结构

 

 

作品标识符。组合标识符是相关组合播放列表所携带的标识符,根据 RFC 4122,其形式为通用唯一标识符 (UUID)。

日期/时间有效期。日期/时间有效期有多种载体。该信息以明文(未加密)XML 参数描述为 “UTC 日期时间之前无效 “和 “UTC 日期时间之后无效”,使接收设备能够轻松读取。不过,播放设备响应的实际 UTC 日期时间与每个对称内容密钥一起加密,信息无法篡改。有效 KDM 的有效期明文日期时间值必须与加密日期时间值相匹配。

取证标记说明。默认情况下,当符合 DCI 标准的媒体块播放加密的图像和声音内容时,将对其进行实时取证标记。可在 KDM 中设置标志,命令播放系统不对内容进行取证标记,或有选择地对内容进行标记。采取这种措施的可能原因包括:导演希望在首映式上不以任何方式修改画面或声音。更常见的原因是有选择性地标记音频通道,这样音轨文件中的相关非音频信息(如运动座位数据)就不会被取证标记引擎修改。

接收方标识符。KDM 通过携带媒体块数字影院证书公钥的特征代码(hash 散列)来识别接收者(目标媒体块)。在符合 DCI 标准的设备中,该证书符合 SMPTE ST 430-2 数字影院证书的要求,它限制了数字影院应用中广泛使用的 X.509v3 证书。ST 430-2 规定,证书主题名的 dnQualifier 属性必须包含接收者的公钥特征代码,作为标识符。由于 KDM 必须包含证书的对象名称,因此 KDM 中也包含该特征代码。

特征代码是使用 SHA-1 哈希算法对媒体块的公开密钥计算的哈希值。计算出的哈希值具有计算唯一性、不可逆性和可重复性。它的唯一性在于,公钥中一个比特的变化都会导致哈希值的变化。它的不可逆性在于,人们无法从拇指指纹中重建公共密钥。在实践中,剧院管理系统可以使用特征代码将 KDM 有效地推送到正确的目标设备。另外,媒体区块也可以使用拇指指纹从大量 KDM 中识别并提取 KDM。

加密密钥。KDM 的主要有效载荷是加密的对称密钥,用于确保相关作品的安全。每个作品至少由两个音轨文件组成:一个图片音轨文件和一个声音音轨文件。每个音轨文件都可以沿时间边界划分为多个精华文件。生成的每个精华文件都必须使用唯一的对称密钥进行加密。由此可见,可以使用大量的对称内容密钥来实现较长的合成。每个内容密钥都用接收方(目标媒体块)的公开密钥加密,并包含在 KDM 中。KDM 规范要求密钥标识符和有效日期与每个密钥一起加密。密钥标识符在 SMPTE ST429-6 MXF 音轨文件本质加密中定义,媒体块用它来匹配每个密钥与其相关的音轨文件。

数字签名。KDM 按照 W3C 的 XML 签名规范进行数字签名。 SMPTE ST430-3 Extra-Theater Message 和 SMPTE 430-2 Digital Cinema Certificate 中描述了签名的详细信息。

DKDM 和 KDM 标准

实际上,在对作品进行加密时,加密设备会同时创建一个 KDM,用于安全存储加密过程中使用的对称内容密钥。这种 KDM 和为用于预分发应用而创建的类似 KDM 称为分发 KDM 或 D-KDM。例如,电影制片厂可以对《合成》进行加密,然后将其发送给执行实体,以便重新分发给参展商。在加密时,制片厂还将创建一个 D-KDM,目标是履行实体拥有的可信设备。然后,执行实体将使用 D-KDM 所携带的对称密钥,以及在执行实体的受信任设备列表中找到的相关预订信息和播放设备公钥,创建用于分发的展览 KDM。值得注意的是,D-KDM 和展览 KDM 结构相同,只是名称和应用不同。

从结构上看,KDM 是一种通用信息类型的形式,称为剧院外信息( Extra-Theater Message, ETM)。 ETM 的设计者设想有一类安全信息需要这种信息类型所定义的通用功能。但实际上,只有 KDM 使用 ETM。因此,需要两个 SMPTE 标准(SMPTE ST430-1 KDM 和 SMPTE ST430-3 ETM)来完整定义 KDM。