专利名称:一种基于秘密共享的单向函数树组播密钥管理方法
技术领域:
本发明属于组播密钥管理技术领域,涉及一种基于秘密共享的单向函数 树组播密钥管理方法,具体是一种结合单向函数和秘密共享进行组播密钥管 理的方法。
背景技术:
随着Internet的迅速普及和爆炸性发展,在Internet上产生了许多新的应 用,其中不少是高带宽的多媒体应用,如网络视频会议、网络音/视频广播、 视频点播、股市行情发布、多媒体远程教育等。组播技术是顺应这种应用需 要而产生的一种新技术。组播传输提高了数据传送效率,减少了网络出现拥 塞的可能性。然而,目前的组播协议缺乏有效的安全机制来满足组播应用的 安全性要求,而采用明文传输的组播报文在网络上很容易被窃听、冒充和篡 改。组播安全问题是迫切需要解决的问题,其内容包括数据保密、组管理、 源认证等多个方面。
组播密钥管理为参与组播的成员生成、分发和更新组密钥,即解决组管 理的安全问题,功能主要包括两个方面 一个方面是密钥的分发;另一个方 面是对密钥进行管理以适应组成员关系的变化。组密钥是所有组成员都知道 的密钥,用来对组播报文进行加密/解密、认证等操作,以满足保密、组成员 认证、完整性等需求。相比单播的密钥管理,前向保密性、后向保密性和合 谋破解是组播密钥管理特有的安全问题。
到目前为止,已提出了许多组播密钥管理方案,如集中式基于树的密钥 管理(Centralized Tree-Based Key Management, CTKM)方案、单向函数树 (One-Way Function Tree, OFT)方案禾口 Iolus方案等。
单向函数树(One-Way Function Tree, OFT)方案利用左右子节点密钥 的2个g函数值通过/函数计算产生新的密钥。其中g是单向函数,/是混合 函数。组控制者创建和维护一棵密钥层次树,图l表示OFT方案的密钥层次 树结构。OFT的叶子节点密钥是由组控制者和对应成员使用公开密钥交换算 法(比如Diffie-Hellman密钥交换算法)秘密协商得到的,在组控制者和对 应成员之间共享的成员私钥,而根节点密钥和中间节点密钥由组控制者利用 孩子节点密钥,通过函数K^/(g(尺x,),gC&0)计算得到,式中&为节点x的密 钥;力和^分别为节点x的左右孩子节点,g(X)为《的盲密钥。成员保存对 应的叶子节点密钥,及从叶子节点到根节点之间所有中间节点的兄弟节点的 盲密钥。
在(A, ) Shamir秘密共享方法中,秘密S被分解成为w个共享秘密份 额& (1 2S),如果要通过共享秘密份额&恢复秘密S,必须获得至少A个共 享秘密份额&才能正确恢复原先的秘密。(A, ) Shamir秘密共享方法使用了有限伽罗瓦域上的一个随机a-i)次多项式,例如_/^)=("/^"+...+ "乂+ a0) mod / 。
秘密S分解过程由以下四个步骤构成
1) 找一个素数p大于《和秘密&
2) 将常量a。设为S;
3) 选择个随机系数A, flw,构建多项式/(:c);
4) 在《个离散点上计算A勾得到W个共享秘密份额。
秘密s恢复过程是利用拉格朗日插值函数/(xhf少,n P4,由"
〖=00 5"1 —义y J
个共享秘密份额中的任意A个构建得到多项式/(x),然后计算/0)即可得到秘密S。
发明内容
本发明的目的是提供一种基于秘密共享的单向函数树组播密钥管理方法 (Secret-Sharing-Based One-Way Function Tree, SOFT),它是一种新型的集 中式层次型组播密钥管理方法。该方法引入(2, 《) Shamir秘密共享方法并 结合单向函数g来实现密钥更新,即用g函数值作为共享秘密份额,用秘密 恢复函数计算得到上层节点密钥,以树型结构来进行组播密钥管理。整个组 播组分为组控制者(Group Controllor, GC)和组成员。节点&对应的密钥为,对应的盲密钢为》S.。
'本发明提^的组^密钥管理方法在更新密钥传递过程中,采用密钥加密 盲密钥的方式进行传送,相比传统的利用密钥加密新密钥进行传送的方式, 具有更高的安全性。而且,利用秘密共享方法,能够通过只传送盲密钥&和 有效共享秘密份额(Active Sharing, AS)来进行密钥更新,从而避免了传送 真实密钥进行密钥更新,降低了密钥被截获并破解的可能性,增强了本发明 提供的组播密钥管理方法的抗攻击性。
本发明方法包括产生密钥层次树和盲密钥层次树、生成,分发与恢复组 密钥、组成员加入、组成员离开和周期性密钥更新五个内容。
l.产生密钥层次树
密钥层次树是实现基于树的组播密钥管理的基础。组播组成员加入和离
开的密钥更新过程需要根据密钥层次树的结构来进行。密钥层次树产生的方 法是.
产生密钥层次树和盲密钥层次树中产生密钥层次树包括产生密钥层次树叶
子节点的私钥、产生钥层次树根节点和中间节点的密钥,其具体方法是
组控制者与各个组成员通过密钥交换协议产生密钥层次树叶子节点y,密
钥层次树叶子节点对应的密钥是各个组成员的私钥《y,该私钥《y为组控制者
与对应的组成员之间共享;
通过函数^^《&Q, &0得到密钥层次树根节点对应的密钥和中间节点对应
的密钥,其中^为根节点或中间节点x对应的密钥,X/和x,.分别为节点x的左右子节点,&/、 &^分别是子节点^和^的盲密钥,S为秘密恢复算法。
产生盲密钥层次树的具体方法是密钥层次树中的每个节点x或y利用对 应的密钥^或Ky,通过函数Sx=g (KJ得到密钥^的盲密钥&,通过函数 S厂g (《y)得到密钥《y的盲密钥^y,其中g为单向函数;这些盲密钥构成的树 即为盲密钥层次树,盲密钥层次树和密钥层次树具有相同的树结构,盲密钥层 次树中的节点对应的是在密钥层次树中处于相同位置的节点对应密钥的盲密 钥。
密钥层次树和盲密钥层次树产生后,每个组成员保存其对应叶子节点到根 节点路径上所有节点的密钥以及这些节点的兄弟节点的盲密钥。
秘密恢复算法S是利用拉格朗日插值函数的方法,为成熟的现有技术。 密钥交换协议和单向函数g为成熟的现有技术。
2. 生成、分发与恢复组密钥、
组密钥是所有组成员的共享密钥。如果它用于加密组播业务数据,则能 保证只有属于该组播组的成员才能正确解密组播业务数据。
组密钥的生成,分发与恢复的方法是
1) 组控制者产生组密钥《g,并且用组密钥和根节点的盲密钥&构造一 个秘密共享多项式,利用该秘密多项式计算出一个有效共享秘密份额 AS;
2) 组控制者以组播的方式向所有组成员发送共享秘密份额AS。
3) 收到共享秘密份额AS的组成员,利用保存的根节点的盲密钥&,通 过AS)恢复出组密钥&。
3. 组成员加入
组成员加入过程包括组控制者对请求加入者身份的认证和组成员的密钥 更新。组控制者对请求者身份认证的目的是验证请求者身份的合法性,组成 员的密钥更新是为了保证组播密钥的前向保密性。
组成员加入的具体步骤是
1) 组控制者对发送加入请求者进行身份验证,允许通过验证者加入到组 中。组控制者与新加入的成员通过密钥交换协议产生新加入成员的 私钥。
密钥交换协议为成熟的现有技术。
2) 组控制者根据当前密钥层次树的结构,确定新加入成员在该密钥层次 树中的插入节点,将新成员作为该插入节点的子节点加入到密钥层 次树中。
3) 组控制者利用新成员的私钥加密从新成员对应叶子节点到根节点路径 上所有节点的兄弟节点对应密钥的盲密钥,然后发送给新加入成 员;
4) 组控制者产生新的组密钥;
5) 组控制者利用新成员的盲密钥按照密钥层次树生成过程中使用的计算方法计算得到从新成员对应叶子节点到根节点路径上的所有新密钥 和新盲密钥;
6) 组控制者用根节点的新盲密钥和新组密钥构造新的秘密共享多项式,
并计算得到新的有效共享秘密份额^S';
7) 组控制者采用对应的密钥加密新盲密钥,然后以组播的方式发送给所
有组成员。只有拥有对应密钥的节点才能正确解密所要获得的数
据;
8) 组控制者用根节点的新密钥加密6)中得到的AS*',以组播的方式发送 给所有组成员;
9) 各个组成员根据接收到的盲密钥,按照密钥层次树生成过程中使用的 计算方法计算得到相应中间节点及根节点的新密钥和新盲密钥,再 结合所接收到的有效共享秘密份额A5',通过组密钥恢复方法计算出 新的组密钥,完成密钥更新过程。
4.组成员离开
组成员离开过程包括组控制者对离开成员信息的处理和组成员的密钥更 新。组控制者对离开成员的处理主要是确认离开成员的身份,并删除其在组 内的相关信息,组成员的密钥更新是为了保证组播密钥的后向保密性。
组成员离开的具体歩骤是
1) 组控制者验证发送离开请求的成员身份。验证通过后,组控制者删除 离开节点在密钥分布树中的对应的叶子节点;
2) 组控制者根据当前树的情况,确定离开点的位置。离开点指离开成员 的父节点;
3) 组控制者产生新的组密钥;
4) 组控制者为离开成员生成一个替代盲密钥,该替代盲密钥对离开成员 是未知的。组控制者利用该替代盲密钥,按照密钥层次树生成过程 中使用的计算方法计算得到从离开成员对应叶子节点到根节点路径 上所有节点对应的新密钥和新盲密钥;
5) 组控制者用根节点的新盲密钥和新组密钥构造新的秘密共享多项式, 并计算得到新的有效共享秘密份额AS';
6) 组控制者用对应的密钥加密新盲密钥,然后以组播的方式发送给剩余 的所有组成员。只有拥有对应密钥的节点才能正确解密所要获得的 数据;
7) 组控制者用根节点的新密钥加密5)中得到的AS',以组播的方式发送 给剩余的组成员;
8) 各个剩余的组成员根据接收到的盲密钥,按照密钥层次树生成过程中 使用的计算方法计算得到相应中间节点及根节点的新密钥和新盲密 钥,再结合所接收到的有效共享秘密份额AS',通过组密钥恢复方法 计算出新的组密钥,完成密钥更新过程。5.周期性密钥更新
为了保证密钥的时效性,组控制者以一定的周期生成新的组密钥,并进 行密钥更新。
周期性密钥更新的具体步骤是
1) 组控制者产生一个新的组密钥;
2) 组控制者用根节点的盲密钥和新组密钥构造新的秘密共享多项式,并 计算得到新的有效共享秘密份额AS';
3) 组控制者以组播的方式将新的AS'发送给所有组成员;
4) 各个组成员利用根节点的盲密钥和新的JS',通过组密钥恢复方法计 算出新的组密钥,完成密钥更新过程。
本发明提供的基于秘密共享的单向函数树组播密钥管理方法消除了
CTKM方案在成员变动更新时更新开销较大以及OFT方案在周期性更新密 钥时更新过程复杂、更新消息长、计算开销高的缺陷。当组成员数量很大 时,本发明提出的方法具有OFT方案在成员变动引起的密钥更新过程中都具 有较小的更新开销的优点,同时还具有CTKM方案在周期性更新过程中计算 开销小的优点。
图1 OFT方案的密钥层次树结构图; 图2本发明的密钥层次树结构图; 图3本发明的盲密钥层次树结构图; 图4成员 一所保存的密钥示意图; 图5成员附3所保存的盲密钥示意图; 图6成员附8加入前的密钥层次树; 图7成员夠加入前的盲密钥层次树; 图8成员m8加入后的密钥层次树。 图9成员ms加入后的盲密钥层次树; 图10成员,离开前的密钥层次树; 图11成员附s离开前的盲密钥层次树; 图12成员附s离开后的密钥层次树; 图13成员ms离开后的盲密钥层次树。
具体实施例方式
本发明适用于任何需要组播密钥管理的应用场景。
在具体实施方式
的阐述过程中,符号{附}:义表示发送者s将消息义发 送给成员m,符号^k表示用密钥K对消息x进行加密。 1.密钥层次树的产生
图2和图3分别表示采用本发明中提供的方法,由组控制者创建的含有 8个组成员的密钥层次树和盲密钥层次树。叶子节点&, ^...,&分别对应组 成员和组控制者共享的私钥&, 《,(—1,2,...,8)是在成员m,加入组时,与组控制者通过密钥交换协议(如Diffie-Hdlman密钥交换协议)产生
的成员私钥。中间节点&-2, ^-4, ~8, ^-4, ^-S和根节点&-8各自对应
的密钥为&-2, &-4,《5.6,《7-S,《M, X5-JP&-8,这些密钥用于加密盲密 钥,所以称他们为密钥加密密钥。这些密钥由组控制者分三步计算得到
1) ^.2^(g(&),g(尺2)),《3.4^(g(&),g(尺4)),《5.(^(g(尺5), g(K6)),
2) XM^(g(^.2), g(K3-4)),《5-『S(g(尺5—6), g(《7-8));
3) U,-4)U)。
密钥层次树和盲密钥层次树生成之后,每个组成员保存其对应叶子节点 到根节点路径上所有节点的密钥和盲密钥以及这些节点的兄弟节点的肓密
钥。图4和图5分别表示成员附3所保存的密钥示意图和附3所保存的盲密钥
示意图。黑点表示成员mj保存的密钥和盲密钥,分别为&, &-4, &-4, 禾口 &, 514, &_2, &-4, &-4, &-8, 夕l-8。
2. 组密钥的生成,分发和恢复过程
为了实现组播
1) 组控制者产生组密钥《g,并且用组密钥和根节点的盲密钥构造一个
秘密多项式Xx),利用该秘密多项式Xx)计算出一个有效共享秘密份
2) 组控制者用根节点的密钥加密共享秘密份额AS,然后以组播的方式 发送给所有组成员。
3) 组成员解密收到的消息获得AS,并且利用保存的根节点的盲密钥 &,通过《^S(&,^S)恢复出组密钥&。在本实施例中,根节点的盲 密钥&即为&.8,各个组成员利用&="&-8, AS)恢复出组密钥&。
3. 组成员加入过程
附8为请求加入的组成员,图6禾口图7分别表示附s加入前的密钥层次树 结构和盲密钥层次树结构。
成员ms加入过程包括以下几个步骤
1) ,"8向组控制者发送加入请求,组控制者对ms进行身份验证。验证通 过后,组控制者与附8利用密钥交换协议(如Diffie-Hellman密钥交换 协议)产生附8的私钥^,该私钥由组控制者和ms共享。
2) 组控制者根据密钥结构树的情况,选定48作为成员ms对应叶子节点 ^的插入节点,^将作为节点^-s的右子节点插入到密钥层次树中。
3) 组控制者利用新成员附8的私钥^加密盲密钥,向新成员ms发送其 所需的盲密钥信息GC—{m8}:{&, &-6, 4}《8;
4) 组控制者更新组密钥《g为《'g;
5) 组控制者利用新成员附8的盲密钥^按照密钥层次树生成过程中使用 的计算方法计算得到从新成员ms对应叶子节点^到根节点路径上的 所有新密钥和新盲密钥;6) 组控制者用根节点的新盲密钥SVs和新组密钥《'g构造新的秘密共享 多项式/x),并计算得到新的有效共享秘密份额AS ';
7) 组控制器采用组播的方式发送密钥更新消息,由于该消息采用加密方
式传送,所以只有拥有对应密钥的组成员才能正确解密消息的内容, 进行密钥更新。在本实施例中,组控制者向成员组发送三条密钥更新
消息
① .组控制者利用成员m7的私钥《7加密新成员夠的盲密钥&,发
送给成员m7: GC —{附7}:{&}《7;
② .组控制者利用成员m5,附6所拥有的密钥《5-6加密节点U勺新盲
密钥
SVs,发送给成员附5,m6: GC—{附5,附6}:{5'7-8}《5_6;
③ .组控制者利用成员^, m2, m3, m4所拥有的密钥&.4加密节点
的新盲密钥S,5-s,发送给成员m2, m3, ,w4: GC — m2, w3, w4}:{S'5-8}&—4;
8) 组控制者用根节点的新密钥加密AS'并向所有成员组播
GC — {wh…,w8}:{^S,}f ls;。
9) 各个组成员利用收到的密钥更新消息,通过秘密恢复算法以及g函数
计算得到从对应叶子节点到根节点路径上的所有密钥和盲密钥,再利 用新的共享秘密份额^S',通过组密钥恢复方法得到新的组密钥 《'g,完成密钥更新过程。在本实施例中,各个组成员密钥恢复的具
体过程如下所述
① 成员附7:附7原先掌握了盲密钥&t、 &_6和&-4,其中,^表示附7 对应兄弟节点的盲密钥,虽然没有对应兄弟节点,但为了计算得 到父节点的密钥,附7存储了组控制者生成的虚拟兄弟节点盲密钥 &t。成员"!8加入后,附7得到新节点^的盲密钥&,替换原先对 应的盲密钥&t。通过计算
&=g(K7),尤'7-8=《&, ^)得到节点&-8对应的新密钥《'7-8; S'7-『g(《'7-s),《'5-8="&-6, S'7-s)得到节点^-8对应的新密钥 S'5-『g(《'5-s), KVf^&a ^Vs)得到根节点^—8对应的新密钥《V
SV『g(《Vs),《'g=S0SV8, AS')得到新的组密钥K'g。
② 成员夠,附6:附5,附6原先掌握了盲密钥&-8和&-4。成员附s加入 后,m5,m6得到节点^.8的新盲密钥S'7.8,替换原先对应的盲密 钥&_8。通过计算
&.6=g(《5—6), KVfSOS^, SVs)得到节点U寸应的新密钥《'5.8; S'5-8=g(《'5-8), XVfSO^, S Vs)得到根节点U寸应的新密钥《V
SV『g(尺Vs), f g^G V8, AS')得到新的组密钥《'g。D成员m,,附2,附3, m4:附i,附2,附3,附4原先掌握了盲密钥&-8。成员
ms加入后,m,,m2,/n3,m4得到节点U勺新盲密钥S'5.8,替换原
先对应的盲密钥&-8。通过计算
&—4=g(《M),《V『SGSm, SVs)得到根节点&-8对应的新密钥《Vs; SVs二g(《Vs), f g^0SVs, AS')得到新的组密钥f g。
④新成员附8: ms在接收到组控制者的数据后,掌握了盲密钥&、
&-6、 ^-4禾n^s'。通过计算
《'7.8=《&, A)得到节点&-8对应的新密钥《'7-S; S'7fg(《'7-S),《'5-8=《&-6, S'7—8)得到节点&_8对应的新密钥《'5.8; S'5-8=g(《'5-8), fV8=S(&-4, ^'5-8)得到根节点^s对应的新密钥尺V
SV8-g(KVs), K'g^CSVs, AS')得到新的组密钥iTg。
成员附s加入,密钥更新完成后的密钥层次树结构和盲密钥层次树结构分
别如图8和图9所示。
4.组成员离开过程
ms为请求离开的组成员。图10和图11分别表示附s离开前的密钥层次 树结构和盲密钥层次树结构。
成员附8离开过程包括以下几个步骤
1) 成员m8向组控制者发送离开请求,组控制者对w8的身份进行验证.允
许成员附S离开后,组控制者删除成员结点附8在密钥分布树中的对应的
叶子节点&;
2) 组控制者根据m8的信息,确定叶子节点&的离开点为
3) 组控制者更新组密钥《g为《'g;
4) 组控制者为离开的成员夠生成一个替代盲密钥S'st,并密钥层次树生 成过程中使用的计算方法计算得到从离开的成员节点&到根节点路径 上的所有新密钥和新盲密钥;
5) 组控制者用根节点的新盲密钥SVs和新组密钥《'g来构造新的秘密共享 多项式Xx),并计算得到新的有效共享秘密份额^S';
6) 组控制器采用组播的方式发送密钥更新消息,由于该消息采用加密方 式传送,所以只有拥有对应的组成员才能正确解密消息的内容,进行 密钥更新。
在本实施例中,组控制者向组成员发送三条密钥更新消息
① .组控制者利用成员附7的私钥《7加密新盲密钥S'8t,发送给成员
m7: GC—{m7}:W8t}《7;
② .组控制者利用成员m5,附6所拥有的密钥6加密节点U勺新盲密
钥S'7-8,发送给成员附5, w6: GC —{m5,附6}:{5'7-8}^5-6;
③ .组制者利用成员m2, m3,附4所拥有的密钥&_4加密节点U勺新
盲-密f月SYs' 发—送会合成J^附i,附2,附3,附4: GC — {附),m2, m3,附4U^S<formula>formula see original document page 13</formula>
7) 组控制者用根节点的新密钥加密m'并向剩余的成员组播
GC —{m,,…,附6, w7}:{^S'}XVs;
8) 各个组成员利用收到的密钥更新消息,通过秘密恢复算法以及g函数 计算得到从对应叶子节点到根节点路径上的所有密钥和盲密钥,再利 用新的共享秘密份额A5',通过组密钥恢复方法得到新的组密钥《'g, 完成密钥更新过程。
在本实施例中,各个组成员的密钥恢复过程如下所述
① .成员m7: m7原先掌握了盲密钥&、 &-6和&_4。成员附8离开后,附7
得到替代盲密钥S'st,替换原先对应的盲密钥&。通过计算 S7=g(《7), KV8=SGS7, S'8t)得到节点&-8对应的新密钥iT7.8; SV产g(K'7-8), K'5-8=S(&-6, SVs)得到节点&-8对应的新密钥K'5-s; S V8=g(iT5-8), XVs^^m, SVs)得到根节点U寸应的新密钥A:Vs; S'l-8=gWl-8),〖'g^CSVs, ^S')得到新的组密钥I'g。
② .成员附5,附6: 一,柳6原先掌握了盲密钥&-8和&-4。成员附8离开后,
附5,附6得到节点的新盲密钥S'7-8,替换原先对应的盲密钥&-S。 通过计算
&-6=gd(0, 1'5.8=《&-6, S'7-8)得到节点&-8对应的新密钥〖'5-8; S'5-8=g(《'5-8), d-8=S(&-4, SVs)得到根节点U寸应的新密钥f SV8-g(KV8),'^S(SV8,爿S')得到新的组密钥K'g。
③ .成员附b W2,附3,附4:附i, W2,附3,附4原先掌t屋了盲密钥&-8°成员附8
离开后,m!,附2,m3,附4得到节点U勺新盲密钥S'5-s,替换原先对 应的盲密钥&-8。通过计算
&—4=g(《M), KVfW&A SVs)得到根节点^8对应的新密钥《V8; SVfg(《V8), f g^(S V8, AS')得到新的组密钥尺'g。 成员 离开,密钥更新完成后的密钥层次树结构和盲密钥层次树结构分
别如图12和图13所示。 5.周期性密钥更新过程
在本实施例中,周期性的密钥更新过程包括以下几个步骤
1) 组控制者更新组密钥《g为K'g;
2) 组控制者用根节点的盲密钥&-8和新组密钥7Tg来构造新的秘密共享 多项式Xx),并计算得到新的有效共享秘密份额AS';
3) 组控制者用根节点的密钥加密AS'并向所有成员组播 GC—{m!,…,附7, msH^S^I^
4) 各个组成员利用保存的根节点盲密钥《—8和解密得到的新的共享秘密
份额AS',通过《'§^(&—8, M')得到新的组密钥fg,完成周期性密钥 更新的整个过程。
权利要求
1、一种基于秘密共享的单向函数树组播密钥管理方法,包括产生密钥层次树和盲密钥层次树、生成,分发与恢复组密钥、组成员加入、组成员离开和周期性密钥更新,其特征在于A.产生密钥层次树和盲密钥层次树中产生密钥层次树包括产生密钥层次树叶子节点的私钥、产生钥层次树根节点和中间节点的密钥,其具体方法是组控制者与各个组成员通过密钥交换协议产生密钥层次树叶子节点y,密钥层次树叶子节点对应的密钥是各个组成员的私钥Ky,该私钥Ky为组控制者与对应的组成员之间共享;通过函数Kx=S(Sxl,Sxr)得到密钥层次树根节点对应的密钥和中间节点对应的密钥,其中Kx为根节点或中间节点x对应的密钥,xl和xr分别为节点x的左右子节点,Sxl、Sxr分别是子节点xl和xr的盲密钥,S为秘密恢复算法;产生盲密钥层次树的具体方法是密钥层次树中的每个节点x或y利用对应的密钥Kx或Ky,通过函数Sx=g(Kx)得到密钥Kx的盲密钥Sx,通过函数Sy=g(Ky)得到密钥Ky的盲密钥Sy,其中g为单向函数;这些盲密钥构成的树即为盲密钥层次树,盲密钥层次树和密钥层次树具有相同的树结构,盲密钥层次树中的节点对应的是在密钥层次树中处于相同位置的节点对应密钥的盲密钥;密钥层次树和盲密钥层次树产生后,每个组成员保存其对应叶子节点到根节点路径上所有节点的密钥以及这些节点的兄弟节点的盲密钥;B.生成、分发与恢复组密钥的具体步骤是(1)组控制者产生组密钥Kg,并且用组密钥和根节点的盲密钥Sr构造秘密共享多项式,利用该秘密共享多项式得到有效共享秘密份额AS;(2)组控制者以组播的方式向所有组成员发送共享秘密份额AS;(3)收到共享秘密份额AS的组成员利用保存的根节点的盲密钥Sr,通过Kg=S(Sr,AS)恢复出组密钥Kg;C.组成员加入的具体步骤是(1)组控制者对发送加入请求者进行身份验证,允许通过验证者加入到组中,组控制者与新加入的成员通过密钥交换协议产生新加入成员的私钥Ky;(2)组控制者根据当前密钥层次树的结构,确定新加入成员在该密钥层次树中的插入节点,将新成员作为该插入节点的子节点加入到密钥层次树中;(3)组控制者利用新成员的私钥加密从新成员对应叶子节点到根节点路径上所有节点的兄弟节点对应密钥的盲密钥,然后发送给新加入成员;(4)组控制者产生新的组密钥;(5)组控制者利用新成员的盲密钥按照密钥层次树生成过程中使用的计算方法计算得到从新成员对应叶子节点到根节点路径上的所有新密钥和新盲密钥;(6)组控制者用根节点的新盲密钥和新组密钥构造新的秘密共享多项式,并计算得到新的有效共享秘密份额AS’;(7)组控制者采用对应的密钥加密新盲密钥,然后以组播的方式发送给所有组成员,只有拥有对应密钥的节点才能正确解密所要获得的数据;(8)组控制者用根节点的新密钥加密6)中得到的AS’,以组播的方式发送给所有组成员;(9)各个组成员根据接收到的盲密钥,按照密钥层次树生成过程中使用的计算方法计算得到相应中间节点及根节点的新密钥和新盲密钥,再结合所接收到的有效共享秘密份额AS’,通过组密钥恢复方法计算出新的组密钥;D.组成员离开的具体步骤是(1)组控制者验证发送离开请求的成员身份,验证通过后,组控制者删除离开节点在密钥分布树中的对应的叶子节点;(2)组控制者根据当前树的情况,确定离开点的位置;(3)组控制者产生新的组密钥;(4)组控制者为离开成员生成一个替代盲密钥,该替代盲密钥对离开成员是未知的;组控制者利用该替代盲密钥,按照密钥层次树生成过程中使用的计算方法计算得到从离开成员对应叶子节点到根节点路径上所有节点对应的新密钥和新盲密钥;(5)组控制者用根节点的新盲密钥和新组密钥构造新的秘密共享多项式,并计算得到新的有效共享秘密份额AS’;(6)组控制者用对应的密钥加密新盲密钥,然后以组播的方式发送给剩余的所有组成员;(7)组控制者用根节点的新密钥加密5)中得到的AS’,以组播的方式发送给剩余的组成员;(8)各个剩余的组成员根据接收到的盲密钥,按照密钥层次树生成过程中使用的计算方法计算得到相应中间节点及根节点的新密钥和新盲密钥,再结合所接收到的有效共享秘密份额AS’,通过组密钥恢复方法计算出新的组密钥;E.周期性密钥更新的具体步骤是(1)组控制者产生一个新的组密钥;(2)组控制者用根节点的盲密钥和新组密钥构造新的秘密共享多项式,并计算得到新的有效共享秘密份额AS’;(3)组控制者以组播的方式将新的AS’发送给所有组成员;(4)各个组成员利用根节点的盲密钥和新的AS’,通过组密钥恢复方法计算出新的组密钥,完成密钥更新过程。
全文摘要
本发明涉及一种基于秘密共享的单向函数树组播密钥管理方法。目前的组播协议缺乏有效的安全机制来满足组播应用的安全性要求。本发明在更新密钥传递过程中,采用密钥加密盲密钥的方式进行传送,包括产生密钥层次树和盲密钥层次树、生成,分发与恢复组密钥、组成员加入、组成员离开和周期性密钥更新。其中产生盲密钥层次树的具体方法是密钥层次树中的每个节点利用对应的密钥K,通过函数S=g(K)得到密钥K的盲密钥S,其中g为单向函数。本发明方法利用秘密共享方法,能够通过只传送盲密钥S和有效共享秘密份额来进行密钥更新,从而避免了传送真实密钥进行密钥更新,降低了密钥被截获并破解的可能性,增强了抗攻击性,具有更高的安全性。
文档编号H04L29/06GK101309137SQ200810063020
公开日2008年11月19日 申请日期2008年7月10日 优先权日2008年7月10日
发明者席国宝, 磊 谢, 煦 金, 陈惠芳 申请人:浙江大学