发明内容
本发明要解决的问题是提供一种数字媒体内容保护方法及装置,能够有效提高数字媒体内容保护的操作效率。
为达到上述目的,本发明的技术方案提供一种数字媒体内容保护方法及装置。
根据本发明的一个方面,本发明提供一种数字媒体内容保护方法,包括以下步骤:
构建授权结构体,所述授权结构体包括至少一个许可实体,每个所述许可实体包括:资源、资源接收方、密钥信息和所述密钥信息对应的密钥使用规则;所述密钥信息包括本级密钥的概况信息和用于加密所述本级密钥的上级密钥的密钥标识;所述授权结构体用于根据每个所述许可实体中的所述密钥使用规则,将所述资源授权给所述资源接收方使用;向用户发送所述授权结构体,以使所述用户利用客户端私钥解密所述授权结构体的各级密钥,从而获得所述资源的使用权限。
可选的,所述本级密钥的概况信息包括本级秘钥的密钥类型,所述密钥类型包括内容密钥、业务密钥、设备密钥、域密钥中的一种。
可选的,所述内容密钥包括存储密钥、播放密钥、拷贝密钥中的一种。
可选的,所述资源包括数字媒体内容,或者数字媒体业务或者非媒体类增值服务。
可选的,所述资源接收方包括用户、域、用户终端、家庭网关中的一种。
具体的,当所述授权结构体包括多个所述许可实体时,至少存在2个所述许可实体,使得其中一个所述许可实体中的本级密钥为另一个所述许可实体中的上级密钥。
可选的,所述使用许可包括以下项目中的至少一种:起始时间,用于限定在所述起始时间之后允许使用所述本级密钥,在所述起始时间之前不允许使用所述本级密钥;截止时间,用于限定在所述截止时间之前允许使用所述本级密钥,在所述截止时间之后不允许使用所述本级密钥;时间段,用于限定从第一次使用所述本级密钥之后允许使用所述本级密钥的时间范围;累计时间段,用于限定从第一次使用所述本级密钥开始,累计使用所述本级密钥的时间段;次数,用于限定允许使用所述本级密钥的次数。
进一步地,在所述构建授权结构体之后,在所述向用户发送所述授权结构体之前,所述方法还包括:对所述授权结构体进行数字签名;所述向用户发送所述授权结构体包括:向用户发送进行数字签名后的所述授权结构体。
具体的,所述构建授权结构体包括:构建编码规则对象,所述编码规则对象包括编码单元类型、编码单元索引、编码单元数据长度和编码单元数据;将所述授权结构体、所述许可实体、所述资源、所述资源接收方、所述密钥信息和所述密钥使用规则分别作为不同的编码单元,按照所述编码规则对象进行编码。
根据本发明的另一方面,本发明提供一种数字媒体内容保护装置,包括:
构建单元,用于构建授权结构体,所述授权结构体包括至少一个许可实体,每个所述许可实体包括:资源、资源接收方、密钥信息和所述密钥信息对应的密钥使用规则;所述密钥信息包括本级密钥的密钥类型、密钥标识、密钥算法、密钥数据和用于加密所述本级密钥的上级密钥的密钥标识;所述授权结构体用于根据每个所述许可实体中的所述密钥使用规则,将所述资源授权给所述资源接收方使用;
发送单元,用于向用户发送所述授权结构体,以使所述用户利用客户端私钥解密所述授权结构体的各级密钥,从而获得所述资源的使用权限。
进一步的,还包括:签名单元,用于对所述授权结构体进行数字签名;所述发送单元,具体用于向用户发送进行数字签名后的所述授权结构体。
具体的,所述构建单元具体包括:构建模块,用于构建编码规则对象,所述编码规则对象包括编码单元类型、编码单元索引、编码单元数据长度和编码单元数据;编码模块,用于将所述授权结构体、所述许可实体、所述资源、所述资源接收方、所述密钥信息和所述密钥使用规则分别作为不同的编码单元,按照所述编码规则对象进行编码。
与现有技术相比,本发明的有益效果如下:
本实施例提供的数字媒体内容保护方法及装置,构建了一种授权结构体,在该授权结构体中包含至少一个许可实体,每个所述许可实体包括:资源、资源接收方、密钥信息和所述密钥信息对应的密钥使用规则,这样就把资源、资源接收方、密钥及该密钥的使用规则都被包含在一个许可实体中,而且由于所述密钥信息中包括本级密钥的概况信息和用于加密所述本级密钥的上级密钥的密钥标识,这样即可通过多个密钥信息为一个资源设置多层密钥,从而对资源进行更有效的保护;这种授权结构体结构简单清晰,数据耦合松散,具有良好的可操作性、扩展性和安全性,从而有效提高了数字媒体内容保护的操作效率。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,本发明的实施例提供一种数字媒体内容保护方法,基于服务器,所述方法可以包括以下步骤:
S11,构建授权结构体,所述授权结构体包括至少一个许可实体,每个所述许可实体包括:资源、资源接收方、密钥信息和所述密钥信息对应的密钥使用规则;所述密钥信息包括本级密钥的概况信息和用于加密所述本级密钥的上级密钥的密钥标识;所述授权结构体用于根据每个所述许可实体中的所述密钥使用规则,将所述资源授权给所述资源接收方使用;
S12,向用户发送所述授权结构体,以使所述用户利用客户端私钥解密所述授权结构体的各级密钥,从而获得所述资源的使用权限。
本实施例提供的数字媒体内容保护方法,构建了一种授权结构体,在该授权结构体中包含至少一个许可实体,每个所述许可实体包括:资源、资源接收方、密钥信息和所述密钥信息对应的密钥使用规则,这样就把资源、资源接收方、密钥及该密钥的使用规则都被包含在一个许可实体中,在一个许可实体中的资源、资源接收方、密钥信息及该密钥信息的使用规则是相互对应的,对于特定的资源和资源接收方,要控制资源接收方对该资源的使用权限,只需要在对应的许可实体中修改密钥信息及其对应的密钥使用规则即可,授权结构体通过包含多个不同的这样的许可实体,即可方便地将不同的资源按照相应的密钥使用规则授权给资源接收方。而且由于所述密钥信息中包括本级密钥的概况信息和用于加密所述本级密钥的上级密钥的密钥标识,这样即可通过多个密钥信息为一个资源设置多层密钥,从而对资源进行更有效的保护;这种授权结构体结构简单清晰,数据耦合松散,具有良好的可操作性、扩展性和安全性,从而有效提高了数字媒体内容保护的操作效率。
根据实际需要,密钥信息中所包含的概况信息可以有所不同,本发明的实施例对此不做限制,只要该密钥信息中的内容能够将不同层密钥的加密相联系起来形成多层加密即可。例如,在本发明的一个实施例中,所述密钥信息可以包括如下内容:
密钥类型,用于描述所述密钥信息所对应的所述本级密钥的类型;可选的,密钥类型可以为内容密钥、业务密钥、域密钥等等。
密钥标识,用于唯一标识所述本级密钥;
密钥算法,用于描述所述本级密钥的算法;
加密密钥标识,用于唯一标识加密所述本级密钥的上级密钥;
密钥加密算法,用于描述所述上级密钥加密所述本级密钥的算法;
加密的密钥,用于描述所述上级密钥加密所述本级密钥后形成的二进制串。
其中,密钥类型是指该密钥是对哪个对象进行加密的。例如,对媒体内容加密的密钥,其密钥类型为内容密钥,对用户定制的某一项业务加密的密钥,其密钥类型为业务密钥,对用户设备进行加密的密钥为设备密钥,而对例如家庭中的多台设备组成的域进行加密的密钥为域密钥,密钥类型可以为上述类型中的任一种,也可以为其他类型,本发明的实施例对此不作限制。
进一步的,有些密钥类型涵盖的较大的范围,具体表现为在某一类密钥类型下,还可以包括若干密钥子类型,例如,内容密钥又可包括存储密钥、播放密钥、拷贝密钥中的一种,分别表示对相应的媒体内容具有存储、播放或拷贝的操作权限。
当然,在本发明的其他实施例中,密钥信息还可以包括其他的数据或信息,在能够实现上述功能的条件下,本发明对此密钥信息的具体结构不做限制。
本实施例中,所述资源可以为任何能够被资源接收方接收并使用的数字媒体内容,或者数字媒体业务或者非媒体类增值服务等。而资源接收方则指使用该资源的任何用户、域、用户终端、家庭网关等。资源接收方是靠密钥使用规则来控制对资源的使用权限的,一个许可实体中的所有密钥使用规则对这个许可实体中的所有密钥信息中的密钥都适用。那么相应的,当资源、资源接收方、密钥信息及该密钥信息对应的密钥使用规则完全一致时,可以将资源、资源接收方、密钥信息及该密钥信息对应的密钥使用规则包括在一个许可实体中,从而将该资源授权给该资源接收方。而当某个授权结构体需要将不同的资源授权给资源接收方时,或者当不同的资源所对应的密钥信息及其使用规则不同时,可以将这些资源、资源接收方、密钥信息及该密钥信息对应的密钥使用规则形成多个不同的许可实体,每个许可实体只包括对相同资源的密钥的一系列相同操作。由于构建了授权结构体和许可实体,对各个层级的密钥的描述都可以在该许可实体中进行,如果需要添加多一级的密钥或者对资源接收方进行另一项资源的授权,也不需要像现有技术一样,重新打包生成许可证,而只需要在授权结构体中再增加一个许可实体或者密钥信息即可,具有良好的可扩展性。
当所述授权结构体包括多个所述许可实体时,各个授权实体中的本级密钥之间既可以是彼此并列的关系,也可以具有上、下级关系。例如,在本发明的一个实施例中,一个授权结构体中包括两个许可实体,这两个许可实体中的资源和资源接收方都彼此相同,只是密钥信息以及密钥信息对应的密钥使用规则不同。其中,许可实体A中的一个密钥信息中,本级密钥为内容密钥类型中的存储密钥,其使用规则为从2014年1月1日至2014年5月31日,而许可实体B的一个密钥信息中,本级密钥为内容密钥类型中的播放密钥,其使用规则为从2014年1月1日至2014年3月31日,这样,由于本级密钥的密钥使用规则不同,这两个密钥信息需要分别被列入两个许可实体中。而在本发明的另一个实施例中,一个授权结构体中至少存在2个许可实体,使得其中一个许可实体中的本级密钥为另一个许可实体中的上级密钥。例如,在许可实体C中的一个密钥信息中,本级密钥为内容密钥类型中的存储密钥,其使用规则为从2014年1月1日至2014年5月31日,而在许可实体D的一个密钥信息中,本级密钥为加密存储密钥的业务密钥,也就是该业务密钥是该存储密钥的上级密钥,该业务密钥得使用规则为从2014年1月1日至2014年3月31日,这样,由于这两个密钥信息对应的密钥使用规则不同,这两个密钥信息也需要被列入不同的许可实体中。
而在本发明的另一个实施例中,许可实体C中的一个密钥信息a中,本级密钥为内容密钥类型中的存储密钥,其使用规则为从2014年1月1日至2014年5月31日,而在许可实体C的另一个密钥信息b中,本级密钥为加密存储密钥的业务密钥,也就是该密钥信息b中的业务密钥是密钥信息a中的存储密钥的上级密钥,该业务密钥得使用规则也为从2014年1月1日至2014年5月31日,这样,由于这两个密钥信息对应的密钥使用规则相同,这两个密钥信息可以被列入同一个许可实体中。
也就是说,在本实施例中,许可实体可以包括多个密钥信息,每个密钥信息都包括该密钥信息的本级密钥的概况信息和用于加密所述本级密钥的上级密钥的密钥标识。一个密钥信息中的本级密钥能够根据这个密钥信息中的上级密钥的密钥标识,从另一个密钥信息中找到这个上级密钥对应的密钥信息,在该对应的密钥信息中,原来的密钥信息中的上级密钥为该对应的密钥信息中的本级密钥,其密钥概况信息如密钥类型、密钥标识、密钥算法等都在这个密钥信息中详细描述。
密钥信息根据密钥使用规则而被使用。可选的,所述密钥使用规则包括以下项目中的至少一种:
起始时间,用于限定在所述起始时间之后允许使用所述本级密钥,在所述起始时间之前不允许使用所述本级密钥;
截止时间,用于限定在所述截止时间之前允许使用所述本级密钥,在所述截止时间之后不允许使用所述本级密钥;
时间段,用于限定从第一次使用所述本级密钥之后允许使用所述本级密钥的时间范围;
累计时间段,用于限定从第一次使用所述本级密钥开始,累计使用所述本级密钥的时间段;
次数,用于限定允许使用所述本级密钥的次数。
需要说明的是,这些密钥使用规则并不分优先级,如果某个密钥没有定义任何使用规则,则对于该密钥的使用无任何限制。上述密钥的使用规则既可单独使用也可联合使用,在多规则联合使用时按照“逻辑与”的方式联合各规则,即多规则情况下只要有一项规则不满足就不允许使用该密钥。例如,在本发明的一个实施例中,一个密钥许可实体对应的本级密钥的使用规则为限定有截止时间为2014年12月31日,次数为20次,则在2014年12月31日之前,本级密钥是可用的,且在该日期之前,该本级密钥可以被使用20次。在该日期之后或者该本级密钥使用超过20次后,该本级密钥就不能使用了,也就不能通过该本级密钥去解密下一级密钥或者数字媒体内容,从而达到限制用户访问权限的目的。
进一步地,为了保护授权结构体的真实性、合法性和完整性,在步骤S11和S12之间,还可以包括:对所述授权结构体进行数字签名的步骤。此时,步骤S12,向用户发送所述授权结构体具体可以包括:向用户发送进行数字签名后的所述授权结构体,签名后的授权结构体的示意图可如图2所示。
需要说明的是,数字签名是对整个授权结构体的签名,进行数字签名所需的签名信息包括:签名方标识、签名算法标识、数字签名。其中,签名方标识用于标识生成该数字签名的签名方,如签名方证书序列号;签名算法标识用于标识生成该数字签名的签名算法;数字签名为采用签名方数字证书和签名算法标识的签名算法计算出的授权结构体的数字签名,该数字签名例如,可以为八位二进制串。
上述实施例中的授权结构体可以按照一定的编码规则编码为二进制数据块发送给客户端,从而减小需要传输的数据量。客户端可以解码该二进制数据块,按照其中的密钥使用规则合理的使用密钥,即可达到内容保护的目的。
在编码过程中,一个授权结构体可以包括多个许可实体,每个许可实体中又可包括资源、资源接收方、密钥信息及其对应的密钥使用规则。大到授权结构体,小到资源等都可以被看做单独的逻辑单元进行独立编码,从而使各个逻辑单元之间耦合松散,可移植性好。
可选的,授权结构体及其附加的数字签名可采用ASN.1DER(Abstract SyntaxNotation One Distinguished Encoding Rules,抽象语法标记区别编码规则)编码、自定义二进制数据格式编码,也可采用XML(Extensible Markup Language,可扩展标记语言)格式等进行编码。
基于ASN.1DER编码规则进行授权结构体的编码,由于与PKI(Public KeyInfrastructure,公钥基础设施)/CA(CertificateAuthority,电子商务认证授权机构)认证体系采用的抽象语法标记一致,可以很好的与PKI/CA体系兼容,具有一定的灵活性和可扩展性;同时,由于DER编码将授权结构体编码为二进制数据块,适合于各种应用场景下的传输,并在一定程度上节省带宽。自定义二进制数据格式编码是将授权结构体采用自定义的二进制数据格式编码为二进制数据块,这种方式编码的授权结构体最小,但可扩展性、兼容性、和灵活性稍差。采用XML语法格式编码授权结构体的方式编码的授权结构体可读性强,但体积较大,占用带宽较多。可以结合以上编码的特点以及实际需要,灵活选择所采取的的编码方式。
如果采用ASN.1DER编码规则编码,则本发明实施例提供的各个逻辑单元的编码可实例如下:
(1)、对授权结构体的编码
授权由一个或多个许可构成。授权的具体信息包括:版本号、授权标识、授权中包含的许可数量、一个或多个许可;其具体编码如下。
(2)、对许可实体的编码
许可由许可版本号、许可标识、资源、密钥、规则构成;编码如下。
(3)、对资源的编码
资源由资源类型、资源标识、资源描述构成,编码如下。
(4)、对密钥信息的编码
密钥由密钥类型、密钥标识、密钥算法、密钥数据、加密该密钥的密钥类型和密钥标识构成,其编码如下。
(5)、对密钥使用规则的编码
规则由规则类型和规则数据构成;规则包括起始时间、截止时间、时间段、累计时间段、次数等。针对同一密钥的多条规则之间是逻辑与的关系。
(6)、对签名的编码
数字签名由签名方标识、签名算法、签名数据构成,其编码如下。
当采用自定义的编码方式时,构建授权结构体可具体包括如下步骤:
构建编码规则对象,所述编码规则对象包括编码单元类型、编码单元索引、编码单元数据长度和编码单元数据;
将所述授权结构体、所述许可实体、所述资源、所述资源接收方、所述密钥信息和所述密钥使用规则分别作为不同的编码单元,按照所述编码规则对象进行编码。
这样,不管对将所述授权结构体、所述许可实体、所述资源、所述资源接收方、所述密钥信息和所述密钥使用规则中的哪一个进行编码,都可以将其作为一个通用的编码单元,按照通用的编码规则对象进行编码,具有良好的可扩展性。
可选的,编码规则对象的一种数据结构可以如图3所示。其中,每个逻辑单元均由类型(Type)、索引(Index)、长度(Length)和数据(Data)四个部分组成,逻辑单元编码简称为TILD编码方法。
其中,类型由2个字节构成,代表该逻辑单元的类型。高字节高位4比特代表该逻辑单元的类型,逻辑单元类型规定可如表1所示。高字节低位4比特代表该逻辑单元的子类型;低字节高位4比特代表该逻辑单元子类型的扩展,低字节的最后4比特分为索引标识和长度标识两个部分,分别用2个比特表示索引和长度占用的字节数。
索引是多个逻辑单元在许可或授权列表中的顺序号。
长度是该逻辑单元实际数据信息的长度。
数据是逻辑单元的数据,如果是复合逻辑单元则其数据是多个基本逻辑单元或复合逻辑单元按照TILD编码方法编码后的数据。
表1
分别将所述授权结构体、所述许可实体、所述资源、所述资源接收方、所述密钥信息和所述密钥使用规则分别作为不同的编码单元,按照图3所示的编码规则对象进行编码,则各个编码单元的编码可以分别表示如下:
(1)授权结构体编码
授权结构体由多个许可实体构成,授权结构体的数据包括版本号、授权标识、许可实体个数和许可实体。许可实体个数用1个字节表示该授权中包含多少个许可实体,许可实体是按照TILD编码方式编码后的数据。授权数据结构见表2。
表2
字段 |
比特数 |
类型 |
Version |
8 |
Uimsbf |
字段 |
比特数 |
类型 |
GrantID |
32 |
Uimsbf |
Licenses_Number |
8 |
Uimsbf |
Licenses |
N*8 |
Uimsbf |
Version:授权数据结构版本号,当前为1。
GrantID:授权唯一标识。
Licenses_Number:授权列表中许可的个数。
Licenses:按照TILD编码方法编码后的多个许可数据,如果需要一次发送多个许可,则需要将多个许可编码到一个授权中;如果一次只发送一个许可,则仅需要发送编码后的许可数据,不需要编码到授权中。Uimsbf为助记符,标识无符号整型数。
(2)许可实体编码
许可实体数据包括:版本、许可编号、基本逻辑单元数量以及多个基本逻辑单元数据。许可数据结构见表3。
表3
字段 |
比特数 |
类型 |
Version |
8 |
Uimsbf |
Licese_ID |
64 |
Uimsbf |
Units_Number |
8 |
Uimsbf |
Units |
8*N |
Uimsbf |
Version:许可实体的版本号,当前为1。
License_ID:许可的唯一编号。
Units_number:许可实体中的基本逻辑单元的数量。
Units:许可中包含的基本逻辑单元的TILD编码数据。
(3)资源编码
资源分为数字媒体内容、数字媒体业务、非媒体类增值服务等。
资源类型与子类型规定见表4,其中类型的编码中,0x表示16进制数,本发明中其他0x含义相同。分别为图3中的类型(4bit)和子类型(4bit)。资源的数据结构见表5。
表4
表5
字段 |
比特数 |
类型 |
描述 |
Resource_ID |
64 |
Uimsbf |
必选 |
Resource_InfoLen |
8 |
Uimsbf |
可选 |
ResourceInfo[] |
16 |
Uimsbf |
可选 |
Resource_ID:资源唯一标识。
Resource_InfoLen:资源描述信息长度。
ResourceInfo[]:资源描述信息数据。
资源描述信息长度和资源描述信息数据是可选项,由资源的子类型扩展标识,如果资源的子类型扩展为0000b,则该资源无资源描述;如果资源的子类型扩展为0001b,则该资源有资源描述。
(4)资源接收方编码
资源接收方是指用户、域、用户终端、家庭网关等。资源接收方的子类型规定见表6。资源接收方数据编码见表7。
表6
表7
字段 |
比特数 |
类型 |
Reciever_ID |
8*N |
Uimsbf |
Reciever_ID:资源接收方唯一标识。
(5)密钥信息编码
密钥信息单元的类型与子类型规定见表8。
表8
密钥信息包括密钥ID、密钥算法、密钥数据、加密该密钥的密钥类型及密钥ID,密钥编码见表9。
内容密钥又进一步分为播放密钥、存储密钥和拷贝密钥等,由内容密钥的子类型扩展来标识;其中0000bit为播放密钥,是用来解密并播放内容的密钥;0001bit为存储密钥,当内容需要在本地存储时需要采用该密钥加密被存储的内容;0010bit为拷贝密钥,当内容需要从本地拷贝到别的设备时,需要使用该拷贝密钥加密内容后再拷贝。
表9密钥信息编码
字段 |
比特数 |
类型 |
KeyID |
32 |
Uimsbf |
字段 |
比特数 |
类型 |
KeyAlgorithm |
8 |
Uimsbf |
KeyDataLen |
16 |
Uimsbf |
KeyData[] |
N |
Uimsbf |
UpperKeyType |
16 |
Uimsbf |
UpperKeyID |
32 |
Uimsbf |
KeyID:当前密钥唯一标识,由4个字节表示;
KeyAlgorithm:密钥算法,由1个字节表示;
KeyDataLen:密钥数据的长度;
KeyData[]:密钥数据;
UpperKeyType:上层密钥类型,长度为16位,是密钥TILD编码的Type部分,作为上层密钥类型时,其Type部分的最低4位(索引标识和长度标识)默认为0,密钥类型编码规则见表10。
UpperKeyID:上层密钥唯一标识,由4个字节表示;如果上层密钥类型为设备密钥,则表示当前密钥是由设备密钥加密的,这种情况下设备密钥由资源接收方中的设备来索引,此ID为0。
(6)密钥使用规则编码
密钥使用规则是规定密钥的具体使用规则;密钥使用规则包括:起始时间、截止时间、次数、时间段、累计时间段等,规则的类型和子类型规定见表10。
表10规则类型规定
起始时间:规定在该时间之后允许使用密钥,在该时间之前不允许使用密钥,该时间为UTC时间,长度为32位;
截止时间:规定在该时间之前允许使用密钥,在该时间之后不允许使用密钥,该时间为UTC时间,长度为32位;
次数:规定允许使用密钥的次数,长度为32位;
时间段:规定从第一次使用密钥之后允许使用密钥的时间范围,长度为32位;
累计时间段:规定从第一次使用密钥开始,累计使用密钥的时间段,每次停止使用密钥即停止计时,长度为32位;
密钥使用规则不分优先级;密钥使用规则均为可选规则,如果某个密钥没有定义任何使用规则,则对于该密钥的使用无任何限制;密钥使用规则可单独使用也可联合使用;在多规则联合使用时按照“逻辑与”的方式联合各规则,即多规则情况下只要有一项规则不满足就不允许使用密钥。
数字签名编码
许可实体或授权结构体的最后一个逻辑单元是数字签名,数字签名是对其前面所有的数据进行签名,保证数据的完整性,结构如表11所示。
表11签名数据结构
字段 |
比特数 |
类型 |
Algorithm |
8 |
Uimsbf |
Certificate_ID_Length |
8 |
Uimsbf |
Certification_ID |
N*8 |
Uimsbf |
字段 |
比特数 |
类型 |
Signature_Length |
16 |
Uimsbf |
Signature[] |
M*8 |
Uimsbf |
Algorithm:采用的摘要算法和签名算法。
Certificate_ID_Length:证书序列号长度。
Certification_ID:签名使用的证书的序列号、唯一编号。
Signature_Length:签名数据的长度。
Signature:签名数据。
下面通过具体实施例对本发明实施例提供的数字媒体内容保护方法进行详细说明。
例如,在本发明的一个实施例中,用户用互联网电视机顶盒点播一个内容在线观看,给用户发送的授权结构体允许用户在点播的当天无限次观看该内容。则该授权结构体的结构示意图可如图4所示。由于该授权结构体中仅包括一个许可实体,因此,可以仅对这一个许可实体进行数字签名并向资源接收方发送。用户设备接收到的授权结构体,该授权结构体包括一个播放密钥,该密钥的索引为内容ID,并附带一个起始时间和截止时间的密钥使用规则,加密该密钥的密钥为设备密钥,密钥算法为RSA1024。
在本发明的另一个实施例中,用户下载两个资源(0x20,0x21),允许用户对其中一个下载的内容在本地存储一个月,并对另一个下载内容在20次累计时间为60小时的范围内播放,则该授权结构体的结构示意图可如图5所示。
用户设备接收到的授权许可包括两个密钥信息,一个是在一个月内用内容加密密钥播放该内容的密钥信息,一个是在20次累计时间为60小时的范围内用存储密钥加密该内容在本地存储用的密钥信息。
在用户播放该内容时,首先需要检查存储密钥对象的有效性,用存储密钥解密该内容;然后检查播放密钥对象的有效性,用播放密钥加密并播放该内容。
在本发明的一个实施例中,用户请求播放一个数字媒体内容,运营商在业务系统中判定该用户已付费,允许用户在当天24小时内观看该内容。对该数字媒体内容的保护主要通过以下步骤实现:
1、运营商将内容加密密钥用用户的公钥加密;
2、运营商根据密钥使用规则的定义,设定密钥可使用的起始时间、截止时间,时间为1天;
3、运营商将该密钥使用规则、加密后的内容密钥(密钥信息)、资源、资源接收方按照授权结构体的定义封装成授权结构体,使用运营商的数字证书对授权结构体签名后,生成签名后的授权结构体,发送给用户;
4、用户的终端接收到该授权结构体后,使用运营商的数字证书验证该授权结构体的合法性和完整性;
5、验证通过后,用户的终端使用其客户端私钥解密内容密钥,按照内容密钥的使用规则使用内容密钥解密数字媒体内容;
6、在超过密钥使用规则定义的时间期限后,该内容密钥不允许使用,用户将不允许使用该内容密钥解密数字媒体内容。
同样,如果运营商允许用户在购买内容之前预览内容,则可以按照上述流程给用户发送一个授权结构体,该授权结构体中规定密钥累计使用时间是5分钟,则用户只能浏览5分钟,5分钟之后该密钥不允许使用,达到用户预览的目的,从而有效提高了数字媒体内容保护的操作效率。
需要说明的是,本发明的实施例提供的用户终端需要始终保护数字媒体内容,不允许将解密后的数字媒体内容泄露;当用户将内容拷贝或转移到其它设备上时,需要给用户进行拷贝密钥的授权。
相应的,如图6所示,本发明的实施例还提供一种数字媒体内容保护装置,包括:
构建单元11,用于构建授权结构体,所述授权结构体包括至少一个许可实体,每个所述许可实体包括:资源、资源接收方、密钥信息和所述密钥信息对应的密钥使用规则;所述密钥信息包括本级密钥的密钥类型、密钥标识、密钥算法、密钥数据和用于加密所述本级密钥的上级密钥的密钥标识;所述授权结构体用于根据每个所述许可实体中的所述密钥使用规则,将所述资源授权给所述资源接收方使用;
发送单元12,用于向用户发送所述授权结构体,以使所述用户利用客户端私钥解密所述授权结构体的各级密钥,从而获得所述资源的使用权限。
本实施例提供的数字媒体内容保护装置,其构建单元11构建了一种授权结构体,在该授权结构体中包含至少一个许可实体,每个所述许可实体包括:资源、资源接收方、密钥信息和所述密钥信息对应的密钥使用规则,这样就把资源、资源接收方、密钥及该密钥的使用规则都被包含在一个许可实体中,在一个许可实体中的资源、资源接收方、密钥信息及该密钥信息的使用规则是相互对应的,对于特定的资源和资源接收方,要控制资源接收方对该资源的使用权限,只需要在对应的许可实体中修改密钥信息及其对应的密钥使用规则即可,授权结构体通过包含多个不同的这样的许可实体,即可方便地将不同的资源按照相应的密钥使用规则授权给资源接收方。而且由于所述密钥信息中包括本级密钥的概况信息和用于加密所述本级密钥的上级密钥的密钥标识,这样即可通过多个密钥信息为一个资源设置多层密钥,从而对资源进行更有效的保护;这种授权结构体结构简单清晰,数据耦合松散,具有良好的可操作性、扩展性和安全性,从而有效提高了数字媒体内容保护的操作效率。
进一步的,该数字媒体内容保护装置还可包括:
签名单元,用于对所述授权结构体进行数字签名;
则发送单元,具体用于向用户发送进行数字签名后的所述授权结构体。
可选的,构建单元11具体可包括:
构建模块,用于构建编码规则对象,所述编码规则对象包括编码单元类型、编码单元索引、编码单元数据长度和编码单元数据;
编码模块,用于将所述授权结构体、所述许可实体、所述资源、所述资源接收方、所述密钥信息和所述密钥使用规则分别作为不同的编码单元,按照所述编码规则对象进行编码。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。