CN106792664A - 一种生成动态gtp隧道的方法 - Google Patents

一种生成动态gtp隧道的方法 Download PDF

Info

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
values
teid
nodes
ggsn
teid values
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
Application number
CN201611125732.9A
Other languages
English (en)
Other versions
CN106792664B (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201611125732.9A priority Critical patent/CN106792664B/zh
Publication of CN106792664A publication Critical patent/CN106792664A/zh
Application granted granted Critical
Publication of CN106792664B publication Critical patent/CN106792664B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/12Setup 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

一种生成动态GTP隧道的方法
技术领域
本发明涉及无线通信,尤其涉及无线通信计算机网络。
背景技术
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隧道的装置。
CN201611125732.9A 2016-12-09 2016-12-09 一种生成动态gtp隧道的方法 Active CN106792664B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108922065A (zh) * 2018-07-26 2018-11-30 江苏恒宝智能系统技术有限公司 一种应用于智能存取系统的控制方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020051559A (ko) * 2000-12-22 2002-06-29 엘지전자 주식회사 지피알에스 망에서의 피디피 컨텍스트 설정 방법
CN1434612A (zh) * 2002-01-23 2003-08-06 华为技术有限公司 一种单信息源至多接收点的分组数据业务实现方法
CN101540712A (zh) * 2008-03-20 2009-09-23 大唐移动通信设备有限公司 一种分配隧道端点标识的方法和设备
CN101541056A (zh) * 2008-03-19 2009-09-23 大唐移动通信设备有限公司 一种用于不同gtp版本的系统间互操作的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
张青、刘彩霞: "一种基于GTP协议的"动态隧道"防御方法", 《计算机应用研究》 *

Cited By (1)

* Cited by examiner, † Cited by third party
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
US11032739B2 (en) Dynamic header compression for constrained networks
KR101878112B1 (ko) 제휴 이전 서비스 발견을 보안하기 위한 시스템 및 방법
Kim et al. A Dual Key‐Based Activation Scheme for Secure LoRaWAN
CN114145054A (zh) 用于支持流量导向通过服务功能链的系统和方法
Montavont et al. Mobile ipv6 in internet of things: Analysis, experimentations and optimizations
CN113473410A (zh) 一种通信方法及装置
JP2004040806A (ja) ユーザの匿名性保証方法及びそのための無線lanシステム
CN110324303A (zh) 物联网设备的数据片段重组
CN109314701A (zh) 使用可用网络连接的网络路径探测
JP2016051921A (ja) 通信システム
KR102026841B1 (ko) 데이터 처리 방법, 장치, 및 디바이스
Baumgärtner et al. An experimental evaluation of delay-tolerant networking with Serval
CN102739684A (zh) 一种基于虚拟IP地址的Portal认证方法及服务器
CN104023022A (zh) 一种IPSec SA的获取方法和装置
CN105072212B (zh) 对码方法与对码系统
CN106792664A (zh) 一种生成动态gtp隧道的方法
JP7014800B2 (ja) リンク再確立方法、装置、およびシステム
CN103813271B (zh) 一种用于由eNB提供系统信息广播SIB12的方法与设备
Bojic et al. Communication in machine-to-machine environments
CN101895522A (zh) 主机标识标签获取方法及系统
KR101267415B1 (ko) 산업무선네트워크에서 키에 의한 상호 인증 시스템 및 그 방법
CN109891857A (zh) 防止中立主机网络中移动会话标识符的冲突
CN110380963A (zh) 一种高效快收敛的邻居发现方案
Jo et al. IoTivity-lite: Comprehensive IoT solution in a constrained memory device
CN108989173A (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