一种基于组策略的电力4G网络安全认证和密钥协商方法与流程

文档序号:11960062阅读:393来源:国知局
一种基于组策略的电力4G网络安全认证和密钥协商方法与流程

本发明属于电力系统通信技术领域,具体涉及一种基于组策略的电力4G网络安全认证和密钥协商方法。



背景技术:

目前随着移动设备(MTC)的不断增长,大量设备同时访问核心网络时,会产生网络拥塞,如何提出通用的认证和密钥协商方案成为关键问题。针对4G网络,已经提出了单个设备和组认证方案。目前关于AKA(认证和密钥协商)的安全接入方案也逐渐成熟。但这些方案都不能很好地处理大量设备同时访问核心网络而产生的网络拥塞问题。而基于群组的AKA是缓解网络拥塞的有效途径之一,近年来也受到学术界和产业界的广泛关注。目前的基于组策略的AKA的方案致力于解决信号拥塞和减轻通信负载。

3GPP委员会已经定义了MTC的安全需求,扩展的EPS-AKA的协议作为一种标准的方法来实现这些安全要求。尽管这些已经提出的方案用来解决MTC组认证和密钥协商方案,但是不适合大量设备传输信息和低带宽的场景。Chen等人提出的一种基于组策略的AKA(GAKA)协议来实现一组设备从一个归属网络漫游至另外一个服务网络,但是不能处理大量设备同时访问核心网络产生的网络拥塞,因为每个设备发送的认证请求是独立的。而且不能抵抗中间人攻击和重定向攻击。Lai等人提出了SE-AKA能够抵抗以前工作中所有的攻击,极大地简化了Chen提出方案中的认证过程,另外,指出Cao的方案中聚合签名代价很大,其方案提高AKA协议的安全性,但和G-AKA方案一样存在网络拥塞问题。Li等人提出一种基于组策略的动态政策更新AKA方案,方案运用无证书聚合签名方法,同时应用在LTE-A网络中。尽管方案能够一次有效地认证一组设备,但是不适合资源受限的设备。Lai等人提出一种基于组策略的轻量级认证方案,方案应用于资源受限的M2M通信。方案是基于公钥加密系统,能够在3GPP和非3GPP接入中实现有效的和安全的组认证。但方案没有实现Group Header和Group Member之间的相互认证。

同时,以上方法在通信负载方面,带宽消耗性能并不理想。综上所述,现有的基于组策略的认证和密钥协商方法在大量设备同时访问核心网络的情况下,拥塞避免远不能满足实际应用的需求。



技术实现要素:

为克服上述现有技术的不足,本发明提供一种电力4G网络的基于组策略的安全认证和密钥协商方法,该方法能够抵抗常见的攻击,如重定向攻击、中间人攻击;并且减少通信负载和通信次数,尤其是在大量设备同时访问核心网络时的情况下更佳。

实现上述目的所采用的解决方案为:

一种基于组策略的电力4G网络安全认证和密钥协商方法,所述安全认证和密钥协商方法包括:

步骤1:初始化阶段,组首分发请求信息;

步骤2:GBS-AKA-I阶段,组首和移动管理实体、用户归属地服务器完成整个认证和密钥协商过程;

步骤3:GBS-AKA-II阶段,组首和组成员完成相互认证。

优选的,所述步骤1包括:

(1-1)给每个移动设备分配私有的ID,并且允许移动设备在3GPP网络中注册;

(1-2)使用分组算法将属于同一个区域、同一个应用、同样行为的MTC设备分组,每组包括组首和组成员,给每个组提供组密钥GKi和组编号IDGi

进一步的,所述MTC设备都有一个与用户归属地服务器共享的秘钥kGMij

优选的,所述步骤2包括:

(2-1)每个组成员生成请求接入认证信息,并将信息发送至组首;

(2-2)组首对搜集来的信息进行聚合,将聚合后的信息发送至所述移动管理实体;

(2-3)所述移动管理实体判断组首的合法性,若合法,则将处理后的信息发送至所述用户归属地服务器;

(2-4)所述用户归属地服务器判断信息是否超过时间戳,若超过则抛弃这些信息,并向所述移动管理实体返回失败的消息;否则验证其中组成员的正确性,验证成功后生成组认证矢量GAV,同时将信息转发至移动管理实体;

(2-5)所述移动管理实体将收到的数据分成两个部分,一部分用于验证组成员,一部分用于密钥协商,移动管理实体向组首发送认证信息;

(2-6)组首收到移动管理实体发送过来的数据进行计算处理,判断是否超过时间戳门限,若未超过时间戳门限,则组首将相应的响应信息发送至移动管理实体;

(2-7)移动管理实体收到组首认证响应信息,移动管理实体将存储用于生成密钥协商的信息发送至组首。

优选的,所述步骤3包括:

(3-1)移动管理实体将相应认证和协商数据发送至组首,组首运用认证数据与组成员实现相互的认证,组首分发请求接入数据至组成员;

(3-2)组成员收到数据,验证移动管理实体的信息验证码和用户归属地服务器的信息验证码合法性,若验证通过,则发送验证成功响应信息至组首;

(3-3)组首收到响应信息后,将用于协商的数据发送至组成员;

(3-4)组成员根据协商数据,生成与核心网络的会话密钥。

与最接近的现有技术相比,本发明提供的技术方案具有以下有益效果:

1、本发明的方法能够抵抗常见的攻击,适用于对带宽和通信负载要求比较小的系统。

2、本发明在大量设备同时访问核心网络的情况下,具有较好地拥塞避免性能,更适用于电力4G无线安全认证和密钥协商的实际应用。

附图说明

图1为本发明的方法框架图。

图2为本发明GBS-AKA协议示意图。

图3为本发明在4G无线通信环境下,认证矢量为n=10,组数=10的带宽消耗示意图。

图4为本发明在4G无线通信环境下,认证矢量为n=50,组数=2的带宽消耗示意图。

图5为本发明在4G无线通信环境下,认证矢量为n=10,组数=2的带宽消耗示意图。

图6为本发明在4G无线通信环境下,认证矢量为n=10,组数=5的带宽消耗示意图。

具体实施方式

下面结合附图对本发明的具体实施方式做进一步的详细说明。

信息聚合,基于新的技术,聚合消息认证码(aggregate message authentication codes,AMACs)核心网络能够同时认证一个组中所有的MTC设备。AMACs具有这样的属性,不同的发送者发送多个信息,这些信息可以计算得到为MAC标签,而且这些MAC标签可以聚合成很短的标签。AMACs是一个概率多项式时间元组算法(MAC,Agg,Vrfy):

认证算法Mac:输入一个密钥k={0,1}n和一个消息m∈{0,1}*,Mac算法输出一个tag标签,通过tag←Mack(m)。

聚合算法Agg:输入两个集合message/identifier1对和相关标签tag1,tag2,算法Agg输出一个标签tag,这个算法是未加密的。

验证算法Vrfy:收到一个集合key/identifier对{(k1,id1),...,(kt,idt)},一个message/identifier对和一个tag标签。算法Vrfy输出一个单bi,“1”表示接受,“0”表示拒绝。

如果给出和message/identifier对(mi,i),我们可以通过XOR聚合所有这些标签的值

<mrow> <mi>t</mi> <mi>a</mi> <mi>g</mi> <mo>=</mo> <msub> <mi>tag</mi> <mn>1</mn> </msub> <mo>&CirclePlus;</mo> <msub> <mi>tag</mi> <mn>2</mn> </msub> <mo>&CirclePlus;</mo> <mo>...</mo> <mo>&CirclePlus;</mo> <msub> <mi>tag</mi> <mi>l</mi> </msub> </mrow>

基于上述理论,在无线通信环境下,本发明利用AMACs获得Group Member的认证请求信息,然后与MME(移动管理实体),HSS(用户归属地服务器)实现相互的认证。并判断其Group Member的合法性。本发明分为三个过程,初始化阶段、GBS-AKA-I阶段和GBS-AKA-II阶段。

一、建立GBS-AKA框架模型

认证和密钥协商就是认证用户的合法性,并与核心网络协商出为以后交互的会话密钥。

如图1所示,首先,根据现有的组方法,将大量MTC(Machine Type Communication)机器类型通信设备进行分组,Group Header和Group Member,Group Header搜集其他组成员的认证请求信息,由Group Header代替组内其他成员与MME,HSS完成整个相互认证过程。然后MTC设备与HSS协商出会话密钥SSK(为后续交互和数据传输准备)。其中,Group Header需要对搜集上来的Group Member数据聚合,而聚合采用AMACs技术。判断认证用户的合法性使用的是时间戳门限tthreshold,在认证过程中,若超过时间戳门限,则认证失败。

二、具体的GBS-AKA方法实现

如图2所示,GBS-AKA协议的具体执行过程。

(1)认证过程

a.每个GM生成请求接入信息,包含IDGMj,RGMij,时间戳TGMi,为了阻止重放攻击,中间人攻击,将时间戳插入请求信息中,然后,GM生成

<mrow> <msub> <mi>MAC</mi> <mrow> <msub> <mi>GM</mi> <mrow> <mi>G</mi> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mrow> </msub> <mo>=</mo> <msubsup> <mi>f</mi> <msub> <mi>k</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msub> <mi>ID</mi> <mrow> <mi>G</mi> <mi>M</mi> <mi>j</mi> </mrow> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>ID</mi> <mrow> <msub> <mi>GM</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mrow> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>R</mi> <mrow> <msub> <mi>GM</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mrow> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>T</mi> <mrow> <msub> <mi>GM</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mrow> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

和生成认证信息:

<mrow> <msub> <mi>AuM</mi> <mrow> <msub> <mi>GM</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mrow> </msub> <mo>=</mo> <mrow> <mo>(</mo> <msub> <mi>ID</mi> <mrow> <mi>G</mi> <mi>M</mi> <mi>j</mi> </mrow> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>ID</mi> <mrow> <msub> <mi>GM</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mrow> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>R</mi> <mrow> <msub> <mi>GM</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mrow> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>T</mi> <mrow> <msub> <mi>GM</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mrow> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

类似地,其他设备执行同样的操作。最后所有的设备将这些信息发送至GroupHeader。

b.GH搜集组中所有请求接入的GM信息,聚合这些信息,其中包含LAI(基站的区域识别符),而且LAI用于抵抗重定向攻击,因为HSS可以通过核对LAI来判断其是否是假基站计算过程见下:

<mrow> <msub> <mi>MAC</mi> <mrow> <mi>G</mi> <mi>M</mi> <mi>i</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>MAC</mi> <mrow> <msub> <mi>GM</mi> <mrow> <mi>i</mi> <mn>1</mn> </mrow> </msub> </mrow> </msub> <mo>&CirclePlus;</mo> <msub> <mi>MAC</mi> <mrow> <msub> <mi>GM</mi> <mrow> <mi>i</mi> <mn>2</mn> </mrow> </msub> </mrow> </msub> <mo>&CirclePlus;</mo> <mn>...</mn> <mo>&CirclePlus;</mo> <msub> <mi>MAC</mi> <mrow> <msub> <mi>GM</mi> <mrow> <mi>i</mi> <mi>n</mi> </mrow> </msub> </mrow> </msub> <mo>&CirclePlus;</mo> <msubsup> <mi>f</mi> <mrow> <msub> <mi>GK</mi> <mi>i</mi> </msub> </mrow> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <mi>L</mi> <mi>A</mi> <mi>I</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

其中,代表XOR,GH生成

<mrow> <msub> <mi>AUTH</mi> <mrow> <mi>G</mi> <mi>i</mi> </mrow> </msub> <mo>=</mo> <mrow> <mo>(</mo> <msub> <mi>AuM</mi> <mrow> <msub> <mi>GM</mi> <mrow> <mi>i</mi> <mn>1</mn> </mrow> </msub> </mrow> </msub> <mo>|</mo> <mo>|</mo> <mo>...</mo> <mo>|</mo> <mo>|</mo> <msub> <mi>AuM</mi> <mrow> <msub> <mi>GM</mi> <mrow> <mi>i</mi> <mi>m</mi> </mrow> </msub> </mrow> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>MAC</mi> <mrow> <mi>G</mi> <mi>M</mi> <mi>i</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

然后,GH将这些信息发送至MME。

c.当MME收到GH的认证请求,MME会验证LAI',因为MME知道BS的LAI',另外通过比较门限tthreshold,MME核对GH的时间戳是否超过门限。一旦超过,认证信息AUTHGi将会被抛弃,并返回认证失败消息。若认证成功,则MME将收到的信息发送至HSS;

d.当HSS收到MME发送过来的信息,首先判断是否超过门限值tthreshold。若没有超过,则HSS使用kGMij计算AUTHGi中的MACGMi,使用GKi获取LAI',判断MME中的LAI'是否与GH中LAI相等。为了验证AUTHGi,HSS生成组认证矢量GAV(Group Authentication Vector),

GAV=(RHSS||XRESGMi||THSS||AUTHHSS) (5)

其中

AUTHHSS=(RHSS||THSS||MACHSS) (6)

<mrow> <msub> <mi>MAC</mi> <mrow> <mi>H</mi> <mi>S</mi> <mi>S</mi> </mrow> </msub> <mo>=</mo> <msubsup> <mi>f</mi> <mrow> <msub> <mi>GK</mi> <mi>i</mi> </msub> </mrow> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msub> <mi>ID</mi> <mrow> <mi>H</mi> <mi>S</mi> <mi>S</mi> </mrow> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>R</mi> <mrow> <mi>H</mi> <mi>S</mi> <mi>S</mi> </mrow> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>T</mi> <mrow> <mi>H</mi> <mi>S</mi> <mi>S</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow>

并将数据GAV发送至MME

(2)协商过程

a.一旦MME收到HSS发送的成功认证信息,MME存储这些GAV信息,MME和GH执行相互认证过程,并生成

AUTHMME=(IDMME||MACMME||MACHSS||RMME||RHSS) (8)

并将这些数据分成两部分,一部分用于验证GM,一部分用于密钥协商,MME发送证实信息。

b.GH收到验证信息后,GH核对TMME是否超过门限值。若证实成功,则GH生成相应的响应消息至MME。

c.MME收到证实信息,MME将用于验证信息和密钥协商信息发送至GH。

d.GH分发验证信息至组中请求接入的GM;

e.GM检测时间戳TMME是否超过门限tthreshold,若证实成功,则发送成功响应值GH。

f.GH收到GM发送的确认信号,根据存储的用于认证GM的数据,判断GM的合法性。GMij计算

<mrow> <msubsup> <mi>MAC</mi> <mrow> <mi>H</mi> <mi>S</mi> <mi>S</mi> </mrow> <mo>&prime;</mo> </msubsup> <mo>=</mo> <msubsup> <mi>f</mi> <mrow> <msub> <mi>GK</mi> <mi>i</mi> </msub> </mrow> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msub> <mi>ID</mi> <mrow> <mi>H</mi> <mi>S</mi> <mi>S</mi> </mrow> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>R</mi> <mrow> <mi>H</mi> <mi>S</mi> <mi>S</mi> </mrow> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>T</mi> <mrow> <mi>H</mi> <mi>S</mi> <mi>S</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> </mrow>

证实MAC′HSS是否与MACHSS相等。GMij计算

<mrow> <msubsup> <mi>MAC</mi> <mrow> <mi>M</mi> <mi>M</mi> <mi>E</mi> </mrow> <mo>&prime;</mo> </msubsup> <mo>=</mo> <msubsup> <mi>f</mi> <mrow> <msub> <mi>GK</mi> <mi>i</mi> </msub> </mrow> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msub> <mi>ID</mi> <mrow> <mi>H</mi> <mi>S</mi> <mi>S</mi> </mrow> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>R</mi> <mrow> <mi>H</mi> <mi>S</mi> <mi>S</mi> </mrow> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>T</mi> <mrow> <mi>H</mi> <mi>S</mi> <mi>S</mi> </mrow> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>MAC</mi> <mrow> <mi>H</mi> <mi>S</mi> <mi>S</mi> </mrow> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>R</mi> <mrow> <mi>M</mi> <mi>M</mi> <mi>E</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>10</mn> <mo>)</mo> </mrow> </mrow>

然后,GMij证实MAC'MME是否与MACMME相等。如果MAC'MME与MACMME不相等,则GMij终止认证过程,同时发送协商失败的消息至GH。若验证成功,则GMij生成与核心网络的会话密钥SSK:

SSK=(MACMME||IV) (11)

(3)带宽分析

GBS-AKA的带宽分析:GH和核心网络的总带宽消耗为

<mrow> <msub> <mi>bw</mi> <mrow> <mi>o</mi> <mi>v</mi> <mi>e</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mi>l</mi> </mrow> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mn>4</mn> </munderover> <mo>|</mo> <msub> <mi>Messages</mi> <mi>i</mi> </msub> <mo>|</mo> <mo>=</mo> <mn>802</mn> <mfrac> <mi>m</mi> <mi>s</mi> </mfrac> <mo>+</mo> <mn>1234</mn> <mi>b</mi> <mi>i</mi> <mi>t</mi> <mi>s</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>12</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <msub> <mi>Message</mi> <mn>1</mn> </msub> <mo>=</mo> <mo>|</mo> <msub> <mi>AuM</mi> <mrow> <msub> <mi>GM</mi> <mrow> <mn>1</mn> <mi>j</mi> </mrow> </msub> </mrow> </msub> <mo>|</mo> <mfrac> <mi>m</mi> <mi>s</mi> </mfrac> <mo>+</mo> <mo>|</mo> <mi>M</mi> <mi>A</mi> <mi>C</mi> <mo>|</mo> <mo>=</mo> <mn>384</mn> <mfrac> <mi>m</mi> <mi>s</mi> </mfrac> <mo>+</mo> <mn>64</mn> <mi>b</mi> <mi>i</mi> <mi>t</mi> <mi>s</mi> </mrow>

<mrow> <msub> <mi>Message</mi> <mn>2</mn> </msub> <mo>=</mo> <msub> <mi>Message</mi> <mn>1</mn> </msub> <mo>=</mo> <mn>401</mn> <mfrac> <mi>m</mi> <mi>s</mi> </mfrac> <mo>+</mo> <mn>64</mn> <mi>b</mi> <mi>i</mi> <mi>t</mi> <mi>s</mi> </mrow>

Message3=|RHSS|+|AMF|+|AUTHHSS|=594bits

Message4=2|R|+|ID|+2|MAC|=512bits

m个MTCD设备的总带宽消耗为m表示MTC设备的数量,s表示设备划分的组数。Message1-4表示每个会话过程所消耗的带宽。

如图3所示,本发明给定参数认证矢量n=10,组数s=10,MTC设备的数量范围是100-1000,与目前其他的组认证方案被展示出来。从图中可以看到,本发明提供的GBS-AKA方法可以达到很小的带宽消耗的要求,而其他的方案随着MTC的设备增加,带宽的消耗也快速的增加。同时,GBS-AKA方案相比增加的很慢,这是因为MTC设备与组数成反比。

图4和图5中说明了在组数相同,认证矢量不同的情况下,本发明的方法带宽消耗性能比较。从图中可以看出,随着MTC设备数量的增加,认证矢量对本发明的方案没有影响。

图5和图6中说明了,在组数相同的情况下,认证矢量相同,组数变化的情况,不同组认证方案带宽消耗对比,由图可见,随着组数的增加,本方法的带宽消耗反而降低了,进一步说明本方案能够满足带宽消耗较小的要求,尤其是大量设备的情况下。

最后应当说明的是:以上实施例仅用于说明本申请的技术方案而非对其保护范围的限制,尽管参照上述实施例对本申请进行了详细的说明,所属领域的普通技术人员应当理解;本领域技术人员阅读本申请后依然可对申请的具体实施方式进行种种变更、修改或者等同替换,但这些变更、修改或者等同替换,均在申请待批的权利要求保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1