一种压缩版权的传输方法和系统 |
|||||||
申请号 | CN200910177979.9 | 申请日 | 2009-10-23 | 公开(公告)号 | CN101714982B | 公开(公告)日 | 2017-03-29 |
申请人 | 中兴通讯股份有限公司; | 发明人 | 官军; | ||||
摘要 | 本 发明 公开了一种压缩 版权 的传输方法,包括:终端与 服务器 协商压缩 算法 ;终端在 版权对象 请求 消息中,通过扩展字段向服务器请求传输压缩格式的版权信息;服务器按照标准方式生成版权对象应答消息,根据协商的压缩算法对版权对象应答消息中的版权信息进行压缩,并生成压缩后的版权对象应答消息发送给终端;终端接收压缩后的版权对象应答消息,根据协商的压缩算法对接收的版权对象应答消息中的版权信息进行解压缩,并生成解压缩后的版权对象应答消息。本发明还公开了一种压缩版权的传输系统,减少了 版权对象获取协议 (ROAP)通信的数据量,提高了数字版权对象传输的可靠性和用户体验。 | ||||||
权利要求 | 1.一种压缩版权的传输方法,其特征在于,该方法包括: |
||||||
说明书全文 | 一种压缩版权的传输方法和系统技术领域背景技术[0002] 数字版权管理技术旨在以可管理的方式提供和使用数字版权内容,以确保知识产权在整个价值链中始终得到保护。数字版权管理(DRM,Digital RightManagement)的内容格式(DCF,DRM Content Format)通常经过加密处理,用户可以通过网络下载,彩信、邮件接收或从其他用户那里共享等多种渠道获得。而用户为了能够正常的使用该数字内容,还需要购买数字版权对象(RO,Right Object),并在数字版权的规定和限制下使用该数字内容。只有获取了RO,数字内容才能够被使用,因此在价值链中,RO才被视为真正有价值的。 [0003] 数字版权对象的传输过程通过版权对象获取协议(ROAP,Right ObjectAcquisition Protocol)实现,这极大地提高了数字版权对象的安全级别,并带来了更好的用户体验效果。随着数字版权对象管理业务的发展,数字版权对象所包含的数据越来越多,甚至在单次ROAP通信过程中,可能同时传输多个数字版权对象,这就造成ROAP通信的数据量较大,影响到数据传输的可靠性及用户体验。 发明内容[0004] 有鉴于此,本发明的主要目的在于提供一种压缩版权的传输方法和系统,以减少ROAP通信的数据量,提高数字版权对象传输的可靠性和用户体验。 [0005] 为达到上述目的,本发明的技术方案是这样实现的: [0006] 本发明提供了一种压缩版权的传输方法,该方法包括: [0009] 所述服务器按照标准方式生成版权对象应答(ROResponse)消息,根据协商的压缩算法对所述ROResponse消息中的rights进行压缩,并生成压缩后的ROResponse消息发送给所述终端; [0010] 所述终端接收压缩后的ROResponse消息,根据协商的压缩算法对接收的ROResponse消息中的rights进行解压缩,并生成解压缩后的ROResponse消息。 [0011] 所述终端与服务器协商rights的压缩算法,具体为: [0012] 终端发送设备握手请求(DeviceHello)消息给服务器,并通过所述DeviceHello消息中新增的支持压缩算法(Supported Compress Algorithm)字段将自身所支持的压缩算法通知给所述服务器; [0013] 所述服务器根据Supported Compress Algorithm字段的内容,选择协商同意的压缩算法,并通过版权服务器握手响应(RIHello)消息中新增的选择压缩算法(Selected Compress Algorithm)字段通知所述终端。 [0014] 所述终端在RORequest消息中通过扩展字段向服务器请求传输压缩格式的rights,具体为: [0015] 终端发送RORequest消息给服务器,并通过所述RORequest消息的扩展(Extensions)字段中新增的需要压缩版权信息(Need Compress Rights)字段,通知所述服务器传输压缩格式的rights。 [0016] 所述服务器生成ROResponse消息,对ROResponse消息中的rights进行压缩,并生成压缩后的ROResponse消息发送给终端,具体为: [0017] 服务器接收终端发送的RORequest消息,并根据所述RORequest消息中的Need Compress Rights字段得知需要传输压缩格式的rights; [0018] 服务器按照标准方式生成ROResponse消息,根据Selected CompressAlgorithm字段中的压缩算法对所述ROResponse消息中的rights进行压缩得到Compress Rights字段,并依据所述Compress Rights字段生成压缩后的ROResponse消息发送给所述终端。 [0019] 所述ROResponse消息中的rights进行压缩后的数据以base64格式存在。 [0020] 所述终端解压缩并生成解压缩后的ROResponse消息,具体为: [0021] 所述终端接收到压缩后的ROResponse消息,根据Selected CompressAlgorithm字段中的压缩算法对接收的ROResponse消息中的rights进行解压缩,并生成解压缩后的ROResponse消息。 [0022] 所述终端对接收的ROResponse消息中的rights进行解压缩后,该方法进一步包括:根据hash值进行数据完整性验证。 [0023] 本发明还提供了一种压缩版权的传输系统,该系统包括:终端和服务器,其中,[0024] 所述终端,用于与所述服务器协商rights的压缩算法,并在RORequest消息中,通过扩展字段向所述服务器请求传输压缩格式的rights;还用于接收来自所述服务器的压缩后的ROResponse消息,根据协商的压缩算法对接收的ROResponse消息中的rights进行解压缩,并生成解压缩后的ROResponse消息; [0025] 所述服务器,用于与所述终端协商rights的压缩算法,并在接收到来自所述终端的RORequest消息时,按照标准方式生成ROResponse消息,根据协商的压缩算法对所述ROResponse消息中的rights进行压缩,并生成压缩后的ROResponse消息发送给所述终端。 [0026] 所述终端进一步用于,发送DeviceHello消息给服务器,并通过DeviceHello消息中新增的Supported Compress Algorithm字段将自身所支持的压缩算法通知给所述服务器; [0027] 相应的,所述服务器进一步用于,根据Supported Compress Algorithm字段的内容,选择协商同意的压缩算法,并通过RIHello消息中新增的SelectedCompress Algorithm字段通知所述终端。 [0028] 所述终端进一步用于,发送RORequest消息给服务器,并通过所述RORequest消息的Extensions字段中新增的Need Compress Rights字段,通知所述服务器传输压缩格式的rights。 [0029] 所述服务器进一步用于,接收终端发送的RORequest消息,并根据所述RORequest消息中的Need Compress Rights字段得知需要传输压缩格式的rights;按照标准方式生成ROResponse消息,根据Selected Compress Algorithm字段中的压缩算法对所述ROResponse消息中的rights进行压缩得到CompressRights字段,并依据所述Compress Rights字段生成压缩后的ROResponse消息发送给所述终端。 [0030] 所述ROResponse消息中的rights进行压缩后的数据以base64格式存在。 [0031] 所述终端进一步用于,接收到压缩后的ROResponse消息,根据SelectedCompress Algorithm字段中的压缩算法对接收的ROResponse消息中的rights进行解压缩,并生成解压缩后的ROResponse消息。 [0032] 所述终端进一步用于,对接收的ROResponse消息中的rights进行解压缩后,根据hash值进行数据完整性验证。 [0033] 本发明所提供的一种压缩版权的传输方法和系统,在ROAP的版权对象应答(ROResponse)消息中,根据约定的算法压缩可扩展标识语言(XML)格式的版权信息(rights),以减少ROResponse数据在传输过程中的数据量;终端在接收到ROResponse消息后,根据约定的算法对压缩数据进行解压缩,还原出真是的ROResponse消息。 [0034] 本发明的方法和系统,很好地利用了XML格式具有良好扩展性的特点,通过扩展XML对ROResponse数据进行有效地压缩,减少了ROAP通信的数据量,提高了数字版权对象传输的可靠性和用户体验;另外,本发明中的方法也很好地利用了ROAP具备握手安全协议的特点,无缝地实现了终端和服务器间压缩版权的传输。附图说明 [0035] 图1为本发明一种压缩版权的传输方法的流程图; [0036] 图2为本发明的传输方法在服务器侧的实现流程图; [0037] 图3为本发明的传输方法在终端侧的实现流程图; [0038] 图4为本发明一种压缩版权的传输系统的组成结构示意图。 具体实施方式[0039] 下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。 [0040] 为实现数字版权对象的压缩传输,本发明的核心思想为:在ROAP的版权对象应答(ROResponse)消息中,根据约定的算法压缩可扩展标识语言(XML,Extensible Markup Language)格式的版权信息(rights),以减少ROResponse数据在传输过程中的数据量;终端在接收到ROResponse消息后,根据约定的算法对压缩数据进行解压缩,还原出真实的ROResponse消息。 [0041] 基于上述的核心思想,本发明提供一种压缩版权的传输方法,如图1所示,该方法主要包括以下步骤: [0042] 步骤101,终端与服务器协商rights的压缩算法。 [0043] 具体的,在执行ROAP注册协议过程中,终端发送设备握手请求(DeviceHello)消息给服务器,并通过DeviceHello消息中新增的支持压缩算法(Supported Compress Algorithm)字段将自身所支持的压缩算法通知给服务器;服务器根据Supported Compress Algorithm字段的内容,选择协商同意的压缩算法,并通过版权服务器握手响应(RIHello)消息中新增的选择压缩算法(Selected Compress Algorithm)字段通知终端。 [0044] 步骤102,终端在版权对象请求(RORequest)消息中,通过扩展字段向服务器请求传输压缩格式的rights。 [0045] 具体的,在执行ROAP版权获取协议时,终端发送RORequest消息给服务器,并通过RORequest消息的扩展(Extensions)字段中新增的需要压缩版权信息(Need Compress Rights)字段,通知服务器传输压缩格式的rights。 [0046] 步骤103,服务器按照标准方式生成ROResponse消息,根据协商的压缩算法对ROResponse消息中的rights进行压缩,并生成压缩后的ROResponse消息发送给终端。 [0047] 具体的,服务器接收终端发送的RORequest消息,并根据RORequest消息中的Need Compress Rights字段得知需要传输压缩格式的rights;服务器按照现有的标准方式生成ROResponse消息,根据Selected Compress Algorithm字段中的压缩算法对ROResponse消息中的rights进行压缩得到Compress Rights字段,并依据Compress Rights字段生成压缩后的ROResponse消息发送给终端。 [0048] 步骤104,终端接收压缩后的ROResponse消息,根据协商的压缩算法对接收的ROResponse消息中的rights进行解压缩,并生成解压缩后的ROResponse消息。 [0049] 具体的,终端接收到压缩后的ROResponse消息,根据Selected Compres sAlgorithm字段中的压缩算法对接收的ROResponse消息中的rights进行解压缩,并生成解压缩后的ROResponse消息。 [0050] 为适应图1所述的传输方法,本发明中DeviceHello消息的格式如表1所示: [0051] Parameter ROAP-DeviceHello Version M(Mandatory) Device ID M Supported Algorithms O(Optional) Supported Compress Algorithms O Extensions O [0052] 表1 [0053] 其中增加了Supported Compress Algorithms字段信息,M表示必选,O表示可选,Supported Compress Algorithms字段信息的XML的格式定义如下: [0054] [0056] [0058] [0059] [0060] Message sent from Device to RI to establish an RI Context.[0061] [0062] [0063] [0064] [0065] [0066] [0067] [0069] [0071] [0073] [0075] [0076] [0077] [0078] [0079] 同样的,为适应图1所述的传输方法,本发明中RIHello消息的格式如表2所示: [0080] [0081] [0082] 表2 [0083] 其中增加了Selected Compress Algorithms字段信息,其XML的格式定义如下: [0084] [0085] 相应的,本发明中需要对RIHello消息的XML格式定义进行修改,修改后的RIHello消息的XML格式定义如下: [0086] [0087] [0088] [0089] [0090] Message sent from RI to Device in response to a deviceHello message.[0091] [0092] [0093] [0094] [0095] [0096] [0098] [0100] [0102] [0103] [0105] [0108] [0109] [0110] [0111] [0112] 此外,在RORequest消息的格式中,需要在Extension字段中增加NeedCompress Rights字段信息,其XML的格式定义如下: [0113] [0114] [0115] [0116] [0117] [0118] 即如果RORequest消息中有Need Compress Rights字段,则表示终端要求服务器返回经过压缩的ROResponse消息;否则,表示终端不要求服务器返回经过压缩的ROResponse消息。 [0119] 在ROResponse消息的格式中,需要增加Compress Rights字段信息,其XML的格式定义如下: [0120] [0121] [0122] [0123] [0124] [0125] [0126] [0128] 其中,compressData字段为经过压缩算法压缩后的rights数据,该数据以base64格式存在,hash字段为经安全散列算法(SHA-1,Secure Hash Algorithm-1)计算所得的原rights数据的摘要值。Compress Rights字段的id属性必须与rights字段的id属性一致,compressAlgorithm属性表示压缩rights所采用的压缩算法。 [0129] 从而,ROResponse消息中经过修改后的ROPayload字段的格式如下: [0130] <!--Rights Object Definitions--> [0131] [0132] [0133] [0134] [0137] [0139] [0142] [0144] [0145] [0146] [0148] [0149] 其中,rights字段变成可选字段,若采用了压缩方式,则该rights字段可以不出现;compress Rights字段在采用压缩方式的时必须出现,未采用压缩方式时,可以不出现;rights Compressed属性用以指示该ROPayload字段所带的rights是否经过压缩。 [0150] 下面结合具体实施例对上述图1所示的传输方法进一步详细阐述。 [0151] 本发明的实施例一主要描述该传输方法在服务器侧的实现流程,如图2所示,主要包括以下步骤: [0152] 步骤201,服务器接收到来自终端的RORequest消息,生成对应的ROResponse消息。 [0153] 步骤202,服务器判断RORequest消息中是否含有Need Compress Rights字段,如果是,执行步骤203,否则,执行步骤206。 [0154] 如果RORequest消息中含有Need Compress Rights字段,则表示终端要求服务器返回经过压缩的ROResponse消息;否则,表示终端不要求服务器返回经过压缩的ROResponse消息。 [0155] 步骤203,服务器判断是否已经与终端协商好压缩算法,如果是,执行步骤204;否则,执行步骤206。 [0156] 服务器根据RIHello消息中的Selected Compress Algorithms字段的内容,判断是否已经与终端协商好压缩算法。 [0157] 步骤204,根据协商好的压缩算法对ROResponse消息中所有的rights字段的内容进行压缩,并生成对应的Commpress Rights字段。 [0158] 步骤205,根据Commpress Ri ghts字段生成压缩后的ROResponse消息。执行完后,转到步骤206。 [0159] 步骤206,服务器将生成的ROResponse消息发送给终端。 [0160] 需要指出的是,如果步骤206是在步骤202或203后执行,那么服务器发送的是未经压缩的ROResponse消息;如果步骤206是在步骤205后执行,那么服务器发送的是压缩后的ROResponse消息。 [0161] 本发明的实施例二主要描述该传输方法在终端侧的实现流程,如图3所示,主要包括以下步骤: [0162] 步骤301~302,终端接收到来自服务器的ROResponse消息,判断该ROResponse消息的ROPayload字段中的rights Compressed属性是否为true,如果是,执行步骤303;否则执行步骤306。 [0163] 步骤303,终端判断自身是否支持Selected Compress Algorithms字段中所表示的压缩算法,如果是,执行步骤304;否则,终端处理ROResponse消息失败,结束整个流程。 [0164] 步骤304,终端根据Selected Compress Algorithms字段中所表示的压缩算法,对ROResponse消息中的Compress Rights字段进行解压缩,并根据hash值进行数据的完整性验证。 [0165] 步骤305,验证通过后,还原出压缩前的rights字段,并依据rights字段生成ROResponse消息。 [0166] 步骤306,对ROResponse消息进行标准处理。 [0167] 为实现上述版权压缩的传输方法,本发明还提供了一种版权压缩的传输系统,如图4所示,该系统包括:终端10和服务器20。其中,终端10,用于与服务器20协商rights的压缩算法,并在RORequest消息中,通过扩展字段向服务器20请求传输压缩格式的rights;还用于接收来自服务器20的压缩后的ROResponse消息,根据协商的压缩算法对接收的ROResponse消息中的rights进行解压缩,并生成解压缩后的ROResponse消息。服务器20,用于与终端10协商rights的压缩算法,并在接收到来自终端10的RORequest消息时,按照标准方式生成ROResponse消息,根据协商的压缩算法对ROResponse消息中的rights进行压缩,并生成压缩后的ROResponse消息发送给终端10。 [0168] 较佳的,终端10进一步用于,发送DeviceHello消息给服务器20,并通过DeviceHello消息中新增的Supported C ompress Algorithm字段将自身所支持的压缩算法通知给服务器20;相应的,服务器20进一步用于,根据SupportedCompress Algorithm字段的内容,选择协商同意的压缩算法,并通过RIHello消息中新增的Selected Compress Algorithm字段通知终端10。 [0169] 终端10还用于,发送RORequest消息给服务器20,并通过RORequest消息的Extensions字段中新增的Need Compress Rights字段,通知服务器20传输压缩格式的rights。 [0170] 服务器20还用于,接收终端10发送的RORequest消息,并根据RORequest消息中的Need Compress Rights字段得知需要传输压缩格式的rights;按照标准方式生成ROResponse消息,根据Selected Compress Algorithm字段中的压缩算法对ROResponse消息中的rights进行压缩得到Compress Rights字段,并依据Compress Rights字段生成压缩后的ROResponse消息发送给终端10。 [0171] 终端10还用于,接收到压缩后的ROResponse消息,根据Selected CompressAlgorithm字段中的压缩算法对接收的ROResponse消息中的rights进行解压缩,并生成解压缩后的ROResponse消息。 [0172] 综上所述,本发明的方法和系统,很好地利用了XML格式具有良好扩展性的特点,通过扩展XML对ROResponse数据进行有效地压缩,减少了ROAP通信的数据量,提高了数字版权对象传输的可靠性和用户体验;另外,本发明中的方法也很好地利用了ROAP具备握手安全协议的特点,无缝地实现了终端和服务器间压缩版权的传输。 [0173] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。 |