本文刊发于《现代电影技术》2022年第8期
专家点评
《“十四五”中国电影发展规划》指出,新一代数字影院装备系统重点研究拥有自主知识产权的视音频编解码、数字内容加解密、数字证书认证、数字水印以及影院LED屏等技术与设备,抢占技术制高点,打破国外技术垄断,努力提高国际标准参与和引导能力。《基于SM2/SM3国密算法的数字电影发行密钥实现方法》一文从电影版权保护的关键要素KDM入手,提出了基于国密标准中SM2/SM3算法的KDM制作模型,该模型利用国密数字证书和国密算法SM2与SM3替代母KDM的国外密码算法。作者设计实现了KDM验证模型,将国际通用模型和国密模型生成的KDM文件进行实验对比。实验结果不但验证了国密模型生成的KDM文件完全正确,而且表明国密算法模型的安全性和制作效率高于国际通用模型,尤其是安全性的提升对于强化电影版权保护特别有利。这是SM2/SM3算法首次应用于数字电影领域,是具有开拓性意义的研究工作。与以往学者对KDM的研究主要关注提高KDM制作灵活性及并行处理能力不同,本文作者独辟蹊径,着眼于数字电影知识产权保护,实现了电影领域加解密算法的安全可信和自主可控。
——李瑞海
八一电影制片厂副厂长
摘要
中国电影市场个性化需求的增加,为电影版权保护带来了挑战。密钥传送消息KDM是版权保护的关键技术,为推动国密算法在电影行业的应用,本文基于KDM的文件构成,提出了基于SM2/SM3国密算法的KDM制作模型,利用母KDM和国密数字证书生成KDM文件,其中利用国密SM2加密算法对AES节目密钥进行加密,利用SM2sign-with-SM3签名技术对KDM文件进行数字签名。为验证本文提出的国密模型的正确性,本文提出了KDM结果验证模型,验证了本文国密模型生成的KDM文件结果正确。实验表明,本文提出的国密模型在安全性和制作效率方面,均高于国际通用模型。本文提出的基于SM2/SM3国密算法的KDM制作模型,易于实现,能够在现有的国际通用模型的基础上实现平滑过渡,为电影领域安全自主可控提供了技术参考。
电影版权 密钥分发消息 KDM SM2 SM3 自主可控
1引言
近年来,中国电影市场飞速发展,观影人数的激增,观影需求的多元化、个性化发展,为电影版权保护带来了更大的挑战。由于电影密钥传送消息KDM(Key Delivery Message)中携带着节目内容密钥,所以KDM是电影版权保护的关键。现有的保障KDM安全的技术采用了国外密码算法:非对称加密算法RSA-2048算法、摘要算法SHA-256算法,这些算法均受国外专利技术保护。
为推动国密算法在电影行业的应用,保证国家关键信息基础设施安全和自主可控,国家密码管理局于2012年发布了国密标准,包括SM1、SM2、SM3、SM4、SM7、SM9和祖冲之密码算法(ZUC)等,以替代国际加密算法,其中SM2对应RSA算法,SM3对应SHA算法。
2020年1月1日,《中华人民共和国密码法》正式实施,其中第二十一条规定:国家鼓励商用密码技术的研究开发、学术交流、成果转化和推广应用,鼓励和促进商用密码产业发展。为践行《中华人民共和国密码法》中鼓励国家商用密码技术开发和推广应用的精神,本文提出了基于SM2/SM3算法的KDM制作模型,该模型利用国密数字证书和国密算法SM2、SM3算法制作KDM,并提出了KDM结果验证模型,以验证生成KDM结果的正确性。
2相关工作
国密算法SM2/SM3算法自发布之日起,引起了许多学者的关注。林子康[1]将国密算法SM2/SM3应用于移动端的端到端加密通讯系统,该系统利用公钥加密算法SM2、对称加密算法SM4、杂凑算法SM3对实时文字、实时音频和实时视频进行加密实现。杨春雷[2]将国密算法SM2/SM3应用于央行国库信息系统领域,利用SM2/SM3算法实现数字签名服务,建立以国产商业密码为主要支撑的国库信息安全保障体系,实现底层密码算法自主可控。黎水林等[3]将SM2/SM3算法应用在政府网站中,利用SM2算法实现身份认证,采用SM3算法对用户口令等信息进行加密存储,实现了数据传输通道的安全性、重要数据的完整性和保密性、管理用户的真实性等安全需求。苏彬庭等[4]将SM3算法应用于物联网中,使用SM3、SM4算法设计实现了物联网终端的身份鉴别系统,确保了数据的完整性和保密性。王良田[5]将SM2算法应用在数据存储及码流数据传输中,利用SM2、SM4等国密算法实现了码流信息的加密、解密、验签。刘思宇等[6]将SM2/SM3算法应用于二维码验票系统,利用SM4算法对票据信息进行加密,然后利用SM2算法对SM4算法生成的对称密钥进行加密,之后利用SM2、SM3算法对票据进行签名,确保了票据信息的数据安全。陈平等[7]将SM2算法应用于电子病历中,利用SM2算法实现数字签名服务,确保数据完整和隐私保护。
商用密码的应用引起了广电总局的高度重视,广电总局于2017年启动了数字版权保护、应急广播和可下载条件接收系统密码应用试点,并在广播电视科学研究院成立了广电影视国产密码实验室。在广电总局的号召下,各系统开始进行国密算法的改造应用。邹喜等[8]将SM2/SM3算法融入ChinaDRM标准,利用SM2加密算法和SM3杂凑算法实现许可证数据的数字签名和验证,提升了DRM系统的可靠性。刘梦雨等[9]将SM2/SM3应用于多媒体版权保护领域,利用SM2、SM3、SM4算法控制内容的加密、许可证的安全分发及用户的解密,防止内容的滥用和随意分享,达到数字内容的安全使用控制与数字版权保护功能。黄大池等[10]将SM2/SM3算法应用于应急广播村村响系统中,利用SM2、SM3算法对所有控制指令、消息报文的传输进行数字签名,保证了可信应急广播消息的传输安全。
虽然国密算法SM2/SM3自发布之日起,就被陆续应用在各个领域,但是数字电影领域中SM2/SM3还未涉及。
国内学者对KDM的研究主要集中在提高KDM制作的灵活性及并行化处理能力上,如王木旺等[11]提出了一种数字电影KDM再封装制作方法,该方法不通过数字电影编码器,直接由发行方对授权影院生成新的KDM,满足了影院市场放映的灵活性需求。张鑫[12]提出了一种基于Hadoop的KDM并行化制作模型,设计实现了基于Java的多线程制作方案,实现了任意多节点并行化、多线程制作KDM,大幅提高了KDM制作效率。王木旺[13]利用集群负载均衡技术,搭建了KDM授权业务服务器集群和负载均衡系统,提高了KDM授权业务的处理能力和即时响应用户的能力。
与提高KDM制作的并行化处理能力的研究不同,本文将国密算法SM2/SM3应用在KDM制作中,既提高了单个KDM制作的效率,又实现了电影领域加解密算法的自主可控。
3 基于SM2/SM3算法的KDM实现
3.1 KDM介绍
密钥传送消息(Key Delivery Message,KDM),是一种基于影院外部消息(Extra-Theater Message,ETM) 定义的 XML 文件,主要包括3个基本信息:合成播放列表CPL(Composition Play List)的内容密钥;内容密钥参数——主要是密钥使用的日期/时间窗口;可信设备列表(TDL),指定了允许使用内容密钥的设备。
KDM文件由3部分构成:公开部分、私有部分和签名部分。其中公开部分主要描述了KDM文件的基本信息,如KDM标识、 KDM签发者信息、KDM接收者信息、影片名称、合成播放列表的标识 、KDM有效期等,这些信息供用户初步筛查KDM是否正确。私有部分描述了KDM文件的关键信息,如AES节目密钥、签名者证书指纹等,供接收设备解密得到AES节目密钥,以解密播放DCP。签名部分描述了KDM文件的数字签名信息,如签名值,签名者的证书链等,供接收设备验证KDM来源是否可靠,以便该设备信任接收的KDM。具体文件结构如图1所示。
图1 KDM文件结构
3.2 基于SM2/SM3算法的KDM制作模型
基于KDM的文件构成,本文提出了基于SM2/SM3算法的KDM制作模型,利用开源密码工具箱GmSSL工具生成SM2私钥和国密X.509数字证书,之后基于母KDM和国密数字证书生成国密KDM文件,具体如图2所示。
图2 基于SM2/SM3算法的KDM制作模型
现将基于SM2/SM3算法的KDM制作模型生成KDM流程和具体实现分析如下:
3.2.1 KDM公开部分制作
(1) 模型制作流程
① 解析母KDM文件,得到影片基本信息(影片名称、CPLUUID)和内容密钥的基本信息(内容密钥类型、内容密钥UUID);
② 解析制作者国密证书和设备国密证书,得到KDM签名者信息和KDM接收者信息;
③ 模型内部自动生成KDM的基本信息:KDM UUID、KDM发行时间、KDM开始时间(UTC格式)和结束时间(UTC格式)。
(2)具体实现过程
KDM公开部分,即标签部分,该标签主要包括:MessageId、MessageType、IssueDate、Signer、Recipient、CompositionPlaylistId、ContentTitleText、ContentKeysNotValidBefore、ContentKeysNotValidAfter、KeyType、KeyId等子标签。
根据基于SM2/SM3算法的KDM制作模型,KDM公开部分实现过程如下:
① 解析母KDM得到CompositionPlaylistId、ContentTitleText、KeyType、KeyId;
② 解析制作者国密数字证书,得到Signer值;
③ 解析接收方国密数字证书,得到Recipient值;
④ 模型自动生成MessageId及IssueDate;
⑤ 本模型中MessageType值为固定值:http://www.smpte-ra.org/430-1/2006/KDM#kdm-key-type;
⑥ ContentKeysNotValidBefore与ContentKeysNotValidAfter由模型使用者自定义,模型将其转为UTC时间。
3.2.2 KDM私有部分制作
(1)模型制作流程
① 解析母KDM文件,判断母KDM文件是否使用国密加密算法加密,如果是,则跳转到步骤②执行,否则跳转到步骤③执行;
② 使用SM2算法解密母KDM文件得到AES节目密钥;
③ 使用RSA算法解密母KDM文件得到AES节目密钥;
④ 解析制作者国密证书,得到签名者证书指纹;
⑤ 将固定值StructureID与上述步骤得到的签名者证书指纹、CPLUUID、内容密钥类型、内容密钥UUID、KDM 开始时间(UTC格式)、KDM结束时间(UTC格式)、AES节目密钥按顺序进行拼接,之后利用SM2加密算法加密该拼接串得到私有部分中的密文。
(2) 具体实现过程
KDM私有部分,即标签部分,该标签主要包括EncryptionMethod、CipherData。根据基于SM2/SM3算法的KDM制作模型,KDM私有部分实现过程如下:
① 本模型中EncryptionMethod的值为:“http://www.w3.org/2001/04/xmlenc#SM2”;
② 本模型中CipherData值为表1中8个字段的拼接串经SM2加密算法加密后得到的密文BASE64值,其中:
a.Structure ID为固定值f1.dc.12.44.60.16.9a.0e.85.bc.30.06.42.f8.66.ab;
b.Certificate Thumbprint值从签名者国密证书中解析得到;
c. CompositionPlaylistId、KeyType、KeyId值从母KDM中解析得到;
d.Not Valid Before与Not Valid After由模型使用者自定义该时间,模型转为UTC时间格式;
e.AES Content Decryption Key值为利用SM2私钥解密母KDM得到。
表1 CipherData的明文数据
3.2.3 KDM签名部分制作
(1) 模型制作流程
① 对KDM公开部分和私有部分分别进行C14n规范化;
② 利用SM3算法对步骤①规范后的内容分别计算摘要值;
③ 对步骤②得到的摘要部分进行C14n规范化;
④ 利用SM2签名算法对步骤③的内容进行签名得到签名值;
⑤ 解析制作者国密证书链,得到制作者国密证书链信息;
⑥ 将步骤④与步骤⑤进行拼接得到KDM签名部分。
(2) 具体实现过程
KDM签名部分,即标签部分,该标签主要包括CanonicalizationMethod、SignatureMethod、DigestMethod、DigestValue、SignatureValue、KeyInfo、X.509Data。
根据基于SM2/SM3算法的KDM制作模型,KDM私有部分实现过程如下:
① 本模型中CanonicalizationMethod值为"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments";
② SignatureMethod值为"http://www.w3.
org/2001/04/xmldsig-more#SM3WithSM2";
③ DigestMethod值为“http://www.w3.org/
2001/04/xmlenc#SM3”;
④ DigestValue值为:对待计算摘要值的部分进行c14n规范化,之后利用SM3算法计算规范化内容的摘要值;
⑤ SignatureValue值为:对摘要部分进行c14n规范化,之后利用SM2签名算法计算签名值;
⑥ KeyInfo值为解析制作者签名证书链,得到签名证书链信息;
⑦ X.509Data值为签名证书链上的每一个证书信息。
4 实验结果及对比分析
4.1 实验结果
由于现有放映设备使用的KDM均是利用国际通用密码算法生成的,基于SM2/SM3算法的KDM制作模型(以下简称:国密模型)生成的KDM文件无法在现有放映设备中验证其正确性,为了验证国密模型的结果正确性,本文提出了KDM结果验证模型,如图3所示。
图3 KDM结果验证模型图
本文首先验证基于国际通用密码算法的KDM制作模型(以下简称:国际通用模型)生成的KDM文件是正确的,之后将国际通用模型和国密模型生成的KDM文件的解密结果进行对比,如果结果一致则本文提出的国密模型生成的KDM文件结果正确。具体验证方法如下:
(1) 利用专业电影打包工具Clipster等对影片进行加密打包,生成母KDM和已加密影片;
(2) 利用国际通用模型和步骤(1)生成的母KDM制作生成KDM文件;
(3) 将步骤(2)生成的KDM文件和步骤(1)生成的已加密影片导入到影院专业放映设备中;
(4) 利用影院专业放映设备播放该加密影片,播放成功,则步骤(2)生成的KDM文件是正确的,播放失败,则步骤(2)生成的KDM文件是错误的;
(5) 利用RSA私钥对步骤(2)生成的正确的KDM文件进行解密解析,分别得到表1中8个字段值;
(6) 利用国密模型和步骤(1)生成的母KDM制作生成KDM文件;
(7) 利用SM2私钥对步骤(6)生成的KDM文件进行解密解析,分别得到表1中8个字段值;
(8) 对比步骤(5)和步骤(7)中8个字段的值,如果其中Structure ID、CompositionPlaylistId、KeyType、KeyId、AES Content Decryption Key 5个字段值分别相等,则步骤(6)生成的KDM文件是正确的,否则错误。
基于以上KDM结果验证方法,本文对国密模型生成的KDM文件结果进行验证,实验结果表明该模型生成的KDM文件是正确的。
4.2 实验对比分析
4.2.1 安全性
由于SM2算法是我国在ECC算法基础上自主研制的,该算法推荐了一条256比特的曲线作为标准曲线,它在安全性和实现效率方面相当于256位的ECC算法。有研究表明[14]在相同安全强度下,ECC算法比RSA算法所需的密钥规模要小得多,160位的ECC算法与1024位的RSA算法安全水平相当,210位的ECC算法与2048位的RSA算法安全水平相当。因此SM2算法的安全强度高于RSA-2048算法,大致与RSA-3072相当。
学者汪朝辉等[14]对SM2签名算法和RSA签名算法的实现效率进行了对比,发现在相同的硬件环境下,SM2签名118次/s,RSA-1024签名76次/s,RSA-2048签名13次/s。SM2签名效率高于RSA签名效率。
综上所述,SM2算法与RSA算法相比,有以下优势:
(1) 安全性高:256位的SM2算法密码强度已超过RSA-2048。
(2)密钥短:SM2算法用的密钥长度一般是256位,而RSA算法通常需要2048位。
(3) 签名速度快:同等安全强度下,SM2签名算法效率高于RSA签名算法。
因此,本文国密算法模型的安全性高于国际通用密码算法模型的安全性。
4.2.2 制作效率
为了证明国密模型生成效率高于国际通用模型,本文分别对两个模型制作KDM的时间进行了统计与对比,统计维度分别为1个、100个、1000个、3000个、5000个,实验环境如表2所示,实验结果如表3所示。
表2 实验环境
表3 国密模型与国际通用模型制作生成KDM的时间(单位:秒)
从表3的结果可以看出,国密模型制作效率高于国际通用模型。为了进一步分析国密模型与国际通用模型,本文对模型中涉及的解密算法、加密算法、数字签名算法分别进行了对比。结果如表4、表5所示。
表4 国密模型生成KDM时间(单位:秒)
表5 国际通用模型生成KDM时间(单位:秒)
从以上的实验对比结果可以发现:国密模型制作效率高于国际通用模型。
5 结语
本文基于KDM的文件构成,提出了基于SM2/SM3算法的KDM制作模型,利用母KDM和国密数字证书生成KDM文件,其中利用国密SM2加密算法对AES节目密钥进行加密,利用SM2sign-with-SM3签名技术对KDM文件进行数字签名。为验证本文提出的国密模型的正确性,本文提出了KDM结果验证模型,验证了本文国密模型生成的KDM文件结果正确。实验表明,本文提出的国密模型在安全性和制作效率方面,均高于国际通用模型。
密钥传送消息KDM是电影版权保护的关键技术,本文提出的基于SM2/SM3算法的KDM制作模型,易于实现,能够在现有国际通用模型的基础上实现平滑过渡,为电影领域安全自主可控提供了技术参考。
本文通过将国密算法SM2/SM3应用于KDM中,对于普及国产加密算法,保护电影内容安全具有重要意义。
参考文献
(向下滑动阅读)
[1]林子康. 基于国密算法的通讯加密系统研究及应用[D].广东工业大学,2018.
[2] 杨春雷.国密算法在国库信息系统中的应用研究[J].金融科技时代,2021,29(07):53-57.
[3] 黎水林,陈广勇,柳盈,等. 商用密码在政府网站中的应用研究[A]. 公安部第三研究所、江苏省公安厅、无锡市公安局.2019中国网络安全等级保护和关键信息基础设施保护大会论文集[C].公安部第三研究所、江苏省公安厅、无锡市公安局:《信息网络安全》北京编辑部,2019:4.
[4] 苏彬庭,陈明志,许力,等.国密算法在工业互联网安全中的应用研究[J].信息技术与网络安全,2021,40(03):28-31.
[5] 王良田.数据存储及码流数据传输中的国密算法安全应用[J].电子世界,2019(02):160+163.
[6] 刘思宇,耿子烨.基于商用密码算法的二维码验票系统的研究[J].数码世界,2017(05):32-34.
[7] 陈平,苏逸飞,黄钊,等.基于SM2算法的电子病历商用密码的设计和应用[J].中国医疗设备,2014,29(12):43-45+49.
[8] 邹喜,张晶,田雪冰.国密算法在ChinaDRM系统中的运用[J].广播电视信息,2017(10):151-155.
[9] 刘梦雨,尚文倩,林卫国.基于国密的多媒体版权保护与监管体系研究[J].广播电视信息,2018(S1):10-13.
[10] 黄大池,刘海章.国密算法在应急广播村村响系统中的应用[J].西部广播电视,2020(02):180-181+223.
[11] 王木旺,王萃,季平.数字电影的KDM再封装方法研究[J].现代电视技术,2012(06):128-131.
[12] 张鑫.基于Hadoop的KDM并行化制作研究与实现[J].现代电影技术,2017(02):4-7.
[13] 王木旺.集群负载均衡在KDM取票业务中的研究和应用[J].现代电影技术,2016(11):18-22.
[14] 汪朝晖,张振峰.SM2椭圆曲线公钥密码算法综述[J].信息安全研究,2016,2(11):972-982.
主管单位:国家电影局
主办单位:电影技术质量检测所
刊号:CN11-5336/TB
标准国际刊号:ISSN 1673-3215
官方网站:www.crifst.ac.cn
期刊发行:010-63245082
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.