[发明专利]在线社会网络中Sybil攻击检测方法有效
申请号: | 201410037921.5 | 申请日: | 2014-01-26 |
公开(公告)号: | CN103812864A | 公开(公告)日: | 2014-05-21 |
发明(设计)人: | 朱培栋;陈侃;郑倩冰;陈亮;曹华阳;胡罡;任浩;曹介南;蔡开裕;邵成成 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/26 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种在线社会网络中Sybil攻击检测方法,目的是提供一种在社会网络中Sybil攻击检测方法。技术方案是选取某一节点为验证节点,以成员关系为依据进行路径通告,构建到达验证节点的关系路径;通告过程中采用基于路径k相似的路径选择方法剔除冗余路径和共享路径;通告结束后将所有可达路径聚集到验证节点进行可信性检验,以防止私造或篡改路径;最终以每个节点可信路径的数量作为验证标准,由验证节点对其它节点是否为Sybil节点进行验证。本发明利用每个节点的可达路径数量判断该节点是否为Sybil节点,真实还原并利用了节点关系的差异性,准确性高、误报率低,且无需依靠关键基础设施或其它辅助设备的支持,具有轻量级、易部署的优势。 | ||
搜索关键词: | 在线 社会 网络 sybil 攻击 检测 方法 | ||
【主权项】:
1.一种在线社会网络中Sybil攻击检测方法,其特征在于包括以下步骤:第一步,选取某一节点为验证节点,标记为v,任意节点都可以作为验证节点,除验证节点之外的所有节点都为待验证节点,各节点进行初始化操作,方法是:1.1所有节点定义自己的加解密算法;1.2验证节点创建关系表,并定义任意的字符串T0作为初始化的标识;所有待验证节点创建关系表和路径表;其中关系表存储已经与自己建立起可信关系的其他节点,表中每一项都是一个节点标识;路径表用来存储到达验证节点的可达路径,表中每一项是一个二元组,表示为<Pi,Sign(Pi)>,1≤i≤M,其中M为网络中总路径数,Pi表示第i条路径,Sgin(Pi)表示Pi的标识,每一条路径都是一个有序的节点序列,每一个标识是一个加密后的字符串,关系表由各节点根据历史经验自己定义,路径表初始为空;第二步,由验证节点v对其它节点进行可达路径通告,方法是:2.1v发送通告信息M0给v的关系表中所有成员,M0的内容包括到达v的可达路径、可达路径的标识、可接受的最大差异系数K以及可接受的最大路径长度L,以v的加密算法对T0加密作为路径{v}的标识;可接受的最大差异系数K和可接受的最长路径长度L都由验证节点自己确定。2.2接收到了通告信息M0的节点uj首先对M0中路径的有效性进行检查,设M0中路径为P,标识为Sign(P),如果P相对于uj是有效的,执行步骤2.3,否则转步骤2.5;2.3uj将P添加到自己的路径表中,并删除路径表中与P的差异系数大于K且比P长的其它路径;2.4uj构造新的路径和标识:uj将自己添加到P的尾部构成新的路径P′,若P={u1,u2...ul},则P′={u1,u2...ul,uj},1≤l≤N,N为网络中节点个数,并使用uj自己的加密算法Cryptuj()对Sign(P)加密,构成新的路径标识,即Sogn(P′)=Cryptuj(Sign(P));2.5uj发送新的通告信息M1:使用原通告信息M0中K和L的值,与新的路径P′和标识Sign(P′)一起构成新的通告信息M1并发送给uj关系列表中的成员,并发送通告提醒给v,转步骤2.6;通告提醒的内容为uj的节点标识uj;2.6如果uj接收到新的通告信息M1,将M0的内容更新为M1,转步骤2.2,否则转步骤2.7;2.7验证节点v根据网络规模定义提醒时间间隔,并初始化提醒计时器并开始计时;设置提醒时间间隔τ,如果在τ时间内接收到了通告提醒,则重置计时器为零并转步骤2.2;如果计时器超出提醒时间间隔且没有接收到任何通告提醒,则执行第三步;第三步,所有待验证节点发送包含可达路径的验证请求给验证节点v,使所有的可达路径聚集到验证节点v处,然后由验证节点v检查所有可达路径是否可信,方法是:3.1所有待验证节点采用步骤2.4的方法构造新的路径和标识,并将新的路径和标识发送给验证节点v;3.2接收到来自所有待验证节点的验证请求后,验证节点v对所有路径按照长度排序,并依次进行路径可信性验证,方法为:3.2.1验证节点v将接收到的所有路径按照长度排序,加入待验证表unverified_table中,unverified_table的数据结构与路径表相同,每一项都由路径和标识组成,区别是unverified_table是按照路径长度排序的;3.2.2从unverified_table中取出最短路径Ps及其对应的标识Sign(Ps),设Ps={u1,u2...ut},2≤t≤N,首先验证Ps是否可信,方法为:3.2.2.1如果u1为验证节点v,转步骤3.2.2.2,否则转步骤3.2.2.8;3.2.2.2如果Ps的长度等于2,转步骤3.2.2.3;否则转步骤3.2.2.4;3.2.2.3如果u2存在于v的关系表中,由u2利用自己的解密算法
()对Sign(Ps)解密,并令结果Res ( P s ) = Decrypt u 2 ( Sign ( P s ) ) , ]]> 如果结果Res(Ps)等于初始字符串T0,则验证成功,转3.2.2.7;否则验证失败转步骤3.2.2.8;如果ut不存在于v的关系表中,说明有人假冒路径,验证失败,转步骤3.2.2.8;3.2.2.4检查Ps-1={u1,u2,...,ut-1}是否存在于verified_table中,如果不存在,验证失败转步骤3.2.2.8;否则进入步骤3.2.2.5;3.2.2.5将Ps-1和Sign(Ps)发送给Ps的最末端节点ut;3.2.2.6ut首先检查Ps-1={u1,u2...ut-1}是否在ut的路径表中,然后使用ut的解密算法
对Sign(Ps)进行解密,方法为Ren(Ps)=
(Sign(Ps)),并将结果与Ps-1的标识Sign(Ps-1)对比,如果Res(Ps)=Sign(Ps-1)则说明该路径未被篡改过,返回正反馈消息给v,转步骤3.2.2.7;否则说明路径被篡改,给出负反馈,转步骤3.2.2.8。3.2.2.7验证成功,转3.3;3.2.2.8验证失败,转3.4;3.3将Ps从unverified_table移动到verified_table中,转步骤3.5;3.4将Ps从unverified_table中删除,转步骤3.5;3.5如果unverified_table非空,转步骤3.2.2,否则转第四步;第四步,由验证节点根据每个节点的可信路径数量判断该节点是否为Sybil节点:4.1验证节点v将所有提交验证请求的节点加入待验证集合unverified_set,初始化Sybil集合sybil_set为空集,并设定判断阀值α,α根据需求自由调整;4.2从unverified_set取出一个节点u,计算可信路径集trusted_table(u)=path_table(u)∩verified_table,其中path_table(u)为u提交的路径表,如果trusted_table(u)中元素个数大于α则转步骤4.3,否则转步骤4.4;4.3验证成功即u不是Sybil节点,将u从unverified_set删除,转4.5;4.4验证失败即u是Sybil节点,将u从unverified_set删除并加入sybil_set中,转4.5;4.5如果unverified_set非空,转4.2,否则转4.6;4.6结束,集合sybil_set中的节点都为Sybil节点。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410037921.5/,转载请声明来源钻瓜专利网。