著录项信息
专利名称 | 有条件接收系统中的密钥分配方法及装置 |
申请号 | CN02142880.8 | 申请日期 | 2002-09-23 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2004-03-31 | 公开/公告号 | CN1486088 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L9/08 | IPC分类号 | H;0;4;L;9;/;0;8;;;H;0;4;N;7;/;1;6查看分类表>
|
申请人 | 国际商业机器公司 | 申请人地址 | 美国纽约州
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 国际商业机器公司 | 当前权利人 | 国际商业机器公司 |
发明人 | 张健;刘宗伟;邵凌;谢东 |
代理机构 | 北京市柳沈律师事务所 | 代理人 | 黄小临;王志森 |
摘要
一种在有条件接收系统中的密钥分配方法和装置,假设该系统所能容纳的全部用户节点的集合为全集,由全部用户节点或其中部分用户节点构成一子集合,其中该方法包括:将所述子集合分解为至少一个次级子集合;为各次级子集合分配不同的用户密钥,所述各用户密钥被传送给对应次级子集合中的所有用户;使用各所述用户密钥加密一授权密钥以生成对应于各个次级子集合的各密码文本;将所述密码文本组合生成一媒体密钥控制块,并将所述媒体密钥控制块发送给所述子集合中的所有用户。由于使用了二叉树或多叉树的分类方法,本发明可以节省大量的网络资源。
1.一种有条件接收系统中的密钥分配方法,假设该系统所能容纳的全部 用户节点的集合为全集,由全部用户节点或其中部分用户节点构成一子集合, 其特征在于包括下列步骤:
(1)使用N叉树算法将所述子集合分解为至少一个次级子集合,其中N 为大于等于2的自然数;
(2)为各次级子集合分配不同的用户密钥,所述各用户密钥被传送给对 应次级子集合中的所有用户;
(3)使用各所述用户密钥加密一授权密钥以生成对应于各个次级子集 合的各密码文本;
(4)将所述密码文本组合生成媒体密钥控制块。
2.如权利要求1所述的密钥分配方法,其特征在于所述方法还包括步骤: 将所述媒体密钥控制块发送给所述子集合中的所有用户。
3.如权利要求1所述的密钥分配方法,其特征在于:其中一视频节目是 使用所述授权密钥加密的。
4.如权利要求1所述的密钥分配方法,其特征在于:其中一控制字是使 用所述授权密钥加密的,而一视频节目是用所述控制字加密的。
5.如权利要求3或4所述的密钥分配方法,其特征在于:每个次级子集 合中的用户从所述媒体密钥控制块识别出所属次级子集合的所述密码文本, 并用自身的用户密钥解密,以取得所述授权密钥。
6.如权利要求1-4中任一所述的密钥分配方法,其特征在于:所述媒 体密钥控制块可以在广播信道上单向发送。
7.如权利要求1-4中任一所述的密钥分配方法,其特征在于:所述经 分解的次级子集合在所述系统建立后可以保持不变。
8.如权利要求1-4中任一所述的密钥分配方法,其特征在于:用二叉 树算法将所述子集合分解为所述至少一个次级子集合。
9.如权利要求1-4中任一所述的密钥分配方法,其特征在于:使用多 叉树算法将所述子集合分解为所述至少一个次级子集合。
10.一种在有条件接收系统中使用的密钥分配装置,假设该系统所能容纳 的全部用户节点的集合为全集,由全部用户节点或其中部分用户节点构成一 子集合,其特征在于所述密钥分配装置包括:
分解单元,用于使用N叉树算法将所述子集合分解为至少一个次级子集 合,其中N为大于等于2的自然数,并为各次级子集合分配不同的用户密钥, 所述各用户密钥被传送给对应次级子集合中的所有用户;
生成单元,用于使用各所述用户密钥加密一授权密钥以生成对应于各个 次级子集合的各密码文本;
组合单元,用于将所述各密码文本组合生成一媒体密钥控制块;和
授权控制装置,用于控制所述各个单元的相应操作并输出所述媒体密钥 控制块。
11.如权利要求10所述的密钥分配装置,其特征在于还包括发送装置, 用于将从所述授权控制装置接收的所述媒体密钥控制块发送给所述子集合中 的所有用户。
12.一种用于有条件接收系统中的发送设备,假设该有条件接收系统所 能容纳的全部用户节点的集合为全集,由全部用户节点或其中部分用户节点 构成一子集合,其特征在于所述发送设备包括:
分解单元,用于使用N叉树算法将所述子集合分解为至少一个次级子集 合,其中N为大于等于2的自然数,并为各次级子集合分配不同的用户密钥, 所述各用户密钥被传送给对应次级子集合中的所有用户;
生成单元,用于使用各所述用户密钥加密一授权密钥以生成对应于各个 次级子集合的各密码文本;
组合单元,用于将所述各密码文本组合生成一媒体密钥控制块;
节目加扰单元,用于使用所述授权密钥加扰一视频节目;
发送单元,用于将经加扰的视频节目和所述媒体密钥控制块发送给一接 收设备;和
授权控制装置,用于控制所述各个单元的相应操作并将所述媒体密钥控 制块输出给所述发送单元。
13.如权利要求12所述的发送设备,其特征在于:所述发送设备还包括 控制字加密单元,用于在所述授权控制装置的控制下,使用所述授权密钥将 一控制字加密为所述密码文本,其中所述节目加扰单元用所述控制字加密所 述视频节目。
14.如权利要求13所述的发送设备,其特征在于:所述密码文本是权利 控制消息(ECM)。
15.如权利要求12至13中任一所述的发送设备,其特征在于:所述分 解单元使用二叉树算法将所述子集合分解为所述至少一个次级子集合。
16.如权利要求12至13中任一所述的发送设备,其特征在于:所述分 解单元使用多叉树算法将所述子集合分解为所述至少一个次级子集合。
17.如权利要求12至13中任一所述的发送设备,其特征在于:所述授 权控制装置还用于管理用户信息。
18.一种用于有条件接收系统中的接收设备,假设该有条件接收系统所 能容纳的全部用户节点的集合为全集,由全部用户节点或其中部分用户节点 构成一子集合,其特征在于所述接收设备包括:
接收单元,用于接收从发送设备发送的经加扰的视频节目和媒体密钥控 制块;
解析单元,用于使用用户密钥解密一密码文本以获得一授权密钥;其中 所述密码文本是使用与该接收设备所属的次级子集合相对应的用户密钥对所 述媒体密钥块进行识别获得的,所述次级子集合是使用N叉树算法将所述子 集合分解而成的,其中N为大于等于2的自然数;
节目解扰单元,用于使用所述授权密钥解密经加扰的视频节目。
19.如权利要求18所述的接收设备,其特征在于:所述接收设备还包括 控制字解密单元,用于使用所述授权密钥解密所述密码文本以获得一控制字, 其中所述节目解扰单元用所述控制字解扰所述视频节目。
20.如权利要求19所述的接收设备,其特征在于:所述密码文本是权利 控制消息(ECM)。
技术领域\n本发明涉及有条件接收系统,更具体地涉及在有条件接收系统中分配密 钥的方法和设备。\n背景技术\n有条件接收(conditional access,CA)系统对于有线/卫星付费电视广 播商来说是非常重要的,而有条件接收系统中最重要的部分是如何向系统中 自动地添加合法用户(已付费用户)和从系统中移除非法用户,其基本结构 是EMM(权利管理消息)→ECM(权利控制消息)→CW(控制字)→流(Stream)。 如图1所示,运营商(发送侧)通过网络广播向每个合法用户播发EMM和ECM, 该EMM中含有要传达给每个用户(接收侧)的一条信息,该信息中包含用户 所需要的授权密钥MK,每个用户的设备在接收该EMM的时候对其进行过滤, 一旦获得要传送给该用户的、EMM中的那条消息,就利用事先从运营商处获 得的用户密钥(以智能卡或其它方式分发给用户)将该条消息解密以获得其 中的授权密钥MK,然后再用该授权密钥MK解密ECM以获得CW,而这个CW是 用来加密视频流(例如MPEG-2)的。这样,合法用户就可以通过运营商向其 动态分配的授权密钥MK而观看加密的视频节目了,而未付费的用户(非法用 户)则由于不能获得该授权密钥MK而不能观看加密的视频节目。\n在这个CA系统中,EMM扮演了一个分配该授权密钥的重要角色。但不幸 的是,在大多数CA系统中,EMM的长度都很长。一般地,该长度与这个CA 系统中的用户的数量成正比,在很大的系统中,它可能会变得非常的庞大。 由于这个长度很大,广播这个EMM就会占用更大的带宽,有时为了接收EMM, 人们还不得不打开他们的机顶盒(set-top box)。由于MPEG-2的TS流允许 将多个码流组合在一起,EMM和ECM并非由单独的信道进行发送,而是与视 频流同时传递的,同时在一般情况下,EMM每月变化一次,而ECM每十秒钟 变化一次,所以它们在发送时所占用的带宽会严重影响视频节目的接收和观 看。这种情况使得诸如PPV(Pay Per View,按收看付费)、IPPV(Impulsive PayPerView,即时按收看付费)和准VOD(视频点播)变得非常不方便。例如, 在一个拥有10000名用户的常规CA系统中,如果有1%的用户(100名用户) 想离开这个系统,则该系统就必须向剩下的9900名用户中的每一个用户发送 含有其中每个用户信息的EMM,以通知他们改变他们的组及其所拥有的原授 权密钥MK。这样,广播这些通知就占用了大量的带宽,浪费了大量的资源。\n发明内容\n为了解决上述问题,本发明的目的是提供一种在有条件接收系统中的密 钥分配方法和装置,该方法是将合法用户按一定的条件分割为不同的组,为 每组中的用户分配相同的用户密钥,从而多个用户可以用该相同的用户密钥 来获得授权密钥MK。\n为了达到上述目的,本发明提供了一种有条件接收系统中的密钥分配方 法,假设该系统所能容纳的全部用户节点的集合为全集,由全部用户节点或 其中部分用户节点构成一子集合,其中包括下列步骤:使用N叉树算法将所 述子集合分解为至少一个次级子集合,其中N为大于等于2的自然数;为各 次级子集合分配不同的用户密钥,所述各用户密钥被传送给对应次级子集合 中的所有用户;使用各所述用户密钥加密一授权密钥以生成对应于各个次级 子集合的各密码文本;将所述密码文本组合生成一媒体密钥控制块。\n其中使用二叉树算法将所述子集合分解为所述至少一个次级子集合。\n本发明还提供了一种在有条件接收系统中使用的密钥分配装置,假设该 系统所能容纳的全部用户节点的集合为全集,由全部用户节点或其中部分用 户节点构成一子集合,其中所述密钥分配装置包括:分解单元,用于使用N 叉树算法将所述子集合分解为至少一个次级子集合,其中N为大于等于2的 自然数,并为各次级子集合分配不同的用户密钥,所述各用户密钥被传送给 对应次级子集合中的所有用户;生成单元,用于使用各所述用户密钥加密一 授权密钥以生成对应于各个次级子集合的各密码文本;组合单元,用于将所 述各密码文本组合生成一媒体密钥控制块;和授权控制装置,用于控制所述 各个单元的相应操作并输出所述媒体密钥控制块。\n本发明还提供了一种用于有条件接收系统中的发送设备,假设该有条件 接收系统所能容纳的全部用户节点的集合为全集,由全部用户节点或其中部 分用户节点构成一子集合,其中所述发送设备包括:分解单元,用于使用N 叉树算法将所述子集合分解为至少一个次级子集合,其中N为大于等于2的 自然数,并为各次级子集合分配不同的用户密钥,所述各用户密钥被传送给 对应次级子集合中的所有用户;生成单元,用于使用各所述用户密钥加密一 授权密钥以生成对应于各个次级子集合的各密码文本;组合单元,用于将所 述各密码文本组合生成一媒体密钥控制块;节目加扰单元,用于使用所述授 权密钥加扰一视频节目;发送单元,用于将经加扰的视频节目和所述媒体密 钥控制块发送给一接收设备;和授权控制装置,用于控制所述各个单元的相 应操作并将所述媒体密钥控制块输出给所述发送单元。\n本发明还提供了一种用于有条件接收系统中的接收设备,假设该有条件 接收系统所能容纳的全部用户节点的集合为全集,由全部用户节点或其中部 分用户节点构成一子集合,其中所述接收设备包括:接收单元,用于接收从 发送设备发送的经加扰的视频节目和媒体密钥控制块;解析单元,用于使用 用户密钥解密一密码文本以获得一授权密钥;其中所述密码文本是使用与该 接收设备所属的次级子集合相对应的用户密钥对所述媒体密钥块进行识别获 得的,所述次级子集合是使用N叉树算法将所述子集合分解而成的,其中N 为大于等于2的自然数;节目解扰单元,用于使用所述授权密钥解密经加扰 的视频节目。\n由于本发明使用了二叉树分类方法,同组中的多个用户可以共用一条消 息来获得授权密钥MK,从而减少了用于分配该授权密钥MK的EMM(本发明中 为MKCB)的信息量(长度),使MKCB的长度大大短于常规的线性管理,特别 是在用户离开系统的时候。因此,本发明可以节省广播EMM时所占用的大量 带宽,即可以节省大量的网络资源。\n附图说明\n本发明的上述和其它目的和优点将在下面结合附图和具体实施例对本发 明的进一步说明中变得更加清楚,其中:\n图1是常规的有条件接收系统中的发送端和接收端的示意图;\n图2是根据本发明在有条件接收系统中使用的密钥分配装置的结构图;\n图3是根据本发明在有条件接收系统中使用的密钥分配方法的流程图;\n图4是根据本发明一实施例在有条件接收系统中使用的视频节目发送设 备的结构图;\n图5是根据本发明一实施例在有条件接收系统中使用的视频节目接收设 备的结构图;\n图6是根据本发明另一实施例在有条件接收系统中使用的视频节目发送 设备的结构图;\n图7是根据本发明另一实施例在有条件接收系统中使用的视频节目接收 设备的结构图;\n图8是示例n阶二叉树算法的图;\n图9是进一步示例n阶二叉树算法的图。\n具体实施方式\n下面将结合附图和具体实施例对本发明进行详细地说明。\n媒体密钥控制块(MKCB)的定义和特征\n本发明的MKCB方法可以用来实现有条件接收系统中的EMM层。\n假设所有用户或用户设备(节点)的集合是全集I(即系统所能容纳的 所有用户),S是I的一个子集,表示已经注册的合法用户(例如是已经付 费的用户)。在本发明中,采用二叉树算法(后面将更详细地进行说明)将 子集合S分解为多个次级子集合D1、D2、 ...、Dn,并且为该多个次级子集 合分配不同的用户密钥,而每个次级子集合中的用户具有相同的用户密钥。 然后用各个不同的用户密钥分别将授权密钥加密成密码文本E1、E2、...En, 并将上述密码文本组合生成本发明的媒体密钥控制块MKCB(S,MK),这个MKCB (S,MK)中的授权密钥MK可以用来将指定的视频节目的控制字CW加密成 ECM,该控制字CW是用来加密上述视频节目的。当然,上述的视频节目也可 以直接使用该授权密钥MK来进行加密,在这种情况下,就不用控制字来加 密该视频节目了。\n在MKCB的实现方法中,还可以使用三叉树算法或多叉树算法将子集合 S分解为多个次级子集合。在本发明的实施例中,使用二叉树算法来实现, 这将在后面进行详细地描述。当使用这种二叉树算法来实现MKCB时,由于 将传统的对用户的线性管理改变为分组管理,所以MKCB的长度不与子集合 S中的用户数量的增长成线性正比,并且在大多数情况下非常短。\n有条件接收系统中生成和分配MKCB的装置和方法\n图2是根据本发明在有条件接收系统中使用的密钥分配装置1的结构 图。\n如图2所示,本发明在有条件接收系统中使用的密钥分配装置100包括: 分解单元102,用于将子集合S分解为至少一个次级子集合Di,并为各次级 子集合分配不同的用户密钥Ki,各用户密钥Ki被传送给与该密钥对应的次 级子集合中的所有用户(可通过智能卡等形式);生成单元104,用于使用 各用户密钥Ki加密一授权密钥MK,以生成对应于各个次级子集合的各密码 文本Ei;组合单元106,用于将各密码文本Ei组合生成一媒体密钥控制块 MKCB;和授权控制装置108,用于控制上述各个单元的相应的操作并输出所 述媒体密钥控制块。另外,授权控制单元108还可以用于管理用户信息,即 可以在该媒体密钥控制块MKCB中包括运营商要发送给用户的其它用户管理 信息。\n其中,该分解单元102采用二叉树算法将子集合S分解为多个次级子集 合D1、D2、...、Dn,为多个次级子集合D1、D2、...Dn分配不同的用户密钥, 和用所述各用户密钥加密所述授权密钥MK,并将加密授权密钥后所获得的 密码文本E1、E2、...、En进行组合,以生成本发明的媒体密钥控制块 MKCB={E1,E2,...,En}。\n本发明的上述密钥分配装置可以在视频/音频广播的有条件接收系统的 单向信道上发送媒体密钥控制块MKCB,对各用户节点进行单向管理。另外, 本发明中分解单元102采用二叉树方法所分成的多个次级子集合D1、D2、...、 Dn,在系统建立时一经确定,就可以在以后的使用中保持不变(除非需要改 变系统,诸如改变系统的容量等时)。这样,就避免了进行动态管理而带来 的繁重的工作量,也节省了进行动态交互管理所需要的大量网络带宽。\n该MKCB可以在指定节目开始前广播给合法用户,也可以随着节目一起 广播,由于其长度较短,其广播的时间和方式是很灵活的。\n图3是图2中的在有条件接收系统中使用的密钥分配装置的工作流程 图。如图3所示,在步骤S10,分解单元102将全集I中的一子集合S分解 为至少一个次级子集合D1、D2、...、Dn;并为上述各次级子集合分配不同的 用户密钥Ki(步骤S20),所述各用户密钥Ki被传送给与该用户密钥相对应 的次级子集合中的所有用户;在步骤S30,生成单元104使用各所述用户密 钥Ki加密一授权密钥MK,以生成对应于各个次级子集合的各密码文本Ei(即 E1、E2、...、En);在步骤S40,组合单元106将所述密码文本Ei组合生成 一媒体密钥控制块MKCB={E1,E2,...,En}。另外在步骤S50,所生成的媒 体密钥控制块MKCB通过授权控制装置108输出,并经一发送单元发送给子 集合S中的所有用户。\n下面将对使用本发明图2中密钥分配装置的视频节目发送设备进行详细 地说明,其中与图2中的密钥分配装置相同的部件采用相同的附图标记,并 且为了简单起见,将省略对其相同功能的描述。\n图4是根据本发明一实施例在有条件接收系统中使用的视频节目发送设 备100的结构图。\n如图4所示,视频发送设备100包括:分解单元102,生成单元104, 组合单元106,和授权控制单元108,这些单元与图2中所示的相同单元具 有相同的功能和结构;除此之外,视频发送设备100还包括:节目加扰单元 110,用于使用授权密钥MK加扰来自一视频节目生成装置(未示出)的源码 流(视频节目);发送单元112,用于将经加扰的视频节目和该媒体密钥控 制块发送给一接收设备200(如图5所示)。\n下面将结合附图对本发明中的视频节目接收设备200进行详细地说明。\n图5是根据本发明一实施例在有条件接收系统中使用的视频节目接收设 备200的结构图。\n如图5所示,视频节目接收设备200包括:接收单元204,用于接收从 发送设备100发送的经加扰的视频节目和媒体密钥控制块;解析单元202, 用于对所述媒体密钥块MKCB进行识别,以获得与该接收设备200所属的次 级子集合Di相对应的密码文本Ei(即E1、E2、...、En之一),并使用与该 次级子集合Di相对应的用户密钥Ki解密该密码文本Ei,以获得一授权密 钥MK;节目解扰单元206,用于使用所获得的授权密钥MK解密经加扰的视 频节目,并将经解扰的视频节目传送给如电视等的接收或回放设备进行接收 或回放。\n当然,解析单元202还可以用于管理用户信息,其在解密MKCB后可以 获得由运营商发送给用户的信息,并将其发送给其它设备(未示出)进行存 档或进行其它处理。\n这里,对于包含所有可容纳用户节点的全集I的任何给定的合法用户子 集S,MKCB(S,MK)中的授权密钥MK可以且仅可以由子集合S中的用户解 密,而该MK是用来加密MPEG视频流的,这样,子集合S中的用户(合法付 费的用户)在解密MKCB并获得MK后,就可以再进一步获得经解扰的MPEG 视频流。\n下面将结合附图6说明本发明的视频发送设备的另一个实施例,其中与 图4中的视频发送设备相同的单元采用相同的附图标记,并且为了简单起 见,将省略对其相同功能的描述。\n图6是根据本发明另一实施例在有条件接收系统中使用的视频节目发送 设备300的结构图。\n如图6所示,视频发送设备300包括:分解单元102,生成单元104, 组合单元106,授权控制单元108,和发送单元112,这些单元与图4中所 示的相同单元具有相同的功能和结构,不再进行描述;除此之外,视频发送 设备300还包括:控制字加密单元114,用于在授权控制装置108的控制下, 使用授权密钥MK将一控制字CW加密成上述的密码文本Ei。\n与视频发送设备100的不同之处还在于:本实施例中视频发送设备300 的节目加扰单元110用于使用控制字CW加密来自一视频节目生成装置(未 示出)的源码流(视频节目),生成经加扰的视频节目。这里的密码文本Ei 就是有条件接收系统中的权利控制消息(ECM)。下面将结合附图7说明本发 明的视频接收设备的另一个实施例,其中与图5中的视频接收设备200相同 的单元采用相同的附图标记,并且为了简单起见,将省略对其相同功能的描 述。\n图7是根据本发明另一实施例在有条件接收系统中使用的视频节目接收 设备400的结构图。\n如图7所示,视频节目接收设备400包括:接收单元204,解析单元202, 这些单元与图5中所示的相同单元具有相同的功能和结构,不再进行描述; 除此之外,视频发送设备300还包括:控制字解密单元208,用于使用从解 析单元202输出的、经解密的授权密钥MK解密与该接收设备400对应的密 码文本Ei(属于该用户的E1、E2、...、En之一,即ECM),以获得所述控制 字CW。\n与视频接收设备200的不同之处还在于:本实施例中视频接收设备400 的节目解扰单元206使用所述控制字CW解密经加扰的视频节目,并将经解 扰的视频节目传送给如电视等的接收或回放设备进行接收或回放。\n这里,对于包含所有可容纳用户节点的全集I的任何给定的合法用户子 集S,MKCB(S,MK)中的授权密钥MK可以且仅可以由子集合S中的用户解 密。该MK用来将CW(控制字)加密为ECM(权利控制消息),而CW是用来 加扰MPEG视频流的。这样,子集合S中的用户(合法付费的用户)在解密 MKCB并获得MK后,就可以通过用MK解密ECM而获得CW,从而再进一步获 得经解扰的MPEG视频流。\n用二叉树算法生成MKCB的实例\n下面结合图8和图9说明利用n阶二叉树算法生成MKCB的实例。\n如图8所示,假设一个完整的n阶二叉树。很清楚,在该树中有2n-1 个节点,其中包括一个根节点和2n-1个叶节点。所谓叶节点,是指没有子节 点的节点,即树的最“下”层。另外,每个节点都可以看作是某一子树的根 节点,该子树包括该节点本身和所有它的后代节点,是与该节点对应的子树。 我们可以使每个节点与其对应的子树相关,例如,根节点与整个树相关,叶 节点与仅包括该节点本身的该级子树相关。在图8中,节点1表示与节点a 相关的子树,节点2表示与节点v相关的子树。\n如图8所示,子树差D’(u,v)是子树差节点的集合,子树差节点可以通 过两个节点u和v来识别,这里v是u的后代节点。如果用T’(u)表示与节 点u对应的子树,用T’(v)表示与节点v对应的子树,那么子树差D’(u,v)包 括属于u子树但不属于v子树的所有节点,它可以看作是与节点u相关的子 树减去与节点v相关的子树,即D’(u,v)=T’(u)-T’(v)。在图8中,节点3 表示通过子树差D’(u,v)所识别的子树。\n在本发明的这种算法中,设全集I是所有叶节点的集合,即图8中由点 划线所包围部分中的所有节点。也就是说,每个叶节点表示一个用户,因此 这种算法中用户的最大数目是2n-1。\n如图9所示,假定S是I的子集,可以证明存在一定数量的子集差 D(u,v),它们的和是子集合S。或者可以说,S可以被拆分为多个子集差 D(u,v)。这里所述的子集差D(u,v)是指子树差D’(u,v)中所有叶节点的集合。 图9示出了子集合S的拆分情况,这里,子集合S包括所有带标号的叶节点。 如图9所示,子集合S是各个子集差D(u1,v1)、D(u2,v2)、D(u3,v3)和D(u4,v4) 的和。其中子集差D(u1,v1)=T(u1)-T(v1)、D(u2,v2)=T(u2)-T(v2)、 D(u3,v3)=T(u3)-T(v3)和D(u4,v4)=T(u4)-T(v4)。这里,T(u)表示T’(u)中所 有叶节点的集合,T(v)表示T’(v)中所有叶节点的集合。\n对于每个子集差D(u,v),都有一个分配给它的密码值K(u,v)(即用户 密钥),这个密码值K(u,v)必须分配给该D(u,v)内的所有用户。对于不属于 D(u,v)的任何用户,密码值K(u,v)必须是未知的和不可计算的。\n假设媒体密钥控制块MKCB是E(K(u,v),MK)的和,这里E(K(u,v),MK)表 示在每个子集差D(u,v)中使用K(u,v)作为用户密钥来加密授权密钥MK所得 到的密码文本。那么,这个MKCB只能由具有这些K(u,v)之一的用户进行解 密。也就是说,能够解密MKCB的用户属于这些子集差D(u,v)之一。由于这 些子集差的和构成了子集合S,因此,仅仅是子集合S中的用户可以获得MK。\n下面举例说明媒体密钥控制块MKCB的构成。\n如图9所示,假设合法用户子集合S可以拆分为4个子集差D(u1,v1)、 D(u2,v2)、D(u3,v3)和D(u4,v4),那么就要分别为子集差D(u1,v1)中的用户分 配密码值K1,为子集差D(u2,v2)中的用户分配密码值K2,为子集差D(u3,v3) 中的用户分配密码值K3,和为子集差D(u4,v4)中的用户分配密码值K4。并且, 用密码值K1加密授权密钥MK可以获得其密码文本E1,用密码值K2加密授权 密钥MK可以获得其密码文本E2,用密码值K3加密授权密钥MK可以获得其 密码文本E3,用密码值K4加密授权密钥MK可以获得其密码文本E4。由上述 可知,媒体密钥控制块MKCB={E1,E2,E3,E4}。\n这样,当用户的接收设备接收到该MKCB时,就对该MKCB中的信息进行 过滤和识别。识别的方法例如可以为MKCB中的每个密码文本E1、E2、E3、和 E4分配各自的标识,或将每个密码文本E1、E2、E3、和E4分别放置在MKCB 中具有相应标识的位置,在每个子集差D(u,v)中的用户设备检测具有与其 自身相对应的标识的密码文本,或检测在MKCB中具有与其自身相对应的标 识的位置处的密码文本,进行解密。即,属于子集差D(u1,v1)中的用户检测 MKCB中含有E1的信息,并用其所拥有的密码值K1将该E1解密,从而获得MK; 属于子集差D(u2,v2)中的用户检测MKCB中含有E2的信息,并用其所拥有的 密码值K2将该E2解密,从而获得MK;属于子集差D(u3,v3)中的用户检测MKCB 中含有E3的信息,并用其所拥有的密码值K3将该E3解密,从而获得MK;属 于子集差D(u4,v4)中的用户检测MKCB中含有E4的信息,并用其所拥有的密 码值K4将该E4解密,从而获得MK。\n由此可知,有且只有构成了合法用户子集合S的子集差之一中的用户可 以获得MK。\n每个用户需要存储的用户密钥的数量问题\n在常规的方法中,对于每个用户,其必须存储(或可推导计算)子集合 S中包含其自身的所有子集差D(u,v)所对应的密码值K(u,v)(用户密钥)。 这些用户密钥即是由运营商分配给合法用户(例如已交费的用户)的,用来 解密运营商所广播发送的本发明中的MKCB,以获得观看加密的电视节目所 必需的授权密钥MK。这些用户密钥例如可以被存储于智能卡中。\n经过简单的数学计算就可以知道,对n阶二叉树而言,包含某个叶节点 的子集差是2n-n-1个,同2n是一个数量级的,即0(2n)。当n比较小时, 即子集差的数量较小时,可以采取直接存储的方法,也就是将数量较小的这 些用户密钥直接存储于例如智能卡中;但是在n较大时,子集差的数量呈几 何级数增长,将变得非常的大,这时要分配或存储如此庞大数量的子集差将 会是很困难的事情。\n在本发明中,当n比较大或者存储空间比较有限时,可以用下面的方法 来压缩密钥空间:\n在对每个子集差D(u,v)赋予K(u,v)时,使用这样的算法:\n(1)如果u是v的父节点,那么直接赋予一个随机密钥(或用其它方 法推导也可以);\n(2)如果u不是v的父节点,v的父节点是vf,那么在K(u,vf)给定的 情况下,K(u,v)可以用一个单向强函数从K(u,vf)计算得到。\n所谓的单向强函数是加密算法中一个常用的概念,它是这样的:可以从 一个数值用一定的方法简单地计算出另一个数值,但是要想从被计算出的数 值推导回原始的数值却非常困难,即在函数y=f(x)中,由于已知函数关系, 从x计算得到y是容易的,但是由于不知道其逆函数的关系,因此要想从y 计算出x却是非常的困难。\n容易看出,这是一个收敛的递归算法。本发明在采用这样的算法后,每 个用户就不需要存储包含其自身的所有子集差D(u,v)所对应的K(u,v)了, 因为大部分K(u,v)可以从其它K(u,v)中推导出来。不难验算,此时每个用 户仅需要存储n(n-1)/2个密钥,与n2/2是一个数量级,即0(n2/2),而不 是与2n具有相同数量级,因此所要存储的用户密钥的数量大大减小了。而 由于单向强函数的性质,可以看到这时整个系统的安全性也并没有降低。\n子集合S中的子集差的划分\n在CA系统建立时,其中用户的容量(即所有叶节点的数量)是一定的。 当一个用户由于加入该系统而占用一个节点时,对于该系统而言,该用户的 位置也就固定了。该位置相对于整个系统,其所对应的所有子集差D(u,v) 的情况也是固定的,所有子集差D(u,v)的划分情况及其所对应的密码值 K(u,v)都通过相应的程序存储在系统的数据库(未示出)中。\n另外,运营商通过例如上面所述的智能卡的形式将包括该节点的所有子 集差D(u,v)所对应的密码值K(u,v)(用户密钥)分配给该节点位置的用户。 这样,当某个用户加入或离开子集合S时,系统自动计算出在该用户加入或 离开后子集合S中对应于该情况的各个子集差D(u,v),并将由该各个子集 差D(u,v)中的密码值K(u,v)加密授权密钥MK所形成的媒体密钥控制块MKCB 广播发送给每个用户。由于每个位置的用户都具有对应于改变后的各个子集 差D(u,v)的K(u,v),因此他们都可以不受影响地解密该媒体密钥控制块MKCB 而获得授权密钥MK。\n用MKCB方法增加和移除用户\n在容量未满的系统中,还有未被用户使用的空余节点。如果将一个新的 用户加入到这个系统中,他/她就会占用这个节点,并得到一组对应于该节 点的密钥,即上文中所述的用户密钥。这个过程可以通过实际发放智能卡、 也可以通过广播等来完成,或可以采用其它的方式。如果采用智能卡的方式, 用户可以将该智能卡插入合适的接收设备(如机顶盒)中,然后等待接收运 营商发送的MKCB广播。这时,合法用户的子集合S应该改变为S’=S+A,这 里,A代表新用户的节点。\n当有新的用户加入时,子集差的划分产生了改变。同时,应该为新的S’ 和MK’生成新的MKCB,这里MK’可以是新的授权密钥,也可以是原来的授权 密钥MK。当新的MKCB代替了原来的MKCB时,该新用户就成功地加入了这 个系统中。\n在多个用户加入到该系统的情况中,与上面的过程是相同的。唯一的差 别是S’=S+A’,这里A’是表示所有新用户节点的集合。\n如果一个用户想退出系统,或其设备发生泄密或被非法侵入的故障时, 就应该将该用户从系统中移除。在这种情况下,所有合法用户的集合S应变 为S’=S-A,这里,A代表这个用户的节点。\n当用户退出该系统时,子集差的划分也发生了改变。应该为新的S’和MK’ 生成新的MKCB,这里,MK’应该是新的授权密钥,而不能是原来的旧的授权 密钥。当新的MKCB代替了原来的MKCB时,该用户就被成功地从这个系统中 移除了。\n在多个用户从该系统移除的情况中,与上面的过程是相同的。唯一的差 别是S’=S-A’,这里A’是表示所有被移除用户的节点的集合。\n对于离开系统的用户,该系统可以采用以下方法来停止其观看经加密的 视频节目的权利:(1)发送消息关闭该用户对MKCB的接收功能,并更换现 有合法用户集合S中的授权密钥MK;(2)停止向该用户发送含有授权密钥MK 的媒体密钥控制块MKCB。\n对于刚刚加入系统的新用户,由于其已经具有对应于该节点位置的各个 子集差D(u,v)的用户密钥K(u,v),因此他们在接收到媒体密钥控制块MKCB 后,都可以对其进行解密从而获得授权密钥MK。\n另外,用户加入到系统或从系统中被移除(离开),是通过该用户是否 履行了注册手续(例如是否已经交费)为触发条件的。该系统可以自动对这 种情况进行检测,并自动计算变化后的子集差D(u,v)、进行发送或停止发 送媒体密钥控制块MKCB。\n子树算法的分析结果\n如果集合(I-S)具有r个节点,即如图4所示的空白叶节点数是r, 用数学归纳法可以证明:子集合S是不大于(2r-1)个子集差的并集。还可 以用概率统计公式计算得到平均是r每增加1,期望的子集差的数值增加 2ln2,大约为1.38。因此子集差的平均值大约是2rln2,即1.38r。如果r 很大,这个期望的数值将减小。在图5的示例中可以看出,r=11,子集合S 可以被分割为的子集差最多是21个,符合上述算式2×11-1=21。\n很显然,如果子集合S具有m个节点,则子集合S所需要的子集差不会 超过m个,因为每个子集差至少可以覆盖一个节点。一般情况下,这个估计 可以被大大减少,因为每个子集差都可以覆盖许多节点。这说明本方法即使 在最差的情况下也不会比逐节点加密发送信息更差。\n另外,在本发明的方法中,对子集合S的覆盖是用子集差D(u,v)来完 成的,这样做在大多数情况下子集差的个数会比较小,但本发明并不限于此, 还可以采用其它方法,比如说直接用子集T(u)来覆盖。\n直接用子集来覆盖的优点是用户需要存储的用户密钥比较少,每个用户 都只需要存储n个密钥即可。但是其缺点也很明显,比如当只需要废除一个 用户的时候,整个二叉树就会被分成n-1个子集,其代价相对于子集差覆盖 (在该种情况下仅需一个子集差)来说显然要大得多。\n本发明也可以考虑一般的树结构,不仅是二叉树,也可以是三叉树或多 叉树。在一般的树结构中也可以考虑用直接子集覆盖的方法,以及子集差覆 盖的方法。\n另外,本发明也不限于使用子树的方法,还可以使用其它方法完成如本 发明中对用户的多层分组,并使该分组的情况随着有效用户的增加或减少而 实际地改变,从而减少MKCB中所含有的消息的长度。\nMKCB方法的优点\n与常规的CA系统相比,MKCB方法有两个主要的优点:\n首先,根据子树算法,MKCB的长度比传统的EMM的长度大大缩短。MKCB 的长度依赖于在对子集合S的分割中的子集差的数量。在很少用户从系统中 移除的情况下,或在子集合S的树结构很“干净(即树结构中的节点位置相 对集中和整齐)”,MKCB的长度比传统的线性EMM要短很多,而该传统线性EMM 的长度是与用户的数量成线性正比的。MKCB能够被实现得越短,就能节省 更多的带宽。\n其次,在常规的CA系统中,用户的移除将使同组中的其他用户改变为 新组,其中保证其他用户正确地改变他们的组是非常重要的,但是要达到此 目的,就要花费大量的带宽加密所要发送的信息。在本发明中,由于MKCB 非常短,其广播和分配的时间和形式十分灵活,当从系统中移除用户时,不 用将其他用户分配为新的组,因此对其他用户的影响非常小。\n上面对本发明的实施例进行了详细地说明。本领域的普通技术人员应该 明白,按照本发明的精神及指导思想对本发明做出的各种修改都在本发明后 附的权利要求书所要求保护的范围内。
法律信息
- 2017-11-03
未缴年费专利权终止
IPC(主分类): H04L 9/08
专利号: ZL 02142880.8
申请日: 2002.09.23
授权公告日: 2006.02.08
- 2006-02-08
- 2004-06-09
- 2004-03-31
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2006-07-12 | 2006-07-12 | | |