CN106792664A - 一种生成动态gtp隧道的方法 - Google Patents
一种生成动态gtp隧道的方法 Download PDFInfo
- Publication number
- CN106792664A CN106792664A CN201611125732.9A CN201611125732A CN106792664A CN 106792664 A CN106792664 A CN 106792664A CN 201611125732 A CN201611125732 A CN 201611125732A CN 106792664 A CN106792664 A CN 106792664A
- Authority
- CN
- China
- Prior art keywords
- teid
- nodes
- values
- new
- ggsn
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000000737 periodic effect Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 description 18
- 230000003068 static effect Effects 0.000 description 17
- 238000004364 calculation method Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 241000760358 Enodes Species 0.000 description 1
- 238000001994 activation Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/12—Setup of transport tunnels
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种生成动态GTP隧道的方法,包括:1)SGSN节点和GGSN节点利用第一TEID值建立初级GTP隧道;2)在需要更改TEID值时,由所述SGSN节点利用上一次建立的GTP隧道,将用于所述SGSN节点的新TEID值和用于所述GGSN节点的新TEID值发送至所述GGSN节点,建立新的GTP隧道。在本发明中,搭建初级GTP隧道的目的在于初始地在GSN节点之间建立连接关系;在存在连接关系的情况下,可以根据需要动态地改变所采用的TEID值,第二次、第三次、甚至更多次地建立新的GTP隧道,从而使得GTP隧道的TEID值不再是一成不变的,以增加GTP隧道的安全性。
Description
技术领域
本发明涉及无线通信,尤其涉及无线通信计算机网络。
背景技术
GPRS隧道协议(GPRS Tunnelling Protocol,GTP)是一种用于传输分组数据的通信协议,其可以在全球移动通信系统(GSM)和通用移动通信系统(UMTS)中使用。目前,已使用的GTP协议可被分为GTP数据传输平面(GTP-U)和GTP控制平面(GTP-C)。其中,GTP-U协议规定了利用在GPRS支持节点(GSN)之间建立的隧道传输用户分组数据的要求;GTP-C协议规定了控制和管理用户接入GPRS网络隧道的要求,从而基于GTP-C协议来创建、更新、或者删除GTP隧道。
然而,GTP协议的现有传输模式难以防止在数据传输过程中受到的网络攻击。这是由于,GTP隧道主要通过隧道端点标识符(tunnel endpoint identifier,TEID)来标识隧道的端点,以在服务GPRS支持节点(SGSN)与网关GPRS支持节点(GGSN)间进行通信。然而,在传统方法中,用于生成TEID的算法的复杂度不高,容易找出其生成规律;并且,隧道建立后的TEID值又与用户传输的数据信息静态地绑定,一旦攻击者窃取了TEID值将很容易导致用户传输的数据信息泄露。可以看出,在上述现有技术中存在难以保证分组数据传输的安全性的问题。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种生成动态GTP隧道的方法,包括:
1)SGSN节点和GGSN节点利用第一TEID值建立初级GTP隧道;
2)由所述SGSN节点利用当前GTP隧道,将用于所述SGSN节点的新TEID值和用于所述GGSN节点的新TEID值发送至所述GGSN节点,建立新的GTP隧道。
优选地,根据所述方法,其中,步骤1)和或步骤2)中的所述TEID值为经过伪装的TEID值。
优选地,根据所述方法,其中,所述步骤1)包括:
1-1)所述SGSN节点向所述GGSN节点发送种子时间、以及利用所述种子时间伪装的用于所述GGSN节点的第一TEID值;
1-2)所述GGSN节点向所述SGSN节点发送利用所述种子时间伪装的用于所述SGSN节点的第一TEID值。
优选地,根据所述方法,其中,所述步骤2)包括:
所述SGSN节点向所述GGSN节点发送新种子时间、利用所述新种子时间伪装的用于所述GGSN节点的新TEID值、以及利用所述种子时间伪装的用于所述SGSN节点的新TEID值。
优选地,根据所述方法,其中,所述步骤1)或步骤2)还包括,利用种子时间对TEID值进行伪装:
A1)利用种子时间生成TEID值;
A2)在生成的所述TEID值和ID值之间建立对应关系;
A3)选择与需要使用的TEID值相对应的ID值,以作为伪装后的TEID值进行传输。
优选地,根据所述方法,其中,所述步骤A1)包括:采用基于所述种子时间的伪随机数发生器,生成TEID值。
优选地,根据所述方法,其中,所述步骤A1)包括采用以下计算式生成TEID值:
strand((unsigned)time(0)),
new_teid=random()%(RAND_MAX–max(C1))+C1,
其中,所述函数strand()为伪随机数发生器,time(0)为种子时间,C1为周期性旋转量,max()为求最大值的函数,RAND_MAX为new_teid能够产生的最大随机数,random()%(RAND_MAX–max(C1))是基于伪随机数发生器产生最大值为RAND_MAX–max(C1)的函数。
优选地,根据所述方法,其中,
所述步骤1-1)还包括:所述GGSN节点根据接收到的种子时间生成TEID值,并将接收到的用于所述GGSN节点的ID值与所述生成的TEID值进行比对,以确定伪装前的用于所述GGSN节点的第一TEID值;
所述步骤1-2)还包括:所述SGSN节点将接收到的用于所述SGSN节点的ID值与利用所述种子时间生成的TEID值进行比对,以确定伪装前的用于所述SGSN节点的第一TEID值。
优选地,根据所述方法,其中,
所述步骤2)还包括:所述GGSN节点根据接收到的种子时间生成TEID值,并将接收到的用于所述GGSN节点的ID值、以及用于所述SGSN节点的ID值与所述生成的TEID值进行比对,以确定伪装前的用于所述GGSN节点的新TEID值、以及伪装前的用于所述SGSN节点的新TEID值。
并且,本发明还提供了一种生成动态GTP隧道的设备,包括:
用于SGSN节点和GGSN节点利用第一TEID值建立初级GTP隧道的装置;
由所述SGSN节点利用当前GTP隧道,将用于所述SGSN节点的新TEID值和用于所述GGSN节点的新TEID值发送至所述GGSN节点,建立新的GTP隧道的装置。
与现有技术相比,本发明的优点在于:
在GSN节点之间存在连接关系的情况下,可以根据需要动态地改变所采用的TEID值,第二次、第三次、甚至更多次地建立新的GTP隧道,从而使得GTP隧道的TEID值不再是一成不变的,以增加GTP隧道的安全性。并且,在建立隧道的过程中,传输经过伪装的TEID值,以进一步增加网络攻击者窃取真实TEID值的难度。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1是现有技术中包含GTP隧道的网络系统的一个场景示意图;
图2是根据本发明的一个实施例在SGSN节点与GGSN节点之间建立GTP隧道的流程示意图;
图3是根据本发明的另一个实施例在SGSN节点与GGSN节点之间建立GTP隧道的流程示意图;
图4是根据本发明的一个实施例生成用于记录TEID值与ID值之间对应关系的ID字典的流程图;
图5是根据本发明的一个实施例的跳跃表形式的ID字典的部分内容的示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作详细说明。
图1示出了包含GTP隧道的网络系统的一个场景示例,现有技术与本发明均适用于该场景。参考图1,用户接入基站eNode B,通过无线网络控制器(RNC)关联到服务GPRS支持节点(SGSN)。当用户有业务需要处理时,通过在SGSN节点与网关GPRS支持节点(GGSN)之间建立的GTP隧道(GTP-C和GTP-U)来实现在无线接入网与核心网之间的数据传输。如图1中小气球所标出的,GTP隧道处于网络层级的会话层,其传输层协议通常采用TCP或UDP协议。
在现有技术中,为了在GSN节点之间建立GTP隧道的连接关系,通常采用携带了TEID值的信令在GSN节点之间进行信令交互,在成功建立GTP隧道后将不再修改所使用的TEID值。以采用TCP作为传输层协议为例,首先,SGSN节点向GGSN节点发送包含用于GGSN节点的TEID值的“Create PDP Context Request”消息,SGSN发送此消息的目的IP地址是DNS(域名服务器)服务器提供的GGSN IP地址列表中的第一个IP地址,目的是SGSN要进行PDP上下文激活过程;在发送了创建PDP上下文请求消息后,SGSN标记PDP上下文为“等待响应”;然后,GGSN发送包含用于SGSN节点的TEID值的“Create PDP Context Response”消息,作为创建PDP上下文请求的响应,当SGSN收到创建PDP上下文响应时,原因值指示“请求接受”,SGSN就激活PDP上下文,若不是“请求接受”,则创建PDP上下文失败。由于,TEID值的作用在于标记GTP隧道端点,而在上述现有技术中在GTP隧道搭建完成后将不再修改TEID值,因而一旦攻击者窃取了该TEID值,将影响采用该GTP隧道传输数据的安全性。
为此,发明人通过研究现有技术,提出一种生成动态GTP隧道的方法,通过动态地改变GTP隧道的端点标识(即TEID值),以提高分组数据传输的安全性。具体地,该方法可被描述为:首先,采用第一TEID值,在GSN节点之间进行信令交互,搭建初级GTP隧道;然后,在所述初级GTP隧道的基础上,采用新的TEID值,从一个GSN节点向另一个GSN节点单向地发送信令,建立新的GTP隧道。
在本发明中,搭建初级GTP隧道的目的在于初始地在GSN节点之间建立连接关系。在存在连接关系的情况下,可以根据需要动态地改变所采用的TEID值,第二次、第三次、甚至更多次地建立新的GTP隧道,从而使得GTP隧道的TEID值不再是一成不变的。
图2示出了根据本发明的一个实施例在SGSN节点与GGSN节点之间建立GTP隧道的流程。参考图2,建立GTP隧道的方法包括:
步骤1:采用初始TEID值0x00000000,由SGSN节点向GGSN节点发送请求消息“Create PDP Context Request”,所述请求消息中包括:用于GGSN节点数据传输平面的TEID值(0x7020101e)、用于GGSN节点控制平面的TEID值(0x53002e00)。其中,初始TEID值0x00000000是预先约定一个固定值,当然也可以采用约定的其他值作为该初始TEID值,并且由系统生成用于GGSN节点数据传输平面的和控制平面的TEID值(0x7020101e,0x53002e00)。生成TEID值的方式,可以采用任意现有技术,也可以采用如本发明后述实施例中的方法。
并且,在本发明中还可以通过所述请求消息传输经过伪装的TEID值,并在GGSN节点处根据接收到的内容还原出真实的TEID值。若在GGSN节点处能够正确地解析出真实TEID值,则采用解析出的真实TEID值来建立隧道;若不能正确解析出真实TEID值,则返回建立隧道失败。进行TEID值伪装的具体实现方式将在本发明的后述实施例中详细描述。
步骤2:接收到所述请求消息的GGSN节点,采用通过步骤1获得的所述用于GGSN节点控制平面的TEID值(0x53002e00),向SGSN节点发送响应消息“Create PDP ContextResponse”,所述响应消息中包括:用于SGSN节点数据传输平面的TEID值(0x5400ab02)、用于SGSN节点控制平面的TEID值(0x200a1302)。
与步骤1中相类似地,也可以通过所述响应消息传输经过伪装的TEID值,并在接收端还原出真实的TEID值。
通过上述步骤1和步骤2,可以建立初级GTP隧道。
步骤3:SGSN节点在接收到来自GGSN节点的响应消息后,采用通过步骤2获得的所述用于SGSN节点控制平面的TEID值(0x200a1302),向GGSN节点发送重新建立GTP隧道的重建消息;所述重建消息用于与GGSN节点进行单向协商,包括:用于SGSN节点数据传输平面的新的TEID值(0x2450003b)、用于SGSN节点控制平面的新的TEID值(0x3200acb3)、用于GGSN节点数据传输平面的新的TEID值(0x34206750)、用于GGSN节点控制平面的新的TEID值(0x100a034b)。
与上述步骤1和2中相类似地,也可以通过所述重建消息传输经过伪装的TEID值,由GGSN节点对接收到的TEID值进行校验,若不能正确解析出真实TEID值,则返回建立隧道失败,若正确解析出真实TEID值则隧道建立成功,并销毁前一次建立的隧道。
在上述步骤3执行成功后,便完成了对GTP隧道的建立。
参考图3,为了保证GTP隧道的TEID值不是一成不变的,还可以根据需要,例如每间隔一段时间或每传输一定数据量后,利用已经存在的隧道连接关系,重新建立隧道,即步骤4。
步骤4:在需要更改TEID值时,由SGSN节点采用上一次连接关系中的控制平面TEID值(例如步骤3中的0x3200acb3),向GGSN节点发送重新建立GTP隧道的重建消息,所述重建消息包括:用于SGSN节点数据传输平面的新的TEID值(0x0046a003)、用于SGSN节点控制平面的新的TEID值(0x430023c4)、用于GGSN节点数据传输平面的新的TEID值(0x369022ac)、用于GGSN节点控制平面的新的TEID值(0x08091421)。
通过上述方法,可以根据需要由SGSN节点向GGSN节点进行单向协商以动态地改变所采用的TEID值,使得可以根据需要来改变用于GTP隧道的TEID值。
如前文所述,在本发明前述实施例的步骤中,还可以传输经过伪装的TEID值。对此,本发明提出利用“静态ID字典”的方式存储真实TEID值与伪装的TEID值之间的对应关系。
根据本发明的一个实施例,在SGSN节点和GGSN节点处预先设置一个相同的静态ID字典,在该静态ID字典的每一项纪录中存储一个真实的TEID值以及与该真实TEID值对应的ID值。在传输经过伪装的TEID值时,由发生端从静态ID字典的记录中选择所采用的真实TEID值,将与真实的TEID值对应的ID值作为伪装的TEID值进行传输;接收端则根据接收到的ID值在静态ID字典中进行查找,以确定相对应的真实TEID值。
以上述步骤1为例,由SGSN节点向GGSN节点发送请求消息“Create PDP ContextRequest”,所述请求消息中包括:ID1、以及ID2,其中,ID1和ID2为在静态ID字典中分别与0x7020101e和0x53002e00对应的ID值。接收到该请求消息的GGSN节点,在相同的静态ID字典中查找与ID1和ID2对应的记录,从而确定用于GGSN节点数据传输平面的TEID值0x7020101e、以及用于GGSN节点控制平面的TEID值0x53002e00。
上述静态ID字典是在SGSN节点和GGSN节点处通过预先约定而确定,在本发明中既可以采用固定的静态ID字典,也可以根据需要在间隔一段时间后对静态ID字典进行更新。利用静态ID字典的方式传输经过伪装的TEID值,可以使得攻击者难以获取真实的TEID值。
为了进一步提高传输TEID值的安全性,在本发明中还可以采用“动态ID字典”的方式来实现对真实TEID值的伪装。与“静态ID字典”类似地,在动态ID字典的每一项纪录中存储一个真实的TEID值以及与该真实TEID值对应的ID值。不同的是,“动态ID字典”需要通过在SGSN节点与GGSN节点之间传输种子时间(即图2、图3中的time(0))来实现。应当理解,在未采用动态ID字典的技术方案中,不必在上述各个步骤中传输种子时间time(0)。
通过使用相同的种子值,可以分别在SGSN节点处以及GGSN节点处生成完全相同的许多TEID值,以用于建立真实的TEID值与伪装的TEID值之间的对应关系。在前述实施例的各个步骤中传输不同的种子时间,可以动态地改变ID字典中的内容,从而产生动态的ID字典。例如,在步骤3中,可以传输与步骤1中不同的种子时间time(0),以产生新的ID字典,从而更新GTP隧道的TEID值;类似地,还可以在步骤4中传输与步骤3中不同的种子时间time(0)。
下面将参考图4,介绍根据本发明的一个实施例建立动态ID字典(下面将简称为“ID字典”)的方法。所述方法,包括:
步骤1-1:生成TEID值。
如前文所述,需要利用种子值(即图2和图3中的time(0))在SGSN节点以及GGSN节点处分别建立的相同的ID字典。利用相同的种子值可以建立相同的ID字典的原理在于,在初始种子时间time(0)确定的情况下,只要在一个节点处产生多个随机数的间隔时间与在另一个节点处产生多个随机数的间隔时间是一致的,就可以产生相同的ID字典。
而为了建立所述ID字典,首先应当产生一定数量的TEID的候选值。在本发明中,可以采用任意传统的生成TEID值的方法,例如由系统采用依次递增的方式来生成TEID值。
为了进一步保证TEID值在具有随机性的同时还兼具一定的推算难度,本发明还提出了一种新的用于生成TEID值的方法,采用以下计算式来产生TEID值:
strand((unsigned)time(0)),
new_teid=random()%(RAND_MAX-max(C1))+C1,
其中,函数strand()为系统提供的初始化伪随机数发生器,种子时间time(0)为产生种子时的时间数据;C1为1到128的周期性旋转量,其旋转周期由定时器控制;max()为求最大值的函数;RAND_MAX为设定值65536;random()%(RAND_MAX-max(C1))是基于伪随机数发生器和种子时间time(0)而产生随机数的函数,其所产生的随机数的最大值为RAND_MAX-128。当产生的new_teid的长度不足4Byte时,可以在其之前补0。
在上述计算式中,设置RAND_MAX–max(C1)的用意在于保证通过random()%(RAND_MAX-max(C1))产生的随机数的最大值为65536-128,从而使得通过random()%(RAND_MAX-max(C1))+C1获得的随机数的最大值为65536,即现有协议所规定的TEID值的长度4Byte所能表示的最大十进制数。
发明人认为可以通过上述方式生成TEID值以提高安全性,同时能够保证用户可以同时并发的PDP CONTEXT将不受任何限制。这是由于在函数strand((unsigned)time(0))中,time(0)为初始种子值,利用相同的种子值可以生成相同的ID字典,因此可以通过向需要建立的隧道的另一端传输种子值来共享ID字典。并且,在上述计算式中引入了C1值,由于C1值通过定时器周期性变化,因而在计算式中增加C1值能够增加TEID值的推算难度,从而提高TEID值的安全性。
简而言之,在time(0)和C1值均相同时,可以利用new_teid的计算式获得完全相同的TEID值。在前文中,已阐述了采用相同种子值可以产生相同TEID值的原因,因此在本发明中,接收端可以根据来自发送端的种子时间time(0)而获知发送端C1的定时器的启动时间和定时器已经运行的时间长度,从而设置相应的C1定时器的值以与发送端保持了一致。
通过上述计算式生成TEID值的方法,包括:首先,根据当前时间种子time(),利用伪随机数发生器strand()产生最大值为65536-128的伪随机数random()%(RAND_MAX-max(C1));然后,根据控制C1周期变化的定时器,确定C1的大小;最后,根据计算式new_teid=random()%(RAND_MAX-max(C1))+C1确定new_teid的大小,以作为生成的TEID值。
假设,在SGSN节点处分别采用time(0)、time(1)、time(2)和计算式new_teid生成了随机数TEID_1、TEID_2、和TEID_3,其中,time(0)、time(1)、time(2)的时间间隔是预先设定的。在GGSN节点处通过接收到的发送端的时间种子值即可得到相同的time(0)、time(1)、time(2)的时间间隔,由new_teid的计算式,便可以生成与TEID_1、TEID_2、和TEID_3完全一致的三个随机数。
步骤1-2:利用生成的TEID值,采用跳跃表的形式生成ID字典。
如前文所述,ID字典中包括多个TEID值,通过上述步骤1-1可以生成多个TEID的候选值。由于ID字典被用于伪装真实的TEID值,并在接收端根据伪装的ID查找真实的TEID值,因而为了使用方便,可以采用跳跃表的方式建立ID字典。所述跳跃表是一种随机化的数据结构,符合本文介绍的TEID值的生成方法,并且其相较于普通表能够提高查找效率。然而,应当理解还可以采用其他形式的ID字典。
图5示出了跳跃表形式的ID字典的一个示例。可以依照生成TEID候选值的顺序建立跳跃表,或在发送端和接收端的GSN节点处约定采用TEID候选值生成跳跃表的规则。如图5所示,在ID字典中包含真实的TEID值以及与该TEID值对应的ID值。在传输TEID值时,可以传输与真实TEID值对应的ID值以进行伪装,由接收端根据相同的ID字典查找到与接收到的ID值对应的TEID值。
可以利用上述步骤1-1和1-2在SGSN节点和GGSN节点处分别生成相同的ID字典,以对传输的TEID值进行伪装和解伪装。在本发明的上述实施例中,可以通过传输种子值以在GSN节点之间建立完全一致的ID字典,并由发送端GSN节点发送经过伪装的TEID值(与该真实TEID值对应的ID值),由接收端GSN节点在ID字典中进行比对从而解析出真实的TEID值。通过传输伪装后的TEID值,可以增加攻击者窃取真实TEID值的难度,从而提高网络安全性。
参考图5中的示例,假设在步骤1中,GGSN节点接收到来自SGSN节点的请求消息后,获知用于GGSN节点控制平面的TEID值对应于ID字典中的第158个,则可以通过比对跳跃表形式的ID字典,将真实的TEID值确定为0x53002e00。
可以看出,采用根据本发明的“动态ID字典”可以获得比“静态ID字典”更高的网络安全性。同样地,在本发明中还可以根据需要,例如每隔一段时间或每传输一定数据量后,传输新的种子值time(0),以对动态ID字典进行一次更新。
通过传输种子值time(0)的方式使得在发送方和接收方生成相同的ID字典,能够避免传输大量的ID字典而浪费传输带宽。然而,本领域技术人员应当理解,在前述实施例各个步骤中传输种子值time(0)的目的在于在SGSN节点与GGSN节点之间产生相同的ID字典,在已经存在ID字典的情况下可以不传输该种子值。
根据本发明的实施例可以看出,本发明可以利用上述ID字典实现动态地改变所采用的TEID值,以解决现有技术中采用静态的TEID值所带来的安全隐患。例如,定时地更新ID字典,修改其中的TEID值与ID值对应关系,或者生成新的TEID值。并且,可以设定更新ID字典的频率,也可以根据传输数据的数据量和数据类型来确定更新ID字典的频率,例如设定多段阈值区间,根据一段时间内的数据量所处的阈值区间来设置更新ID字典的频率,使得较大的数据量对应于更高的ID字典更新频率。通过这种方式,可以灵活地设置更新ID字典的频率,确保攻击者获取的虚假TEID随着时间推移而失效,从而避免暴露真实的TEID。
此外,发明人还发现通常为了窃取TEID,网络攻击者会采用TCP协议三次握手的方式伪装成发送端或者接收端来窃取接收端或发送端的TEID信息。为此,发明人提出通过建立两次或多次GTP隧道的方式来提高安全性的技术方案,通过第一次搭建生成初级隧道使得在SGSN节点和GGSN节点间建立连接关系,并利用第二次搭建生成用于通信的真正的GTP隧道。在第一次搭建时,可以在SGSN节点向GGSN节点进行信令交互以使得双方节点确认建立连接的关系,生成第一次搭建的GTP隧道。在第二次搭建时,采用单向协商的方式,由SGSN节点将其本身所需的TEID值以及GGSN节点所需的TEID值一并发送到GGSN节点处,这里第二次搭建所采用的是与第一次搭建时不相同的TEID值;GGSN节点在接收到TEID值后进行建立GTP隧道的相关配置,同时对接收到的伪装的TEID值进行检验解析,若能解析成功则生成第二次搭建的GTP隧道,若解析失败则GTP隧道建立失败。在生成第二次搭建的GTP隧道之后,销毁第一次搭建的初级GTP隧道。本发明的GTP隧道的建立过程区别于传统的GTP隧道的建立过程,通过增加单向协商的方式和接收端对伪装的TEID值检验的过程建立第二次隧道能够提高建立GTP隧道的安全性。
通过上述实施例可以看出,根据本发明的技术方案打破了常规建立GTP隧道的模式,通过全新的TEID值生成方式进行初始建立两次或多次GTP隧道,并且在接收端对接收到的TEID值进行检验,同时根据传输的数据量对静态或动态ID字典进行不定时的更新及不定时的对隧道进行重建,这些策略不但可以防止攻击者在采用例如TCP传输协议的三次握手中伪装终端发送请求消息来窃取用户隐私信息,还可以提高利用隧道传输数据的安全性。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管上文参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种生成动态GTP隧道的方法,包括:
1)SGSN节点和GGSN节点利用第一TEID值建立初级GTP隧道;
2)由所述SGSN节点利用当前GTP隧道,将用于所述SGSN节点的新TEID值和用于所述GGSN节点的新TEID值发送至所述GGSN节点,建立新的GTP隧道。
2.根据权利要求1所述的方法,其中,步骤1)和或步骤2)中的所述TEID值为经过伪装的TEID值。
3.根据权利要求2所述的方法,其中,所述步骤1)包括:
1-1)所述SGSN节点向所述GGSN节点发送种子时间、以及利用所述种子时间伪装的用于所述GGSN节点的第一TEID值;
1-2)所述GGSN节点向所述SGSN节点发送利用所述种子时间伪装的用于所述SGSN节点的第一TEID值。
4.根据权利要求2所述的方法,其中,所述步骤2)包括:
所述SGSN节点向所述GGSN节点发送新种子时间、利用所述新种子时间伪装的用于所述GGSN节点的新TEID值、以及利用所述种子时间伪装的用于所述SGSN节点的新TEID值。
5.根据权利要求3或4所述的方法,其中,所述步骤1)和或步骤2)还包括,利用种子时间对TEID值进行伪装:
A1)利用种子时间生成TEID值;
A2)在生成的所述TEID值和ID值之间建立对应关系;
A3)选择与需要使用的TEID值相对应的ID值,以作为伪装后的TEID值进行传输。
6.根据权利要求5所述的方法,其中,所述步骤A1)包括:采用基于所述种子时间的伪随机数发生器,生成TEID值。
7.根据权利要求6所述的方法,其中,所述步骤A1)包括采用以下计算式生成TEID值:
strand((unsigned)time(0)),
new_teid=random()%(RAND_MAX–max(C1))+C1,
其中,所述函数strand()为伪随机数发生器,time(0)为种子时间,C1为周期性旋转量,max()为求最大值的函数,RAND_MAX为new_teid能够产生的最大随机数,random()%(RAND_MAX–max(C1))是基于伪随机数发生器产生最大值为RAND_MAX–max(C1)的函数。
8.根据权利要求3所述的方法,其中,
所述步骤1-1)还包括:所述GGSN节点根据接收到的种子时间生成TEID值,并将接收到的用于所述GGSN节点的ID值与所述生成的TEID值进行比对,以确定伪装前的用于所述GGSN节点的第一TEID值;
所述步骤1-2)还包括:所述SGSN节点将接收到的用于所述SGSN节点的ID值与利用所述种子时间生成的TEID值进行比对,以确定伪装前的用于所述SGSN节点的第一TEID值。
9.根据权利要求4所述的方法,其中,
所述步骤2)还包括:所述GGSN节点根据接收到的种子时间生成TEID值,并将接收到的用于所述GGSN节点的ID值、以及用于所述SGSN节点的ID值与所述生成的TEID值进行比对,以确定伪装前的用于所述GGSN节点的新TEID值、以及伪装前的用于所述SGSN节点的新TEID值。
10.一种生成动态GTP隧道的设备,包括:
用于SGSN节点和GGSN节点利用第一TEID值建立初级GTP隧道的装置;
由所述SGSN节点利用当前GTP隧道,将用于所述SGSN节点的新TEID值和用于所述GGSN节点的新TEID值发送至所述GGSN节点,建立新的GTP隧道的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611125732.9A CN106792664B (zh) | 2016-12-09 | 2016-12-09 | 一种生成动态gtp隧道的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611125732.9A CN106792664B (zh) | 2016-12-09 | 2016-12-09 | 一种生成动态gtp隧道的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106792664A true CN106792664A (zh) | 2017-05-31 |
CN106792664B CN106792664B (zh) | 2020-03-31 |
Family
ID=58877487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611125732.9A Active CN106792664B (zh) | 2016-12-09 | 2016-12-09 | 一种生成动态gtp隧道的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106792664B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108922065A (zh) * | 2018-07-26 | 2018-11-30 | 江苏恒宝智能系统技术有限公司 | 一种应用于智能存取系统的控制方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020051559A (ko) * | 2000-12-22 | 2002-06-29 | 엘지전자 주식회사 | 지피알에스 망에서의 피디피 컨텍스트 설정 방법 |
CN1434612A (zh) * | 2002-01-23 | 2003-08-06 | 华为技术有限公司 | 一种单信息源至多接收点的分组数据业务实现方法 |
CN101541056A (zh) * | 2008-03-19 | 2009-09-23 | 大唐移动通信设备有限公司 | 一种用于不同gtp版本的系统间互操作的方法及装置 |
CN101540712A (zh) * | 2008-03-20 | 2009-09-23 | 大唐移动通信设备有限公司 | 一种分配隧道端点标识的方法和设备 |
-
2016
- 2016-12-09 CN CN201611125732.9A patent/CN106792664B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020051559A (ko) * | 2000-12-22 | 2002-06-29 | 엘지전자 주식회사 | 지피알에스 망에서의 피디피 컨텍스트 설정 방법 |
CN1434612A (zh) * | 2002-01-23 | 2003-08-06 | 华为技术有限公司 | 一种单信息源至多接收点的分组数据业务实现方法 |
CN101541056A (zh) * | 2008-03-19 | 2009-09-23 | 大唐移动通信设备有限公司 | 一种用于不同gtp版本的系统间互操作的方法及装置 |
CN101540712A (zh) * | 2008-03-20 | 2009-09-23 | 大唐移动通信设备有限公司 | 一种分配隧道端点标识的方法和设备 |
Non-Patent Citations (1)
Title |
---|
张青、刘彩霞: "一种基于GTP协议的"动态隧道"防御方法", 《计算机应用研究》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108922065A (zh) * | 2018-07-26 | 2018-11-30 | 江苏恒宝智能系统技术有限公司 | 一种应用于智能存取系统的控制方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106792664B (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108848100B (zh) | 一种有状态IPv6地址生成方法及装置 | |
US11418951B2 (en) | Method for identifying encrypted data stream, device, storage medium and system | |
CN104601541B (zh) | 数据传输的方法、服务器和用户设备 | |
US20240267973A1 (en) | Link re-establishment method, apparatus, and system | |
CN108141743B (zh) | 处置通信交换的方法、网络、装备、系统、介质和装置 | |
WO2019154017A1 (zh) | 多路径建立方法及装置 | |
CN115243396A (zh) | 一种信息处理方法、会话管理功能网元和用户面功能网元 | |
CN107071079B (zh) | 一种私网终端获取公网ip的方法及系统 | |
CN106454814A (zh) | 一种用于gtp隧道通信的系统与方法 | |
CN103916489B (zh) | 一种单域名多ip的域名解析方法及系统 | |
WO2016015441A1 (zh) | 一种业务数据管理的方法、装置及系统 | |
CN106953849B (zh) | 一种基于IPv6地址的数据报文匹配方法及装置 | |
CN101895522A (zh) | 主机标识标签获取方法及系统 | |
CN110278558B (zh) | 报文的交互方法及wlan系统 | |
CN106792664A (zh) | 一种生成动态gtp隧道的方法 | |
CN113542395B (zh) | 报文处理方法和报文处理系统 | |
WO2015096734A1 (zh) | 一种业务数据的下行传输方法及分组数据网关 | |
CN114785756B (zh) | 一种信息发送方法、装置及设备 | |
CN107612831B (zh) | 一种访问源站的数据报文的传输方法及装置 | |
CN110839231B (zh) | 一种获取终端标识的方法和设备 | |
US8036218B2 (en) | Technique for achieving connectivity between telecommunication stations | |
CN106304397A (zh) | 一种建立隧道的方法及相关设备 | |
CN105721313B (zh) | 数据传输方法及相关设备 | |
WO2023066022A1 (zh) | 一种通信方法及装置 | |
CN106162632B (zh) | 一种密钥传输方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |