为促进数字电影规范发展,数字电影倡导组织DCI(Digital Cinema Initiatives)发布了《数字电影系统规范》,其中为保护数字电影的安全,要求数字电影发行包必须在加密后才能传输。下面我们就一起来看一下加密算法在数字电影中的应用。

内容加密

数字电影由视频和声音组成,一部2小时的数字电影经过JPEG 2000编码后,大小为100G左右。由于数据量较大,DCI规定电影内容采用加密速度快、加密效率高的高级加密标准AES进行加密,且使用CBC模式、128比特的密钥长度。

发行方生成AES节目密钥,利用该密钥对节目的图像、声音和字幕进行加密,然后将AES节目密钥发送给接收方,接收方利用AES节目密钥对接收到的已加密的电影内容进行解密播放。

数字电影加密

内容传输完整

为了保证图像、声音等数据传输的完整性,发行方利用杂凑算法SHA-1对发送的数据计算杂凑值,并将其与数据一同发送给接收方,接收方接收到数据后,利用杂凑算法SHA-1算法对接收到的数据计算杂凑值,并与发行方计算的杂凑值进行对比。若两个值一样,则说明数据在传输的过程中没有被篡改。

密钥传输安全

  • AES节目密钥传输安全

由于内容加密使用的是对称密码算法AES,发行方需要把AES密钥发送给接收方,接收方才能正确解密。为了保证AES密钥分发的安全性,DCI规定该AES节目密钥需要利用非对称加密算法RSA,且密钥长度需使用2048比特的RSA-2048算法进行加密。

接收方生成RSA公私钥,私钥自己保存,RSA公钥发送给发行方,发行方利用接收方的RSA公钥对AES节目密钥进行加密,接收方利用自己的RSA私钥进行解密,获得AES节目密钥。

数字电影加密

  • RSA公钥传输安全

发行方需要使用接收方的RSA公钥对AES节目密钥进行加密,那么如何保证接收方的RSA公钥传输的安全性和完整性呢?DCI利用X509数字证书保证RSA公钥传输的安全性及完整性。

数字证书将个人信息与公钥进行绑定,并由权威机构证明其合法性。接收方将RSA公钥和个人信息发送给权威机构,权威机构利用RSA-2048算法对公钥和个人信息进行加密,并利用RSA-SHA256算法对其进行数字签名,生成数字证书,发送给接收方。接收方将权威机构生成的数字证书发送给发行方,发行方收到数字证书后,首先验证数字证书的签名是否正确,若正确,则从中提取公钥信息,得到接收方的RSA公钥。

KDM正确

DCI规定AES节目密钥需要通过非对称加密算法RSA加密后保存在密钥传送消息(Key Delivery Message,KDM)文件中,传送给已授权的影院。KDM文件是一种基于影院外部消息(ETM,Extra-Theater Message) 定义的 XML 文件。KDM 在结构上分为三部分,即公开部分(Public)、私有部分(Private)和签名部分(Signature)。为了提高处理速度,发行方利用SHA-256算法分别对KDM的公开部分和私有部分计算杂凑值,然后利用自己的RSA私钥对公开部分和私有部分的杂凑值进行加密得到KDM文件的签名值,接收方利用从发行方X509数字证书中提取的发行方的RSA公钥验证KDM文件的数字签名是否正确,以确保接收到的KDM是正确的。

数字电影加密


综上所述,为保障数字电影安全,DCI采用了加密效率高的对称加密算法AES-128-CBC算法加密数据量大的数字电影节目信息,之后采用加密强度大的非对称加密算法RSA-2048算法加密AES节目密钥,并通过X509数字证书和密钥传送消息KDM文件进行传输,以提高AES节目密钥的安全性,整个处理流程既高效且可靠。

免责声明:素材源于网络,如有侵权,请联系删稿。