DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 843|回复: 0
打印 上一主题 下一主题

[家电] 两种方式实现数字电视网络许可证的管理

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-22 00:20:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
随着信息资源数字化、信息传播的网络化,知识产权保护越趋重要。然而知识产权保护的目的不是把知识束之高阁,而是通过保护权利人的利益,使更多的人愿意创作作品,从而使社会有更多的知识可用。传统的产权使用方式基本上是作者授权出版商出版作品,然后读者按照出版商规定的方式使用该作品。但是数字技术的应用打破了传统格局,形成大量使用者以各种各样的方式使用大量作品的新格局,然而随之而来的是版权使用需求急剧增加,但版权供给基本停留在原来的水平,需求和供给之间出现巨大差异。因此如何打造版权授权高速公路,成了困扰社会的一大难题。随之产生的数字权益管理已从简单的安全加密发展到系统的、动态的新一代数字权益管理方案。近年来诞生了基于XML和非对称密钥、面向权益管理的XrML技术,并以此实现第二代数字权益管理的解决方案。1 DRM系统    数字版权管理(Digital Rights Management,DRM)是保护多媒体内容免受未经授权的播放和复制的一种方法。DRM技术通过对数字内容进行加密和附加使用规则对数字内容进行保护,其中,使用规则可以断定用户是否符合播放数字内容的条件,从而可以防止内容被复制或者限制内容的播放次数。操作系统和多媒体中间负责强制实行这些规则。DRM的简单结构可以用下图表示。

    DRM的实现过程是由以下基本工作步骤组成:内容提供过程,内容包装过程,内容发布过程和获取内容使用许可证过程。    首先用户需要向内容服务器申请或订购需要观看的视频节目,内容发送方将对内容进行包装,发送内容包装过程,包括对内容文件的压缩和加密处理。在包装过程中,需要加入一些相关信息,如文件的标题、艺术家的姓名、版权声明、图像、可获取许可证的URL等附加信息。包装好的内容和许可证是分开的,并通过网络到达用户终端。要使用包装后的媒体内容文件,用户必须获得授权使用许可证。使用许可证中包含的密钥信息可以解密内容以供观看,并且许可证是被捆绑在客户端的计算机上的,不能共享。2 传统许可证的验证和管理流程    当用户第一次播放某个包装后的媒体文件时,检测许可证的过程就会自动启动。如果在用户的计算机上检测不到此类授权使用许可证,Web浏览器就会打开此内容文件的许可证授权服务中心的注册网页,提示客户输入一些由内容提供商事先规定注册的用户信息,验证用户输入信息的有效性后就会颁发不能共享的授权使用许可证。    文中实现过程用C语言定义简单的许可证结构体变量,里边包含:用户公钥信息(384.bit)、内容ID(160 bit)、内容编号(16 bit)、权限信息(8 bit)、使用次数(8 bit)、截止日期(24 bit)、颁发日期(24 bit)、经过Ecc加密的AES密钥(576 bit)、服务器公钥证书ID(64 bit)、HASH摘要值(192 bit)、签名值(384 bit)。    用户端收到许可证后会按照如下图的过程进行许可证的验证及管理过程。用户端应该首先验证有关用户公钥证书的正确性,随后需要将所取得的许可证中的信息进行HASH杂凑,并且对比许可证中杂凑值验证许可证的安全性、可靠性和完整性。最后需要验证许可证的签名值,以确定颁发许可证的服务器的合法性。

    需要验证的信息:    (1)用户的公钥信息(从用户公钥证书中提取);    (2)Hash杂凑摘要值;    (3)数字签名值。    许可证验证完成后需要将有关用户权利信息和许可证有效期限写入到客户端的许可证管理记录文件当中,当用户下一次再需要播放包装后的媒体文件时,许可证检测程序将首先检查许可证管理记录文件当中是否有该媒体文件的相关授权信息,以及验证许可证权限的有效性,再进入下一步操作。如果许可证管理记录文件中关于该媒体文件的信息存在并且有效,客户端则无需再一次连接到许可证授权服务器去申请许可证,否则就需要重新申请。如果许可证管理记录文件中存在相应的内容,则在验证过有效权限之后需要相应的更改记录文件中的权限信息。    使用记录文件包含:    (1)Content_NUM内容编号(16 bit);    (2)Right权限信息(8 bit);    (3)End—Date截止日期(24 bit);    (4)Times使用次数(8 bit)。    在用户播放内容之后会存在过期的许可证,并且在使用记录文件中存在过期的使用记录信息。判断使用记录过期之后会将其内容编号赋值为O,下一次写入使用记录信息时,首先查找是否存在内容编号为0的记录项,如果存在则将该次使用记录信息覆盖原内容;如果不存在,则在文件末尾添加这次的使用记录信息。


                          
                       
                          
                                3 第二代数字版权保护机制XrML
    作为第二代数字版权保护管理机制描述语言的xrML是XML语言(eXtensible MarkupLanguage的缩写,意为可扩展的标记语言)的一个分支,由于其继承了XML语言的优点和方便简单的描述及强大的可扩展性而得到越来越广泛的应用,并在数字版权管理方面提供了更为强大的技术支持。    通常的权限管理技术通过预先设定某些规则和策略来保护和控制文件内容,可以进行多种重要的内容操作,如简单的查看、打印、编辑和共享等。但这种专用的数字权限管理形式已经使其难以与其它形式进行内容共享。就如同上文所用的C语言结构实现许可证的实现,所能赋予的权限以及内容十分局限,对于复杂的系统又难以实现扩展,并且占用较多的系统空间,这在客户端空间局限较大的系统中将存在严重问题。但是XrML以许可的形式列出了数字内容的访问和使用策略,许可定义了谁可以访问内容,如何保护和分配内容,并控制了详细的使用权限来实施某些操作,如授权打印和时间许可等。    XrML2.O核心概念包括“license,grant,princi—pal,right,resource and condition”。    在XrML2.0中重要的顶层结构就是一个li—cense,从概念上讲一个license可以理解为grant的容器。一个基本的license应该包括以下的结构:    (1)在某种环境下授予某人对数据源的特定的权利;    (2)在授予某人权利之前对其身份进行鉴定;    (3)各种各样的相关信息。    grant是在license中用来提供对授予权利者的许可的一个重要的元素,它用来传达对被授权者一个特定数据源的许可。在结构上,它具有以下特点:    (1)权利授予者的信息;    (2)被授予的权利的信息;    (3)用户能够行使的权利或是能够获取的数据源的信息;    (4)行使权利之前必须要满足的特定的条件。    Principal元素用来描述权利授予者的信息,它支持以下的3种定义方法:    (1)一个被授予权利的用户需要满足多个鉴定条件,所有的条件必须全部有效才能够被授予执行数据源的权利;    (2)Keyholder,意味着将权利授予特殊密钥的持有者;    (3)其它的定义类型。    XrML2.0的主要结构还包括fight,resource以及condition元素。其中right元素用来描述授予用户对数据源操作的权利;resource元素用来描述数据源的信息;condition元素用来限定用户行使权利的条件。这些主要的元素构成了XrML2.0的主要结构,他们共同来对数字化的授权进行标准化语言上的描述。    当然通过以上各个结构完全可以生成一个简单的许可证文件,并且其中赋予特定用户简单的使用权限。然而,为了保证用户确信许可证的合法性和正确性,还必须在许可证文件后对其进行数字签名的描述。    XML签名可以用来确保XML文档内的内容没有发生改变,如果和XML加密联合使用,即可保证所接收的数据就是所发送的数据,外人无法阅读加密内容。

    以上清单中s02行和s12行之间是Signedlnf元素,即实际签名的信息。Signedlnfo的核心验证由两个必要过程组成:对Signedlnfo的签名验证和Signedlnfo内部每个Reference摘要的验证。    s03行上,CanonicalizationMethod标识了一种算法,这种算法被用来规范化SignedInfo元素,然后该元素作为签名操作的一部分被编摘。    s04行上,SignatureMethod引用的是将规范化的SignedInfo转换成Signaturevalue所用的算法。它是密钥相关的算法和摘要算法(在这里是DSA和SHA一1)的组合,为算法签名以抵抗攻击,该攻击是基于替换成效率更低的算法。    s05一s11每个Reference元素都包括摘要方法和对已标识数据对象计算得出的摘要值。它还可能包括产生对摘要操作的输入转换。数据对象的签名是通过计算其摘要值并对该值的签名进行的。稍后通过引用和签名验证来检查该签名,这些验证将重新创建摘要值并确保它与该数据对象中的内容匹配。    s05行上,Reference的这个可选URI属性标识要签名的数据对象。在一个Signature中,至多可以对一个Reference省略该属性。    s09一s10 DigestMethod是对数据应用以产生DigestValue的算法。DigestValue的签名是将资源内容与签名者密钥绑定的机制。    s13行上是SignatureValue元素本身,它在SignedInfo之外,即位于签名部分之外,不过计算SignatureValue所使用的算法则包括在已签名的信息中。    s14行和s16行之间是Keylnfo元素(该元素是可选的),它指出了用于验证签名的密钥。标识机制可以包括证书、密钥名称和密钥协议算法。    经过签名后的XrML许可证就可以通过许可证服务器发送到客户端,客户端只需要通过XML解析器将其中内容进行提取,就可以验证许可证发送方的合法性并从中提取媒体文件内容密钥对所需播放的媒体文件进行解密收看,然而客户端同样具有许可证验证器,需要对许可证所赋予的权限进行验证和判断,并赋予用户相应的权限。4 结束语    通过对比运用C语言和XrML两种方式实现数字电视视频点播数字许可证的管理,可以看出,传统的权利管理方式存在难以扩展、实现复杂等缺点,但是在需要较简单权利保护并且无法提供较高实现平台的条件下,不失为一种比较直接的做法。由于第二代数字权利保护体制的出现,xrML已经得到了广泛的运用,并且出现了在Linux和Windows环境下用C++和Java开发的解析器和验证器。文中的试验都是在Windows环境下实现的,但是有了这些解析器的出现,很容易应用在Linux的操作系统环境中。并且对于传统的数字版权管理方案仅仅只是应用C语言结构体进行定义部分必要信息和简单的数字权限,存在着特殊性和局限性。    由于网络的普及,数字版权保护显得越来越重要,引起了越来越多人的关注。无论是电子书,音乐、电影、mp3等等网络媒体文件都将面临着版权的威胁,凭借着其良好的扩展性以及简单的设计实现,XrML语言将会成为数字版权管理的行业标准。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-4 10:05 , 耗时 0.086890 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表