首页> 中国专利> 一种子集差分/分层子集差分机制的用户端扩展方法

一种子集差分/分层子集差分机制的用户端扩展方法

摘要

本发明公开了一种子集差分/分层子集差分机制的用户端扩展方法,包括步骤:以扩展的用户端为叶节点建立扩展逻辑密钥树;将扩展树与扩展前系统的原始树合并形成扩展后的密钥树;原始树中的密钥标签和密钥系统不变,为其他节点和其他子树分配独立的密钥标签,建立密钥系统;扩展前原始用户端的预分配密钥不变,构建扩展的用户端的预分配密钥;传输秘密消息M给用户端的任意子集S时,对M加密并构建出在信道中传输的广播消息;用户端根据预分配密钥对所述广播消息解析解密,得到M的明文。本发明的优点在于:解决了子集差分/分层子集差分机制无法扩展用户端的问题,在不影响系统原有用户的预分配密钥和解密处理的基础上,可动态批量地扩展系统的用户端。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-11-21

    未缴年费专利权终止 IPC(主分类):H04L9/08 授权公告日:20100512 终止日期:20110922 申请日:20060922

    专利权的终止

  • 2010-05-12

    授权

    授权

  • 2008-05-21

    实质审查的生效

    实质审查的生效

  • 2008-03-26

    公开

    公开

说明书

技术领域

本发明涉及一种在广播和组播信道上安全地传输一个秘密消息给用户端的任意子集的方法,特别涉及一种子集差分(Subset Difference,简称为SD)/分层子集差分(Layered Subset Difference,简称为LSD)机制的用户端扩展方法。

背景技术

广播加密(broadcast encryption)技术是指仅采用单向信道,无需双向握手通信就可以对大规模用户的任意子集广播秘密消息的密钥管理分发机制。广播加密机制的发展可以根据结构类型分成:基于矩阵型结构的广播加密机制和基于树型结构的广播加密机制两个阶段。2001年,D.Naor、M.Naor和Lotspiech联合提出了一种新的树型广播加密机制:子集差分(Subset Difference)方法,简称为NNL机制或者SD机制。该机制通过采用差分子集覆盖,折中了通信开销和用户端的密钥开销,提高了密钥分发效率,适用于实际系统。Halevi D和Shamir A提出了分层子集差分(Layered Subset Difference,简称为LSD)机制,通过对SD机制拆分得到的差分子集进行二次拆分,减少了用户端需要安全存储的密钥数,降低了密钥开销。

但是,SD机制和LSD机制都是以所有用户端为叶节点建立一个静态的逻辑密钥树来分配用户的预分配密钥,因此存在无法扩展用户端的问题。

发明内容

本发明的目的是解决子集差分/分层子集差分机制由于基于静态密钥树分配用户预分配密钥从而无法扩展用户端的问题,提供一种子集差分/分层子集差分机制的用户端扩展方法。

为了实现上述目的,本发明提供一种子集差分/分层子集差分机制的用户端扩展方法,包括如下步骤:

1)以所有扩展的用户端为叶节点建立扩展逻辑密钥树,即扩展树;

2)将上一步骤1)的扩展树与扩展前系统的原始密钥树(原始树)合并,构建扩展后的用户密钥树;

3)原始密钥树中的密钥标签和密钥系统不变,为其他节点和其他子树分配独立的密钥标签,建立密钥系统;

4)扩展前系统用户端的预分配密钥不变,扩展的用户端的预分配密钥为该用户端属于的所有密钥系统中从该密钥系统的根节点到用户端对应的节点的路上挂着的节点的密钥标签;

5)传输秘密消息M给用户端的任意子集S时,对秘密消息M加密,构建出在信道中传输的广播消息;

6)用户端的处理机制是:根据预分配密钥对所述广播消息解析解密,得到秘密消息的明文M。

在上述技术方案中,进一步地,所述步骤5)中所述广播消息由三部分组成:密文M′,将S拆分成的不相交的差分子集{Si,j}和用差分密钥分别加密后的随机密钥K;在信道中传输的广播消息的构建方法是:利用随机密钥K加密秘密消息M后生成密文M′,用S拆分成的不相交的差分子集{Si,j}对应的差分密钥分别加密随机密钥K。

进一步地,将S拆分成不相交的差分子集{Si,j}的方法包括:在系统密钥树中逐步移出每次扩展的用户端为叶节点的子树,再按照子集差分/分层子集差分机制进行子集的拆分。

进一步地,所述步骤6)中用户端u对所述广播消息的处理方法包括:对所述广播消息中的差分子集部分解析,找到差分子集(m,n)使得u∈Sm,n,其中,u表示用户端,(m,n)表示差分子集;再根据用户端自己的预分配密钥计算出Sm,n对应的差分密钥,利用该差分密钥对所述广播消息中的加密后的密钥部分解密计算出随机密钥K,最后利用随机密钥K对所述广播消息中的密文M′解密得到秘密消息M的明文。

进一步地,重复所述步骤1)——步骤6),可进行系统用户端的多次扩展。

与现有技术相比,本发明的优点在于:

1)解决了子集差分/分层子集差分机制无法扩展用户端的问题,在不影响系统原有用户的预分配密钥和解密处理的基础上,可动态批量地扩展系统的用户端;

2)本发明的扩展方法对系统原有用户来说是透明的,系统原有用户觉察不到扩展用户的存在。

附图说明

图1为扩展用户端时的用户密钥树构建示意图;

图2为将任意子集S拆分成不相交的差分子集{Si,j}的流程图。

图3为将任意子集S拆分成不相交的差分子集{Si,j}的方法示意图。

具体实施方式

下面结合附图和具体实施方式对本发明作进一步详细描述:

在对本发明的方法进行说明之前,首先对子集差分/分层子集差分机制进行简单说明。子集差分(SD)机制以所有用户端为叶节点建立密钥树,在此密钥树中,节点vi和vj(其中,vi是vj的祖先节点)的差分子集用Si,j表示,Si,j={u|u∈Si,uSj}。

为密钥树的每个子树定义一个独立的密钥系统并分配独立的密钥标签。此密钥系统的特点是在任何一个密钥系统中,已知一个节点vi的标签,就可以计算出所有该节点的子孙节点vj的标签和差分子集Si,j对应的差分密钥,但一个节点的祖先节点的标签未知时,该节点的标签和差分密钥就是伪随机的。每个用户端u可以通过自己保存的预分配密钥计算出所有u属于的差分子集对应的差分密钥,用户端u的预分配密钥是该用户端属于的所有密钥系统中从该密钥系统根节点到u对应的节点这条路上挂着的节点的标签。在安全地传输一个秘密消息给用户端的任意子集S时,只需要将S分成不相交的差分子集,用这些差分子集对应的差分密钥分别加密该秘密消息并传输出去。有授权的用户端根据自己保存的预分配密钥计算出其属于的差分子集对应的差分密钥,就可以对用这差分密钥对加密后的秘密消息解密,得到秘密消息的明文。LSD机制通过将SD机制得到的差分子集进行二次拆分,减少了用户端需要安全存储的密钥数。SD机制和LSD机制都是以所有用户端为叶节点建立一个静态的逻辑密钥树来分配用户的预分配密钥,因此存在用户端扩展即静态的逻辑密钥树再生长的问题。

下面结合附图和具体实施方式对本发明的子集差分/分层子集差分机制的用户端扩展方法作进一步详细描述。

系统初始建立时,即扩展用户端前,服务器按照SD/LSD机制为所有原始用户(扩展前的用户)建立、分配预分配密钥并加密传输秘密消息。

扩展用户端时,通过合并扩展树和原始树的方法构建用户密钥树和预分配密钥。假设系统已经扩展了t次用户端(t为≥0的整数,t=0表示系统未扩展过用户端),此时系统密钥树为T,则第t+1次扩展用户端后的用户密钥树的构建步骤为:

1)以所有扩展的用户端为叶节点建立完全的逻辑密钥树T′;

2)以T为左子树,T′为右子树将这两个密钥树结合成一个新的逻辑密钥树T″;

3)保持T中的所有子树和节点的密钥系统和密钥标签不变,为T″的其他节点和其他子树分配独立的密钥标签、根据SD/LSD的密钥建立机制建立密钥系统;

4)原始用户端的预分配密钥不变。扩展用户端的预分配密钥为该用户端属于的所有密钥系统中从该密钥系统的根节点到用户端对应的节点的路上挂着的节点的密钥标签。

第t+1次扩展用户端后,系统的用户密钥树就是密钥树T″。

每扩展一次用户端,服务器就应用一次上述方法建立系统的用户密钥树,分配扩展用户端的预分配密钥。由于原有用户端的预分配密钥保持不变,原有用户端的解密处理机制不变。

以图1中上半部分(a)部分为例,系统初始建立(t=0)时,用户集合为U0={u0,1,u0,2,…,u0,n1},系统的用户密钥树为根节点为root0的树T0(在图中以白色节点表示)。第一次扩展终端用户即t=1时,以扩展的用户端集合U1={u1,1,u1,2,…,u1,n1}成员为叶节点对建立根节点为root1′的密钥树T1′(在图中以黑色节点表示)。合并T0和T1′,得到根节点为root1的结果树T1。保持T0中的密钥系统和密钥标签不变,为T1的其他节点和其他子树分配独立的密钥标签、根据SD/LSD机制建立密钥系统,即U0中成员的预分配密钥是根据密钥树T0建立的SD/LSD预分配密钥,U1中成员的预分配密钥是根据密钥树T1建立的SD/LSD预分配密钥。依此类推,t=2时构建的用户密钥树如图1中下半部分(b)部分所示。

传输秘密消息M给用户端的任意子集S时,对秘密消息M加密,构建出在信道中传输的广播消息。根据权利要求1所述的子集差分/分层子集差分机制的用户端扩展方法,其特征在于,在信道中传输的广播消息的构建方法是:利用随机密钥K加密M后生成密文M′,用S拆分成的不相交的差分子集{Si,j}对应的差分密钥分别加密K,所述广播消息由三部分组成:密文M′,S拆分成的不相交的差分子集Si,j和用差分密钥加密后的密钥K。

服务器安全地传输秘密消息M给用户端的任意子集S的过程为:

1、服务器选择一个随机密钥K对秘密消息M加密生成密文M′,加密算法用Fk表示,即M′=FK(M);

2、在所述用户密钥树中将S分成不相交的差分子集<mrow><mo>{</mo><msub><mi>S</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>}</mo><mo>=</mo><mo>{</mo><msub><mi>S</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>,</mo><msub><mi>j</mi><mn>1</mn></msub></mrow></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>S</mi><mrow><msub><mi>i</mi><mi>n</mi></msub><mo>,</mo><msub><mi>j</mi><mi>n</mi></msub></mrow></msub><mo>}</mo><mo>,</mo></mrow>并计算出{Si,j}的对应的差分密钥{Li1,j1,…,Lin,jn}。

3、用所述差分密钥{Li1,j1,…,Lin,jn}分别对加密私密信息的密钥K加密并传输出去,加密次数为分成的不相交的差分子集的个数,加密算法用E差分密钥表示。

则服务器构建的广播消息由密文M′,S拆分成的差分子集Si,j和用差分密钥加密后的密钥K这三部分组成:<[(i1,j1),…,(in,jn),ELi1,j1(K),…,ELin,jn(K)],FK(M)>。

在扩展了t次用户的系统中,用Un(0≤n≤t)分别表示第n次扩展的用户集合(U0为原始用户集合),T0表示Un对应的用户密钥树(Tn的根节点用vn表示),则服务器将S分成不相交的差分子集的方法如图2所示:首先让Tn=Tt,vn=vt,然后反复执行以下操作步骤,从Tn中移出子树,增加拆分的差分子集,直至子树Tn的根节点vn就是T0的根节点v0

(1)如果密钥树Tn的根节点vn不是T0的根节点v0,则将Tn的左子树Tn-1移出,以Tn-1的根节点vn-1为vn的左子节点,并将vn-1标识为无授权的节点,根据SD/LSD机制对S在移出Tn-1的密钥树Tn中的有授权用户集合拆分成不相交的差分子集Si1(n),…,Simn(n),拆分的子集的个数为mn

(2)当树Tn的根节点vn是原始用户集合U0所属的子树T0的根节点v0时,根据SD/LSD机制的拆分方法对S在密钥树Tn中的有授权用户集合拆分成不相交的差分子集Si1(0)…,Sim0(0),拆分的子集的个数为m0

在扩展了t次用户的系统中,服务器将S分成不相交的差分子集的过程如图3所示。分别用Li1(0),…,Lim0(0),…,Li1(t),…,Limt(t)来表示Si1(0),…,Sim0(0),…,Si1(t),…,Simt(t)对应的差分密钥,则服务器构建的广播消息为:

<[i1(0),…,im0(0),…,i1(t),…,imt(t),ELi1(0)(K),…,ELim0(0)(K),ELi1(t),(K),…,ELimt(t)(K)],FK(M)>。

对于用户端u来说,它接收到的广播消息为:

<i1(0),…,im0(0),…,i1(t),…,imt(t),C1(0),…,Cm1(0),C1(t),…,Cmt(t)],M′>。

由于原有用户端的预分配密钥不变,因此原有用户端的处理机制不会改变,用户端u不需要知道自己是原有用户端还是扩展的用户端,其处理机制与SD/LSD机制中用户端的处理机制是一样的:

(a)用户端u对所述广播消息中的差分子集部分解析,找到ij(n)使得<mrow><mi>u</mi><mo>&Element;</mo><msub><mi>S</mi><msubsup><mi>i</mi><mi>j</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup></msub><mo>,</mo></mrow>(当找不到ij(n)使得u∈Sij(n)时,即u不在有授权接收秘密消息的用户集合S中时,u对所述广播消息的处理完成,不进行下述步骤)。

(b)从用户端u上保存的预分配密钥计算出ij(n)相应的差分密钥Lij(n)

(c)通过对Cj解密:DLij(n)(Cj)计算出M′的解密密钥K。

(d)通过用密钥K对M′解密:DK(M′)得到私密消息M。

由于服务器端将有授权的用户集合分成的差分子集不相交,则u最多只属于其中的一个子集,即上述第一步中最多只能得到一个结果。

最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号