CN101635918B - 分层洋葱环路由方法 - Google Patents

分层洋葱环路由方法 Download PDF

Info

Publication number
CN101635918B
CN101635918B CN2009100236403A CN200910023640A CN101635918B CN 101635918 B CN101635918 B CN 101635918B CN 2009100236403 A CN2009100236403 A CN 2009100236403A CN 200910023640 A CN200910023640 A CN 200910023640A CN 101635918 B CN101635918 B CN 101635918B
Authority
CN
China
Prior art keywords
node
gateway
onion
ring
route
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2009100236403A
Other languages
English (en)
Other versions
CN101635918A (zh
Inventor
庞辽军
李茹
裴庆祺
焦李成
李慧贤
刘思伯
赵晓辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN2009100236403A priority Critical patent/CN101635918B/zh
Publication of CN101635918A publication Critical patent/CN101635918A/zh
Application granted granted Critical
Publication of CN101635918B publication Critical patent/CN101635918B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开一种分层洋葱环路由方法,将无线Mesh网络中的节点分为三类:网关,可信任节点和普通节点,OP节点和网关是诱导节点,OP节点在环的初始化过程中起选择路由的作用,所有OP节点和网关的集合构成匿名集;把网络的洋葱路由分为两层环路,第一层路由:由匿名集的不相邻可信节点OP和网关组成的环形路径;第二层路由:在可信节点OP之间由普通节点Fi填充构成的环路,第二层路由在初始化过程中由OP节点和网关随机选择,通过洋葱环路由的分层环路实现Mesh网络匿名安全通信。本发明使用分层洋葱环通信协议,匿名集的OP节点和网关共同参与路由选择,有效混淆路径阻止交集攻击。减少计算量和减轻网关的负担,加速建环过程,更好地利用网络资源减少延迟。

Description

分层洋葱环路由方法
技术领域
本发明属于网络安全技术领域,涉及到网络中路由协议的安全方法,具体是分层洋葱环路由方法,通过使用密码学和冗余机制来保护网络隐私不受全局性和侵略性的攻击。
背景技术
在无线Mesh网络中,有一些活跃节点,它们会进行一些机密的商业活动。为了不让外界察觉到,这些活跃节点必须进行匿名通信,匿名通信要求:1)不让外界知道会话的内容;2)不让外界知道谁发起这次会话。这种保护对于网络安全通信是非常重要的。但是,目前的匿名通信现状要么无法阻止手段狡猾的攻击;要么是以浪费大量的带宽为代价换取一定级别的匿名性。
文献“在Mesh网络中达到隐私保护”(Achieving Privacy in Mesh Networks”,Proc.of theSASN’06,PP.13-22,Oct.,2006)。提出了一种基于洋葱路由器的环形安全通信模式。该方案的主要思想是:在一个简单的环结构中,为了抵御全局性攻击,设计一个环形的洋葱路由协议,使通信开始于网关,也终于网关。所有的通信方式都要按同一个方向进行,要么顺时针,要么逆时针。这样就算外部攻击者进行通信量分析,也无法分析出哪个节点是初始节点和目的节点。其次就算在路由环中有恶意节点并且知道拓扑结构,也无法追踪出初始节点和目的节点。因为它只能跟踪出一个环形的路径,在环形路径中,敌手无法分析出谁是初始节点,谁是目的节点。但是该方案又引起了一种新型的攻击,称为交集攻击。例如一个Mesh节点通过环形路径与Internet相连接的会话,一段时间后,这个Mesh节点又访问同一个Internet地址,但是它是通过另一个环来进行会话的。这时如果敌手监听网关,发现这是一个非常特殊的地址,基于观察,敌手可以得出一个结论,会话发起者也就是初始节点,很可能是这两个环中的交集,那么这个通信的匿名性就会受到威协。另外,该方案的环形路径只能通过网关建立,并且所有的通信过程都是从网关开始的,这样会给网关带来很大的计算负荷。
发明内容
本发明要解决的技术问题是:克服现有Mesh网络存在的交集攻击问题,同时为了保证环通信的有效性,提供了一种分层洋葱环路由方法,它可以有效的抵抗交集攻击,提高网络通信安全,并且有效减轻网关的负担,降低网关的路由表记录量,更好利用网络资源,减少延迟。
本发明为了在Mesh网络进行安全的匿名通信,把整个通信过程分为三个部分:环的初始化,环间通信和通信结束。在无线Mesh网络中,把节点分为三类:网关,可信任节点,普通节点,OP节点(Onion Proxy)和网关G是诱导节点,它们每隔一段时间向它附近的OP节点发送一个诱导信息载体(dummy包)。OP节点在环的初始化过程中起到了第一层路由和第二层路由的选择作用,在以后的通信过程中,它的作用和普通节点Fi相同。为了便于理解,将匿名集和分层路由的概念作以介绍:
匿名集:设R为网络中所有OP节点和网关G组成的集合,则称满足如下条件:
a必须包括元素G;
b集合中的所有元素是以拓扑结构在网络中形成哈密尔顿回路的R的子集为匿名集。对这些匿名集进行标号。在网络中,网关G和OP节点共享这些有编号的匿名集。
分层路由:本发明把路由分为两层。第一层路由:洋葱环路由协议中,称由匿名集中元素形成的路径为第一层路由,也就是由可信节点和网关组成的路径。第一层路由主要由不相邻的可信节点组成环形。第二层路由:在可信节点之间由普通节点填充后的构成的环路称为第二层路由,也称为下一层路由。第二层路由是在初始化过程中由OP节点和网关随机选择的。它主要是进行对路径的填充。
一、环的初始化
本发明把环的初始化分为以下几个步骤:
第1步:封装过程
首先:OP节点(即匿名集中第一个元素)选择第一层路由,也就是有标号的匿名集,按照匿名集中节点的顺序封装洋葱包,在其后附加一个dummy包。
包格式如下:
{build},Ekpop1[(RI,kop1,OP2),Ekpop2[(RI,kop2,G),Ekpg(RI,t)]],dummy;
{build}:包头,表示建环信息,告诉节点要进行环的初始化;
Ekp:公钥加密,用于封装洋葱包;OP1节点用自己的公钥Ekpop1加密最外层包,即环号RI、自己的会话密钥kop1、下一条地址OP2,以及匿名集中第二个节点封装的第二层洋葱包。当OP2节点收到这个洋葱包时,就可以确定下一跳发往哪儿。以此类推。
RI:环号,在网络中可能同时有很多环进行通信,为了保证环号的不重复性,RI由匿名集号和建环时间组成。
ki:会话密钥,普通节点Fi与网关G的会话密钥;是各个节点在此环通信时的会话密钥,会话密钥是根据环的建立而建立的,当环通信结束时,此次会话密钥的使命就完成了,下次通信要重新建立会话密钥。
t:表示时间戳,用来检测消息的实时性;
dummy:诱导信息,可以由任意非重要的信息组成。
然后:OP节点再选择到匿名集中到第二个元素的第二层路由,严格按照第二层路由的顺序封装洋葱包,并且分配好此次通信过程中环中上行链路的一次性会话密钥(随机数kop1,k1,k2,…,kop2)。
这些分配好的一次性会话密钥是要告诉网关G的,这样网关就知道了上行链路的具体路径,而下行链路的一次性密钥由网关分配。
从匿名集中第一个节点发送到第二个节点的包格式如下:
{build},Ekp1[(RI,k1,F2),Ekp2[(RI,k2,F3),…,Ekpop2((RI,k2,G),
Ekpg(RI,kop1,k1,k2,…,kop2,t))…]],dummy
Fi:网络中的普通节点。
ki:Fi的一次性会话密钥
当OP1节点发送建环信息时,就封装好洋葱包,洋葱包是一层层的。dummy表示诱导信息,用节点F1的公钥加密第一层包,包里包括环号RI,会话密钥k1和下一跳节点F2的IP地址。以此类推。最内层包由网关的公钥封装所有上行链路的节点的会话密钥kop1,k1,k2,…,kop2,时间戳t和环号RI组成的。
将上述包格式简化如下:
{build},Ekpop1(Ekp1(Ekp2,…,(Ekpop2(Ekpg(m1)))…)),dummy,其中
m1={RI,t,kop1,k1,k2,…,kop2};
环中的所有OP节点都是如此进行封装洋葱包的,例如OP2和网关G。
当匿名集中的第二个节点OP2接收到初始化信息时,它同理第一个元素的进行路径选择和封装洋葱包,但是直接转发dummy包。如下:
{build},Ekpn(Ekp(n+1)(…(Ekpop3(Ekpg(m2),Ekpg(m1)))…)),
Figure GSB00000622475600041
其中m2={kop2,kn,kn+1,…,t}
Figure GSB00000622475600042
公钥解密。
第2步:信息转发过程
在信息转发过程中,环中的没有数据要发送的普通Fi节点只进行解密这个洋葱包和dummy包,然后把解密后的消息发给下一个节点;如下:
{build},Ekp2(…(Ekpop2(Ekpg(m1)))…),
Figure GSB00000622475600043
第3步:会话接入请求过程
当普通节点Fi想进行通信时,用接入请求信息来替代层层解密的dummy包;
{build},Ekp(i+1)(Ekp(i+2)(…Ekpg(m)…)),
Figure GSB00000622475600044
第4步:网关处理过程
当网关G收到从OP1节点发过来的包,就确定了会话发起者。如果网关同意这个请求,它根据环号和匿名集来确定另一半环路径。网关G严格封装一个洋葱包发送给会话发起者。这个洋葱包包含了从会话发起者到距其最近的OP节点或网关的上行链路的所有会话密钥。这样同意信息就可以从网关到达会话发起者进行通信。包格式如下:
{build},Ekpm(…Ekpop(…(Ekpg(ki,…,kop,grant))…)…);
在会话接入请求中遵循擦除机制,如果在环中有两个节点想同时进行会话,那么后一个节点的请求信息将会擦掉前一个节点的请求信息。而在这个环中前一个节点不会得到同意信息,只能等待下一个环的载体到来时,重新发送请求。
二、环间通信
在环初始化之后,网关G就确定了会话发起者,并且已经把部分路径的会话密钥发送给了它。这时如果会话发起者正确的收到网关G所发送过来的包,还是以分层会话方式与网关G通信。在环间通信过程中,OP节点或网关G用会话密钥加密洋葱包,这样可以大大减少计算量,并且加解密速度快。每次建立环时,都要重新分配会话密钥,这样也可以减少敌手篡改洋葱包的机会。因为如果敌手知道了整个环形的路径,它就可以用公钥封装洋葱包来冒充环中的节点。节点Fi用会话密钥封装一个到距其最近的OP节点或网关G洋葱包,与其进行会话。当距其最近的OP节点收到包,同理选择第二层路由与匿名集中下一个元素进行通信。除了网关G和会话发起者,环中的每个节点都只进行转发解密后的洋葱包。
会话发起者到网关G的通信过程如下:
Fi→Fi+1:{RI},Ek(i+1)(Ek(i+2)(…(Ekop(Ekg(Esi(data,ack))))…));
Fi+1→Fi+2:{RI},Ek(i+2)(…(Ekop(Ekg(Esi(data,ack))))…);
……:……
FOP-1→OP:{RI},Ekop(Ekg(Esi(data,ack)));
OP→FOP+1:{RI},Ek(op+1)(Ek(op+2)(…(Ekg(Esi(data,ack)))…));
FOP+1→FOP+2:{RI},Ek(op+2)(…(Ekg(Esi(data,ack)))…);
……:……
FG-1→G:{RI},Ekg(Esi(data,ack));
{RI}是包头,它就表示了环已经建立好了,开始进行通信。Es表示用私钥加密。Esi表示用节点Fi的私钥加密。data是发送信息内容。ack表示正确收到包后发送的一个消息认证码,用来证明通信双方确实收到了包。
当网关G收到这个载体包后,它用自己的私钥和节点Fi的公钥解密这个包,来确定这个包是发给自己的和这个包是节点Fi发送过来的。当网关G收到消息,它计算ack值,如果双方ack的值一样,证明它们正确的收到包,然后进行以后的通信;如果不一样那么就是没有正确收到包。
网关G根据环号和匿名集封装一个到节点Fi的包,包格式如下:
{RI},Ekg(Ekop1(Eki(Esg(data))))。
网关G到节点Fi通信过程如下:
G→Fm:{RI},Ekm(Ek(m+1)(…(Eop1(Eki(Esg(data))))…));
Fm→Fm+1:{RI},Ek(m+1)(…(Eop1(Eki(Esg(data))))…);
……:……
FOP1-1→OP1:{RI},Ekop1(Ekg(Esi(data,ack)));
OP1→F1:{RI},Ek1(Ek2(…(Eki(Esg(data)))…));
F1→F2:{RI},Ek2(…(Eki(Esg(data)))…);
……:……
Fi-1→Fi:{RI},Eki(Esg(data));
三、通信结束
通信一段时间之后,如果双方都没有数据要发送时,那么网关G就封装一个到OP节点的空内容的洋葱包,证明了通信结束。
但还有一种情况就是网关G没有数据给会话发起者,而会话发起者还有数据要发送给网关。本发明保证了在通信过程中网关G发送的信息一定到达会话发起者。所以会话发起者一直可以发送数据到网关通过环。因为会话开始于OP节点,终结于OP节点。所以当会话发起者没有信息要发送时,这时会话发起者就发送一个空内容的包给网关G,这时网关就知道信息发送完了,这时再封装一个到OP节点的空内容的洋葱包,证明通信结束。也就是说初始化后,当OP节点收到一个到自己的包时,或网G收到空内容的包时,就证明通信结束。
但是也可能会发生一种情况,就是一个环内有两个会话发起者。如果遇到这种情况,后一个会话发起者总是会加密已经被前一个初始节点加密过的dummy信息,来与网关G进行会话。而前面一个会话发起者只能等待下一个环进行通话。这虽然会造成时延,但是网络中同时会有其他环进行通信。
本发明与现有技术相比较具有如下有益效果:
①本发明通过使用分层洋葱环通信协议,匿名集的OP节点和网关共同参与到路由选择过程中,可以有效的混淆路径阻止交集攻击。
②OP节点或网关用会话密钥加密洋葱包,这样可以大大减少计算量,并且加解密速度快。每次建立环时,都要重新分配会话密钥,这样也可以减少敌手篡改洋葱包的机会。
③采用分层洋葱路由算法实现了路由合并功能,大大降低了网关对路由表的记录量,有效减轻网关的负担,并且可以加速建环过程,更好地利用网络资源,减少延迟。
④安全性方面,从直观上看洋葱路由数减少,但是安全强度是建立在公钥安全基础上的,与节点数的多少无关。故安全强度并未减少,相反隐藏路由的效果更好。
附图说明
图1.本发明的分层洋葱环形拓扑结构
图2.本发明优选实施例的简单网络拓扑结构
实施实例
本发明的分层洋葱环如图1所示。在网络建成时,网关G就记录了网络中的可信节点(网络中的OP节点)。如图1虚线所示,网关G和OP就组成了环形的路径。
如图1所示,OP1节点是初始节点,它选择匿名集{OP1,OP2,G},称为第一层路由。当洋葱包开始进行传输时,由于包中指出的下一个节点是OP2节点,且OP2节点与OP1节点不是相邻节点,则OP1节点就建立新的连接,假设为{OP1,F1,…,OP2},称此路由为第二层路由,即相当于下一层路由。当洋葱包传到OP2节点时,第二层路由终止,返回到上一层路由,即重新进入第一层路由。
下面结合附图2的优选实施例将描述一个完整的分层洋葱环通信过程。
如图2所示,假设OP3节点选择的第一层路由是环RI:{OP3,OP2,G},第二层路径是{OP3,F4,F5,OP2},那么OP3节点就严格按照第二层路由的顺序封装成洋葱包。
第1步:封装过程
OP3节点先选择第一层路由,也就是有标号的匿名集,按照匿名集中节点的顺序封装好洋葱包,在其后附加一个dummy包.包格式如下:
{build},Ekpop3[(RI,kop2),Ekpop2[(RI,kg),Ekpg(RI,t)]],dummy;
然后,OP3节点选择到匿名集中第二个节点的第二层路由{OP3,F4,F5,OP2},严格按照第二层路由的顺序封装洋葱包,并且分配好此次通信过程中环中上行链路的一次性会话密钥(kop1,k4,k5,kop2)。
从匿名集中第一个元素发送到第二个元素的包格式如下:
{build},Ekpop3[(RI,kop2),Ekp4[(RI,k4,F5),Ekp5[(RI,k5,Fop2),
Ekpop2((RI,kg),Ekpg(RI,t,kop1,k4,k5,kop2))]]],dummy;
简化包格式如下:
{build},Ekpop3(Ekp4(Ekp5(Ekop2(Ekg(m))))),dummy,其中m1={RI,t,kop1,k4,k5,kop2}。
第2步:信息转发过程
在传输过程中,环中的没有数据要发送的节点只进行解密这个洋葱包和dummy包,然后把解密后的消息发给下一个节点;如下:
Fop3→F4:{build},Ekp4(Ekp5(Ekop2(Ekg(m1)))),dummy;
F4→F5:{build},Ekp5(Ekop2(Ekg(m1))),Ekp4(dummy)。
第3步:会话接入请求过程
当节点F5想进行通信时,用接入请求信息request来替代层层解密的dummy包;
F5→Fop2:{build},Ekop2(Ekg(m1)),Ekp5(request);
Fop2→F6:{build},Ek6(Ek7(Ekg(m1))),Ekpop2(Ekp5(request));
F6→F7:{build},Ek7(Ekg(m1)),Ek6(Ekpop2(Ekp5(request)));
F7→FG:{build},Ekg(m1),Ekp7(Ekp6(Ekpop2(Ekp5(request))))。
第4步:网关处理过程
当网关G收到由OP2节点发送过来的包,并且知道节点F5想进行通话。如果同意了这个请求,它也同理根据环号和匿名集来确定到OP3节点的另一半环路径,假设所选的路径为{G,F3,OP3}。网关把节点F5到网关上行链路所经过节点的会话密钥(kop2,k6,k7)发送给节点F5。它将严格封装一个洋葱包给节点F5。这时同意信息就可以从网关通过节点F3,OP3,F4到达节点F5进行通信。网关封装包的简化格式如下:
{build},Ekg(Ekop3(Ekp4(Ekp5(Esg(m2))))),其中m2={kop2,k6,k7,grant}。
FG→F3:{build},Ekp3(Ekop3(Ekp4(Ekp5(Esg(m2)))));
F3→Fop3:{build},Ekop3(Ekp4(Ekp5(Esg(m2))));
Fop3→F4:{build},Ekp4(Ekp5(Esg(m2)));
F4→F5:{build},Ekp5(Esg(m2))。
在环初始化之后,网关就确定了会话发起者是节点F5,并且已经把部分路径的会话密钥发送给了它。这时如果F5正确的收到网关所发送过来的包,还是以分层的方式进行会话与网关进行通信。节点F5用会话密钥封装一个到OP2节点的洋葱包,与其进行会话。当OP2节点收到从节点F5发过来的包,它根据环号确认第二层路由并与匿名集中下一个节点网关G进行通信。
洋葱环通信过程如下(用一次性会话密钥加密):
F5→Fop2:{RI},Ekop2(Ekg(Es4(data,ack)));
Fop2→F6:{RI},Ek6(Ek7(Ekg(Es4(data,ack))));
F6→F7:{RI},Ek7(Ekg(Es4(data,ack)));
F7→FG:{RI},Ekg(Es4(data,ack));
当网关收到这个载体包后,它用自己的私钥和节点F5的公钥解密这个包,来确定这个包是发给自己的和这个包是节点F5发送过来的。当网关收到包时,它计算ack值,如果双方ack的值一样,证明它们正确的收到包,然后进行以后的通信;如果不一样就是没有正确收到包。
网关封装一个到节点F5的包,格式如下:{RI},Ekg3(Ekop3(Ekp4(Ekp5(Esg(data)))))。
FG→F3:{RI},Ekp3(Ekop3(Ekp4(Ekp5(Esg(data)))));
F3→Fop3:{RI},Ekop3(Ekp4(Ekp5(Esg(data))));
Fop3→F4:{RI},Ekp4(Ekp5(Esg(data)));
F4→F5:{RI},Ekp5(Esg(data))。

Claims (4)

1.一种分层洋葱环路由方法,其特征在于:将无线Mesh网络中的节点分为三类:网关G,可信任节点OP和普通节点Fi,OP节点和网关G是诱导节点,OP节点在环的初始化过程中起选择路由的作用,所有OP节点和网关G的集合构成匿名集;把网络的洋葱路由分为两层环路,第一层路由:由匿名集的不相邻可信节点OP和网关G组成的环形路径;第二层路由:在可信节点OP之间由普通节点Fi填充构成的环路,也称为下一层路由;第二层路由在初始化过程中由OP节点和网关随机选择,通过洋葱环路由的分层环路实现Mesh网络匿名安全通信;
所述的分层洋葱环路由方法,其特征在于:采用分层洋葱环路由进行匿名通信首先进行环的初始化,所述环的初始化过程包括如下步骤:
第1步:封装过程
首先:OP节点选择第一层路由,也就是有标号的匿名集,按照匿名集中节点的顺序封装洋葱包,并在其后附加一个dummy包,封装的洋葱包格式如下:
{build},Ekpop1[(RI,kop1,OP2),Ekpop2[(RI,kop2,G),Ekpg(RI,t)]],dummy;
{build}:包头,表示建环信息,告诉节点要进行环的初始化;
Ekp:公钥加密,用于封装洋葱包;OP1节点用自己的公钥Ekpop1加密最外层包,即环号RI、自己的会话密钥kop1、下一条地址OP2,以及匿名集中第二个节点封装的第二层洋葱包,这样当OP2节点收到这个洋葱包时,就可以确定下一跳发往地址,以此类推;
RI:环号,由匿名集号和建环时间构成;
ki:普通节点Fi与网关的会话密钥;
t:表示时间戳,用来检测消息的实时性;
dummy:诱导信息;
然后:OP节点再选择到匿名集中第二个元素的第二层路由,按照第二层路由的顺序
封装洋葱包,并且分配此次通信过程中环中上行链路的一次性会话密钥kop1,k1,k2,…,kop2
将分配好的一次性会话密钥告诉网关,让网关知道上行链路路径,而下行链路的一次性密钥由网关分配;
从匿名集中第一个节点发送到第二个节点的包格式如下:
{build},Ekp1[(RI,k1,F2),Ekp2[(RI,k2,F3),…,Ekpop2((RI,k2,G),
Ekpg(RI,kop1,k1,k2,…,kop2,t))…]],dummy
Fi:网络中的普通节点,
将包的简化格式如下:
{build},Ekpop1(Ekp1(Ekp2,…,(Ekpop2(Ekpg(m1)))…)),dummy,其中
m1={RI,t,kop1,k1,k2,…,kop2};
环中的所有OP节点都是如此进行封装洋葱包的;
当匿名集中的第二个节点OP2接收到初始化信息时,它同理第一个元素的进行路径
选择和封装洋葱包,但是直接转发dummy包如下:
{build},Ekpn(Ekp(n+1)(…(Ekpop3(Ekpg(m2),Ekpg(m1)))…)),
Figure FSB00000622475500021
其中m2={kop2,kn,kn+1…,t},
Figure FSB00000622475500022
公钥解密;
第2步:信息转发过程
在信息转发过程中,路由环中没有数据发送的普通Fi节点只解密收到的洋葱包和dummy包,然后把解密后的消息发给下一个节点如下:
{build},Ekp2(…(Ekpop2(Ekpg(m1)))…),
Figure FSB00000622475500023
第3步:会话接入请求过程
当普通节点Fi想进行通信时,用接入请求信息替代层层解密的dummy包如下:
{build},Ekp(i+1)(Ekp(i+2)(…Ekpg(m)…)),
Figure FSB00000622475500024
第4步:网关处理过程
当网关收到从OP1节点发过来的包,就确定了会话发起者,如果网关同意这个请求,它根据环号和匿名集来确定另一半环路径也就是从网关到会话发起者的下行链路,网关封装一个洋葱包发送给会话发起者,这个洋葱包包含从会话发起者到距其最近的OP节点或网关的上行链路的所有会话密钥,这样同意请求信息就从网关到达会话发起者进行通信,包格式如下:
{build},Ekpm(…Ekpop(…(Ekpg(ki,…,kop,grant))…)…);
所述的分层洋葱环路由方法,其特征在于:采用分层洋葱环路由进行环间通信包括会话发起者到网关的通信过程和网关到节点Fi通信过程,OP节点或网关用会话密钥加密洋葱包,每次建立环时,都要重新分配会话密钥,节点Fi用会话密钥封装一个到距其最近的OP节点或网关洋葱包,与其进行会话;当距其最近的OP节点收到包,同理选择第二层路由与匿名集中下一个元素进行通信,除了网关和会话发起者,环中的每个节点都只进行转发解密后的洋葱包,会话发起者到网关的通信过程如下:
Fi→Fi+1:{RI},Ek(i+1)(Ek(i+2)(…(Ekop(Ekg(Esi(data,ack))))…));
Fi+1→Fi+2:{RI},Ek(i+2)(…(Ekop(Ekg(Esi(data,ack))))…);
……:……
FOP-1→OP:{RI},Ekop(Ekg(Esi(data,ack)));
OP→FoP+1:{RI},Ek(op+1)(Ek(op+2)(…(Ekg(Esi(data,ack)))…));
FOP+1→FOP+2:{RI},Ek(op+2)(…(Ekg(Esi(data,ack)))…);
……:……
FG-1→G:{RI},Ekg(Esi(data,ack));
其中,{RI}是包头,它表示环已经建立,开始进行通信,Esi表示用节点Fi的私钥加密,data是发送信息内容,ack表示正确收到包后发送的消息认证码,用来证明通信双方确实收到了包;
当网关收到这个载体包后,用自己的私钥和节点Fi的公钥解密这个包,来确定这个包是发给自己的和这个包是节点Fi发送过来的,并计算ack值,如果双方ack的值不相同,证明它们没有正确收到包;反之,如果双方ack的值相同,网关就可以与会话发起者进行通信,这时网关根据环号和匿名集封装一个到节点Fi的包{RI},Ekg(Ekop1(Eki(Esg(data))));网关到节点Fi通信过程如下:
G→Fm:{RI},Ekm(Ek(m+1)(…(Eop1(Eki(Esg(data))))…));
Fm→Fm+1:{RI},Ek(m+1)(…(Eop1(Eki(Esg(data))))…);
……:……
FOP1-1→OP1:{RI},Ekop1(Ekg(Esi(data,ack)));
OP1→F1:{RI},Ek1(Ek2(…(Eki(Esg(data)))…));
F1→F2:{RI},Ek2(…(Eki(Esg(data)))…);
……:……
Fi-1→Fi:{RI},Eki(Esg(data))。
2.根据权利要求1所述的分层洋葱环路由方法,其特征在于:在会话接入请求过程,如果路由环中有两个节点在同时请求会话,后一个节点的请求信息将会擦掉前一个节点的请求信息,前一个节点只能等待下一个环的载体到来时,重新发送请求。
3.根据权利要求1所述的分层洋葱环路由方法,其特征在于:当一个环内有两个会话发起者时,后一个会话发起者会加密已经被前一个初始节点加密过的dummy信息,来与网关进行会话,而前面一个会话发起者只能等待下一个环进行通话,这虽然会造成时延,但是网络中同时会有其他环进行通信。
4.根据权利要求1所述的分层洋葱环路由方法,其特征在于:在通信过程中如果双方都没有数据要发送,会话发起者就发送一个空内容的洋葱包给网关,网关就封装一个到OP节点的空内容的洋葱包,结束通信。
CN2009100236403A 2009-08-19 2009-08-19 分层洋葱环路由方法 Expired - Fee Related CN101635918B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100236403A CN101635918B (zh) 2009-08-19 2009-08-19 分层洋葱环路由方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100236403A CN101635918B (zh) 2009-08-19 2009-08-19 分层洋葱环路由方法

Publications (2)

Publication Number Publication Date
CN101635918A CN101635918A (zh) 2010-01-27
CN101635918B true CN101635918B (zh) 2012-01-04

Family

ID=41594933

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100236403A Expired - Fee Related CN101635918B (zh) 2009-08-19 2009-08-19 分层洋葱环路由方法

Country Status (1)

Country Link
CN (1) CN101635918B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105357113A (zh) * 2015-10-26 2016-02-24 南京邮电大学 一种基于重路由匿名通信路径的构建方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102238090B (zh) * 2011-07-08 2014-02-19 清华大学 匿名通信***的分组重路由方法
US9392525B2 (en) * 2014-05-16 2016-07-12 Qualcomm Incorporated Establishing reliable routes without expensive mesh peering
CN104486810A (zh) * 2015-01-06 2015-04-01 无锡儒安科技有限公司 基于多维状态的无线传感器网络路由环路预测方法
CN105553827B (zh) * 2015-12-10 2019-02-22 北京理工大学 一种匿名网络中兼顾匿名性与通信时延的消息转发方法
CN109471834B (zh) * 2018-11-15 2022-04-15 上海联影医疗科技股份有限公司 同步环结构、同步方法、医学成像***、设备和存储介质
CN109413089A (zh) * 2018-11-20 2019-03-01 中国电子科技集团公司电子科学研究院 分布式网络匿名通信方法、装置及存储介质
CN109787896B (zh) * 2018-12-05 2020-08-14 北京邮电大学 一种用于通信链路构建的节点选择方法及设备
CN111314336B (zh) * 2020-02-11 2021-03-23 中国科学院信息工程研究所 一种面向抗追踪网络的动态传输路径构建方法及***
CN111970243B (zh) * 2020-07-20 2022-06-03 北京邮电大学 匿名通信网络中多阶段路由的消息转发方法
CN112019501B (zh) * 2020-07-20 2021-06-29 北京邮电大学 一种用户节点匿名通信方法与装置
CN111970245B (zh) * 2020-07-20 2021-07-20 北京邮电大学 一种异构分层的匿名通信网络构建方法及装置
CN112019502B (zh) * 2020-07-20 2021-06-29 北京邮电大学 一种环形守卫网络用户节点匿名保护方法及电子设备
CN111970247B (zh) * 2020-07-20 2022-06-03 北京邮电大学 匿名通信网络中对等环的混淆消息发送方法
CN113572727B (zh) * 2021-06-08 2023-04-28 深圳市国电科技通信有限公司 一种基于p2p网络路由节点的数据安全隐蔽传输方法及***
CN117811834A (zh) * 2024-02-27 2024-04-02 苏州大学 一种Obfs4混淆流量检测方法、***、设备和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1343430A (zh) * 1999-03-09 2002-04-03 诺基亚网络有限公司 接入网中的ip路由优化
CN101132351A (zh) * 2006-08-21 2008-02-27 北京邮电大学 无线传感器网络路由建立方法及其装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1343430A (zh) * 1999-03-09 2002-04-03 诺基亚网络有限公司 接入网中的ip路由优化
CN101132351A (zh) * 2006-08-21 2008-02-27 北京邮电大学 无线传感器网络路由建立方法及其装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
章洋、范植华、何晓新、徐帆江、王宇心.移动自组网络中多径路由的匿名安全.《电子学报》.2005,第33卷(第11期),2022-2030. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105357113A (zh) * 2015-10-26 2016-02-24 南京邮电大学 一种基于重路由匿名通信路径的构建方法
CN105357113B (zh) * 2015-10-26 2018-08-21 南京邮电大学 一种基于重路由匿名通信路径的构建方法

Also Published As

Publication number Publication date
CN101635918A (zh) 2010-01-27

Similar Documents

Publication Publication Date Title
CN101635918B (zh) 分层洋葱环路由方法
CN107071774B (zh) 一种基于身份短群签名的vanet接入认证方法
CN103490891B (zh) 一种电网ssl vpn中密钥更新和使用的方法
CN103929299B (zh) 地址即公钥的自安全轻量级网络报文传输方法
CN106936570A (zh) 一种密钥配置方法及密钥管理中心、网元
CN101610510A (zh) 层簇式无线自组织网络中的节点合法性多重认证方法
CN100370724C (zh) 宽带无线ip网络匿名连接方法
CN102075931A (zh) 一种卫星网络中信息理论安全的密钥协商方法
CN114051236B (zh) 基于重路由机制的匿名通信方法、***、介质及电子设备
Ometov et al. Securing network-assisted direct communication: The case of unreliable cellular connectivity
CN103188080A (zh) 一种基于身份标识的端到端的密钥认证协商方法及***
CN110784321A (zh) 一种新的基于公私钥密码机制的安全匿名通信协议
CN104811934B (zh) 基于IPv6编址的无线传感器网络安全路由方法
CN109698791A (zh) 一种基于动态路径的匿名接入方法
CN103888940B (zh) 多级加密与认证的wia‑pa网络手持设备的通讯方法
CN101715187B (zh) 基于动态网关的安全通信方法
CN101715186A (zh) 基于秘密共享的无线传感器网络安全通信方法
CN105635076B (zh) 一种媒体传输方法和设备
Tata et al. Secure multipath routing algorithm for device-to-device communications for public safety over LTE heterogeneous networks
CN109714362A (zh) 一种轻量级的工业无线网络安全数据融合方法
Barriga et al. Securing end-node to gateway communication in LoRaWAN with a lightweight security protocol
Chakrabarty et al. Black routing and node obscuring in IoT
Raheem et al. A secure authentication protocol for IP-based wireless sensor communications using the Location/ID Split Protocol (LISP)
Hei et al. Railway key exchange scheme for improving communication efficiency of RSSP-II protocol
CN114244499A (zh) 基于树结构对称密钥池的群组通信方法及***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120104

Termination date: 20150819

EXPY Termination of patent right or utility model