1.无线局域网与多接入边缘计算的轻量级认证密钥交换方法,其特征在于,该方法由终端设备、MEC服务器以及无线控制器参与完成,包括以下步骤:(1)终端设备注册
由终端设备Ci提供自己的真实身份idi并在无线控制器处注册为合法终端设备,无线控制器记录并保存终端设备真实身份idi,由无线控制器为该终端设备生成虚拟身份、认证信息、密钥协商参数;
Ci为第i个终端设备,idi为Ci的真实身份;
(2)MEC服务器注册
由MEC服务器MSj提供自己的真实身份idj以及所选定的椭圆曲线Ep上的有限循环加法群参数MS.G及公钥MS.Pub发送给无线控制器,由无线控制器记录并保存MEC服务器的真实身份,并为之生成认证信息;
MSj为第j个的MEC服务器,idj为MSj的真实身份,MS.G为椭圆曲线Ep上的有限循环加法群参数,MS.Pub为MSj的公钥,MS.Pub=MS.G·MS.Pri,MS.Pri为MSj的长期私钥;
(3)认证密钥交换
当终端设备Ci使用多接入边缘计算时,终端设备Ci首先要连接无线局域网,并向无线控制器发起多接入边缘计算请求,无线控制器收到终端设备Ci请求后,协助Ci完成其与MEC服务器的身份认证与密钥交换;
步骤(1)具体包括以下步骤:
(11)终端设备Ci首先选择自己的真实身份idi,然后输入无线局域网密码PW,生成一个随机数∈,最后将idi,PW发送到无线控制器;
(12)无线控制器首先检查idi是否已存在,若不存在,则随机生成终端设备伪身份vidi以及密钥协商参数ki,再通过公式(1)‑公式(7)计算出Aki,此处的Aki为一个中间变量,用于安全存储密钥协商参数ki,然后存储idi,Aki,最后将D5,D6,vidi,MS.G,MS.Pub,H(.)发送给终端设备Ci;
D1=H(∈||PW) (1)D2=H(idi||∈||x) (2)D4=H(idi||PW||∈||x) (4)式中,||为连接符,H(.)表示单向哈希函数,x表示无线控制器的长期私钥, 表示异或运算,vidi表示Ci的虚拟身份;(13)终端设备Ci接收到无线控制器的消息后,首先使用公式* *(8)‑公式(9)计算出∈和PAki,并保存∈ ,PAki,D5,D6,vidi,MS.G,MS.Pub,H(.)信息;
*
∈和PAki均为中间变量,分别用于安全存储∈和Aki;
步骤(2)具体包括以下步骤:
(21)MEC服务器MSj首先确定自己的身份信息idj,并将该信息连同MS.G,MS.Pub一同发送给无线控制器;
(22)无线控制器接收到消息后,首先检查idj是否已存在,若不存在,则生成随机数rf,并进行公式(10)‑公式(14)运算,最后存储idj,MS.G,MS.Pub,E2,并将E3,E5,rf通过安全信道发送给MEC服务器MSj;
E1=H(idj||x) (10)E2=H(idj||rf) (11)E3=H(idj||x||rf) (12)(23)MEC服务器MSj收到消息后,将idj,E3,E5,rf信息存储;
步骤(3)具体包括以下步骤:
(31)终端设备Ci使用真实身份idi以及无线局域网密码PW,采用公式(15)‑公式(16)计算出∈′和D7,然后生成一个随机数h,通过公式(17)‑公式(18)计算出终端设备Ci的密钥协商参数Ni和Ni=η·MS.G (17)通过公式(19)计算出密钥协商参数M1,使用公式(20)实现对设备idi的保密,使用公式(21)计算出F1用以验证消息完整性,最后将vidi,sd1,T1,F1发送给无线控制器;
F1=H(idi||vidi||sd1||M1||Ni||T1) (21)Tn表示第n个时间戳,n为1,2,3…;
(32)无线控制器接收到终端设备Ci的请求消息后,首先利用公式(22)计算消息的时间戳是否有效,若有效则通过公式(23)计算出终端设备Ci的身份信息,并利用公式(24)对消息的完整性进行确认;
|T2‑T1|<?ΔT (22)H(idi′||vidi||sd1||M1′||Ni||T1)=?F1 (24)ΔT表示Tn与Tn‑1之间的时间差;公式中出现的X′是与变量X的值相同,但计算方式不同的变量;X″是与变量X′和X的值相同,但计算方式不同的变量;变量X分别为idi、PW、M1、Ni;
然后检查idi是否已注册,若已注册,则使用公式(25)‑公式(26)分别计算出E1′,sd2,最后利用公式(27)计算出F2用以验证消息完整性,将sd2,T3,F2发送给MEC服务器MSj;
E1′=H(idj||x) (25)
F2=H(idj||sd2||T3) (27)(33)MEC服务器MSj接收到消息后,首先通过公式(28)验证时间戳是否有效,若有效则通过公式(29)‑公式(30)计算出密钥协商参数M1″和Ni″,并通过公式(31)验证消息完整性;
|T4‑T3|<?ΔT (28)
H(idj||sd2||T3)=?F2 (31)接着通过公式(32),MEC服务器MSj计算终端设备Ci的密钥协商参数 生成随机数μ,并通过公式(33)‑公式(35)计算自己的密钥协商参数Nj,M2;
Nj=μ·MS.G (33)
最后,利用公式(36),MEC服务器MSj使用自己的密钥协商参数与终端设备Ci的密钥协商参数共同计算出会话密钥SK,并使用公式(37)‑公式(38)计算出sd3和F3,将消息sd3,F3,T5发送给无线控制器;
F3=H(idj||sd3||T5) (38)(34)无线控制器接收到MEC服务器MSj发来的消息,首先通过公式(39)‑公式(40)验证消息的时间戳和消息完整性,若通过验证,则使用公式(41)计算出MEC服务器MSj的密钥协商参数;
|T6‑T5|<?ΔT (39)
H(idj||sd3||T5)=?F3 (40)接着生成一个随机数vidinew作为终端设备Ci的新伪身份,生成随机密钥协商参数δ,通过公式(42)‑公式(46)计算出D8,D9,kic;
D2′=H(idi||∈||x) (42)D4′=H(idi′||PW″||∈||x) (43)最后使用kic通过公式(47)加密消息[M2′,Nj′,D8,vidinew,T7],通过公式(48)生成消息完整性验证信息F4,并将消息sd4,F4,D9发送给终端设备Ci;
sd4=E(kic,[M2′,Nj′,D8,vidinew,T7]) (47)F4=H(sd4||D9||T7) (48)(35)终端设备Ci收到无线控制器的消息后,首先通过公式(49)解密消息sd4,然后通过公式(50)和公式(51)对消息进行时间戳验证和完整性验证;
|T8‑T7|<?ΔT (50)H(sd4||D9||T7)=?F4 (51)若通过验证,则使用vidinew替代vidi,使用D8替代D6,最后通过公式(52)计算出 并结合全部密钥协商参数使用公式(53)计算出会话密钥SK;
经过以上步骤,在终端设备Ci与MEC服务器MSj之间实现了身份认证与密钥交换,共同得到了本次通话共同使用的会话密钥SK。