《应用单向代理重加密方案的安全组密钥管理》由会员分享,可在线阅读,更多相关《应用单向代理重加密方案的安全组密钥管理(11页珍藏版)》请在金锄头文库上搜索。
1、应用单向代理重加密算法的安全组密钥管理引言组密钥管理就是组管理员经由公开渠道在一个动态成员组中维护一个组密钥。组管理员使用组密钥加密信息并广播出去,使得只有组成员能够使用组密钥解密密文。每个成员持有组密钥和一些辅助密钥,辅助密钥借助组管理员广播的重置信息更新成员密钥。一个用户可以加入组得到组密钥和辅助密钥,也可以离开组成为非用户。为保证组密钥只为当前合法用户所拥有,组密钥必须在成员加入和离开时更新。当用户加入组得到组密钥时,组密钥必须是新的以防止新成员解密旧的密文,这是后向保密性。当成员离开时,组密钥也必须更新以防止离开用户解密新的密文,这是前向安全性。更新组密钥的重置信息和所有成员的辅助密钥
2、都通过公开信道传播,是公开信息。组密钥管理系统应用广泛。例如,在付费电视广播系统中,组密钥保存在付费用户的机顶盒中,因此由组密钥加密的广播节目只能由付费用户收看。设计好的组密钥管理方案很重要,需要考虑的因素包括每个组成员持有的辅助密钥数量,密钥重置信息的规模,等等。我们不能假设所有成员总是在线并及时更新他们的密钥,因此,如何保证离线用户上线时得到最新的组密钥和辅助密钥是很重要的问题。这方面的研究不少,在逻辑密钥分层方法中,每个组成员持有 个秘密的辅助密钥,密钥重置信息的规模为 , 是logN(log)ON当前组成员的数量。这个方案很难让离线用户上线时得到最新的组密钥。方案中,重置信息的完整记录
3、存于布告栏,当离线用户上线时,他必须读取全部的密钥更新记录,并计算所有的过期组密钥和辅助密钥,一个接一个的,直到最新的组密钥和辅助密钥产生。如果密钥更新频率很高,这将不是一个很好的方法。A. 本文工作本文提出了一个基于 meta 代理重加密算法的组密钥管理方案,构造的具体方案是第一个基于 RSA 的 PRE 的组密钥管理方案,具有单向性和多跳性。在本文的组密钥管理方案中,每个组成员仅持有一个秘密的辅助密钥和个公开的辅助密钥。每个组密钥更新所需重置信息的规模为 。本方案有三logN (log)ON个主要特征:第一,不管组密钥更新多少次,密钥更新记录的规模为常数 。第二,不管错过了多少次组密钥更新
4、,从密钥更新记录计算最新组密钥的时间是 。这就(l)为成员频繁变动的组密钥更新提供了一个实用的解决方法。第三,方案可以抵抗其他成员的合谋攻击。B. 相关工作组密钥问题已有大量研究。LKH 方案以效率著称。LKH 方案基于密钥树,使用对称加密算法加密新密钥。每个成员持有 个秘密的辅助密钥,每个成员加入或离开时的logN重置信息规模为 。对二叉树的一个改进是单向函数树(OFT) ,父节点密钥由他的2logN子节点密钥产生。OFT 把重置信息从 减少为 。 【10】提出了高效广群密钥方2llog案(ELK) ,进一步把重置信息从 减少为 0。但是,当成员加入时,管理员必须重新logN计算所有的辅助密
5、钥。【11】提出框架 Iolus,把大群分成小的子群。每个子群都有子群管理员持有独立的子群密钥。每个成员的加入和离开只是影响子群成员。但是,群管理员的加密数据必须由子群管理员解密再加密,然后广播给子群成员。 【12】结合 Iolus 框架和基于 EIGamal 的代理加密方案,提出了 SIM-KM 方案。方案中,借助基于 EIGamal 的代理加密方案,加密数据经由子群管理员直接传送,这适合大群的扩展管理。随后有【6】 , 【7】 , 【8】 , 【9】 , 【12】 ,都使用代理加密,不暴露传输密钥。因此,持有传输密钥的可信代理是必要的。【15】考虑成批地重置密钥,以减少高频率的加入和离开导
6、致的开销。在批处理密钥中,管理员收集足够数量的加入和离开成员,然后再做重置操作。这样许多重置信息就丢弃了。代理加密和重加密方面也有不少工作,如。 。 。 。 。 。大都基于乘法群或椭圆曲线群上的离散对数问题。 【16】提出了基于 EIGamal 的代理重加密方案。重加密密钥必须保密,因为他们显示了秘密信息。单向、单跳重加密方案见。 。 。 【18】给出了单向、多跳代理重加密方案。密文的规模随重加密操作成比例增长。设计单向、多跳的代理重加密方案仍是一个公开问题。二 THE LKH METHOD组成员辅助密钥的分配多采用密钥树。LKH 方案就是一个使用对称加密的基于密钥树的组密钥管理方案,根节点赋
7、以组密钥,其他节点赋以辅助密钥,每个组成员是一个叶子节点。图 1 是一个度为 2,有 8 个成员 的密钥树。 表示密钥 加密 的密18,u KM文。每个组成员经从根节点到他的叶子节点的路径分配密钥。例如,组成员 被配以组密8u钥 ,辅助密钥 。假设 要离开,组密钥管理员更新组密钥 至 ,GK1428,K和 8 GK和 到 和 ,广播重置信息 , , , 和 。14k2k712k14k124k13k14k组成员 可以随之更新他们的组密钥和辅助密钥。假设新成员 加入组,配以7,u 8u叶子节点 ,组管理员通过安全信道单独传送一个新的辅助密钥 给 ,更新组密钥8v k,辅助密钥 , 到 , , ,广
8、播重置信息 , ,GK14k2GK14k2 GK14k, 。12k8k8k81k处理离线成员。 组成员需要持有最新的组密钥和辅助密钥以保证从接下来的重置信息中获得最新密钥。但实际情况是,并不是所有的组成员都总是在线并及时更新他们的密钥。例如,一个成员设备可能关机或者因为电池原因断开了网络。解决离线成员的直接方法是把所有的重置信息记录公布在公告栏上。当离线用户再次上线时,他可以读取错过的重置信息,一个接一个地计算过时密钥,直到最新密钥产生。考虑图 2 的例子,假设 在时刻8u离线,在他离线期间, 在时刻 离开, 在时刻 离开, 在时刻 加入, 在时1t 7u2t5u3t9u4t10刻 加入。为了
9、让 得到最新的组密钥和辅助密钥,公告栏必须保存重置信息的记录5t8u,其中 是时刻 的密钥重置信息。令 为时刻 的密钥235(),()Ct ()iCtit ()Keyiit(组密钥或辅助密钥) 。当 在时刻 ( )上线时,他必须从 计算 ,8652Ct12k和 ,从 计算 和 ,从 计算 和 ,从14k()GK3()t14k(3)GK4()t()G4计算 , 和 。可以看出布告栏的存储空间和组成员的计算时间和5()Ct1452密钥更新的频率成比例增长。三、构架我们的 GKM 采用 PRE 方案,PRE 需要多跳加密,单向性和公开重加密密钥。通过公开重加密密钥,不仅是代理,每个人都可以作密文再加
10、密操作。A.代理重加密方案PRE 允许代理把 Alice 密钥 加密的密文通过从 Alice 到 Bob 的再加密密钥 再Aek ABrk加密,使之成为 Bob 密钥 加密的密文,这中间不暴露明文。具体方案如下:BSETUP (1)sp输入安全参数 ,输出系统参数的集合 。spKEYGEN,sekd输入系统参数 ,输出密钥对 , 是加密密钥, 是解密密钥。p,ekdkENC,ekmc输入加密密钥 和明文 ,输出密文 。cDEC ,d输入解密密钥 和密文 ,输出明文 。kcmREKEYGEN,ijjijspedkr输入系统参数 ,输出再加密密钥 ,用于把 下的密文转化ijj ijrkiek为 下
11、的密文。jekREENC (,)ijijrc输入再加密密钥 和密文 ,输出密文 。ijkicjc注意到在 REKEYGEN, 并不都是必需的,只需要 就可以,ijjedk ,ijekdComment p1: 感觉用相反数形式会简单些。计算 。算法需要满足性质:ijrk1) 对 KEYGEN 产生的每个密钥对 和明文 ,sp,ekdm(,)DECdNekm2)对 REKEYGEN 产生的再加密密钥 和明文 ,,ijsdijrk(,()jijiRrECek在 PRE方案中,如果一个密文在一个序列中可以多次再加密,就称为多跳的,否则是单跳的。如果 和 可以相互导出,就称为双向的,否则是单向的。ijk
12、ji下面是一个基于 EIGamal加密方案的多跳,双向 PRE。在 EIGamal加密方案中,加密密钥 ,解密密钥是 ,这里 是素数 阶群 的生成元, 从 中随机选取。xegxgqGx*qZ加密计算: ,解密计算: , 是从 中随机选取。,()rrcmxr假设 Alice的密钥对是 ,Bob 的密钥对是 。从 Alice到 Bob的再加密密Ax,B钥 是 。再加密操作:ABrkodq,这里 。因为(,),ABrkABAcRENCc,Ac,PRE 是双向的。mBrB、 基于多跳、单向 PRE的 GKM我们的 GKM使用密钥树。H 是公开的单向 Hash函数,比如 SHA-2。1) 密钥分配密钥树
13、的每个节点 都有一个密钥对 ,每条有向边 有一个再加密密钥v(,)vekd,vw,节点 是节点 的父节点。再加密密钥是公开的辅助密钥。图 3是一个度为 2,有vwrk8个成员的密钥树的密钥分配。根节点标号 0,叶子节点标号 1到 8,中间节点标号9,10,11,12,13,14。组管理员持有系统参数,组密钥 GK,所有节点的密钥对,所有边的再加密密钥。每个组成员 配以叶子节点 ,持有秘密的辅助密钥 。 也知晓从节点 到根路径的公uzzdkuz开辅助密钥。例如,图 3中,成员 持有秘密辅助密钥 和公开的辅助密钥 ,8u8128rk, 。注意分配给中间节点 的密钥对 成员无须知道。142rk014
14、v(,)ve2) 计算组密钥组管理员发送组密钥 GK给成员时,他使用根节点的加密密钥 加密 GK为密文0k,并广播出去。 收到 后,使用他的公开辅助密钥再加密 :00,cENCekGK8u0c 0c,1414014(),RENCrk,22 2,cekc,8818(),ENCGKrk然后 用他的秘密辅助密钥 解密 得到 。其他成员类似计算udc8(,)GKDECdkcGK。3)成员退出假设 要退出,对从根节点到叶子节点 的路径经过的节点 , 和 ,组管理员8 80142产生新的密钥对 , , ,这里节点 表示节点 的密钥对更0,ekd14,ek12,ekdii新至 。然后,他计算新的再加密密钥(
15、,)i(1) 013414127,rkrkrk分别针对边 。这些再加密密钥广播给在线成员 ,0,21,7以更新他们的公开辅助密钥。同时,旧的再加密密钥在公告栏上被这些新的再加密密钥所取代以备下线用013414127,rkrkrk户所需。图 4 给出了 离开后密钥树上的最新再加密密钥。8u组管理员更新当前组密钥 GK 到 ,广播 ,同时布告栏上GK 00,cENCekGK取代 。如果成员更新了他的公开辅助密钥,他就能计算最新的组密钥 。例如,0c 有了新的公开辅助密钥 ,他可以解密 :1u013rk0c, 31313(,)(,)cENCeGKRENCrk99 9kc, 。111(,)(,)cerk 1(,)GKDECdkc4) 成员加入假设 加入 到 的组, ,如图 4。组管理员把他放到叶子节点 8 的位置,对节点8u17产生新的密钥对 。受影响的再0,2,01412,ekdkedk加密密钥 (2) 013411421728,rkrkrk被计算并广播,同时替代布告栏上的旧再加密密钥。 013414127128,组管理员计算新的组密钥 ,用 代替 。新成 ()GKH 00,cENCekGK0c员 通过安全信道