ISO 26430-6:数字影院运营 — 影院内通信安全消息

基于TLS和KLV编码的数字影院展播网络安全请求-响应协议

影院安全消息协议概述

ISO 26430-6(源自SMPTE 430-6)定义了用于数字影院设备间安全通信的影院安全消息(ASM)规范。该标准实现了安全管理器与远程安全处理块(SPB)之间在展播网络上的安全关键信息互操作通信。ASM使用传输层安全(TLS)协议提供认证和机密性,结合密钥-长度-值(KLV)编码进行消息编码。

ASM协议使用IANA专门为数字影院安全请求-响应对(RRP)保留的知名端口1173,确保不会与其他影院网络服务产生冲突。

协议架构与消息结构

ASM通信遵循同步请求-响应对(RRP)模型。每个RRP由发起方(通常是影像媒体块内的安全管理器)发送的请求和响应方(远程SPB)发送的响应组成。TLS会话使用符合数字影院标准的X.509证书进行双向认证,确保两个端点在交换安全关键数据前验证对方的身份。

消息编码采用符合SMPTE 336M的定长包KLV编码。每个KLV数据包包含16字节通用标签(UL)密钥、BER编码的4字节长度字段和可变长度值。TLS密码套件限定为TLS_RSA_WITH_AES_128_CBC_SHA,使用2048位RSA密钥、AES-128-CBC对称密码、SHA-1哈希和固定的512字节记录大小。

ASM命令类别 命令 用途
通用命令 BadRequest, GetTime, GetEventList, GetEventID, QuerySPB 远程SPB管理、时间同步、事件日志、健康监控
链路加密 LEKeyLoad, LEKeyQueryID, LEKeyQueryAll, LEKeyPurgeID, LEKeyPurgeAll 链路加密密钥管理,确保内容流安全

工程实现要点

响应方必须维护至少16个LE密钥和密钥ID的缓冲区。LEKeyLoad命令使用批量结构投递密钥,每个条目包含LE Key ID(4字节)、Key(16字节)、Expire Time(4字节,单位为秒)和Attribute Data(8字节,用于AES计数器模式种子)。Overflow响应元素在密钥缓冲区将溢出时通知发起方,从而实现自适应密钥管理。

KLV长度字段使用BER编码的固定4字节格式。例如,12字节的Value字段编码为0x83 0x00 0x00 0x0C。实现必须严格遵守此编码,避免被攻击者利用解析失败。

一个值得注意的设计决策是同步RRP约束:每个配对必须在同一对SPB之间打开新的RRP之前完成。无法在2秒内(通用命令和链路加密命令均适用)响应的响应方应发出带有忙碌指示的BadRequest响应。这防止了资源耗尽并简化了安全处理器的状态管理。

常见问题

问:ASM中双向认证的目的是什么?
答:双向认证使响应方(远程SPB)能够接收并记录发起方(影像媒体块)的证书指纹,用于日志记录和审计。它还通过确保两个端点在安全数据交换前验证对方身份来防止中间人攻击。
问:GetTime命令如何支持安全日志记录?
答:GetTime命令返回响应方的UTC时间,以自1970年1月1日以来的秒数表示(64位整数)。安全管理器利用此信息确定自身与远程SPB之间的时间差,从日志条目中移除偏差,实现精确的法证分析。
问:当SPB收到未知命令时会发生什么?
答:响应方会发出BadRequest响应,其中包含无法识别的请求命令的完整副本。这允许发起方诊断协议不匹配或版本不兼容问题。对于忙碌情况,Request Copy字段设置为空(零长度)。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注