一种数字媒体内容保护方法及装置、服务器、终端
技术领域
本发明涉及通信技术领域,特别是涉及一种数字媒体内容保护方法及装置、服务器、终端。
背景技术
为了保护数字媒体的版权,通常需要用内容密钥对数字媒体内容进行加密,再将内容加密密钥和媒体内容的使用权利信息以安全的方式发送给合法用户,合法用户客户端按照使用权利信息的规定使用内容密钥解密数字媒体内容。
现有技术中,一般使用权利描述技术实现对内容使用权利的控制,其中使用权利可以包括:预览、播放、存储、移动、拷贝和超分发等操作权利。一般,每一种权利的使用都规定有相应的限制条件,例如,只能在某个时间段进行预览,或者只能在某个截止日期前进行播放等。这样,由于用户订购的业务千差万别,对于用户的这些不同的业务需求,运营商就需要将每一项使用权利与其相应的限制条件打包形成许可证发送给相应的用户。内容使用权利的繁多种类和每一种使用权利对应的限制条件的不同,使得每次形成许可证的操作过程都很繁琐。同时,客户端也必须对这些权利和限制条件进行繁琐的解析及处理才能对数字媒体内容进行使用,效率低下。而且,当用户取消订购某项业务时,运营商还需要给用户发送取消业务指令,操作繁琐、效率低下。
发明内容
本发明要解决的问题是提供一种数字媒体内容保护方法及装置、服务器、终端,能够有效提高数字媒体内容保护的操作效率。
为达到上述目的,本发明的技术方案提供一种数字媒体内容保护方法,包括以下步骤:
构建密钥使用规则对象,所述密钥使用规则对象用于描述加密数字媒体内容的内容密钥以及加密所述内容密钥的各层上级密钥;
向用户发送所述密钥使用规则对象,以使所述用户利用客户端私钥逐层解密所述密钥使用规则对象的各层上级密钥和所述内容密钥,从而解密对应的数字媒体内容。
具体地,所述构建密钥使用规则对象包括:
构建至少一个密钥使用规则实体,每个所述密钥使用规则实体包括:索引信息,用于标识所述密钥使用规则实体;密钥信息,用于描述所述密钥使用规则实体所对应的第一密钥的概况信息以及加密所述第一密钥的第二密钥的概况信息;密钥使用规则,用于描述所述第一密钥的使用条件;
将所述至少一个密钥使用规则实体封装成所述密钥使用规则对象。
具体地,所述索引信息包括:密钥使用规则实体标识,用于唯一标识所述密钥使用规则实体,和密钥使用规则实体版本,用于描述所述密钥使用规则实体的版本。
可选地,所述索引信息还包括用户标识、设备标识、内容标识中的至少一种;所述用户标识,用于描述所述密钥使用规则实体适用于所述用户标识所代表的用户;所述设备标识,用于描述所述密钥使用规则实体适用于所述设备标识所代表的设备;所述内容标识,用于描述所述密钥使用规则实体适用于所述内容标识所代表的数字媒体内容。
具体地,所述至少一个密钥使用规则实体包括内容密钥使用规则实体和业务密钥使用规则实体;所述内容密钥使用规则实体的第一密钥为加密数字媒体内容的内容密钥;所述内容密钥使用规则实体的第二密钥为加密所述内容密钥的业务密钥;所述业务密钥使用规则实体的第一密钥为所述内容密钥使用规则实体的所述第二密钥;所述业务密钥使用规则实体的第二密钥为客户端公钥。
具体地,所述密钥信息包括:密钥类型,用于描述所述密钥使用规则实体所对应的所述第一密钥的类型;密钥标识,用于唯一标识所述第一密钥;
密钥算法,用于描述所述第一密钥的算法;加密密钥标识,用于唯一标识加密所述第一密钥的所述第二密钥;密钥加密算法,用于描述所述第二密钥加密所述第一密钥的算法;加密的密钥,用于描述所述第二密钥加密所述第一密钥后形成的二进制串。
可选地,所述密钥使用规则包括以下项目中的至少一种:起始时间,用于限定在所述起始时间之后允许使用所述第一密钥,在所述起始时间之前不允许使用所述第一密钥;截止时间,用于限定在所述截止时间之前允许使用所述第一密钥,在所述截止时间之后不允许使用所述第一密钥;时间段,用于限定从第一次使用所述第一密钥之后允许使用所述第一密钥的时间范围;累计时间段,用于限定从第一次使用所述第一密钥开始,累计使用所述第一密钥的时间段;次数,用于限定允许使用所述第一密钥的次数。
进一步地,在所述构建密钥使用规则对象之后,在所述向用户发送所述密钥使用规则对象之前,所述方法还包括:
对所述密钥使用规则对象进行数字签名;
所述向用户发送所述密钥使用规则对象包括:
向用户发送进行数字签名后的所述密钥使用规则对象。
另一方面,本发明的实施例还提供一种数字媒体内容保护方法,包括以下步骤:
从服务器接收密钥使用规则对象,所述密钥使用规则对象用于描述加密数字媒体内容的内容密钥以及加密所述内容密钥的各层上级密钥;
利用客户端私钥将所述密钥使用规则对象中的密钥逐层解密以获得所述内容密钥;
利用所述内容密钥解密所述数字媒体内容。
具体地,所述密钥使用规则对象包括至少一个密钥使用规则实体,每个所述密钥使用规则实体包括:索引信息,用于标识所述密钥使用规则实体;密钥信息,用于描述所述密钥使用规则实体所对应的第一密钥的概况信息以及加密所述第一密钥的第二密钥的概况信息;密钥使用规则,用于描述所述第一密钥的使用条件。
具体地,所述至少一个密钥使用规则实体为内容密钥使用规则实体和业务密钥使用规则实体;所述内容密钥使用规则实体的第一密钥为加密数字媒体内容的内容密钥;所述内容密钥使用规则实体的第二密钥为加密所述内容密钥的业务密钥;所述业务密钥使用规则实体的第一密钥为所述内容密钥使用规则实体中的所述第二密钥;所述业务密钥使用规则实体的第二密钥为客户端公钥;
所述利用客户端私钥将所述密钥使用规则对象中的密钥逐层解密以获得所述内容密钥包括:
利用所述客户端私钥解密所述业务密钥使用规则实体中的业务密钥;
利用解密后的所述业务密钥解密所述内容密钥使用规则实体中的内容密钥。
另一方面,本发明的实施例还提供一种数字媒体内容保护装置,包括:
构建单元,用于构建密钥使用规则对象,所述密钥使用规则对象用于描述加密数字媒体内容的内容密钥以及加密所述内容密钥的各层上级密钥;
发送单元,用于向用户发送所述密钥使用规则对象,以使所述用户利用客户端私钥逐层解密所述密钥使用规则对象的各层上级密钥和所述内容密钥,从而解密对应的数字媒体内容。
具体地,所述构建单元包括:实体构建模块,用于构建至少一个密钥使用规则实体,所述密钥使用规则实体包括:索引信息,用于标识所述密钥使用规则实体;密钥信息,用于描述所述密钥使用规则实体所对应的第一密钥的概况信息以及加密所述第一密钥的第二密钥的概况信息;密钥使用规则,用于描述所述第一密钥的使用条件;对象封装模块,用于将所述至少一个密钥使用规则实体封装成所述密钥使用规则对象。
具体地,所述密钥信息包括:密钥类型,用于描述所述密钥使用规则实体所对应的所述第一密钥的类型;密钥标识,用于唯一标识所述第一密钥;
密钥算法,用于描述所述第一密钥的算法;加密密钥标识,用于唯一标识加密所述第一密钥的所述第二密钥;密钥加密算法,用于描述所述第二密钥加密所述第一密钥的算法;加密的密钥,用于描述所述第二密钥加密所述第一密钥后形成的二进制串。
可选地,所述密钥使用规则包括以下项目中的至少一种:起始时间,用于限定在所述起始时间之后允许使用所述第一密钥,在所述起始时间之前不允许使用所述第一密钥;截止时间,用于限定在所述截止时间之前允许使用所述第一密钥,在所述截止时间之后不允许使用所述第一密钥;时间段,用于限定从第一次使用所述第一密钥之后允许使用所述第一密钥的时间范围;累计时间段,用于限定从第一次使用所述第一密钥开始,累计使用所述第一密钥的时间段;次数,用于限定允许使用所述第一密钥的次数。
优选地,还包括数字签名单元,用于对所述密钥使用规则对象进行数字签名;
所述发送单元,具体用于向用户发送进行数字签名后的所述密钥使用规则对象。
另一方面,本发明的实施例还提供一种数字媒体内容保护装置,包括:
接收单元,用于从服务器接收密钥使用规则对象,所述密钥使用规则对象用于描述加密数字媒体内容的内容密钥以及加密所述内容密钥的各层上级密钥;
密钥解密单元,用于利用客户端私钥将所述密钥使用规则对象中的密钥逐层解密以获得所述内容密钥;
媒体解密单元,用于利用所述内容密钥解密所述数字媒体内容。
具体地,所述密钥使用规则对象包括至少一个密钥使用规则实体,每个所述密钥使用规则实体包括:索引信息,用于标识所述密钥使用规则实体;密钥信息,用于描述所述密钥使用规则实体所对应的第一密钥的概况信息以及加密所述第一密钥的第二密钥的概况信息;密钥使用规则,用于描述所述第一密钥的使用条件。
另一方面,本发明的实施例还提供一种服务器,所述服务器上设置有本发明的实施例提供的数字媒体内容保护装置。
另一方面,本发明的实施例还提供一种终端,所述终端上设置有本发明的实施例提供的数字媒体内容保护装置。
与现有技术相比,本发明的有益效果如下:
本实施例提供的数字媒体内容保护方法及装置、服务器、终端,包括密钥使用规则对象,所述密钥使用规则对象中包含了用于加密数字媒体内容的内容加密密钥以及加密所述内容密钥的各层上级密钥,当将所述密钥使用规则对象发送给用户时,能够使用户利用客户端私钥逐层解密所述各层上级密钥和所述内容密钥,从而解密对应的数字媒体内容,即,仅仅通过一个对象数据类型的定义和使用,就能够实现对数字媒体内容的多层加密,数据结构简单清晰、可扩展性好,有效提高了数字媒体内容保护的操作效率。
附图说明
图1是本发明实施例提供的数字媒体内容保护方法的一种流程图;
图2是本发明实施例提供的数字媒体内容保护方法中密钥使用规则对象的结构示意图;
图3是图2中的密钥使用规则对象被数字签名后的结构示意图;
图4是本发明实施例提供的数字媒体内容保护方法的另一种流程图;
图5是本发明实施例提供的数字媒体内容保护装置的一种结构示意图;
图6是图5中的构建单元的一种结构示意图;
图7是本发明实施例提供的数字媒体内容保护装置的另一种结构示意图;
图8是本发明实施例提供的数字媒体内容保护装置的另一种结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,本发明的实施例提供一种数字媒体内容保护方法,基于服务器,所述方法可以包括以下步骤:
S11,构建密钥使用规则对象,所述密钥使用规则对象用于描述加密数字媒体内容的内容密钥以及加密所述内容密钥的各层上级密钥;
S12,向用户发送所述密钥使用规则对象,以使所述用户利用客户端私钥逐层解密所述密钥使用规则对象的各层上级密钥和所述内容密钥,从而解密对应的数字媒体内容。
本实施例提供的数字媒体内容保护方法,构建了一种密钥使用规则对象,所述密钥使用规则对象中包含了用于加密数字媒体内容的内容加密密钥以及加密所述内容密钥的各层上级密钥,当将所述密钥使用规则对象发送给用户时,能够使用户利用客户端私钥逐层解密所述各层上级密钥和所述内容密钥,从而解密对应的数字媒体内容,这样,仅仅通过一个对象数据类型的定义和使用,就能够实现对数字媒体内容的多层加密,数据结构简单清晰、可扩展性好,有效提高了数字媒体内容保护的操作效率。
具体而言,步骤S11中构建的密钥使用规则对象可以采用构造不同的数据结构等多种方式实现对内容密钥以及加密该内容密钥的各层上级密钥的描述。考虑到一个密钥使用规则对象一般涉及到包括内容密钥及其各层上级密钥的所有密钥的描述,为了使这些相互关联的密钥之间逻辑清楚并具有良好的可扩展性,优选的,步骤S11中构建密钥使用规则对象可以具体包括如下步骤:
构建至少一个密钥使用规则实体,每个所述密钥使用规则实体包括:索引信息,用于标识所述密钥使用规则实体;密钥信息,用于描述所述密钥使用规则实体所对应的第一密钥的概况信息以及加密所述第一密钥的第二密钥的概况信息;密钥使用规则,用于描述所述第一密钥的使用条件;
将所述至少一个密钥使用规则实体封装成所述密钥使用规则对象,构建好的对象可如图2所示。
这样,就将密钥使用规则对象通过一个或多个密钥使用规则实体描述出来,其中,每一个密钥使用规则实体都针对一个密钥以及加密该密钥的密钥进行具体描述。一个密钥可能在一个实体中被描述为加密一个密钥的密钥,而在另一个实体中被描述为一个待加密的密钥,这样,不同的实体之间就相互联系起来,从而使每个实体中的密钥相互联系形成密钥链。
本实施例中,每个密钥使用规则实体都包括有索引信息、密钥信息和密钥使用规则。各个实体具有相同的数据类型,只是每种数据类型下的具体数据有所不同,逻辑清晰,可扩展性好。
其中,索引信息可以包括密钥使用规则实体标识,用于唯一标识所述密钥使用规则实体,也就是说,在同一个密钥使用规则对象中,不同的密钥使用规则实体具有不同的密钥使用规则实体标识。在本发明的一些实施例中,密钥使用规则实体也可能先后发布了不同的版本,为了标识这些不同的版本,索引信息还可包括密钥使用规则实体版本,用于描述所述密钥使用规则实体的版本信息。
此外,密钥使用规则实体是用于描述密钥的,根据密钥的加密对象或者运行环境的不同,可选的,索引信息还可以包括用户标识,用于描述所述密钥使用规则实体适用于所述用户标识所代表的用户;或者包括设备标识,用于描述所述密钥使用规则实体适用于所述设备标识所代表的设备;还可以包括内容标识,用于描述所述密钥使用规则实体适用于所述内容标识所代表的数字媒体内容。如果一个密钥使用规则实体中不包含用户标识或设备标识,则该密钥使用规则实体在所有用户或设备上均可用。如果一个密钥使用规则实体描述的密钥是用来加密数字媒体内容的内容密钥,则内容标识直接指引着该实体适用的内容,也就是该内容密钥加密的那部分数字媒体内容。
具体地,密钥信息需要描述清楚本密钥使用规则实体所对应的密钥的概况信息以及加密该密钥的密钥的概况信息。一个密钥可能在一个实体中被描述为加密一个密钥的密钥,而在另一个实体中被描述为待加密的密钥,这样,不同的实体之间就相互联系起来,从而使各个实体中的密钥相互联系形成密钥链。为了描述清楚,在一个密钥使用规则实体中,将该实体对应的密钥称为第一密钥,将加密该第一密钥的密钥称为第二密钥。
根据实际需要,密钥信息中所包含的概况信息可以有所不同,本发明的实施例对此不做限制,只要该密钥信息中的内容能够将不同层密钥的加密相联系起来形成多层加密即可。例如,在本发明的一个实施例中,所述密钥信息可以包括如下内容:
密钥类型,用于描述所述密钥使用规则实体所对应的所述第一密钥的类型;可选的,密钥类型可以为内容密钥、业务密钥、域密钥等等。
密钥标识,用于唯一标识所述第一密钥;
密钥算法,用于描述所述第一密钥的算法;
加密密钥标识,用于唯一标识加密所述第一密钥的所述第二密钥;
密钥加密算法,用于描述所述第二密钥加密所述第一密钥的算法;
加密的密钥,用于描述所述第二密钥加密所述第一密钥后形成的二进制串。
当然,在本发明的其他实施例中,密钥信息还可以包括其他的数据或信息,在能够实现上述功能的条件下,本发明对此密钥信息的具体结构不做限制。
一个密钥使用规则对象中可以包括一个密钥使用规则实体,也可以包括两个或更多的密钥使用规则实体,如前文所述,当包括两个以上的密钥使用规则实体时,这两个实体所描述的密钥之间需要建立联系,以形成密钥的层级保护。
举例而言,在本发明的一个实施例中,所述至少一个密钥使用规则实体包括内容密钥使用规则实体和业务密钥使用规则实体,即一个密钥使用规则对象中包括内容密钥使用规则实体和业务密钥使用规则实体;所述内容密钥使用规则实体的第一密钥为加密数字媒体内容的内容密钥;所述内容密钥使用规则实体的第二密钥为加密所述内容密钥的业务密钥;所述业务密钥使用规则实体的第一密钥为所述内容密钥使用规则实体的所述第二密钥,即所述业务密钥,所述业务密钥使用规则实体的第二密钥为客户端公钥,即加密所述业务密钥的密钥为客户端公钥。这样,只要用户获得了客户端私钥就能够根据业务密钥使用规则实体描述的信息,将所述业务密钥解密,并根据内容密钥使用规则实体描述的信息,利用解密后的业务密钥来解密内容密钥。由于构建了密钥使用规则对象和实体,对各个层级的密钥的描述都可以在该对象中进行,如果需要添加多一级的密钥,也不需要像现有技术一样,重新打包生成许可证,而只需要在密钥使用规则对象中再增加一个密钥使用规则实体即可,具有良好的可扩展性。
可以理解的,通过为数字媒体内容加密可以实现对媒体内容的保护,但是由于数字媒体内容对于不同用户的开放程度可能不同,用户对于数字媒体业务的订购种类也千差万别,为了实现对数字媒体内容进行不同权限的保护,在本发明的一些实施例中,还可以对密钥使用规则实体中的密钥限定使用规则。
可选的,所述密钥使用规则包括以下项目中的至少一种:
起始时间,用于限定在所述起始时间之后允许使用所述第一密钥,在所述起始时间之前不允许使用所述第一密钥;
截止时间,用于限定在所述截止时间之前允许使用所述第一密钥,在所述截止时间之后不允许使用所述第一密钥;
时间段,用于限定从第一次使用所述第一密钥之后允许使用所述第一密钥的时间范围;
累计时间段,用于限定从第一次使用所述第一密钥开始,累计使用所述第一密钥的时间段;
次数,用于限定允许使用所述第一密钥的次数。
需要说明的是,这些密钥的使用规则并不分优先级,如果某个密钥没有定义任何使用规则,则对于该密钥的使用无任何限制。上述密钥的使用规则既可单独使用也可联合使用,在多规则联合使用时按照“逻辑与”的方式联合各规则,即多规则情况下只要有一项规则不满足就不允许使用该密钥。例如,在本发明的一个实施例中,一个密钥使用实体对应的第一密钥的使用规则为限定有截止时间为2014年12月31日,次数为20次,则在2014年12月31日之前,第一密钥是可用的,且在该日期之前,该第一密钥可以被使用20次。在该日期之后或者该第一密钥使用超过20次后,该第一密钥就不能使用了,也就不能通过该第一密钥去解密下一级密钥或者数字媒体内容,从而达到限制用户访问权限的目的。
当一个密钥使用规则对象中包括多个密钥使用规则实体时,这些实体所描述的密钥可能存在彼此并列的关系,也可能存在上下级分层加密的关系,即一个密钥的解密依赖于另外一个密钥。由于这些密钥都可以规定相应的使用规则,这样,当需要对某一类数字媒体内容进行统一限制,同时又需要允许各个并列关系的密钥之间的限制条件可以不同时,则可以通过分别设置上层密钥的使用规则以及各并列的下层密钥的使用规则来实现该需要,从而使对数字媒体内容保护权限的控制更灵活、更高效。
进一步地,为了保护密钥使用规则对象的真实性、合法性和完整性,在步骤S11和S12之间,还可以包括:对所述密钥使用规则对象进行数字签名的步骤。此时,步骤S12,向用户发送所述密钥使用规则对象具体可以包括:向用户发送进行数字签名后的所述密钥使用规则对象,签名后的密钥使用规则的示意图可如图3所示。
需要说明的是,数字签名是对整个密钥使用规则对象的签名,进行数字签名所需的签名信息包括:签名方标识、签名算法标识、数字签名。其中,签名方标识用于标识生成该数字签名的签名方,如签名方证书序列号;签名算法标识用于标识生成该数字签名的签名算法;数字签名为采用签名方数字证书和签名算法标识的签名算法计算出的密钥使用规则对象的数字签名,该数字签名例如,可以为八位二进制串。
还需要说明的是,上述实施例中的密钥使用规则对象可以按照一定的编码规则编码为二进制数据块发送给客户端,从而减小需要传输的数据量。客户端可以解码该二进制数据块,按照其中的密钥使用规则合理的使用密钥,即可达到内容保护的目的。
在编码过程中,密钥使用规则的索引信息、使用规则和密钥信息编码为密钥使用规则实体;一个或多个密钥使用规则实体编码为密钥使用规则对象。密钥使用规则对象及其附加的数字签名可采用ASN.1DER(Abstract SyntaxNotation One Distinguished Encoding Rules,抽象语法标记区别编码规则)编码、自定义二进制数据格式编码,也可采用XML(Extensible Markup Language,可扩展标记语言)格式等进行编码。
基于ASN.1DER编码规则进行密钥使用规则对象的编码,由于与PKI(Public Key Infrastructure,公钥基础设施)/CA(CertificateAuthority,电子商务认证授权机构)认证体系采用的抽象语法标记一致,可以很好的与PKI/CA体系兼容,具有一定的灵活性和可扩展性;同时,由于DER编码将密钥使用规则对象编码为二进制数据块,适合于各种应用场景下的传输,并在一定程度上节省带宽。自定义二进制数据格式编码是将密钥使用规则对象采用自定义的二进制数据格式编码为二进制数据块,这种方式编码的密钥使用规则对象最小,但可扩展性、兼容性、和灵活性稍差。采用XML语法格式编码密钥使用规则对象的方式编码的密钥使用规则对象可读性强,但体积较大,占用带宽较多。可以结合以上编码的特点以及实际需要,灵活选择所采取的的编码方式。
与上述方法相对应,本发明的实施例还提供一种数字媒体内容保护方法,基于用户的终端,如图4所示,该方法可以包括以下步骤:
S21,从服务器接收密钥使用规则对象,所述密钥使用规则对象用于描述加密数字媒体内容的内容密钥以及加密所述内容密钥的各层上级密钥;
S22,利用客户端私钥将所述密钥使用规则对象中的密钥逐层解密以获得所述内容密钥;
S23,利用所述内容密钥解密所述数字媒体内容。
本实施例提供的数字媒体内容保护方法,终端能够从服务器接收密钥使用规则对象,所述密钥使用规则对象中包含了用于加密数字媒体内容的内容加密密钥以及加密所述内容密钥的各层上级密钥,当用户的终端接收到所述密钥使用规则对象时,该终端能够利用客户端私钥逐层解密所述各层上级密钥和所述内容密钥,从而解密对应的数字媒体内容,这样,仅仅通过一个对象数据类型的定义和使用,就能够实现对数字媒体内容的多层加密,数据结构简单清晰、可扩展性好,有效提高了数字媒体内容保护的操作效率。
具体而言,所述密钥使用规则对象包括至少一个密钥使用规则实体,每个所述密钥使用规则实体包括:索引信息,用于标识所述密钥使用规则实体;密钥信息,用于描述所述密钥使用规则实体所对应的第一密钥的概况信息以及加密所述第一密钥的第二密钥的概况信息;密钥使用规则,用于描述所述第一密钥的使用条件。
这样,就将密钥使用规则对象通过一个或多个密钥使用规则实体描述出来,其中,每一个密钥使用规则实体都针对一个密钥以及加密该密钥的密钥进行具体描述。一个密钥可能在一个实体中被描述为加密一个密钥的密钥,而在另一个实体中被描述为一个待加密的密钥,这样,不同的实体之间就相互联系起来,从而使每个实体中的密钥相互联系形成密钥链。
本实施例中,每个密钥使用规则实体包括有索引信息、密钥信息和密钥使用规则。各个实体具有相同的数据类型,只是每种数据类型下的具体数据有所不同,逻辑清晰,可扩展性好。
关于密钥使用规则实体中的索引信息、密钥信息和密钥使用规则的特征和有益效果,前文已经进行了详细的说明,请参考前文相应部分的内容,此处不再赘述。
需要说明的是,一个密钥使用规则对象中可以包括一个密钥使用规则实体,也可以包括两个或更多的密钥使用规则实体。
例如,在本发明的一个实施例中,所述至少一个密钥使用规则实体包括内容密钥使用规则实体和业务密钥使用规则实体;所述内容密钥使用规则实体的第一密钥为加密数字媒体内容的内容密钥;所述内容密钥使用规则实体的第二密钥为加密所述内容密钥的业务密钥;所述业务密钥使用规则实体的第一密钥为所述内容密钥使用规则实体的所述第二密钥,即所述业务密钥,所述业务密钥使用规则实体的第二密钥为客户端公钥,即加密所述业务密钥的密钥为客户端公钥。这样,步骤S22中利用客户端私钥将所述密钥使用规则对象中的密钥逐层解密以获得所述内容密钥的步骤具体可以包括:
利用所述客户端私钥解密所述业务密钥使用规则实体中的业务密钥;
利用解密后的所述业务密钥解密所述内容密钥使用规则实体中的内容密钥。
下面通过几个具体的实施例,详细说明本发明的实施例提供的数字媒体内容保护方法。
实施例一
用户请求播放一个数字媒体内容,运营商在业务系统中判定该用户已付费,允许用户在当天24小时内观看该内容。对该数字媒体内容的保护主要通过以下步骤实现:
1、运营商将内容加密密钥用用户的公钥加密;
2、运营商根据密钥使用规则的定义,设定密钥可使用的起始时间、截止时间,时间为1天;
3、运营商将该密钥使用规则及加密后的内容密钥按照密钥使用规则对象的定义封装成密钥使用规则对象,使用运营商的数字证书对密钥使用规则对象签名后,生成签名后的密钥使用规则对象,发送给用户;
4、用户的终端接收到该密钥使用规则对象后,使用运营商的数字证书验证该密钥使用规则对象的合法性和完整性;
5、验证通过后,用户的终端使用其客户端私钥解密内容密钥,按照内容密钥的使用规则使用内容密钥解密数字媒体内容;
6、在超过密钥使用规则定义的时间期限后,该内容密钥不允许使用,用户将不允许使用该内容密钥解密数字媒体内容。
同样,如果运营商允许用户在购买内容之前预览内容,则可以按照上述流程给用户发送一个密钥使用规则对象,该对象中规定密钥累计使用时间是5分钟,则用户只能浏览5分钟,5分钟之后该密钥不允许使用,达到用户预览的目的,从而有效提高了数字媒体内容保护的操作效率。
需要说明的是,本发明的实施例提供的用户终端需要始终保护数字媒体内容,不允许将解密后的数字媒体内容泄露;当用户将内容拷贝或转移到其它设备上时,只允许将加密的内容拷贝或转移到其它设备,其它设备需要播放内容时同样需要按照上述流程去获取密钥使用规则对象,按照密钥使用规则对象中规定的密钥使用规则合理的使用内容密钥解密内容。
实施例二
用户从运营商处购买一个电视剧业务,该电视剧有40集,运营商允许用户在一个月的时间观看该内容。则对该数字媒体内容的保护主要通过以下步骤实现:
1、运营商用用户端设备的公钥加密业务密钥,给业务密钥设定使用规则为一个月,将加密后的业务密钥与其使用规则封装为一个密钥使用规则实体;
2、运营商用业务密钥加密40集电视剧的内容密钥,将加密后的40集电视剧的内容密钥及每集的密钥使用规则分别封装为40个密钥使用规则实体;
3、运营商将上述41个密钥使用规则实体封装为一个密钥使用规则对象,经过数字签名后发送给用户;
4、用户终端接收到该密钥使用规则对象后,验证该密钥使用规则对象数字签名的合法性和完整性;
5、验证通过后,用户在需要看某一集电视剧的时候,用客户端私钥解密业务密钥,用业务密钥解密内容密钥,最终用解密后的内容密钥解密内容;
6、用户端设备在解密业务密钥时需要遵循业务密钥的使用规则,如果该密钥使用规则规定的1个月期限到期,则不允许设备解密业务密钥,这样用户就不能观看该内容。
上述方式的优点在于:
(1)如果运营商对于这个电视剧业务的密钥使用规则是一样的,即40集电视剧都允许看1个月,则只需要在业务密钥使用规则实体中定义详细的密钥使用规则,而在40个内容密钥使用规则实体中只定义内容密钥,而其密钥使用规则不进行定义,即遵循业务密钥使用规则的要求;这样可以缩减密钥使用规则对象的大小,节省数据传输带宽,有效提高了数字媒体内容保护的操作效率;
(2)如果运营商对这个电视剧业务中的某一集电视剧有具体的要求,比如每集电视剧在一个月的业务有效期内容只允许播放1次,则可将这集电视剧的内容密钥的使用规则中的累计时间段设定为该集电视剧的长度,即用户在观看该集时只能在该集电视剧的时长这样一个时间段内使用内容密钥,达到运营商的要求;即这样的方式在节省带宽的同时,不影响运营商对每个内容设定不同的使用要求,有效提高了数字媒体内容保护的操作效率。
实施例三
用户家庭中可能有多个设备,在有访客时,访客的设备也可能加入到用户的家庭网络中,使用用户所购买的数字媒体内容。
比如,用户家庭中有2台设备,运营商设定的家庭网络设备包月观看某个内容的期限是1个月。在1个月的时间内,用户在家庭的2台设备上都可以观看订购的内容;如果有临时的访客带设备进入家庭,在这1个月的有效期内,运营商允许访客设备可在1天的时间内观看这个家庭购买的内容。对该数字媒体内容的保护主要通过以下步骤实现:
1、运营商对用户的家庭网络分配一个域密钥,该密钥分别用用用户2台客户端设备的公钥加密,并限定了该密钥的使用规则,即1个月的时间;封装为两个密钥使用规则实体;
2、运营商用用户的域密钥加密用户订购的内容的内容密钥,并设定其使用规则为1个月的期限,封装为一个密钥使用规则实体;如果运营商对该用户订购的某个内容有其他的使用规则限定,比如只允许在一天内观看,则可将该密钥的使用规则设定为1天;
3、运营商将上述三个密钥使用规则实体封装为密钥使用规则对象,数字签名后发送给用户;
4、用户终端验证该密钥使用规则对象的合法性和完整性后,用客户端私钥解密域密钥;按照域密钥的使用规则,用域密钥解密内容密钥,最终按照内容密钥的使用规则去解密数字媒体内容;
5、当用户申请将访客设备加入到家庭网络中时,运营商将该家庭网络的域密钥用访客设备的公钥加密,并限定其使用规则为1天;同时按照上述流程发布密钥使用规则对象;这样,访客设备就可以在1天的时间内观看该家庭网络的内容;在1天的有效期过后,该访客设备上的域密钥就不允许使用,自动取消访客的访问权限。
这种情况下,使用本发明中的密钥使用规则对象可以灵活的设置家庭网络中设备的多少以及某个具体设备的访问权限,有效提高了数字媒体内容保护的操作效率。
与前面的数字媒体内容保护方法相对应,如图5所示,本发明的实施例还提供一种数字媒体内容保护装置1,包括:
构建单元11,用于构建密钥使用规则对象,所述密钥使用规则对象用于描述加密数字媒体内容的内容密钥以及加密所述内容密钥的各层上级密钥;
发送单元12,用于向用户发送所述密钥使用规则对象,以使所述用户利用客户端私钥逐层解密所述密钥使用规则对象的各层上级密钥和所述内容密钥,从而解密对应的数字媒体内容。
本实施例提供的数字媒体内容保护装置1,其构建单元11构建了一种密钥使用规则对象,所述密钥使用规则对象中包含了用于加密数字媒体内容的内容加密密钥以及加密所述内容密钥的各层上级密钥,当通过发送单元12将所述密钥使用规则对象发送给用户时,能够使用户利用客户端私钥逐层解密所述各层上级密钥和所述内容密钥,从而解密对应的数字媒体内容,这样,仅仅通过一个对象数据类型的定义和使用,就能够实现对数字媒体内容的多层加密,数据结构简单清晰、可扩展性好,有效提高了数字媒体内容保护的操作效率。
具体的,如图6所示,构建单元11可包括:
实体构建模块111,用于构建至少一个密钥使用规则实体,所述密钥使用规则实体包括:索引信息,用于标识所述密钥使用规则实体;密钥信息,用于描述所述密钥使用规则实体所对应的第一密钥的概况信息以及加密所述第一密钥的第二密钥的概况信息;密钥使用规则,用于描述所述第一密钥的使用条件;
对象封装模块112,用于将所述至少一个密钥使用规则实体封装成所述密钥使用规则对象。
这样,就将密钥使用规则对象通过一个或多个密钥使用规则实体描述出来,其中,每一个密钥使用规则实体都针对一个密钥以及加密该密钥的密钥进行具体描述。一个密钥可能在一个实体中被描述为加密一个密钥的密钥,而在另一个实体中被描述为一个待加密的密钥,这样,不同的实体之间就相互联系起来,从而使每个实体中的密钥相互联系形成密钥链。
本实施例中,每个密钥使用规则实体包括有索引信息、密钥信息和密钥使用规则。各个实体具有相同的数据类型,只是每种数据类型下的具体数据有所不同,逻辑清晰,可扩展性好。
其中,密钥信息需要描述清楚本密钥使用规则实体所对应的密钥的概况信息以及加密该密钥的密钥的概况信息。一个密钥可能在一个实体中被描述为加密一个密钥的密钥,而在另一个实体中被描述为一个待加密的密钥,这样,不同的实体之间就相互联系起来,从而使每个实体中的密钥相互联系形成密钥链。为了描述清楚,在一个密钥使用规则实体中,将该实体对应的密钥称为第一密钥,将加密该第一密钥的密钥称为第二密钥。
根据实际需要,密钥信息中所包含的概况信息可以有所不同,本发明的实施例对此不做限制,只要该密钥信息中的内容能够将不同层的密钥的加密相联系起来形成多层加密即可。例如,在本发明的一个实施例中,所述密钥信息可以包括如下内容:
密钥类型,用于描述所述密钥使用规则实体所对应的所述第一密钥的类型;可选的,密钥类型可以为内容密钥、业务密钥、域密钥等等。
密钥标识,用于唯一标识所述第一密钥;
密钥算法,用于描述所述第一密钥的算法;
加密密钥标识,用于唯一标识加密所述第一密钥的所述第二密钥;
密钥加密算法,用于描述所述第二密钥加密所述第一密钥的算法;
加密的密钥,用于描述所述第二密钥加密所述第一密钥后形成的二进制串。
可选的,所述密钥使用规则包括以下项目中的至少一种:
起始时间,用于限定在所述起始时间之后允许使用所述第一密钥,在所述起始时间之前不允许使用所述第一密钥;
截止时间,用于限定在所述截止时间之前允许使用所述第一密钥,在所述截止时间之后不允许使用所述第一密钥;
时间段,用于限定从第一次使用所述第一密钥之后允许使用所述第一密钥的时间范围;
累计时间段,用于限定从第一次使用所述第一密钥开始,累计使用所述第一密钥的时间段;
次数,用于限定允许使用所述第一密钥的次数。
进一步地,如图7所示,本实施例中的数字媒体内容保护装置1还可以包括数字签名单元13,用于对所述密钥使用规则对象进行数字签名。则发送单元12,具体用于向用户发送进行数字签名后的所述密钥使用规则对象。
本发明实施例提供的数字媒体内容保护装置1与前文的数字媒体内容保护方法相对应,有关该装置的详细参数及工作原理可以参考前文的说明。
相应地,如图8所示,本发明的实施例还提供一种数字媒体内容保护装置2,包括:
接收单元21,用于从服务器接收密钥使用规则对象,所述密钥使用规则对象用于描述加密数字媒体内容的内容密钥以及加密所述内容密钥的各层上级密钥;
密钥解密单元22,用于利用客户端私钥将所述密钥使用规则对象中的密钥逐层解密以获得所述内容密钥;
媒体解密单元23,用于利用所述内容密钥解密所述数字媒体内容。
本实施例提供的数字媒体内容保护装置2,接收单元21能够从服务器接收密钥使用规则对象,所述密钥使用规则对象中包含了用于加密数字媒体内容的内容加密密钥以及加密所述内容密钥的各层上级密钥,当用户的终端接收到所述密钥使用规则对象时,该终端能够利用客户端私钥逐层解密所述各层上级密钥和所述内容密钥,从而解密对应的数字媒体内容,这样,仅仅通过一个对象数据类型的定义和使用,就能够实现对数字媒体内容的多层加密,数据结构简单清晰、可扩展性好,有效提高了数字媒体内容保护的操作效率。
具体而言,所述密钥使用规则对象包括至少一个密钥使用规则实体,每个所述密钥使用规则实体包括:索引信息,用于标识所述密钥使用规则实体;密钥信息,用于描述所述密钥使用规则实体所对应的第一密钥的概况信息以及加密所述第一密钥的第二密钥的概况信息;密钥使用规则,用于描述所述第一密钥的使用条件。
本发明实施例提供的数字媒体内容保护装置2与前文的数字媒体内容保护方法相对应,有关该装置的详细参数及工作原理可以参考前文的说明,此处不再赘述。
相应地,本发明的实施例还提供一种服务器,所述服务器上设置有前述实施例中提供的任一种基于服务器的数字媒体内容保护装置,因此也能达到该装置所能实现的有益效果,前文已经进行了详细的说明,此处不再赘述。
相应地,本发明的实施例还提供一种终端,所述终端上设置有前述实施例中提供的任一种基于用户的终端的数字媒体内容保护装置,因此也能达到该装置所能实现的有益效果,前文已经进行了详细的说明,此处不再赘述。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。