《GY∕T 333-2020 视音频内容分发数字版权管理 有线数字电视数字版权管理系统集成(广播电影电视).pdf》由会员分享,可在线阅读,更多相关《GY∕T 333-2020 视音频内容分发数字版权管理 有线数字电视数字版权管理系统集成(广播电影电视).pdf(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 GY 中华人民共和国广播电视和网络视听行业标准 GY/T 3332020 视音频内容分发数字版权管理 有线数字电视数字版权管理系统集成 Digital rights management for video audio content distribution Digital rights management system integration for digital cable television 2020-11-09 发布 2020-11-09 实施 国家广播电视总局 发 布 GY/T 3332020 I 目 次 前言.II 1 范围.1 2 规范性引用文件.1 3 缩略语.1 4
2、 集成框架.2 5 授权机制.3 5.1 直播授权机制.3 5.2 点播授权机制.3 6 内容加密.3 6.1 内容加密方法.3 6.2 内容使用规则.4 6.3 点播加密接口.4 7 密钥管理.8 7.1 直播密钥管理.8 7.2 点播密钥管理.12 8 内容授权.18 8.1 概述.18 8.2 直播频道授权.18 8.3 点播内容授权.22 9 终端集成.25 9.1 终端集成方法.25 9.2 DRM 客户端证书置入方法.25 9.3 DRM 客户端升级改造.26 附录 A(规范性)DRM 客户端证书置入接口 API.27 A.1 DRM 客户端证书离线烧写接口.27 A.2 DRM
3、客户端运行环境接口扩展.27 GY/T 3332020 II 前 言 本文件按照GB/T 1.12020标准化工作导则 第1部分:标准化文件的结构和起草规则的规定起草。请注意本文件的某些内容可能涉及专利。本文件发布机构不承担识别这些专利的责任。本文件由全国广播电影电视标准化技术委员会(SAC/TC 239)归口。本文件起草单位:国家广播电视总局广播电视科学研究院、中央广播电视总台、华数数字电视传媒集团有限公司、上海海思技术有限公司、阿里巴巴(中国)有限公司、北京数码视讯科技有限公司、北京江南天安科技有限公司、北京数字太和科技有限责任公司、北京永新视博数字电视技术有限公司、北京安视网信息技术有限
4、公司、中国传媒大学、英特尔(中国)有限公司。本文件主要起草人:丁文华、郭沛宇、王磊、陈靓、邵淇锋、戴金晶、梁志坚、吴迪、赵鹏、郑黎方、赵云辉、马吉伟、刘琦、汪沛、张晶、田雪冰、刘好伟、张鹏、林卫国、隋爱娜、尚文倩、周菁、曹建香、梅雪莲、张智军、沈阳、姜涛。GY/T 3332020 1 视音频内容分发数字版权管理 有线数字电视数字版权管理 系统集成 1 范围 本文件规定了有线数字电视DRM系统集成框架、内容加密、密钥管理、内容授权及终端集成等核心机制与接口协议。本文件适用于有线数字电视DRM系统集成部署与实施。2 规范性引用文件 下下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。
5、其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GY/T 2772019 视音频内容分发数字版权管理技术规范 ISO/IEC 23000-19:2018 信息技术 多媒体应用格式(MPEG-A)第19部分:分片媒体的通用媒体应用格式(CMAF)(Information technologyMultimedia application format(MPEG-A)Part 19:Common media application format(CMAF)for segmented media)3 缩略语 下列缩略语适用于本文件
6、。API 应用程序接口(Application Programming Interface)CBC 密码分组链接(Cipher Block Chain)CEI 内容加密信息(Content Encryption Information)ChinaDRM 中国数字版权管理(China Digital Rights Management)DASH 用HTTP协议传输的动态自适应流媒体协议(Dynamic Adaptive Streaming over HTTP)DRM 数字版权管理(Digital Rights Management)FTP 文件传输协议(File Transfer Protoco
7、l)HLS 基于HTTP的实时流媒体协议(Http Live Streaming)HTTP 超文本传输协议(Hyper Text Transport Protocol)ID 唯一标识(Identifier)JSON JS对象简谱(JavaScript Object Notation)MPD 媒体展现描述(Media Presentation Description)NFS 网络文件系统(Network File System)OTP 一次性可编程(One Time Programmable)PGP 优良保密协议(Pretty Good Privacy)PMT 节目映射表(Program Map
8、ping Table)REE 富执行环境(Rich Execution Environment)GY/T 3332020 2 TA 可信应用(Trusted Application)TEE 可信执行环境(Trusted Execution Environment)TS 传送流(Transport Stream)URI 通用资源标识符(Uniform Resource Identifier)URL 统一资源定位符(Uniform Resource Locator)uimsbf 无符号整数,高有效位优先(unsigned integer,most significant bit first)4 集
9、成框架 有线数字电视DRM系统用于保护IP双向有线数字电视直播和点播内容版权,确保数字电视内容通过双向IP有线网络分发到终端播放、输出全流程的安全。有线数字电视DRM系统应符合GY/T 2772019的相关规定,包括DRM服务端系统和DRM客户端。DRM服务端系统应包括直播加密、点播加密、直播密钥管理、点播密钥管理、密钥网关、内容授权等核心子系统,通过直播加密、点播加密、内容授权与有线数字电视运营系统的协同实现有线数字电视DRM系统的服务端集成,直播加密后的直播内容通过直播内容分发发送到机顶盒等智能终端,点播加密后的内容通过点播内容分发发送到机顶盒等智能终端,通过在机顶盒等智能终端中集成DRM
10、客户端功能,实现IP双向有线数字电视直播和点播内容版权的端到端保护。有线数字电视DRM系统集成框架如图1所示。密钥网关内容授权直播加密直播频道管理直播密钥管理认证鉴权计费DRM客户端数字电视终端视频播放应用点播加密点播密钥管理点播内容管理点播内容分发直播内容分发IP双向有线数字电视网络DRMDRM服务端服务端运营支撑系统运营支撑系统 图1 有线数字电视 DRM 系统集成框架 直播加密和点播加密从对应的直播密钥管理和点播密钥管理请求内容加密密钥进行内容加密;直播密钥管理和点播密钥管理将内容加密密钥同步到密钥网关;密钥网关为内容授权提供全部直播频道和点播内容的内容加密密钥查询。终端视频播放应用调用
11、DRM客户端生成内容授权许可证请求,从内容授权申请内容授权许可证,根据获得的内容授权许可证进行内容的解密播放。GY/T 3332020 3 运营系统的频道管理实现对直播加密的配置,点播内容管理实现对点播加密的配置。内容授权接收到内容授权申请时,从运营系统查询该申请的认证鉴权计费结果,依据认证鉴权计费返回的结果判断是否生成内容授权许可证给终端。5 授权机制 5.1 直播授权机制 直播加密按照配置的加密模式和密钥更新频率进行直播内容加密。直播内容加密密钥来自于密钥管理。密钥管理应为直播加密生成当前内容加密密钥和下一内容加密密钥,在发送给直播加密的同时,同步到密钥网关。直播加密按照配置的密钥更新频率
12、进行密钥的更新,当内容加密密钥到期时,切换到下一内容加密密钥,并从密钥管理申请新的内容加密密钥;密钥管理每次都将当前加密密钥、下一加密密钥发送给直播加密,并同步直播加密密钥到密钥网关。终端设备根据直播频道标识申请直播内容授权许可证,内容授权接收到申请后从认证鉴权计费查询设备播放权限,依据直播频道标识从密钥网关查询直播加密密钥,如果终端设备具备播放权限,则将该频道的当前内容加密密钥和下一内容加密密钥封装到直播内容授权许可证中发送给终端。终端设备根据内容授权许可证进行直播内容解密播放,在直播播放过程中发现CEI信息中发生密钥更新时,应检查本地是否存储有相应的内容加密密钥,如未发现本地有相应密钥,则
13、启动新的直播内容授权许可申请。5.2 点播授权机制 点播内容管理维护点播内容加密模式、加密内容唯一标识、加密内容URL等信息,通过向内容加密系统下达加密任务实现内容的加密。内容加密完成后,通过点播内容分发系统进行分发。内容加密密钥都同步到密钥网关,内容授权在接收到终端点播内容授权许可证请求后,通过认证鉴权计费系统查询终端的播放许可,从密钥网关查询内容加密密钥,封装成内容授权许可证发给终端。终端设备的DRM客户端通过内容授权许可证按照密钥使用规则进行内容的解密播放。6 内容加密 6.1 内容加密方法 6.1.1 直播加密方法 直播加密包括本地加密和第三方加密两种。第三方加密的情况下,第三方机构的
14、密钥管理将直播频道内容加密密钥同步到运营机构的密钥网关。直播加密从密钥管理申请直播内容加密密钥进行直播频道内容加密。在实际部署时,直播加密可作为独立的设备部署,也可做为直播编转码设备中的一个功能模块进行部署。直播内容加密应按照GY/T 2772019中6.2的方法对直播内容基本码流进行加密,在基本码流的扩展数据中增加内容加密信息CEI,在数字电视传输流的PMT表中增加ChinaDRM描述子。CEI语法见GY/T 2772019中表1,ChinaDRM描述子见GY/T 2772019中表3,ChinaDRM描述子中的DRM_data_bytes应包含直播频道标识。GY/T 3332020 4 直
15、播加密应配置直播频道标识、直播加密模式、直播密钥更新频率、密钥管理URL等配置信息。直播加密应按8.1.2规定的直播加密密钥请求接口从密钥管理请求直播内容加密密钥。直播加密应具备加密控制接口,通过加密控制接口控制节目是否加密。当接收到不加密的控制消息时,应将ChinaDRM描述子中的视频加密模式变更为NONE,将CEI中的encryption_flag设置为0,即后续内容不加密。终端设备在解密过程中,发现ChinaDRM描述子中的视频加密模式为NONE将不检查更新内容授权许可证,发现CEI中的encryption_flag设置为0,将后续数据不解密直接送到解码模块。6.1.2 点播加密方法 点
16、播采用TS分发内容时,内容加密应按照GY/T 2772019中6.2的方法对基本码流加密。点播采用HLS分发内容时,内容加密封装采用TS文件格式,支持H.264、H.265、AVS+、AVS2等视频编码。内容加密可采用全加密模式或部分加密模式,内容加密算法应采用SM4算法,加密模式应采用CBC模式。加密内容的基本码流中包含CEI数据,CEI数据中包含内容加密密钥唯一标识和初始向量。M3U8文件中包含#EXT-X-KEY,其METHOD属性应为SM4-CBC或SAMPLE-SM4,VIDEOFORMAT应为实际的编码内容格式,URI中包含该内容授权许可证获取URL。点播采用DASH分发内容时,M
17、PD文件的规定见GY/T 2772019中6.3.2,内容加密应遵循GY/T 2772019中6.3.3的规定。点播采用ISO/IEC 23000-19:2018分发内容时,内容加密应遵循GY/T 2772019中6.3.3的规定。6.2 内容使用规则 内容使用规则设置在频道管理或点播内容管理中,频道管理通过设置直播加密将内容使用规则设置到直播加密中,由直播加密在请求直播加密密钥时发送给直播密钥管理,点播内容管理在向点播内容加密发送加密任务时需要携带内容使用规则,由点播加密在请求点播内容加密密钥时发送给点播密钥管理。密钥管理通过密钥同步消息将内容使用规则同步到密钥网关;客户端申请内容授权许可证
18、时,密钥网关将内容使用规则封装在内容授权的密钥查询响应消息中发送给内容授权,由内容授权将其转换为密钥使用规则封装到内容授权许可证中发送给DRM客户端。内容使用规则包括输出规则和客户端安全等级规则等,编码规定见GY/T 2772019中表15、表16的密钥使用规则,语法格式见表1。表1 内容使用规则语法格式 字段 比特数 类型 描述 KeyRulesNum 8 密钥使用规则数量 for(i=0;iKeyRulesNum;i+)KeyRuleType 8 uimsbf 密钥使用规则类型 KeyRuleLen 8 uimsbf 密钥使用规则长度 KeyRuleData L uimsbf 密钥使用规则
19、数据 6.3 点播加密接口 6.3.1 概述 GY/T 3332020 5 点播内容管理通过点播加密接口与点播内容加密通信,实现对点播内容的加密。点播加密接口包括:添加加密任务、查询任务状态、删除加密任务等,通信协议采用HTTP/HTTPS协议,POST(JSON)接口。6.3.2 添加加密任务 添加加密任务由内容管理系统发起,URI示例为:https:/:/add_vod_enc_task。添加加密任务的JSON消息数据见表2。表2 添加加密任务的 JSON 消息数据 JSON 键 值类型 必选/可选 contentID string 必选 cotentEncMode string 必选 c
20、ontentRules base64_string 必选 fileFormat string 必选 videoFormat string 必选 audioFormat string 必选 sourceFilePath string 必选 desFilePath string 必选 responseURL string 可选 contentID:内容唯一标识。contentEncMode:视频加密模式,“SM4-CBC”为全加密模式,“SAMPLE-SM4-CBC”为部分加密模式。contentRules:内容使用规则,按照表1编码,采用BASE64编码格式编码传输,见表1。fileFormat
21、:文件封装格式,包括:“TS”、“MP4”、“HLS”、“DASH”等。videoFormat:视频编码格式,包括:“H264”、“H265”、“AVS+”、“AVS2”等。audioFormat:音频编码格式。sourceFilePath、desFilePath:待加密内容路径和加密后内容路径,应支持HTTP、FTP、NFS等路径格式。responseURL:内容加密任务反馈加密结果消息的 URI,示例为:https:/:/response_addtask。添加加密任务的JSON消息示例如下:contentID:string,contentEncMode:SM4-CBC,contentRul
22、es:base64_string,fileFormat:string,videoFormat:H264,audioFormat:AC3,sourceFilePath:string,desFilePath:string,responseURL:string GY/T 3332020 6 添加加密任务的内容加密系统响应消息见表3。表3 添加加密任务的内容加密系统响应消息 消息内容项 消息内容项描述 响应状态码 200 响应数据 code:000,/返回代码,000 为成功,其他待定义 details:error message code 字段定义 000 正常情况 101 参数错误 301 系统异
23、常 6.3.3 查询任务状态 查询加密任务由内容管理系统发起,URI示例为:https:/:/req_vod_enc_task。查询加密任务的JSON消息数据见表4。表4 查询加密任务的 JSON 消息数据 JSON 键 值类型 必选/可选 contentID string 可选 reqMode string 必选 page number 必选 pageSize number 必选 contentID:内容唯一标识,可选,如无该字段则默认为获取所有的加密任务状态信息。reqMode:指定要获取哪些任务的状态,包括:加密中“encrpting”、排队中“waiting”、已完成等待反馈“fini
24、shed”、失败等待反馈“failed”、全部“all”。page:标识当前要获取哪一页的结果。pageSize:标识每页有多少条查询结果。查询加密任务的JSON消息示例如下:contentID:string,reqMode:string,page:0,pageSize:20 查询加密任务的响应状态码为200,响应消息见表5。GY/T 3332020 7 表5 查询加密任务状态响应消息 JSON 键 值类型 必选/可选 code string 必选 details string 必选 count number 必选 startNum number 必选 page number 必选 pageS
25、ize number 必选 values string 必选 code:返回状态代码,000正常、101参数异常、301系统异常。details:详细的状态描述信息。count:查询到的任务总数量。startNum:当前页起始任务序号。page:当前页码。pageSize:当前页数据数量。values:查询到的结果数据,数据描述见表6。表6 查询结果数据数据描述 JSON 键 值类型 必选/可选 contentID string 必选 sourceFilePath string 必选 desFilePath string 必选 responseURL string 必选 status stri
26、ng 必选 process number 必选 contentID:内容管理系统中内容唯一标识。sourceFilePath、desFilePath:待加密内容路径和加密后内容路径,应支持HTTP、FTP、NFS等路径格式。responseURL:内容加密任务反馈加密结果消息的 URI,示例为:https:/:/response_addtask。status:任务状态。包括:加密中“encrpting”、排队中“waiting”、已完成等待反馈“finished”、失败等待反馈“failed”、全部“all”。process:任务完成的百分比。查询任务状态消息示例如下:code:000,cou
27、nt:100,startNum:20,page:1,GY/T 3332020 8 pageSize:20,values:contentID:string,sourceFilePath:string,desFilePath:string,responseURL:string,status:string,process:90,6.3.4 删除加密任务 删除加密任务由内容管理系统发起,URI示例为:https:/:/del_vod_enc_task。删除加密任务的JSON消息数据见7表。表7 删除加密任务的 JSON 消息数据 JSON 键 值类型 必选/可选 contentID string 必选
28、 type string 必选 contentID:内容管理系统中内容唯一标识。type:默认为“del”,删除该任务;如果为“notified”表示加密机中处于finish/failed状态的任务收到notify通知,则认为媒资管理平台已收到加密任务的反馈,将会删除该任务信息。删除加密任务的响应消息见表8。表8 删除加密任务的响应消息 消息内容项 消息内容项描述 响应状态码 200 响应数据 code:000,/错误代码,000 为成功,其他待定义 details:error message Code 101 参数异常 201 媒资不存在 202 操作失败(删除失败)301 系统异常 7 密
29、钥管理 7.1 直播密钥管理 GY/T 3332020 9 7.1.1 概述 直播密钥管理为直播加密生成直播加密密钥,并负责将直播加密密钥同步到密钥网关。直播密钥管理通过直播内容加密密钥请求协议接收直播加密的密钥请求,为直播加密生成直播加密密钥,并同步到密钥网关,完成密钥同步后将直播内容加密密钥发送给直播加密。7.1.2 直播内容加密密钥请求协议 7.1.2.1 直播内容加密密钥请求 直播内容加密密钥请求消息由直播加密发起,密钥管理验证并响应,直播内容加密密钥请求消息包括:版本号、直播加密唯一标识、随机数、直播频道唯一标识、直播加密模式、密钥更新方式、密钥更新频率、直播加密证书链、数字签名。直
30、播内容加密密钥请求消息见表9。表9 直播内容加密密钥请求消息 JSON 键 值类型 必选/可选 type string 必选 version string 必选 liveEncID base64_string 必选 nonce base64_string 必选 selectedAlgorithm string 必选 contentID base64_string 必选 contentEncMode string 必选 cekUpdateMode string 必选 cekUpdateFreq string 必选 contentRules base64_string 必选 extensions
31、对象数组 可选 certificateChain base64_string 数组 必选 signature base64_string 必选 type:消息类型,固定为“liveKeyRequest”。version:当前消息协议版本号。当前版本Version默认为“1.0”。liveEncID:直播加密唯一标识。nonce:消息发送方产生的nonce,应由随机数生成器生成。selectedAlgorithm:固定为“KMSProfile1”。contentID:直播频道标识符。contentEncMode:直播内容加密模式。“SM4-CBC”为全加密模式,“SAMPLE-SM4-CBC”为
32、部分加密模式。cekUpdateMode:直播内容加密密钥的更新方式,周期“period”或者固定每日某个时间点“fixed”。cekUpdateFreq:直播内容加密密钥更新频率。如果更新方式为周期,使用十进制字符串,单位为秒(s),比如“60”表示60s;如果变换方式为fixed,使用“12:00:00”,表示12点0分0秒。contentRules:内容使用规则,见表1。extensions:可选的厂商自定义扩展信息,本文件不做规定。certificateChain:直播加密证书链,该证书链不包括根证书。GY/T 3332020 10 signature:消息的签名。直播内容加密密钥请求
33、消息编码格式如下:type:liveKeyRequest,version:1.0,liveEncID:base64_string,nonce:base64_string,selectedAlgorithm:string,contentID:base64_string,contentEncMode:string,contentEncAlgorithm:string,cekUpdateMode:string,cekUpdateFreq:string,contentRules:base64_string,extensions:,certificateChain:base64_string,base6
34、4_string,signature:base64_string 7.1.2.2 直播内容加密密钥响应 直播内容加密密钥响应消息包括:版本号、密钥管理唯一标识、随机数、直播频道标识、状态信息、会话密钥、当前密钥ID、加密后的当前密钥、下一密钥ID、加密后的下一密钥、密钥管理证书链、数字签名。直播内容加密密钥响应消息见表10。表10 直播内容加密密钥响应消息 JSON 键 值类型 必选/可选 type string 必选 version string 必选 kmsID base64_string 必选 nonce base64_string 必选 status string 必选 selecte
35、dAlgorithm string status=“success”时必选 cekInfo 对象 status=“success”时必选 contentID base64_string status=“success”时必选 sessionKeyID base64_string status=“success”时必选 encSessionKey base64_string status=“success”时必选 encCEKs 对象数组 status=“success”时必选 cekID base64_string status=“success”时必选 encCEK base64_strin
36、g status=“success”时必选 extensions 对象数组 可选 certificateChain base64_string 数组 必选 signature base64_string 必选 GY/T 3332020 11 type:消息类型,固定为“liveKeyResponse”。version:当前消息协议版本号。当前版本Version默认为“1.0”。kmsID:密钥管理唯一标识。nonce:消息发送方产生的nonce,应与直播内容加密密钥请求消息的nonce一致。status:反馈的状态信息,包括:请求成功、直播加密证书不合法、未知错误等,见表11。selected
37、Algorithm:固定为“KMSProfile1”。表11 直播内容加密密钥响应状态信息 状态值 状态描述 success 查询成功 deviceCertInvalid DRM 客户端证书不合法 liveEncCertInvalid 内容授权证书不合法 signatureInvalid 密钥同步请求消息数字签名不正确 unknownError 未知错误 cekInfo:内容加密密钥对象。contentID:直播频道标识符。sessionKeyID:会话密钥标识符。encSessionKey:会话密钥为直播加密公钥加密的随机密钥。encCEKs:内容加密密钥数组,包括了当前密钥和下一密钥。ce
38、kID:内容加密密钥标识符。encCEK:内容加密密钥为会话密钥加密的内容加密密钥。extensions:可选的厂商自定义扩展信息,本文件不做规定。certificateChain:密钥管理证书链,该证书链不包括根证书。signature:消息的签名。直播内容加密密钥响应消息编码格式如下:type:liveKeyResponse,version:1.0,kmsID:base64_string,nonce:base64_string,status:string,selectedAlgorithm:string,cekInfo:contentID:base64_string,sessionKeyI
39、D:base64_string,encSessionKey:base64_string,encCEKs:cekID:base64_string,GY/T 3332020 12 encCEK:base64_string,extensions:,certificateChain:base64_string,base64_string,signature:base64_string 7.1.3 直播内容加密密钥同步协议 直播内容加密密钥同步协议见GY/T 2772019中9.2。7.2 点播密钥管理 7.2.1 概述 点播内容加密密钥申请由内容加密系统发起向密钥管理系统申请内容加密密钥,密钥管理系统
40、为内容加密系统生成符合要求的内容加密密钥,并将内容加密密钥同步到密钥网关,同步成功后将内容加密密钥返回给内容加密系统。内容加密成功后通过点播内容加密处理消息通知密钥管理;如果内容加密失败,需要从密钥管理重新申请内容加密密钥时,密钥管理将其保存的该内容加密密钥返回给内容加密系统。如果内容管理系统通知内容加密系统某个内容需要删除,内容加密系统需要通过点播内容加密处理消息通知密钥管理系统删除该内容加密密钥,密钥管理系统接收到处理申请后应通知密钥网关删除该内容加密密钥,同时在本地删除该密钥,将处理结果返回给内容加密系统。7.2.2 点播内容加密密钥申请 7.2.2.1 概述 点播内容加密密钥申请由内容
41、加密系统发起向密钥管理系统申请内容加密密钥,密钥管理系统为内容加密系统生成符合要求的内容加密密钥返回给内容加密系统。点播内容加密密钥申请包括点播内容加密密钥请求消息、点播内容加密密钥响应消息。7.2.2.2 点播内容加密密钥请求 点播内容加密密钥请求消息由内容加密系统发起,密钥管理验证并响应,点播内容加密密钥请求消息包括:版本号、内容加密系统唯一标识、随机数、内容唯一标识、内容加密模式、内容加密系统证书链、数字签名。点播内容加密密钥请求消息见表12。表12 点播内容加密密钥请求消息 JSON 键 值类型 必选/可选 type string 必选 version string 必选 conten
42、tEncID base64_string 必选 nonce base64_string 必选 selectedAlgorithm string 必选 contentID base64_string 必选 contentEncMode string 必选 GY/T 3332020 13 表 12(续)JSON 键 值类型 必选/可选 contentRules base64_string 必选 extensions 对象数组 certificateChain base64_string 数组 必选 signature base64_string 必选 type:消息类型,固定为“cekReques
43、t”。version:当前消息协议版本号。当前版本Version默认为“1.0”。contentEncID:内容加密系统唯一标识。nonce:消息发送方产生的nonce,应由随机数生成器生成。selectedAlgorithm:固定为“KMSProfile1”。contentID:内容唯一标识。contentEncMode:内容加密模式。“SM4-CBC”为全加密模式,“SAMPLE-SM4-CBC”为部分加密模式。contentRules:内容使用规则,见表1。extensions:可选的厂商自定义扩展信息,本文件不做规定。certificateChain:内容加密系统证书链,该证书链不包括
44、根证书。signature:消息的签名。点播内容加密密钥请求消息编码格式如下:type:cekRequest,version:1.0,contentEncID:base64_string,nonce:base64_string,selectedAlgorithm:string,contentID:base64_string,contentEncMode:string,contentRules:string,extensions:,certificateChain:base64_string,base64_string,signature:base64_string 7.2.2.3 点播内容加密
45、密钥响应 点播内容加密密钥响应消息包括:版本号、密钥管理系统唯一标识、随机数、内容唯一标识、状态信息、会话密钥、内容加密密钥唯一标识、加密后的内容加密密钥、密钥管理系统证书链、数字签名。点播内容加密密钥响应消息见表13。GY/T 3332020 14 表13 点播内容加密密钥响应消息 JSON 键 值类型 必选/可选 type string 必选 version string 必选 kmsID base64_string 必选 nonce base64_string 必选 status string 必选 selectedAlgorithm string status=“success”时必选
46、 cekInfo 对象 status=“success”时必选 contentID base64_string status=“success”时必选 sessionKeyID base64_string status=“success”时必选 encSessionKey base64_string status=“success”时必选 encCEKs 对象数组 status=“success”时必选 cekID base64_string status=“success”时必选 encCEK base64_string status=“success”时必选 certificateChai
47、n base64_string 数组 必选 signature base64_string 必选 type:消息类型,固定为“cekResponse”。version:当前消息协议版本号。当前版本Version默认为“1.0”。kmsID:密钥管理唯一标识。nonce:消息发送方产生的nonce,应与点播内容加密密钥请求消息的nonce一致。status:反馈的状态信息,包括:请求成功、证书不合法、签名错误、未知错误等,见表14。selectedAlgorithm:固定为“KMSProfile1”。表14 点播内容加密密钥响应状态信息 状态值 状态描述 success 请求成功 doNotSu
48、pportSelectedAlgorithm 不支持请求的算法 contentIDInvalid 内容 ID 重复 contentEncCertInvalid 内容加密系统证书不合法 signatureInvalid 消息数字签名不正确 unknownError 未知错误 cekInfo:内容加密密钥对象。contentID:内容唯一标识。sessionKeyID:会话密钥唯一标识。encSessionKey:会话密钥为内容加密系统公钥加密的随机密钥。encCEKs:内容加密密钥数组。cekID:内容加密密钥标识符。encCEK:内容加密密钥为会话密钥加密的内容加密密钥。GY/T 333202
49、0 15 certificateChain:密钥管理证书链,该证书链不包括根证书。signature:消息的签名。点播内容加密密钥响应消息编码格式如下:type:cekResponse,version:1.0,kmsID:base64_string,nonce:base64_string,status:string,selectedAlgorithm:string,cekInfos:contentID:base64_string,sessionKeyID:base64_string,encSessionKey:base64_string,encCEKs:cekID:base64_string,
50、encCEK:base64_string,certificateChain:base64_string,base64_string,signature:base64_string 7.2.3 点播内容加密处理 7.2.3.1 概述 点播内容加密处理是指内容加密系统通知密钥管理系统内容加密已完成或内容加密密钥需要删除等。点播内容加密处理包括点播内容加密密钥处理请求和点播内容加密密钥处理响应。7.2.3.2 点播内容加密处理请求 点播内容加密处理请求消息由内容加密系统发送到密钥管理系统,包括:版本号、内容加密系统唯一标识、随机数、内容唯一标识、内容加密模式、内容加密系统证书链、数字签名。点播内容加