媒体内容的数字版权管理方法、DRM客户端和服务端与流程

文档序号:11216336阅读:356来源:国知局
媒体内容的数字版权管理方法、DRM客户端和服务端与流程

本发明涉及数字版权管理(drm)技术,更具体地,涉及媒体内容的数字版权管理(drm)方法、drm客户端、drm服务端、终端设备、以及drm服务器。



背景技术:

当前,智能电视等智能设备已经走进千家万户,日益成为用户日常获取音视频资料和文件资料等媒体内容的重要方式。国际上以好莱坞为首的内容提供商正在积极部署4k超高清媒体内容的运营,日本nhk电视台甚至已经实现了8k内容编码与显示设备的产业化,国内的主流内容提供商央视、江苏电视台等都在积极的部署超高清媒体内容的制播与运营,江苏台的跨年晚会已采用超高清的方式进行了直播,超高清媒体内容运营的时代已经到来。超高清媒体内容的制作成本高、价值高,被视为媒体产业的下一个增长点,国内主流内容提供商以及好莱坞等对于超高清媒体内容的保护也格外的重视,超高清媒体内容运营对版权保护的需求更高,需要频繁的更换内容保护算法以提高安全性,迫切需要对现有的内容保护技术进行升级迭代,为构建健康的超高清媒体内容生态提供技术支撑与保障。

现有的数字版权管理技术(drm,digitalrightsmanagement),通常对数字媒体内容进行加密封装,根据运营商设定的商业规则将内容加密密钥以及drm权限(例如内容授权许可和限制条件)等信息按照一定的语法封装成内容授权许可证,通过终端设备的drm客户端与drm服务端的交互将内容授权许可证发送给drm客户端,drm客户端根据内容授权许可证中的许可与限制条件规定的规则进行内容的解密播放。

但现有drm技术体系不能够针对媒体内容设定个性化的内容加密算法、授权规则等,导致对媒体内容的保护程度不高。现有drm技术中,如 果需要对内容加密算法、授权规则等进行修改,需要同时对drm服务端系统和drm客户端系统进行整体升级才能实现,不能够根据商业运营的需求和安全需求灵活地、实时地改变内容加密算法、授权规则等,这不利于对媒体内容的高强度安全保护。

在基于可信执行环境的情况下,drm客户端的解密解码等核心功能都要在可信执行环境中运行,如果对drm客户端进行升级,则需要同时对整个可信执行环境也进行升级,这有可能影响到可信执行环境中其它非drm功能的正常使用。

另外,现有内容授权许可证的许可与限制条件解析并执行的方式,对drm客户端的约束力差,容易出现执行漏洞,例如出现drm客户端没有按照许可和限制条件的要求去解密和播放内容等漏洞。



技术实现要素:

本发明的一个目的是提供一种数字版权管理的新的技术方案,至少能够解决上述技术问题之一。

根据本发明的第一方面,提供了一种媒体内容的数字版权管理(drm)方法,实施于安装了drm客户端的终端设备中,包括以下步骤:

步骤1:所述drm客户端接收所述终端设备的媒体应用的调用请求,从中获取待播放的媒体内容的唯一标识;

步骤2:所述drm客户端向drm服务端发送drm授权请求以获取内容授权执行单元,所述drm授权请求中包含所述媒体内容的标识和所述drm客户端的基本信息;

其中,所述内容授权执行单元是由所述drm服务端根据所述drm授权请求查询获得所述媒体内容采用的内容加密算法和内容加密密钥、以及所述drm客户端对所述媒体内容的drm权限,再根据所述媒体内容的标识、所述媒体内容采用的内容加密算法和内容加密密钥、所述drm客户端的基本信息、以及所述drm客户端对所述媒体内容的drm权限生成;

步骤3:所述drm客户端在drm客户端运行环境中运行所述内容授权执行单元,通过所述内容授权执行单元验证终端运行环境是否符合所述 drm客户端对所述媒体内容的drm权限,如果符合则根据所述内容加密算法和内容加密密钥解密所述媒体内容。

优选地,所述内容授权执行单元是由所述drm服务端进行签名后再下发给所述drm客户端;所述drm客户端获取所述内容授权执行单元后,先对所述内容授权执行单元的签名进行校验,校验通过后再运行所述内容授权执行单元。

优选地,在所述步骤2中,所述drm客户端在drm客户端运行环境中运行通信执行单元,通过所述通信执行单元向所述drm服务端发送所述drm授权请求。

优选地,在所述步骤1和所述步骤2之间,还包括获取所述通信执行单元的步骤:所述drm客户端向所述drm服务端发送对通信执行单元的请求以获取所述通信执行单元,所述对通信执行单元的请求中包含所述drm客户端的基本信息;所述通信执行单元是由所述drm服务端根据所述drm客户端的基本信息生成。

优选地,所述通信执行单元是由所述drm服务端进行签名后再下发给所述drm客户端;所述drm客户端获取所述通信执行单元后,先对所述通信执行单元的签名进行校验,校验通过后再运行所述通信执行单元。

优选地,所述drm客户端对所述媒体内容的drm权限包括播放所述媒体内容时必须校验所述媒体内容的数字水印;所述内容授权执行单元通知所述drm客户端运行数字水印执行单元,所述drm客户端在drm客户端运行环境中运行所述数字水印执行单元,通过所述数字水印执行单元在所述媒体内容的播放过程中校验所述媒体内容中嵌入的数字水印,如果校验不通过则停止播放所述媒体内容;其中,所述数字水印单元是由所述drm客户端根据所述通知,向所述drm服务端请求所述媒体内容对应的数字水印单元而获得。

优选地,所述媒体内容的数字水印含有所述媒体内容的内容提供方对所述媒体内容的播放环境的限制要求的信息;所述数字水印执行单元在所述媒体内容的播放过程中判断终端运行环境是否符合所述媒体内容的内容提供方对所述媒体内容的播放环境的限制要求,如果不符合则停止播放所 述媒体内容。

优选地,所述drm客户端对所述媒体内容的drm权限包括播放所述媒体内容时必须嵌入用于追踪所述媒体内容的数字水印;所述内容授权执行单元通知所述drm客户端运行数字水印执行单元,所述drm客户端在drm客户端运行环境中运行所述数字水印执行单元,通过所述数字水印执行单元在所述媒体内容的播放过程中嵌入用于追踪所述媒体内容的数字水印;其中,所述数字水印单元是由所述drm客户端根据所述通知,向所述drm服务端请求所述媒体内容对应的数字水印单元而获得。

优选地,所述数字水印执行单元是由所述drm服务端进行签名后再下发给所述drm客户端;所述drm客户端获取所述数字水印执行单元后,先对所述数字水印执行单元的签名进行校验,校验通过后再运行所述数字水印执行单元。

优选地,所述drm客户端运行环境包括执行单元引擎和终端操作系统适配模块;所述drm客户端通过所述执行单元引擎运行执行单元,以及通过所述终端操作系统适配模块将所述执行单元引擎适配到终端操作系统上。

优选地,所述执行单元引擎为执行单元的运行提供内存管理接口、外部存储管理接口、网络管理接口、密码算法接口、播放控制接口、以及输出控制接口;所述drm客户端通过所述终端操作系统适配模块将所述执行单元引擎的内存管理接口、外部存储管理接口、网络管理接口、密码算法接口、播放控制接口、以及输出控制接口适配到终端操作系统的相应接口上。

优选地,所述drm客户端运行环境还包括执行单元调度管理模块;所述drm客户端通过所述执行单元调度管理模块调度、管理各个执行单元,包括将执行单元调度到执行单元引擎中运行,以及增加、删除、更新执行单元。

根据本发明的第二方面,提供了一种媒体内容的数字版权管理(drm)方法,实施于drm服务端中,包括以下步骤:

步骤1:所述drm服务端接收drm客户端发送的drm授权请求,所述drm授权请求中包含所述媒体内容的唯一标识和所述drm客户端的基本信息;

步骤2:所述drm服务端根据所述drm授权请求查询获得所述媒体内容采用的内容加密算法和内容加密密钥、以及所述drm客户端对所述媒体内容的drm权限;

步骤3:所述drm服务端根据所述媒体内容的标识、所述媒体内容采用的内容加密算法和内容加密密钥、所述drm客户端的基本信息、以及所述drm客户端对所述媒体内容的drm权限生成内容授权执行单元;其中,所述内容授权执行单元被配置为用于在drm客户端运行环境中运行以验证drm客户端所在终端设备的终端运行环境是否符合所述drm客户端对所述媒体内容的drm权限,以及如果符合则根据所述内容加密算法和内容加密密钥解密所述媒体内容;

步骤4:所述drm服务端将生成的内容授权执行单元下发给所述drm客户端。

优选地,在所述步骤3和步骤4之间,还包括所述drm服务端对生成的内容授权执行单元进行签名的步骤。

优选地,在所述步骤3中,所述drm服务端根据所述媒体内容的标识或者所述媒体内容采用的内容加密算法查找所述媒体内容对应的内容授权执行单元模板;或者,所述drm授权请求中还包含所述媒体内容对应的drm版本号并且所述drm服务端根据所述媒体内容对应的drm版本号查找所述媒体内容对应的内容授权执行单元模板;所述drm服务端是按照查找获得的内容授权执行单元模板生成所述内容授权执行单元。

优选地,所述媒体内容对应的内容授权执行单元模板中含有调度数字水印执行单元的步骤;所述drm服务端接收所述drm客户端对所述媒体内容对应的数字水印执行单元的请求,所述drm客户端对所述媒体内容对应的数字水印执行单元的请求是所述drm客户端根据所述内容授权执行单元调度数字水印执行单元的步骤而产生;所述drm服务端根据所述媒体内容的标识查找所述媒体内容对应的数字水印单元模板并根据查找获 得的数字水印单元模板生成数字水印执行单元;所述drm服务端将生成的数字水印执行单元下发给所述drm客户端。

优选地,在所述步骤2中,所述drm服务端是根据所述媒体内容的标识从密钥管理系统查询获得所述媒体内容采用的加密算法以及内容加密密钥。

优选地,在所述步骤2中,所述drm服务端是根据所述媒体内容的标识和所述drm客户端的基本信息从运营支撑系统查询获得所述drm客户端对所述媒体内容的drm权限。

根据本发明的第三方面,提供了一种drm客户端,设置于安装了智能操作系统的终端设备中,所述drm客户端包括媒体应用接口、执行单元获取模块、内容授权执行单元;

所述媒体应用接口,用于接收所述终端设备的媒体应用的调用请求,从中获取待播放的媒体内容的唯一标识;

所述执行单元获取模块,用于向drm服务端发送drm授权请求以获取所述内容授权执行单元,所述drm授权请求中包含所述媒体内容的标识和所述drm客户端的基本信息;

所述内容授权执行单元,用于验证终端运行环境是否符合所述drm客户端对所述媒体内容的drm权限,如果符合则根据所述内容加密算法和内容加密密钥解密所述媒体内容;

其中,所述内容授权执行单元是由所述drm服务端根据所述drm授权请求查询获得所述媒体内容采用的内容加密算法和内容加密密钥、以及所述drm客户端对所述媒体内容的drm权限,再根据所述媒体内容的标识、所述媒体内容采用的内容加密算法和内容加密密钥、所述drm客户端的基本信息、以及所述drm客户端对所述媒体内容的drm权限生成。

优选地,所述drm客户端还包括用于对所述内容授权执行单元的签名进行校验的执行单元签名校验模块。

优选地,所述drm客户端对所述媒体内容的drm权限包括播放所述媒体内容时必须校验所述媒体内容的数字水印;所述drm客户端还包 括数字水印执行单元;所述内容授权执行单元,还用于通知所述执行单元获取模块获取所述数字水印执行单元;所述执行单元获取模块,还用于根据所述通知,向所述drm服务端请求所述媒体内容对应的数字水印单元;所述数字水印执行单元,用于在所述媒体内容的播放过程中校验所述媒体内容中嵌入的数字水印,如果校验不通过则停止播放所述媒体内容。

优选地,所述媒体内容的数字水印含有所述媒体内容的内容提供方对所述媒体内容的播放环境的限制要求的信息;所述数字水印执行单元,还用于在所述媒体内容的播放过程中判断终端运行环境是否符合所述媒体内容的内容提供方对所述媒体内容的播放环境的限制要求,如果不符合则停止播放所述媒体内容。

优选地,所述drm客户端对所述媒体内容的drm权限包括播放所述媒体内容时必须嵌入用于追踪所述媒体内容的数字水印;所述drm客户端还包括数字水印执行单元;所述内容授权执行单元,还用于通知所述执行单元获取模块获取所述数字水印执行单元;所述执行单元获取模块,还用于根据所述通知,向所述drm服务端请求所述媒体内容对应的数字水印单元;所述数字水印执行单元,用于在所述媒体内容的播放过程中嵌入用于追踪所述媒体内容的数字水印。

优选地,所述drm客户端还包括执行单元引擎和终端操作系统适配模块;所述执行单元引擎,用于运行执行单元;所述终端操作系统适配模块,用于将所述执行单元引擎适配到终端操作系统上。

优选地,所述执行单元引擎,用于为执行单元的运行提供内存管理接口、外部存储管理接口、网络管理接口、密码算法接口、播放控制接口、以及输出控制接口;所述终端操作系统适配模块,用于将所述执行单元引擎的内存管理接口、外部存储管理接口、网络管理接口、密码算法接口、播放控制接口、以及输出控制接口适配到终端操作系统的相应接口上。

优选地,所述drm客户端还包括执行单元调度管理模块;所述执行单元调度管理模块,用于调度、管理各个执行单元,包括将执行单元调度到执行单元引擎中运行,以及增加、删除、更新执行单元。

根据本发明的第四方面,提供了一种drm服务端,包括drm消息接收模块、媒体内容相关drm信息获取模块、执行单元生成模块、以及执行单元下发模块;

所述drm消息接收模块,用于接收drm客户端发送的drm授权请求,所述drm授权请求中包含所述媒体内容的唯一标识和所述drm客户端的基本信息;

所述媒体内容相关drm信息获取模块,用于根据所述drm授权请求查询获得所述媒体内容采用的内容加密算法和内容加密密钥、以及所述drm客户端对所述媒体内容的drm权限;

所述执行单元生成模块,用于根据所述媒体内容的标识、所述媒体内容采用的内容加密算法和内容加密密钥、所述drm客户端的基本信息、以及所述drm客户端对所述媒体内容的drm权限按照所述媒体内容对应的内容授权执行单元模板生成内容授权执行单元;其中,所述内容授权执行单元被配置为用于在drm客户端运行环境中运行以验证drm客户端所在终端设备的终端运行环境是否符合所述drm客户端对所述媒体内容的drm权限,以及如果符合则根据所述内容加密算法和内容加密密钥解密所述媒体内容;

所述执行单元下发模块,用于将所述内容授权执行单元下发给所述drm客户端。

优选地,所述drm服务端还包括执行单元签名模块;所述执行单元签名模块,用于在所述执行单元下发模块下发所述内容授权执行单元之前对所述内容授权执行单元进行签名。

优选地,所述drm服务端还包括执行单元模板管理模块,用于管理内容授权执行单元模板,包括增加、更新、删除内容授权执行单元模板。

优选地,所述drm服务端还包括密钥管理接口;所述媒体内容drm信息获取模块,用于通过所述密钥管理接口与密钥管理系统进行通信,根据所述媒体内容的标识从密钥管理系统查询获得所述媒体内容采用的加密算法以及内容加密密钥。

优选地,所述drm服务端还包括运营支撑接口;

所述媒体内容drm信息获取模块,还用于通过所述运营支撑接口与运营支撑系统进行通信,根据所述媒体内容的标识和所述drm客户端的基本信息从运营支撑系统查询获得所述drm客户端对所述媒体内容的drm权限。

根据本发明的第五方面,提供了一种drm客户端,设置于安装了智能操作系统的终端设备中,所述drm客户端包括媒体应用接口、执行单元调度管理模块、执行单元引擎、以及终端操作系统适配模块;

所述媒体应用接口,用于接收所述终端设备的媒体应用的调用请求,从中获取待播放的媒体内容的唯一标识;

所述执行单元调度管理模块,用于根据所述调用请求查找所述媒体内容对应的执行单元,并启动所述执行单元引擎运行所述执行单元以实现对所述媒体内容的drm授权;以及如果查找不到所述媒体内容对应的执行单元,则向drm服务端发送drm消息以获取所述媒体内容对应的执行单元,对获取的执行单元的签名进行校验以判断执行单元的合法性,然后启动所述drm执行单元引擎运行执行单元以实现对媒体内容的drm授权;

所述终端操作系统适配模块,用于实现所述drm执行单元引擎与终端操作系统的适配。

优选地,所述执行单元引擎,用于为执行单元的运行提供内存管理接口、外部存储管理接口、网络管理接口、密码算法接口、播放控制接口、以及输出控制接口;所述终端操作系统适配模块,用于将所述执行单元引擎的内存管理接口、外部存储管理接口、网络管理接口、密码算法接口、播放控制接口、以及输出控制接口适配到终端操作系统的相应接口上。

根据本发明的第六方面,提供了一种drm服务端,包括drm消息处理模块、执行单元模板管理模块、执行单元模板、以及执行单元生成模块;

所述drm消息处理模块,用于接收drm客户端发送的drm消息,所述drm消息中包含媒体内容的标识和所述drm客户端的基本信息;根 据所述drm消息选择相应的执行单元模板,调用执行单元生成模块按照选择的执行单元模板生成执行单元,所述执行单元被配置为用于在drm客户端运行环境中运行以实现对媒体内容的drm授权;对所述执行单元生成模块生成的执行单元进行签名;将签名后的执行单元下发给所述drm客户端;

所述执行单元模板管理模块,用于管理执行单元模板。

优选地,所述执行单元管理模板包括内容授权执行单元模板;所述drm消息处理模块,用于调用执行单元生成模块根据所述媒体内容的标识、所述媒体内容采用的内容加密算法和内容加密密钥、所述drm客户端的基本信息、以及所述drm客户端对所述媒体内容的drm权限按照选择的内容授权执行单元模板生成内容授权执行单元;其中,所述内容授权执行单元被配置为用于在drm客户端运行环境中运行以验证drm客户端所在终端设备的终端运行环境是否符合所述drm客户端对所述媒体内容的drm权限,以及如果符合则根据所述内容加密算法和内容加密密钥解密所述媒体内容。

优选地,所述drm服务端还包括密钥管理接口和运营支撑接口;所述drm消息处理模块,还用于通过所述密钥管理接口与密钥管理系统进行通信,根据所述媒体内容的标识从密钥管理系统查询所述媒体内容对应的加密算法以及内容加密密钥;所述drm消息处理模块,还用于通过所述运营支撑接口与运营支撑系统进行通信,根据所述媒体内容的标识和所述drm客户端的基本信息从运营支撑系统查询所述drm客户端对所述媒体内容的drm权限。

根据本发明的第七方面,还提供了一种终端设备,包括如前任一项所述的drm客户端。

优选地,所述drm客户端运行在所述终端设备的智能操作系统中或者运行在所述终端设备的可信执行环境中。

根据本发明的第八方面,还提供了一种drm服务器,包括如前任一项所述的drm服务端。

本发明改变了通过内容授权许可证进行内容授权的方式,drm客户端接收到媒体应用的调用请求后,向drm服务端请求对媒体内容的drm授权,drm服务端根据媒体内容的加密算法和内容加密密钥,以及drm客户端对媒体内容的drm权限等生成内容授权执行单元并下发给drm客户端,drm客户端在drm客户端运行环境中直接运行内容授权执行单元实现对媒体内容的解密,利用本发明的技术方案,能够为媒体内容提供灵活的保护,从而加强媒体内容的安全程度。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1是本发明实施例提供的媒体内容运营相关系统的示意性框图。

图2是本发明第一实施例提供的数字版权管理方法的步骤示意图。

图3是本发明第一实施例提供的drm客户端和drm服务端的框图。

图4是本发明第二、三实施例提供的drm客户端和drm服务端的框图。

图5是本发明第四实施例提供的drm客户端和drm服务端的框图。

图6示出本发明实施例提供的终端设备的示意性框图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本发明提出了一种媒体内容的数字版权管理方案,涉及提供drm服务的drm服务端和用户终端设备的drm客户端。

终端设备是安装有智能操作系统(例如安卓、windows、ios等系统)的智能电子设备,例如电脑、智能手机、pad等。

drm客户端由drm客户端运行环境和执行单元构成。执行单元是由drm服务端根据drm客户端的需求生成的、可在drm客户端运行环境中运行的实体,例如程序、语句、指令、代码等。drm客户端运行环境是指drm客户端100为执行单元提供的内部运行环境。执行单元运行于drm客户端运行环境中,不直接与drm客户端外部发生联系,而是由drm客户端运行环境提供与终端操作系统的对接。

drm客户端通过在drm客户端运行环境中运行执行单元实现对媒体内容的合理授权。本发明涉及的执行单元包括但不限于通信执行单元、内容授权执行单元、数字水印执行单元等。

参考图1介绍本发明实施例的媒体内容运营的相关系统,从整体上说明本发明的技术方案:

内容管理系统4将待上线的媒体内容发送到内容加密系统3进行加密,内容加密系统3对媒体内容进行加密后,将加密后的媒体内容发送到运营支撑系统6等待用户点播,将内容加密密钥发送到密钥管理系统5进行存储管理,将媒体内容的基本信息发送到drm服务器2进行存储。媒体内容的基本信息至少应当包括媒体内容的唯一标识,进一步还可以包括媒体内容的文件名、大小、时长、对应的drm版本号等其它信息。内容加密 系统3还可以将加密媒体内容使用的加密算法发送到密钥管理系统5和/或drm服务器2进行存储。本发明中所指的内容加密密钥是指加密内容密钥的密钥,媒体内容使用内容密钥进行加密。

drm服务端200可以利用媒体内容的加密算法生成内容授权执行单元模板,或者drm服务端200中的内容授权执行单元模板可以是由内容加密系统3或者运营支撑系统6下发给drm服务器2。内容授权执行单元模板用于生成可以在drm客户端运行环境中直接运行的内容授权执行单元,内容授权执行单元可以带有drm客户端的授权信息和判断终端运行环境是否符合drm授权规则的if语句等,例如需要校验终端设备的本地证书,校验通过才可以解密播放媒体内容等。本领域技术人员可以对内容授权执行单元模板进行多种设置,本发明不再赘述。drm服务端200中还可以包括其它类型的执行单元模板,例如通信执行单元模板、数字水印执行单元模板等等,可以根据运营需要设置新的模板类型。

终端设备1中运行有智能操作系统11、媒体应用12、以及drm客户端100。媒体应用11例如为媒体播放器或媒体app,用户可以通过媒体应用11点播媒体内容,进一步地,用户还可以通过媒体应用11购买、下载媒体内容。媒体应用11通过运营支撑系统6获取媒体内容并展现给用户。

当用户通过媒体应用11向运营支撑系统6请求媒体内容时,媒体应用11将从运营支撑系统6获取到媒体内容的唯一标识,进一步还可以获取到该媒体内容对应的drm版本号和drm服务端地址等信息,随后媒体应用11调用drm客户端100,目的是实现对媒体内容的drm授权以进行播放等操作。

drm客户端100被媒体应用11调用后,向drm服务端200发送drm消息,drm服务端200接收到drm消息后,根据drm消息选择相应的执行单元模板生成执行单元后下发给drm客户端100,drm客户端100在drm客户端运行环境中运行执行单元,通过执行单元的运行实现对媒体内容的授权。本发明中所指的drm消息,包括但不限于drm授权请求,还可以是对通信执行单元的请求等。

drm服务端200可根据运营的需要更换执行单元模板,按照执行单 元模板生成的执行单元发送到drm客户端100后可直接在drm客户端运行环境中执行,如果要增加新的drm功能或者增加新的授权规则,仅需要在drm服务端2中增加新的执行单元模板。

drm客户端100可以运行在终端设备1的智能操作系统中,也可以运行在终端设备1的可信执行环境中。drm客户端100运行在终端可信执行环境中时,如果内容加密算法等需要更新,仅需要在drm服务端200生成新的内容授权执行模板,drm服务端200根据新的内容授权执行模板生成内容授权执行单元后发送到drm客户端100运行,避免了对drm客户端100进行频繁升级的问题。

<第一实施例>

参考图2和图3所示说明本发明第一实施例提供的数字版权管理方法、drm客户端100、以及drm服务端200。drm客户端100包括媒体应用接口101、执行单元获取模块108、执行单元签名校验模块109、执行单元引擎106、终端操作系统适配模块107、以及执行单元调度管理模块(图中没有示出)。drm服务端200包括运营支撑接口205、密钥管理接口206、drm消息接收模块207、媒体内容相关drm信息获取模块208、执行单元生成模块204、执行单元签名模块210、执行单元下发模块209、以及执行单元模板管理模块203。

s101、drm客户端100通过媒体应用接口101接收终端设备的媒体应用的调用请求,从中获取待播放的媒体内容的基本信息。媒体内容的基本信息至少应当包括媒体内容的唯一标识,进一步还可以包括媒体内容的文件名、大小、时长、对应的drm版本号等其它信息。

s102、drm客户端100通过执行单元获取模块108向drm服务端200发送drm授权请求,drm授权请求中至少应当包含媒体内容的标识和drm客户端100的基本信息,进一步还可以包括媒体内容对应的drm版本号信息。drm客户端100的基本信息至少应当包括drm客户端100的id,还可以包括drm客户端100的地址信息、版本号、证书等信息。

s103、drm服务端200通过drm消息接收模块207接收所述drm 授权请求,由媒体内容相关drm信息获取模块208根据drm授权请求获得媒体内容采用的内容加密算法和内容加密密钥、以及drm客户端100对媒体内容的drm权限,再由执行单元生成模块204根据媒体内容的标识、媒体内容采用的内容加密算法和内容加密密钥、drm客户端100的基本信息、以及drm客户端100对媒体内容的drm权限生成内容授权执行单元104。最后由执行单元下发模块209将生成的内容授权执行单元104下发给drm客户端100。

s104、drm客户端100通过执行单元获取模块108接收内容授权执行单元104,在drm客户端运行环境中运行内容授权执行单元104,通过内容授权执行单元104验证终端运行环境是否符合drm客户端100对媒体内容的drm权限,如果符合则根据内容加密算法和内容加密密钥解密媒体内容,控制媒体内容的播放。例如:drm客户端100对媒体内容的drm权限是晚上8点-12点之间drm客户端才可以解密播放媒体内容,内容授权执行单元104会判断终端运行环境是否为晚上8点-12点之间,如果终端运行环境符合晚上8点-12点之间这一限制条件,则内容授权执行单元104对媒体内容进行解密,控制媒体内容的播放。

为了进一步提高媒体内容的安全性,在步骤s103中,执行单元生成模块204生成内容授权执行单元后,先由执行单元签名模块210进行签名,然后再由执行单元下发模块209将签名后的内容授权执行单元下发给drm客户端。在步骤s104中,drm客户端获取内容授权执行单元104后,先对内容授权执行单元104的签名进行校验,校验通过后再在drm客户端运行环境中运行内容授权执行单元104。

其中,执行单元生成模块204可以根据媒体内容的标识和/或媒体内容采用的内容加密算法和/或媒体内容对应的drm版本号查找媒体内容对应的内容授权执行单元模板,按照查找获得的内容授权执行单元模板生成内容授权执行单元104。

其中,drm客户端100的执行单元获取模块108也可以是一个通信执行单元。drm客户端100接收到媒体应用的调用请求后,向drm服务端200发送对通信执行单元的请求,对通信执行单元的请求中至少应当包 括drm客户端100的基本信息,进一步还可以包含媒体内容的标识和媒体内容对应的drm版本号信息。drm消息接收模块207接收drm客户端100对通信执行单元的请求后,由执行单元生成模块204根据所述对通信执行单元的请求来查找通信执行单元模板,按照查找获得的通信执行单元模板生成通信执行单元。执行单元签名模块210对执行单元生成模块204生成的通信执行单元进行签名,执行单元下发模块209将签名后的通信执行单元下发给drm客户端100。drm客户端100获取通信执行单元后,先对通信执行单元的签名进行校验,校验通过后再在drm客户端运行环境中运行通信执行单元。其中,执行单元生成模块204可以根据媒体内容的标识和/或媒体内容对应的drm版本号和/或drm客户端的基本信息查找通信执行单元模板。

其中,drm服务端200还可以包括执行单元模板管理模块203,用于管理执行单元模板,包括下载、增加、更新、删除执行单元模板等。

其中,媒体内容相关drm信息获取模块208通过密钥管理接口206与密钥管理系统进行通信,根据媒体内容的标识从密钥管理系统查询获得媒体内容采用的加密算法以及内容加密密钥。或者,媒体内容相关drm信息获取模块208从drm服务器2的存储区域内获取媒体内容的内容加密算法。

其中,媒体内容相关drm信息获取模块208通过运营支撑接口205与运营支撑系统进行通信,根据媒体内容的标识和drm客户端的基本信息从运营支撑系统查询获得drm客户端对媒体内容的drm权限。

其中,drm客户端运行环境包括执行单元引擎106、终端操作系统适配模块107、以及执行单元调度管理模块。drm客户端100通过执行单元调度管理模块调度、管理各个执行单元,包括将执行单元调度到执行单元引擎106中运行,以及增加、删除、更新执行单元。drm客户端100通过终端操作系统适配模块107将执行单元引擎106适配到终端操作系统上。执行单元引擎106还为执行单元的运行提供内存管理接口、外部存储管理接口、网络管理接口、密码算法接口、播放控制接口、以及输出控制接口,终端操作系统适配模块107将执行单元引擎106的内存管理接口、外部存 储管理接口、网络管理接口、密码算法接口、播放控制接口、以及输出控制接口适配到终端操作系统的相应接口上。

<第二实施例>

参考图4所示说明本发明第二实施例提供的数字版权管理方法、drm客户端100、以及drm服务端200。第二实施例在第一实施例的基础上增加了数字水印功能,具体来说:

如果待播放的媒体内容中嵌有数字水印,drm客户端100对媒体内容的drm权限包括播放媒体内容时必须校验媒体内容的数字水印,该媒体内容对应的内容授权执行单元模板中含有调度数字水印执行单元的步骤。

内容授权执行单元104在drm客户端运行环境中运行,通知drm客户端100需要启动数字水印执行单元,则执行单元获取模块204根据该通知向drm服务端200请求媒体内容对应的数字水印单元,该对数字水印单元的请求中可以含有媒体内容的标识和drm客户端100的基本信息。

drm服务端200接收到drm客户端100对媒体内容对应的数字水印执行单元的请求后,由执行单元生成模块204根据媒体内容的标识查找媒体内容对应的数字水印单元模板并根据媒体内容对应的数字水印单元模板生成数字水印执行单元,再由执行单元签名模块210对数字水印执行单元进行签名,执行单元下发模块209将签名后的数字水印执行单元105下发给drm客户端100。

drm客户端100接收到数字水印执行单元105后,先由执行单元签名校验模块109对数字水印执行单元105的签名进行校验,校验通过后再在drm客户端运行环境中运行数字水印执行单元105,数字水印执行单元105在媒体内容的播放过程中校验媒体内容中嵌入的数字水印,如果校验不通过则停止播放媒体内容。

进一步的,如果媒体内容的数字水印含有媒体内容的内容提供方对媒体内容的播放环境的限制要求的信息,数字水印执行单元105在媒体内容的播放过程中需要判断终端运行环境是否符合媒体内容的内容提供方对媒体内容的播放环境的限制要求,如果不符合则停止播放媒体内容。本发明 中涉及的内容提供方可以是内容的原始提供方,例如某影视公司负责拍摄电影,则该影视公司就是内容的原始提供方,影视公司对其拍摄的电影的播放环境可能有特殊要求,例如要求该电影必须在智能电视上播放而不能在智能手机上播放,则影视公司可以在该电影中嵌入载有对播放环境的限制要求信息的数字水印,运营商购买该电影的运营权限后向用户提供该电影,用户收看该电影时,除了要满足运营商对该电影的drm要求,还要满足该影视公司对播放环境的要求,才能够解密并播放该电影。

<第三实施例>

参考图4所示说明本发明第三实施例提供的数字版权管理方法、drm客户端100、以及drm服务端200。第三实施例在第一实施例的基础上增加了数字水印功能,具体来说:

drm客户端对媒体内容的drm权限包括播放媒体内容时必须嵌入用于追踪媒体内容的数字水印,该媒体内容对应的内容授权执行单元模板中含有调度数字水印执行单元的步骤。

内容授权执行单元104在drm客户端运行环境中运行,通知drm客户端100需要启动数字水印执行单元,则执行单元获取模块204根据该通知向drm服务端200请求媒体内容对应的数字水印单元,该对数字水印单元的请求中可以含有媒体内容的标识和drm客户端100的基本信息。

drm服务端200接收到drm客户端100对媒体内容对应的数字水印执行单元的请求后,由执行单元生成模块204根据媒体内容的标识查找媒体内容对应的数字水印单元模板并根据媒体内容对应的数字水印单元模板生成数字水印执行单元,再由执行单元签名模块210对数字水印执行单元进行签名,执行单元下发模块209将签名后的数字水印执行单元105下发给drm客户端100。

drm客户端100接收到数字水印执行单元105后,先由执行单元签名校验模块109对数字水印执行单元105的签名进行校验,校验通过后再在drm客户端运行环境中运行数字水印执行单元105,数字水印执行单元105在媒体内容的播放过程中嵌入用于追踪媒体内容的数字水印。

在其他实施例中,内容授权执行单元104通知drm客户端100需要启动数字水印执行单元时,通知中可以包含数字水印执行单元的基本信息。本发明中所指的数字水印单元的基本信息,至少包括数字水印执行单元的id,进一步还可以数字水印的版本编号等信息。在这种情况下,执行单元获取模块108向drm服务端200请求媒体内容对应的数字水印单元时,所述对数字水印单元的请求中可以含有数字水印单元的基本信息和drm客户端100的基本信息。drm服务端200接收到drm客户端100对媒体内容对应的数字水印执行单元的请求后,由执行单元生成模块204根据数字水印单元的基本信息查找出数字水印执行单元模板,按照查找出的数字水印执行单元模板生成数字水印执行单元。

<第四实施例>,

参考图5所示说明本发明第四实施例提供的数字版权管理方法、drm客户端100、以及drm服务端200。drm客户端100包括媒体应用接口1001、执行单元调度管理模块1002、执行单元引擎1006、以及终端操作系统适配模块1007。drm服务端200包括运营支撑接口2005、密钥管理接口2006、drm消息调度模块2001、drm消息处理模块2002、执行单元生成模块2004、以及执行单元模板管理模块2003。

s201、drm客户端100通过媒体应用接口101接收终端设备的媒体应用的调用请求,从中获取待播放的媒体内容的基本信息。媒体内容的基本信息至少应当包括媒体内容的唯一标识,进一步还可以包括媒体内容的文件名、大小、时长、对应的drm版本号等其它信息。

s202、执行单元调度管理模块1002根据该媒体内容的标识和/或该媒体内容对应的drm版本号查询是否有可用的通信执行单元1003,如果有则调度drm执行单元引擎1006运行通信执行单元1003。

s203、通信执行单元1003向drm服务端200发送drm授权请求,drm授权请求中至少应当包含媒体内容的标识和drm客户端100的基本信息,进一步还可以包括媒体内容对应的drm版本号信息。drm客户端100的基本信息至少应当包括drm客户端100的id,还可以包括drm客 户端100的地址信息、版本号、证书等信息。

s204、drm服务端200的drm消息调度模块2001接收到drm授权请求后,根据drm服务端200的运行情况,调用某个drm消息处理模块2002进行drm授权请求处理。

s205、drm消息处理模块2002通过密钥管理接口2006,根据媒体内容的标识从密钥管理系统中查询出该媒体内容对应的加密算法以及内容加密密钥;通过运营支撑接口2005,根据媒体内容的标识和drm客户端100的基本信息从运营支撑系统查询drm客户端100对媒体内容的drm权限;根据媒体内容的标识从drm执行单元模板管理模块2003中查询相应的内容授权执行单元模板。

s206:drm消息处理模块2002将媒体内容的标识、媒体内容采用的内容加密算法和内容加密密钥、drm客户端100的基本信息、drm客户端100对媒体内容的drm权限、以及查找到的内容授权执行单元模板发送给drm执行单元生成模块2004。

s207、drm执行单元生成模块2004按照查找到的内容授权执行单元模板,根据媒体内容的标识、媒体内容采用的内容加密算法和内容加密密钥、drm客户端100的基本信息、以及drm客户端100对媒体内容的drm权限生成相应的内容授权执行单元。

s208、drm消息处理模块2002对生成内容授权执行单元进行签名,将签名后的内容授权执行单元下发给drm客户端100。

s209、drm客户端通过通信执行单元1003接收内容授权执行单元1004,通信执行单元1003接收到内容授权执行单元后会通知执行单元调度管理模块1002。

s210、执行单元调度管理模块1002先校验内容授权单元1004的签名的合法性,校验通过后再调度内容授权执行单元1004到执行单元引擎1006运行;

s211、内容授权执行单元1004将判断验证终端运行环境是否符合drm客户端100对媒体内容的drm权限,如果符合则对内容加密密钥解密获得内容密钥,根据内容密钥和内容加密算法解密出媒体内容并控制播放。

在步骤s202中,如果执行单元调度管理模块1002没有找到对应的通 信执行单元,则执行单元调度管理模块1002向drm服务端200请求通信执行单元,drm服务端200接收到该请求后,将查询出通信执行单元模板,根据drm客户端的基本信息按照通信执行单元模板生成通信执行单元并且进行签名,将签名后的通信执行单元发送给drm客户端100。drm客户端100获得通信执行单元后,执行单元调度管理模块1002首先验证该通信执行单元的签名的合法性,验证成功后将通信执行单元存储,通过执行单元引擎运行通信执行单元与drm服务端200交互以获取内容授权执行单元等其它执行单元。

从图5中可以看出,drm客户端100还包括数字水印执行单元1005,数字水印执行单元1005的原理和功能可以和第二、第三实施例类似,媒体内容对应的内容授权执行单元模板中含有调度数字水印执行单元的步骤,drm客户端100根据内容授权执行单元1004的运行产生对数字水印执行单元的请求,drm服务端200查找所述媒体内容对应的数字水印单元模板并按照模板生成数字水印执行单元1005,将数字水印执行单元1005下发给drm客户端100。

执行单元调度管理模块1002负责调度管理执行单元的下载、验证、安装、更新、查询、执行和终止,执行单元调度管理模块1002通过启动执行单元引擎1006进行执行单元的装载运行。

参照上述实施例,本发明还提出了具有上述drm客户端的终端设备,以及具有上述drm服务端的drm服务器。

参考图6介绍本发明实施例提供的终端设备1,包括存储器3020和处理器3010,其中,所述存储器3020用于存储指令,所述指令用于控制处理器3010进行相应操作以实现本发明的媒体内容的数字版权管理方法。

终端设备1还包括接口装置3030、通信装置3040、显示装置3050、输入装置3060、扬声器3070、麦克风3080,等等。

处理器3010例如可以是中央处理器cpu、微处理器mcu等。存储器3020例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置3030例如包括usb接口、耳机接口等。通信装置3040例如能够进行有线或无线通信。显示装置3050例如是 液晶显示屏、触摸显示屏等。输入装置3060例如可以包括触摸屏、键盘等。用户可以通过扬声器3070和麦克风3080输入/输出语音信息。

图6所示的终端设备仅是解释性的,并且决不是为了要限制本发明、其应用或用途。本领域技术人员应当理解,尽管在图6中示出了多个装置,但是,本发明可以仅涉及其中的部分装置。本领域技术人员可以根据本发明所公开方案设计指令,指令如何控制处理器进行操作是本领域公知技术,故在此不再详细描述。

本发明改变了通过内容授权许可证进行内容授权的方式,drm客户端接收到媒体应用的调用请求后,向drm服务端请求对媒体内容的drm授权,drm服务端根据媒体内容的加密算法和内容加密密钥,以及drm客户端对媒体内容的drm权限等生成内容授权执行单元并下发给drm客户端,drm客户端在drm客户端运行环境中直接运行内容授权执行单元实现对媒体内容的解密。

在本发明的技术方案中,由于drm服务端生成的执行单元发送到drm客户端后可直接在drm客户端运行环境中执行,因此可以针对某个媒体内容设定个性化的内容加密算法、授权规则等,只需要在drm服务端提供对应的执行单元模板即可。

利用本发明的技术方案可以频繁的升级或更换内容加密算法,尤其适用于超高清内容的保护,避免了对drm客户端进行频繁升级的问题。

利用本发明的技术方案,还可以增加新的drm功能或者增加新的授权规则,只需要在drm服务端提供对应的执行单元模板即可,同时还不需要对drm客户端和drm服务端进行整体升级,有利于商业运营。

可以看出,利用本发明的技术方案,可以灵活地管理保护媒体内容,使得媒体内容的安全性更高。

本发明的drm客户端可以运行在终端可信执行环境中,在基于可信执行环境的情况下,对内容保护算法等的更新仅需要drm服务端生成不同的执行单元发送到drm客户端运行,不会影响到可信执行环境中其它非drm客户端的功能的正常使用。

drm客户端在drm客户端运行环境中运行执行单元,通过执行单元的运行实现对媒体内容的授权,而执行单元是由drm客户端下发的,因此能够避免drm客户端没有按照许可和限制条件的要求去解密和播放内容,解决了现有解析内容授权许可证的方式带来的漏洞和弊端。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数 据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1