会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 对等网络 / 一种对等网络的访问控制方法

一种对等网络的访问控制方法

申请号 CN201210110351.9 申请日 2012-04-16 公开(公告)号 CN102624748B 公开(公告)日 2014-09-03
申请人 暨南大学; 发明人 王晓明; 徐帅文; 林艳纯;
摘要 本发明涉及对等网络相关技术领域,特别是一种对等网络的访问控制方法,包括:可信中心选择一个三元的多项式;利用三元多项式为簇头计算一个二元多项式并选择一个随机的簇间整数,并发送给簇头;簇头为成员计算一个一元函数,并发送给成员,同时选择一个随机的簇内整数,并构造一个访问控制函数;成员根据一元函数和访问控制函数计算得到簇内整数。簇头利用一元函数和访问控制函数来控制成员的加入和废除。成员加入对等网络后,引进可信值机制,实现了对成员行为的追踪评估。本发明提供了一个基于簇结构的两层访问控制策略,实现对对等网络的安全访问控制。从而解决了非法成员进入网络,追溯、评估网络成员的行为,恶意成员的废除等安全问题。
权利要求

1.一种对等网络的访问控制方法,所述对等网络包括可信中心以及一个或多个簇结构,所述簇结构包括簇头以及一个或多个成员,可信中心与第m个簇结构的簇头分别共享第m个簇间加密密钥,第m个簇结构的簇头与其对应的簇结构中的第i个成员共享第i个簇内加密密钥,其特征在于,所述对等网络的访问控制方法包括:步骤(1),可信中心选择一个三元的t次多项式f(x,y,z),所述t为大于或等于1的任意整数;

步骤(2),可信中心利用三元多项式为第m个簇结构的簇头计算一个二元多项式sm(x,y)=f(x,y,GHm),GHm为第m个簇结构的簇头的标识,sm(x,y)为第m个簇结构的簇头对应的二元多项式,可信中心选择一个随机的簇间整数ξ,然后把二元多项式和簇间整数ξ采用第m个簇间加密密钥加密并发送给第m个簇结构的簇头;

步骤(3),第m个簇结构的簇头采用第m个簇间加密密钥进行解密,得到二元多项式和簇间整数ξ;

步骤(4),第m个簇结构的簇头为第m个簇结构的第i个成员计算一个一元函数ki(x)=si(x,IDi),其中ki(x)为第i个成员对应的一元函数,IDi为第i个成员对应的标识,采用第i个簇内加密密钥对所述一元函数进行加密并发送给第i个成员,同时选择一个随机的簇内整数σ,并构造一个访问控制函数,并向第m个簇结构的所有成员发送所述访问控制函数,所述访问控制函数由簇内整数及簇内所有成员对应的一元函数构造而成;

步骤(5),第i个成员采用第i个簇内加密密钥进行解密,得到一元函数,根据一元函数和访问控制函数计算得到簇内整数σ;

所述对等网络的访问控制方法还包括同一簇内第i个成员ni与第j个成员nj的通讯方法,具体包括:步骤(31),第i个成员随机选择第i个簇内通讯随机数ri,计算出A=h(ki(IDj),σ,IDi,IDj,ri),然后把A、IDi和ri发送给第j个成员,其中h表示进行单向哈希运算,ki为第i个成员对应的一元函数,IDi为第i个成员的标 识,IDj为第j个成员的标识,σ为所述的簇内整数;

步骤(32),第j个成员收到第i个成员的消息后,计算A’=h(kj(IDi),σ,IDi,IDj,ri),验证A是否等于A’,如果相等,则第j个成员计算簇内会话密钥kj=h(σ,kj(IDi)),并且随机选择第j个簇内通讯随机数rj,计算B=h(ki(IDj),σ,IDi,IDj,ri,rj),然后把B、IDj和rj发送给第i个成员;

步骤(33),第i个成员收到第j个成员的消息后,计算B’=h(kj(IDi),σ,IDi,IDj,ri,rj),验证B是否等于B’,如果相等,则第i个成员计算簇内会话密钥kj=h(σ,ki(IDj)),并采用所述的簇内会话密钥加密通讯请求信息并发送到第j个成员;

步骤(34),第j个成员对收到的请求信息采用簇内会话密钥进行解密,第j个成员为第i个成员提供资源或服务;

每个成员设有可信值,第m个簇结构的簇头维护第m个簇结构的每个成员的可信值,所述步骤(34)具体包括:第j个成员向第m个簇结构的簇头发送消息请求第i个成员的可信值;

第m个簇结构的簇头采用第j个簇内加密密钥加密第i个成员的可信值并发送给第j个成员;

第j个成员采用第j个簇内加密密钥解密得到第i个成员的可信值,并根据第i个成员的可信值为第i个成员提供相应等级的资源或服务;

第i个成员与第j个成员通讯完成后,对第j个成员的可信值进行评估得到第j个成员的新可信值,并发送给第m个簇结构的簇头,第j个成员与第i个成员通讯完成后,对第i个成员的可信值进行评估得到第i个成员的新可信值,并发送给第m个簇结构的簇头;

第m个簇结构的簇头收到第i个成员和第j个成员的新可信值后分别更新第i个成员和第j个成员的可信值;

第i个成员可信值的更新方法为:

令第i个成员的原可信值=第i个成员未进行更新时的可信值;

第i个成员更新后的可信值=(第i个成员的原可信值+第i个成员的新可信值) /2;

若更新后的第i个成员的可信值低于预设的第m个簇结构的可信值阈值,则第m个簇结构的簇头将第i个成员放入黑名单并从第m个簇结构中废除;

第j个成员可信值的更新方法为:

令第j个成员的原可信值=第j个成员未进行更新时的可信值;

第j个成员更新后的可信值=(第j个成员的原可信值+第j个成员的新可信值)/2;

若更新后的第j个成员的可信值低于预设的第m个簇结构的可信值阈值,则第m个簇结构的簇头将第j个成员放入黑名单并从第m个簇结构中废除;

所述对等网络的访问控制方法还包括第m个簇结构的第a个成员与第n个簇结构的第b个成员的通讯方法,具体包括:步骤(51),第m个簇结构的第a个成员采用第a个簇内加密密钥对第n个簇结构的第b个成员的请求信息进行加密后发送到第m个簇结构的簇头;

步骤(52),第m个簇结构的簇头采用第a个簇内加密密钥对所述请求信息进行解密,然后选择随机数tm,计算W=h(CHm,CHn,sm(ξ,CHn),tm),然后把W、GHm和tm发送给第n个簇结构的簇头,其中h表示进行单向哈希运算,sm为第m个簇结构的簇头对应的二元多项式,Chm为第m个簇结构的簇头的标识,CHn为第n个簇结构的簇头的标识,ξ为所述的簇间整数;

步骤(53),第n个簇结构的簇头计算W’=h(CHm,CHn,sn(ξ,CHm),tm),并验证W是否等于W’,如果相等,则第n个簇结构的簇头计算共享的簇间会话密钥Lam=sn(ξ,CHm),然后第n个簇结构的簇头选择随机数tn,计算E=h(CHm,CHn,sn(ξ,CHm),tn,tm),然后把E、GHn和tn发送给第m个簇结构的簇头;

步骤(54),第m个簇结构的簇头计算E’=h(CHm,CHn,sm(ξ,CHn),tn,tm),并验证E是否等于E’,如果相等,计算共享的簇间会话密钥Lam=sm(ξ,CHn),然后采用簇间会话密钥把所述请求信息和第n个簇结构的第b个成员的标识和第a 个成员的可信值进行加密并发送给第n个簇结构的簇头;

步骤(55),第n个簇结构的簇头采用簇间会话密钥进行解密得到所述请求信息和第n个簇结构的第b个成员的标识和第m个簇结构的第a个成员的可信值,第n个簇结构的簇头采用第b个簇内加密密钥对所述请求信息和第m个簇结构的第a个成员的可信值进行加密并发送给第b个成员;

步骤(56),第b个成员接收到第n个簇结构的簇头的消息后,采用第b个簇内加密密钥进行解密得到所述请求信息,第b个成员为第a个成员提供资源或服务;每个成员设有可信值,第m个簇结构的簇头维护第m个簇结构的每个成员的可信值,第n个簇结构的簇头维护第n个簇结构的每个成员的可信值;

所述步骤(54)具体包括:

第m个簇结构的簇头计算E’=h(CHm,CHn,ξ,sm(ξ,CHn),tn,tm),并验证E是否等于E’,如果相等,计算共享的簇间会话密钥Lam=sm(ξ,CHn),然后采用簇间会话密钥把所述请求信息、第n个簇结构的第b个成员的标识和第a个成员的可信值进行加密并发送给第n个簇结构的簇头;

第a个成员与第b个成员通讯完成后,对第b个成步骤(55)具体包括:

第n个簇结构的簇头采用簇间会话密钥进行解密得到所述请求信息、第n个簇结构的第b个成员的标识和第a个成员的可信值,第n个簇结构的簇头采用第b个簇内加密密钥对所述请求信息及第a个成员的可信值进行加密并发送给第b个成员;

步骤(56)具体包括:

第b个成员接收到第n个簇结构的簇头的消息后,采用第b个簇内加密密钥进行解密得到所述请求信息及第a个成员的可信值,第b个成员根据第a个成员的可信值为第a个成员提供相应等级的资源或服务;员的可信值进行评估,并发送给第m个簇结构的簇头,第m个簇结构的簇头把第b个成员的新可信值发送给第n个簇结构的簇头,第n个簇结构的簇头收到第b个成员的新可信值后更新第b个成员的可信值;

第b个成员可信值的更新方法为:

令第b个成员的原可信值=第b个成员未进行更新时的可信值;

第b个成员更新后的可信值=(第b个成员的原可信值+第b个成员的新可信值) /2;

若更新后的第b个成员的可信值低于预设的第n簇结构的可信值阈值,则第n个簇结构的簇头将第b个成员放入黑名单并从第n个簇结构中废除;

第b个成员与第a个成员通讯完成后,对第a个成员的可信值进行评估,并发送给第n个簇结构的簇头,第n个簇结构的簇头把第a个成员的新可信值发送给第m个簇结构的簇头,第m个簇结构的簇头收到第a个成员的新可信值后更新第a个成员的可信值;

第a个成员可信值的更新方法为:

令第a个成员的原可信值=第a个成员未进行更新时的可信值;

第a个成员更新后的可信值=(第a个成员的原可信值+第a个成员的新可信值)/2;

若更新后的第a个成员的可信值低于预设的第m簇结构的可信值阈值,则第m个簇结构的簇头将第a个成员放入黑名单并从第m个簇结构中废除;

所述对等网络的访问控制方法还包括新成员加入第m个簇结构的方法,具体包括:

新成员广播加入请求消息给第m个簇结构的簇头,所述加入请求消息包括新成员的公钥,成员标识IDnew和簇标识;

第m个簇结构的簇头收到的加入请求信息后,根据新成员的公钥为新成员计算对应的簇内加密密钥及新成员对应的一元函数knew(x)=si(x,IDnew),采用簇内加密密钥对knew(x)进行加密并发送给新成员,同时根据簇内整数、簇内所有成员对应的一元函数及新成员对应的一元函数构造新的访问控制函数,把新的访问控制函数发送给包括新成员的第m个簇结构的所有成员,同时簇头为新成员的可信值赋一个初值并存储在簇头中;

新成员根据对应的簇内加密密钥解密得到新成员对应的一元函数,并根据一元函数和访问控制函数计算得到簇内整数σ;

如果第m个簇结构的簇头检测到第m个簇结构的第p个成员有非法行为,则第m个簇结构的簇头对第p个成员执行废除操作,所述的废除操作具体如下:第m个簇结构的簇头选择一个新的簇内随机数σ′,由新的簇内随机数及簇内除 了第p个成员以外的所有成员对应的一元函数构造新的访问控制函数,并把新的访问控制函数发送给簇内除了第p个成员以外的所有成员;

簇内除了第p个成员以外的所有成员根据其对应的一元函数及新的访问控制函数计算新的随机数。

2.根据权利要求1所述的对等网络的访问控制方法,其特征在于,所述第m个簇间加密密钥为可信中心根据第m个簇头的公钥及可信中心的私钥计算得出或者为第m个簇头根据可信中心的公钥及第m个簇头的私钥计算得出;所述第i个簇内加密密钥为第m个簇头根据第i个成员的公钥及第m个簇头的私钥计算得出或者为第i个成员根据第m个簇头的公钥及第i个成员的私钥计算得出。

3.根据权利要求1所述的对等网络的访问控制方法,其特征在于,所述的非法行为包括:泄露会话密钥、攻击其他成员和/或提供质量差的服务和资源。

4.根据权利要求1所述的对等网络的访问控制方法,其特征在于,所述的第m个簇结构Gm的访问控制函数 采用如下方式得到:其中λ为一个随机整数,其中h表示进行单向哈希

运算,IDG为所述对等网络的标识。

说明书全文

一种对等网络的访问控制方法

技术领域

[0001] 本发明涉及对等网络相关技术领域,特别是一种对等网络的访问控制方法。

背景技术

[0002] 对等网络(Peer to Peer 简称P2P)是计算机网络研究中最重要、最热点的课题之一,有着极大的开发和应用价值。对等网络突破了传统的客户端/服务器端(C/S)的模式,每个成员在网络中的地位是均等的,既是资源的提供者同时又是资源的获取者。对等网络有着C/S模式无法比拟的特点,这些特点是对等网络受到全世界重视和取得巨大发展的原因。对等网络的特点包括如下几方面:
[0003] 无中心性:对等网络是一种分布式的体系结构,网络中的资源和服务分散在所有的成员上,每个成员既是服务器又是客户机。网络中信息和服务通过点对点的直接通信传输,而无须经过中心服务器。这种体系结构使得对等网络具有很好的健壮性。
[0004] 健壮性:由于对等网络的资源和服务是分散在所有的成员上的,所以可以有效的避免传统C/S模式中因为服务器的单点失败而导致网络瘫痪的情况。而且即使网络中部分成员或网络遭到破坏,对等网络也能通过重整拓扑结构来保持成员的连通性。
[0005] 可扩展性:随着成员的增加,网络中对服务的需求和系统整体的资源和服务能力都在同步的增加,因为在对等网络中成员既是资源的请求者又是资源的提供者。所以对对等网络来说不存在明显的“瓶颈”问题。
[0006] 隐私保护:因为对等网络中的成员是直接通信而不用经过中间环节或中心服务器,所有的隐私信息均保存在成员中,大大降低了隐私信息被窃听和泄露的可能性。
[0007] 高性价比:随着个人计算机性能的提高,对等网络中的成员往往会有大量的闲置计算能力和存储空间,这时可以把一些高性能的计算和海量存储的任务分配给网络中的成员,从而可以降低完成这些任务的成本。
[0008] 然而这些上述的这些特点给对等网络带来巨大发展的同时,也给系统的安全性带来了巨大的挑战,使用传统的安全机制很难应付对等网络复杂多变的环境。因此,对等网络需要建立一种新的分布式安全机制。
[0009] 目前,国内对等网络安全机制的研究多集中于信任管理和密钥管理等问题,作为另外的一个非常重要的机制---访问控制机制,则一直没有受到应有的重视。一个安全高效的访问控制机制可以有效的防止非法成员进入网络,防止合法成员传播恶意信息和防止合法成员获取权限以外的信息和服务等情况。
[0010] 相比较国外在对等网络访问控制机制方面的研究,2003年国外学者发表了《Admission Control in Peer Groups》,《On the Utility of Distributed Cryptography in P2P and Manets:The Case of Membership Control》等文章。这些文章将传统的集中认证中心对成员进行资格审核的服务,分散到整个对等网络中,由网络中的每个成员分担加入审核。如成员获得网络中一定阈值的成员批准,则该成员就成为网络的合法成员,享有与其它网络结点同等的权力
[0011] 然而,这种安全机制只完成了新成员进入网络过程的控制,并没有给出成员进入对等网络后,如何追溯、评估网络成员的行为,如何废除恶意成员等。

发明内容

[0012] 本发明提供一种对等网络的访问控制方法,以解决现有技术没有给出完善的对网络成员的访问控制机制,未能完善的追溯、评估网络成员的行为及废除恶意成员的技术问题。
[0013] 采用的技术方案如下:
[0014] 一种对等网络的访问控制方法,所述对等网络包括可信中心以及一个或多个簇结构,所述簇结构包括簇头以及一个或多个成员,可信中心与第m个簇结构的簇头分别共享第m个簇间加密密钥,第m个簇结构的簇头与其对应的簇结构中的第i个成员共享第i个簇内加密密钥,所述对等网络的访问控制方法包括:
[0015] 步骤(1),可信中心选择一个三元的t次多项式f(x,y,z),所述t为大于或等于1的任意整数;
[0016] 步骤(2),可信中心利用三元多项式为第m个簇结构的簇头计算一个二元多 项式sm(x,y)=f(x,y,GHm),GHm为第m 个簇 结构 的簇 头的 标识,sm(x,y) 为第m个簇结构的簇头对应的二元多项式,可信中心选择一个随机的簇间整数 ,然后把二元多项式和簇间整数 采用第m个簇间加密密钥加密并发送给第m个簇结构的簇头;
[0017] 步骤(3),第m个簇结构的簇头采用第m个簇间加密密钥进行解密,得到二元多项式和簇间整数 ;
[0018] 步骤(4),第m个簇结构的簇头为第m个簇结构的第i个成员计算一个一元函数ki(x)= si(x,IDi),其中ki(x)为第i个成员对应的一元函数, 为第i个成员对应的标识,采用第i个簇内加密密钥对所述一元函数进行加密并发送给第i个成员,同时选择一个随机的簇内整数 ,并构造一个访问控制函数,并向第m个簇结构的所有成员发送所述访问控制函数,所述访问控制函数由簇内整数及簇内所有成员对应的一元函数构造而成;
[0019] 步骤(5),第i个成员采用第i个簇内加密密钥进行解密,得到一元函数,根据一元函数和访问控制函数计算得到簇内整数 。
[0020] 进一步的,所述第m个簇间加密密钥为可信中心根据第m个簇头的公钥及可信中心的私钥计算得出或者为第m个簇头根据可信中心的公钥及第m个簇头的私钥计算得出;所述第i个簇内加密密钥为第m个簇头根据第i个成员的公钥及第m个簇头的私钥计算得出或者为第i个成员根据第m个簇头的公钥及第i个成员的私钥计算得出。
[0021] 进一步的,所述对等网络的访问控制方法还包括同一簇内第i个成员ni与第j个成员nj的通讯方法,具体包括:
[0022] 步骤(31),第i个成员随机选择第i个簇内通讯随机数ri,计算出,然后把A、IDi和ri发送给第j个成员, 其中h表示进行单向哈希运算,ki为第i个成员对应的一元函数, 为第i个成员的标识, 为第j个成员的标识,为所述的簇内整数;
[0023] 步 骤(32),第 j 个 成 员 收 到 第 i 个 成 员 的 消 息 后,计 算,验证A是否等于A’,如果相等,则第j个成员计算簇内会话密钥 ,并且随机选择第j个簇内通讯随机数rj,计算
,然后把B、IDj和rj发送给第i个成员;
[0024] 步 骤(33),第 i 个 成 员 收 到 第 j 个 成 员 的 消 息 后,计 算,验证B是否等于B’,如果相等,则第i个成员计算簇内会话密钥 ,并采用所述的簇内会话密钥加密通讯请求信息并发送到第j个
成员;
[0025] 步骤(34),第j个成员对收到的请求信息采用簇内会话密钥进行解密,第j个成员为第i个成员提供资源或服务。
[0026] 更进一步的,每个成员设有可信值,第m个簇结构的簇头维护第m个簇结构的每个成员的可信值,所述步骤(34)具体包括:
[0027] 第j个成员向第m个簇结构的簇头发送消息请求第i个成员的可信值;
[0028] 第m个簇结构的簇头采用第j个簇内加密密钥加密第i个成员的可信值并发送给第j个成员;
[0029] 第j个成员采用第j个簇内加密密钥解密得到第i个成员的可信值,并根据第i个成员的可信值为第i个成员提供相应等级的资源或服务;
[0030] 第i个成员与第j个成员通讯完成后,对第j个成员的可信值进行评估得到第j个成员的新可信值,并发送给第m个簇结构的簇头,第j个成员与第i个成员通讯完成后,对第i个成员的可信值进行评估得到第i个成员的新可信值,并发送给第m个簇结构的簇头;
[0031] 第m个簇结构的簇头收到第i个成员和第j个成员的新可信值后分别更新第i个成员和第j个成员的可信值;
[0032] 第i个成员可信值的更新方法为:
[0033] 令第i个成员的原可信值=第i个成员未进行更新时的可信值;
[0034] 第i个成员更新后的可信值=(第i个成员的原可信值 + 第i个成员的新可信值)/ 2;
[0035] 若更新后的第i个成员的可信值低于预设的第m簇结构的可信值阈值,则第m个簇结构的簇头将第i个成员放入黑名单并从第m个簇结构中废除;
[0036] 第j个成员可信值的更新方法为:
[0037] 令第j个成员的原可信值=第j个成员未进行更新时的可信值;
[0038] 第j个成员更新后的可信值=(第j个成员的原可信值 + 第j个成员的新可信值)/ 2;
[0039] 若更新后的第j个成员的可信值低于预设的第m簇结构的可信值阈值,则第m个簇结构的簇头将第j个成员放入黑名单并从第m个簇结构中废除。
[0040] 进一步的,所述对等网络的访问控制方法还包括第m个簇结构的第a个成员与第n个簇结构的第b个成员的通讯方法,具体包括:
[0041] 步骤(51),第m个簇结构的第a个成员采用第a个簇内加密密钥对第n个簇结构的第b个成员的请求信息进行加密后发送到第m个簇结构的簇头;
[0042] 步骤(52),第m个簇结构的簇头采用第a个簇内加密密钥对所述请求信息进行解密,然后选择随机数 ,计算 , 然后把W、GHm和 tm发送给第n个簇结构的簇头,其中h表示进行单向哈希运算, 为第m个簇结构的簇头对应的二元多项式, 为第m个簇结构的簇头的标识, 为第n个簇结构的簇头的标识,为所述的簇间整数;
[0043] 步骤(53),第n个簇结构的簇头计算 ,并验证W是否等于W’,如果相等,则第n个簇结构的簇头计算共享的簇间会话密钥 ,然后第n个簇结构的簇头选择随机数 ,计算 , 然后把
E、GHn和 tn发送给第m个簇结构的簇头;
[0044] 步骤(54),第m个簇结构的簇头计算 ,并验证E是否等于E’,如果相等,计算共享的簇间会话密钥 ,然后采用簇间会话密钥把所述请求信息和第n个簇结构的第b个成员的标识和第a个成员的可信值进行加密并发送给第n个簇结构的簇头;
[0045] 步骤(55),第n个簇结构的簇头采用簇间会话密钥进行解密得到所述请求信息和第n个簇结构的第b个成员的标识和第m个簇结构的第a个成员的可信值,第n个簇结构的簇头采用第b个簇内加密密钥对所述请求信息和第m个簇结构的第a个成员的可信值进行加密并发送给第b个成员;
[0046] 步骤(56),第b个成员接收到第n个簇结构的簇头的消息后,采用第b个簇内加密密钥进行解密得到所述请求信息,第b个成员为第a个成员提供资源或服务。
[0047] 更进一步的,每个成员设有可信值,第m个簇结构的簇头维护第m个簇结构的每个成员的可信值,第n个簇结构的簇头维护第n个簇结构的每个成员的可信值;
[0048] 所述步骤(54)具体包括:
[0049] 第m个簇结构的簇头计算 ,并验证E是否等于E’,如果相等,计算共享的簇间会话密钥 ,然后采用簇间会话密钥把所述请求信息、第n个簇结构的第b个成员的标识和第a个成员的可信值进行加密并发送给第n个簇结构的簇头;
[0050] 步骤(55)具体包括:
[0051] 第n个簇结构的簇头采用簇间会话密钥进行解密得到所述请求信息、第n个簇结构的第b个成员的标识和第a个成员的可信值,第n个簇结构的簇头采用第b个簇内加密密钥对所述请求信息及第a个成员的可信值进行加密并发送给第b个成员;
[0052] 步骤(56)具体包括:
[0053] 第b个成员接收到第n个簇结构的簇头的消息后,采用第b个簇内加密密钥进行解密得到所述请求信息及第a个成员的可信值,第b个成员根据第a个成员的可信值为第a个成员提供相应等级的资源或服务;
[0054] 第a个成员与第b个成员通讯完成后,对第b个成员的可信值进行评估,并发送给第m个簇结构的簇头,第m个簇结构的簇头把第b个成员的新可信值发送给第n个簇结构的簇头,第n个簇结构的簇头收到第b个成员的新可信值后更新第b个成员的可信值;
[0055] 第b个成员可信值的更新方法为:
[0056] 令第b个成员的原可信值=第b个成员未进行更新时的可信值;
[0057] 第b个成员更新后的可信值=(第b个成员的原可信值 + 第b个成员的新可信值)/ 2;
[0058] 若更新后的第b个成员的可信值低于预设的第n簇结构的可信值阈值,则第n个簇结构的簇头将第b个成员放入黑名单并从第n个簇结构中废除;
[0059] 第b个成员与第a个成员通讯完成后,对第a个成员的可信值进行评估,并发送给第n个簇结构的簇头,第n个簇结构的簇头把第a个成员的新可信值发送给第m个簇结构的簇头,第m个簇结构的簇头收到第a个成员的新可信值后更新第a个成员的可信值;
[0060] 第a个成员可信值的更新方法为:
[0061] 令第a个成员的原可信值=第a个成员未进行更新时的可信值;
[0062] 第a个成员更新后的可信值=(第a个成员的原可信值 + 第a个成员的新可信值)/ 2;
[0063] 若更新后的第a个成员的可信值低于预设的第m簇结构的可信值阈值,则第m个簇结构的簇头将第a个成员放入黑名单并从第m个簇结构中废除。
[0064] 进一步的,所述对等网络的访问控制方法还包括新成员加入第m个簇结构的方法,具体包括:
[0065] 新成员广播加入请求消息给第m个簇结构的簇头,所述加入请求消息包括新成员的公钥,成员标识IDnew和簇标识;
[0066] 第m个簇结构的簇头收到的加入请求信息后,根据新成员的公钥为新成员计算对应的簇内加密密钥及新成员对应的一元函数 ,采用簇内加密密钥对进行加密并发送给新成员,同时根据簇内整数、簇内所有成员对应的一元函数及新成员对应的一元函数构造新的访问控制函数,把新的访问控制函数发送给包括新成员的第m个簇结构的所有成员,同时簇头为新成员的可信值赋一个初值并存储在簇头中;
[0067] 新成员根据对应的簇内加密密钥解密得到新成员对应的一元函数,并根据一元函数和访问控制函数计算得到簇内整数 。
[0068] 进一步的,如果第m个簇结构的簇头检测到第m个簇结构的第p个成员有非法行为,则第m个簇结构的簇头对第p个成员执行废除操作,所述的废除操作具体如下:
[0069] 第m个簇结构的簇头选择一个新的簇内随机数 ,由新的簇内随机数及簇内除了第p个成员以外的所有成员对应的一元函数构造新的访问控制函数,并把新的访问控制函数发送给簇内除了第p个成员以外的所有成员;
[0070] 簇内除了第p个成员以外的所有成员根据其对应的一元函数及新的访问控制函数计算新的随机数。
[0071] 更进一步的, 所述的非法行为包括:泄露会话密钥、攻击其他成员和/或提供质量差的服务和资源。
[0072] 进一步的,所述的第m个簇结构 的访问控制函数 采用如下方式得到:
[0073] ,其中 为一个随机整数,其中h表示进行单向哈希运算, 为所述对等网络的标识, 为所述对等网络的标识,是整个网络的唯一标识,同一网络中的不同簇之间采用同一个 。
[0074] 本发明完善了对等网络中的网络通讯行为,提供一个基于簇结构的两层访问控制策略,实现对对等网络的安全访问控制。从而解决了非法成员进入网络,追溯、评估网络成员的行为,恶意成员的废除等安全问题。本发明利用认证机制可以让满足对等网络基本要求的成员加入网络,同时有效的阻住非法成员的加入。成员成为合法成员后,引进可信值机制,实现了对成员行为的追踪评估,当发现某些成员有非法行为时或可信值太低(低于网络规定的阈值时),废除这些恶意成员。从而克服了国外学者提出的安全机制只完成新成员进入网络过程的控制而不能追溯、评估网络成员的行为,不能废除恶意成员的缺点。这两种访问控制策略保证了对等网络安全、高效的运行。

附图说明

[0075] 图1为本发明实施例的体系结构图;
[0076] 图2为本发明实施例的初始化流程图;
[0077] 图3为本发明实施例的新成员加入流程图;
[0078] 图4为本发明实施例的簇内访问流程图;
[0079] 图5为本发明实施例的簇间访问流程图。

具体实施方式

[0080] 下面结合附图和具体实施例对本发明做进一步详细的说明。
[0081] 参照附图1。本发明是基于认证和可信值评估两种访问控制策略实现的对等网络中的访问控制机制。它的体系结构采用基于簇的分布式结构,适应于基于簇结构的分布式网络环境。系统创建时由若干簇组成,新成员在加入对等网络时必须加入其中的一个簇。簇的数量可根据实际情况而定,本实施例中采用3个簇,其簇标识分别为G1、G2、G3。在系统正式对外接受新成员之前,需要进行必要的初始化。系统在初始化时需要一个可信中心(trusted dealer 简称TD)的存在,不过仅在初始化时存在。
[0082] 系统的初始化过程如图2所示。在该系统中包括TD,簇头和簇成员都有一对公私钥。TD选择一个对称的三元多项式和一个随机整数,然后利用该三元多项式为每个簇头生成一个二元多项式,对二元多项式和随机整数加密后发送给簇头。簇头解密后可验证二元多项式和随机整数的正确性。若正确,簇头利用该二元多项式为每个簇成员生成一个一元函数加密后发送给簇成员。同时簇头选择一个随机整数并构造一个访问函数来隐藏该整数,最后公布该访问函数。簇成员利用持有的一元函数可以从访问函数中得到这个随机整数并验证它们的正确性。若正确,簇成员存储该一元函数和随机整数,用于以后簇成员间的认证与通信。TD与簇头,簇成员和簇头之间的通信密钥可利用二者的公私钥对生成。
[0083] TD选择三元多项式的方法,可以采用现有的技术思想,如:Nitesh Saxena et al, Efficient Node Admission for Short-lived Mobile Ad Hoc Networks公开了一种选择二元多项式的方法。
[0084] 簇头构造访问函数的方法,也可以采用现有的技术思想,如:Guofei Gu et al,PLI:A New Framework to Protect Digital Content for P2P Networks 公开了一种构造访问函数的方法。
[0085] 具体方法如下:
[0086] 1. 初始化
[0087] p, q是两个大素数且q|(p-1),g是群 的生成元, 的阶为q (i.e., )。 是一个安全的单向哈希函数。假定一个p2p网络被分为若干个簇G={G1,…,Gm},GHi表示一个簇的簇头。Nn=(n1,…,nn)表示某一簇Gi中的成员(或称为成员)。m,n整数。每一个簇头和簇成员都有一对公私钥如( , )and ( , ).系统有一个可信中心TD,TD只在初始化的时候存在。TD也有一对公私钥( ,
)。初始化过程如下,以第i个簇结构的簇头为例:
[0088] 1)TD首先选择一个三元的对称多项式。
[0089] (1)
[0090] 计算并公开 其中 [0,t-1]. -s 是 f(x,y,z)的各个系数.
[0091] 2) TD选择一个随机的整数 ,为每一个簇头GHi计算二元函数si(x,y)=f(x,y,GHi) , 和 。TD发送 给每一个簇头。
表示利用密钥 对消息进行对称加密,是TD利用GHi的公钥和TD自己的私钥生成的第i个簇间加密密钥。
[0092] 3) 在接收到 后,簇头GHi计算 ,然后解密 得到 和 并利用以下等式进行验证,是GHi利用TD的公钥和自己的私钥生成的第i个簇间加密密钥。和TD计算出来的第i个簇间加密密钥是相等的。簇内通讯时也类似。
[0093] (2)
[0094] 如果验证成功,就得到了他的秘密密钥 和 。等式中 是该对等网络的标识。
[0095] 4) GHi 为每一个簇成员计算 和一元函数 ,。然后发送 给每一个成员。其中 是簇成员的标识。 是GHi利用第i个簇
成员的公钥和GHi自己的私钥生成的第i个簇内加密密钥。
[0096] 5) GHi选择两个随机整数 ,用于构造簇Gi的访问控制函数,如下所示:
[0097] (3)
[0098] 并且公开 。
[0099] 6)在收到 后,Gi的簇成员计算出 ,解密 得到 。然后计算出
[0100]
[0101] 随后利用如下等式验证 和
[0102] (5)
[0103] 如果验证成功,则每个簇成员就得到了他的秘密参数 和 。 是第i个簇成员利用簇头的公钥和第i个簇成员自己的私钥生成的第i个簇内加密密钥。
[0104] 2. 新成员加入的实现,参照附图3
[0105] 新成员的加入过程如图3所示。新成员广播加入请求信息给各簇头,请求信息包括新成员的公钥,新成员的标识,目标簇的标识和时间戳等信息。目标簇的簇头利用二元多项式生成新成员的一元函数,同时修改访问多项式并公布,使得新成员通过一元函数能够从访问多项式得到簇成员共享的随机整数。新成员验证验证一元函数和随机整数的正确性。若正确,新成员存储一元函数和随机整数,同时簇头为新成员的可信值赋一个初值存储在簇头中。簇成员和簇头之间的通信密钥可利用二者的公私钥对生成。具体方式如下:
[0106] 1) 假设成员nnew请求加入簇GHi。nnew广播请求消息给簇头,包括他的公钥ynew,标识IDnew,想要加入的簇标识和时间戳等信息。
[0107] 2) GHi收到的请求信息后,查看nnew合法性。若合法为新成员计算, , 。然后把 发送给新成员,同时修改 为:
[0108]
[0109] 3) 在收到 后,nnew计算 ,解密 得到 。然后计算出
[0110] (6)
[0111] 最后利用如下等式验证 和 。
[0112] (7)
[0113] 如果验证成功,则说明nnew已经加入簇Gi,并且得到了他的秘密参数 和 。
[0114] 3.成员废除:
[0115] 如果GHi检测到某一成员有非法行为(对网络有破坏行为如泄露会话密钥,攻击其他成员,提供质量差的服务和资源等),则GHi将把该成员从簇中废除。假设我们GHi要废除成员nB。则过程如下:
[0116] GHi选择一个随机数 ,更新访问控制函数 为:
[0117] (8)
[0118] 未被废除的成员可以从 得到新的随机数 。通过:
[0119] (9)
[0120] 但是,已被废除的成员nB不能得到正确的 ,因为
[0121] (10)
[0122] 因此在簇内通信中nB得不到其他合法成员的认证,因为在认证过程中使用了新的随机数 。所以nB已被废除出簇Gi。
[0123] 4. 访问对等网络资源的实现
[0124] 在同一簇中访问资源:参照附图4。假设成员ni请求成员ni的资源[0125] 同一簇中对等网络资源访问的过程如图4所示。成员ni发送自己的认证信息,标识和一个随机数给成员nj。成员nj首先验证ni的合法性,若ni是合法的,成员nj发送自己的认证信息给成员ni,ni进行验证。同时向簇头请求成员ni的可信值,簇头检测成员nj的合法性,若合法则发送ni的可信值给nj。成员nj得到ni的可信值后,根据ni的可信值为ni提供相应等级的资源。ni,nj交互完成后需要对对方的可信值进行评估,产生新的可信值并发送给簇头,簇头更新ni,nj的可信值。可信值的更新公式为:新可信值=(原可信值 + 收到的可信值)/ 2。若更新后的可信值低于簇的可信值阈值,则簇头将该成员并放入黑名单并从簇中废除。ni,nj的通信密钥可利用ni,nj持有的一元函数和簇头授予的随机数得到。
[0126] 簇内通信:假设ni向nj请求服务或资源
[0127] Step1:簇成员ni选择一个随机数ri,计算出 ,然后把(A, IDi,ri,) 发送给nj,msg为请求信息。
[0128] 步骤2: nj收到ni的消息后,计算 ,验证A是否等于A’。如果相等,则nj可以确认ni为一个合法的簇成员。随后计算共享的会话密钥kij=h(, kj(IDi))。nj选择一个随机数rj,计算 ,然后把(B, IDj, rj)
发送给ni。
[0129] 步骤3:ni收到nj的消息后,计算 ,验证B是否等于B’。如果相等,则ni可以确认nj为一个合法的簇成员。随后计算共享的会话密钥kij=h(, ki(Dj)). ni加密请求信息 发送给nj,msg为请求信息。
[0130] 步骤4:nj解密得到msg后,向簇头发送消息请求成员ni的可信值。
[0131] 步骤5:簇头检查成员nj是否是该簇的合法成员。若合法,则簇头利用与nj共享的密钥(如初始化中的4)和6)所示)加密成员ni的可信值发送给成员nj。
[0132] 步骤6:成员nj解密得到成员ni的可信值。根据成员ni的可信值为成员ni提供相应等级的资源或服务。
[0133] 步骤7: 成员ni,nj交互完成后,对对方的可信值进行评估,并发送给簇头。
[0134] 步骤8: 簇头收到成员ni,nj的可信值后,更新它们的可信值。若更新后的可信值低于簇的可信值阈值,则簇头将该成员并放入黑名单并从簇中废除
[0135] 5.在不同簇中访问资源:参照附图5。假设簇G1的成员A向簇G2的成员B请求资源。
[0136] 不同簇中对等网络资源访问的过程如图5所示。成员A向簇G1的簇头GH1发送请求信息,请求信息包括请求资源的信息,目标成员和目标成员所在的簇。GH1验证A的合法性,若合法GH1收到A的请求信息后,需要在GH1和GH2之间建立连接。首先GH1和GH2进行一个双向的认证,然后协商通信密钥,簇头之间的通信密钥可利用二元多项式和TD授予的随机整数生成。簇头建立连接后,GH1发送A的请求信息和A的信任值给GH2,GH2转发给成员B。成员B根据A的信任值为A提供相应等级的资源。成员B首先把资源发送给GH2,GH2转发给GH1,GH1再转发给成员A。A,B交互完成后需要对对方的可信值进行评估,产生新的可信值并发送给对方所在簇的簇头。各簇头分别更新A,B的可信值。可信值的更新公式为:新可信值=(原可信值 + 收到的可信值)/ 2。若更新后的可信值低于簇的可信值阈值,则簇头将该成员并放入黑名单并从簇中废除。簇成员和簇头之间的通信密钥可利用二者的公私钥对生成。
[0137] 步骤1:簇成员和簇可以利用公私钥根据Diff-Hellman原理协商会话密钥。A计算和簇头GH1共享的会话密钥 。把加密后的消息 发送给GH2。msg为A的请求信息。
[0138] 步骤2:因为簇头控制簇成员的加入和删除,所以对簇成员的合法性很容易判断。GH1判断A的合法性,若合法则计算会话密钥 ,然后解密 得到msg。
GH1选择一个随机数t1,,计算 , 然后把(W, GH1, t1)发送给GH2。
[0139] 步骤3: GH2计算 并验证W是否等于W’。如果相等,则GH2可以确认GH1是一个合法的簇头,随后计算共享的会话密钥K12= 。GH2选择一个随机数t2,计算 , 然后把(E, GH2, t2)发送给GH1。
[0140] 步骤4: GH1计算 并验证E是否等于E’。,如果相等,则GH1可以确认GH2是一个合法的簇头,随后计算共享的会话密钥K12= 。然后GH1把加密后的消息 发送给GH2。TA为A的可信值。
[0141] 步骤5: GH2接收到GH1的消息后,解密 得到msg,成员B的标识和TA。GH2首先判断B的合法性。若合法则GH2计算和成员B的共享密钥 ,然后把加密后的消息 发送给B。
[0142] 步骤6:B接收到GH2的消息后,计算共享密钥 ,然后解密得到msg和TA。成员B根据成员A的可信值为成员A提供相应等级的资源或
服务。
[0143] 步骤7:成员A,B交互完成后,对对方的可信值进行评估。成员A通过GH1将成员B的可信值发送给GH2。成员B通过GH2将成员A的可信值发送给GH1。GH1和GH2分别更新A,B的可信值。若更新后的可信值低于簇的可信值阈值,则簇头将该成员放入黑名单并从簇中废除。这一过程中可信值均以加密的形式传送。