[0009] 本发明的目的就是提供一种基于混合密码的LTE-R车-地通信非接入层认证密钥协商方法,该方法能够为LTE-R提供更加全面的安全性保护。
[0010] 本发明实现其发明目的所采用的技术方案是,1、一种基于混合密码的LTE-R车-地通信非接入层认证密钥协商方法,其步骤是:
[0011] A、全球用户识别卡(USIM)注册:
[0012] 用户归属地运营商采集用户身份信息,为其颁发全球移动用户的身份识别卡(USIM);身份识别卡(USIM)中存储安全参数,分别是:国际移动用户识别码(IMSI)、该身份识别卡(USIM)与归属用户服务器(HSS)间的长期共享密钥K、归属用户服务器(HSS)的公钥PK、椭圆曲线的生成元P;完成注册后,将身份识别卡(USIM)安装在车载移动单元(OBU)中;
[0013] B、非接入层初始认证:
[0014] B1、车载移动单元(OBU)启动并首次接入网络时,先选取一个随机数a,计算用户端公开承诺AO,同时生成一时间戳TS,并获取与车载移动单元(OBU)关联的基站标志符LAI;车载移动单元(OBU)再以国际移动用户识别码(IMSI)、时间戳TS、与车载移动单元(OBU)关联的基站标志符LAI、归属用户服务器(HSS)的公钥PK为输入参数,生成秘密信息M1;然后将归属用户服务器(HSS)的身份IDHSS、用户端公开承诺AO、秘密信息M1进行消息串联,生成接入认证请求消息M2,最后将接入认证请求消息M2发送至移动管理实体(MME);
[0015] B2、移动管理实体(MME)收到接入认证请求消息M2后,获取与移动管理实体(MME)关联的基站标志符LAI’,然后将与移动管理实体(MME)关联的基站标志符LAI’、移动管理实体(MME)的服务网络号SNID、接入认证请求消息M2,进行串联生成认证向量请求消息M3,将认证向量请求消息M3发送至归属用户服务器(HSS);
[0016] B3、归属用户服务器(HSS)收到认证向量请求消息M3后,检索数据库判断其中的服务网络号SNID的正确性,如检索不成功,则执行步骤E;
[0017] 否则,以归属用户服务器(HSS)的私钥SK解密接入认证请求消息M2,得到国际移动用户识别码(IMSI)、时间戳TS、与车载移动单元(OBU)关联的基站标志符LAI;归属用户服务器(HSS)判断时间戳TS是否正确,如不正确,则执行步骤E;
[0018] 否则,对比与车载移动单元(OBU)关联的位置区标识符LAI和与移动管理实体(MME)关联的位置区标识符LAI’,若不匹配,则执行步骤E;
[0019] 否则,选取n个随机数b(i),其中i为随机数b(i)的序号,i∈(1,2,3…,n),以随机数b(i)、用户端公开承诺AO为输入参数,计算得到n个服务器端公开承诺B(i)和n个密钥KUH(i);再根据国际移动用户识别码(IMSI)检索出长期共享密钥K,以长期共享密钥K和密钥KUH(i),生成对应的n个:消息认证码MAC(i)、匿名性保护密钥AK(i)、主密钥KASME(i)、主密钥标识符KSIASME(i)、期望响应XRES(i);
[0020] 再将对应的服务器端公开承诺B(i)、消息认证码MAC(i)、期望响应XRES(i)、主密钥KASME(i)、主密钥标识符KSIASME(i)进行串联生成认证向量AV(i);将n个认证向量AV(i)串联生成认证向量组、然后将其同国际移动用户识别码(IMSI)串联,作为认证向量响应消息M4,发送至移动管理实体(MME);
[0021] B4、移动管理实体(MME)收到认证向量响应消息M4并存入自身的数据库;再从认证向量响应消息M4的认证向量组中取出其中的一个认证向量AV(i),随后从该认证向量AV(i)中提取出对应的服务器端公开承诺B(i)、消息认证码MAC(i)、期望响应XRES(i)、主密钥KASME(i)、主密钥标识符KSIASME(i);将期望响应XRES(i)、主密钥KASME(i)保存;同时将服务器端公开承诺B(i)、消息认证码MAC(i)、主密钥标识符KSIASME(i)串联生成认证挑战消息M5;最后将认证挑战消息M5发送给车载移动单元(OBU);
[0022] B5、车载移动单元(OBU)收到认证挑战消息M5,提取其中的服务器端公开承诺B(i)和消息认证码MAC(i)和主密钥标识符KSIASME(i);随后以服务器端公开承诺B(i)和B1步的随机数a为输入参数,计算得到B3步的密钥KUH(i);再以长期共享密钥K、计算出的密钥KUH(i)为输入参数,生成期望消息认证码XMAC(i)、挑战响应RES(i),并将生成的期望消息认证码XMAC(i)与消息认证码MAC(i)对比,若不相同则执行步骤E;否则,车载移动单元(OBU)认证移动管理实体(MME)成功,并以长期共享密钥K、计算出的密钥KUH(i)、主密钥标识符KSIASME(i)计算得到B3步的主密钥KASME(i);然后,将长期共享密钥K更新为密钥KUH(i),并将挑战响应RES(i)作为挑战响应消息M6,回传至移动管理实体(MME);
[0023] B6、移动管理实体(MME)收到挑战响应消息M6后,提取其中的挑战响应RES(i),并同B4步中从AV(i)提取的期望响应XRES(i)进行对比,若不相同,则执行步骤E;否则,移动管理实体(MME)认证车载移动单元(OBU)成功;随后,移动管理实体(MME)选取随机数RMME,将随机数RMME、国际移动用户识别码(IMSI)进行串联后,再进行哈希运算生成识别码,作为临时国际移动用户识别码(TMSI),并加密发送至车载移动单元(OBU);再将B4步的服务器端公开承诺B(i)作为认证成功消息M7发送至归属用户服务器(HSS),随后从自身数据库中删除B4步提取的认证向量AV(i),其余的认证向量AV(i)构成更新后的认证向量组;最后将临时国际移动用户识别码(TMSI)与对应的国际移动用户识别码(IMSI)进行链接;
[0024] B7、归属用户服务器(HSS)收到认证成功消息M7后,根据公开承诺B(i)、用户端公开承诺AO再次计算出B3步的密钥KUH(i),并将长期共享密钥K更新为密钥KUH(i),完成初始认证;车载移动单元(OBU)通过关联的基站与移动管理实体间(MME)进行通信;
[0025] 当车载移动单元(OBU)发生位置更新重新请求接入网络时,进行C步的操作;
[0026] C、非接入层重认证:
[0027] C1、车载移动单元(OBU)将临时国际移动用户识别码(TMSI)发送给移动管理实体(MME),发起重认证请求;
[0028] C2、移动管理实体(MME)收到临时国际移动用户识别码(TMSI)后,通过对应的国际移动用户识别码(IMSI)检索出对应的认证向量组,若检索失败,执行步骤A;
[0029] 否则,取出认证向量组中的一个认证向量AV(i),随后从该认证向量AV(i)中提取其中的服务器端公开承诺B(i)、消息认证码MAC(i)、主密钥KASME(i)、主密钥标志符KSIASME(i)和期望响应XRES(i);保存主密钥KASME(i)和期望响应XRES(i);将服务器端公开承诺B(i)、消息认证码MAC(i)、主密钥标志符KSIASME(i)进行消息串联后发送给车载移动单元(OBU);
[0030] C3、车载移动单元(OBU)收到来自移动管理实体(MME)的服务器端公开承诺B(i)、消息认证码MAC(i)、主密钥标志符KSIASME(i)后,以服务器端公开承诺B(i)和B1步的随机数a计算出B3步的密钥KUH(i);再以长期共享密钥K、计算出的密钥KUH(i)为输入参数,生成期望消息认证码XMAC(i)、挑战响应RES(i),并将生成的期望消息认证码XMAC(i)与接收到来自移动管理实体(MME)的消息认证码MAC(i)对比,若不相同则执行步骤E;否则,车载移动单元(OBU)认证移动管理实体(MME)成功;然后以长期共享密钥K、计算出的密钥KUH(i)、主密钥标志符KSIASME(i)为输入参数,计算B3步的主密钥KASME(i),并将挑战响应RES(i)发送至移动管理实体(MME);
[0031] C4、移动管理实体(MME)收到挑战响应RES(i)后,将C2步骤中从认证向量AV(i)中提取的期望响应XRES(i)与挑战响应RES(i)对比,若不相同则执行步骤E;否则,移动管理实体(MME)认证车载移动单元(OBU)成功;随后,移动管理实体(MME)选取重认证随机数RRMME,以该重认证随机数RRMME、国际移动用户识别码(IMSI)进行串联后,再进行哈希运算生成识别码,以更新临时国际移动用户识别码(TMSI),并将更新后的国际移动用户识别码(TMSI)加密发送至车载移动单元(OBU),随后从自身数据库中删除C2步提取的认证向量AV(i),其余的认证向量AV(i)构成更新后的认证向量组;最后将新的临时国际移动用户识别码(TMSI)与对应的国际移动用户识别码(IMSI)进行链接;
[0032] 随后,车载移动单元(OBU)通过关联的基站与移动管理实体间(MME)进行通信;
[0033] D、当车载移动单元(OBU)再次发生位置更新重新请求接入网络时,重复C步的操作;
[0034] E、认证失败,终止操作。
[0035] 与现有技术相比,本发明的有益效果是:
[0036] 一、本发明提出了利用归属用户服务器(HSS)的公钥加密传输国际移动用户识别码(IMSI)和时间戳TS以及位置区标识符LAI的方法,能够有效保护国际移动用户识别码(IMSI)的机密性,实现对重放攻击和重定向攻击的抵抗,提高了安全性。
[0037] 二、本方法中归属用户服务器(HSS)的公钥在全球用户识别卡(USIM)注册阶段就已经通过发行商直接写入到卡中,因此在后续的使用过程中,车载移动单元(OBU)可直接从卡中读取公钥数据,避免了公钥密码体制中的公钥证书管理与传递问题,无需部署公钥基础设施(PKI)。降低了LTE-R网络结构的冗余度和复杂度。
[0038] 三、本发明在认证向量的生成过程中引入了Diffie-Hellman密钥交换算法,车载移动单元(OBU)和归属用户服务器(HSS)通过该算法协商了密钥KUH(i),在此密钥协商的过程中,隐藏了原协议中明文传输的随机数,保证了随机数的机密性。密钥KUH(i)和长期共享密钥K作为两个秘密值共同参与计算主密钥KASME(i),使得提出的方案具备了前向安全性。
[0039] 四、当车载移动单元(OBU)和移动管理实体(MME)完成初始双向认证后,车载移动单元(OBU)和归属用户服务器(HSS)间的长期共享密钥K将更新为本次初始认证的密钥KUH(i),避免因密钥K长期使用而泄露的风险,提高系统的整体安全性。
[0040] 进一步,本发明的的步骤B1中车载移动单元(OBU)启动并首次接入网络时,先选取一个随机数a,计算用户端公开承诺AO的具体方法是:将随机数a与A步中身份识别卡(USIM)中存储的椭圆曲线的生成元P,进行倍点运算,得到用户端公开承诺AO,即AO=a·P。
[0041] 这里采用椭圆曲线上的倍点运算计算公开承诺,相较于使用大素数模指数运算的优势在于:计算效率更高。同时,在达到相同的比特安全强度时,前者所需的比特长度更短,能够节省通信开销。
[0042] 进一步,本发明的步骤B1中车载移动单元(OBU)再以国际移动用户识别码(IMSI)、时间戳TS、与车载移动单元(OBU)关联的基站标志符LAI、归属用户服务器(HSS)的公钥PK为输入参数,生成秘密信息M1的具体方法是:将国际移动用户识别码(IMSI)、时间戳TS、与车载移动单元(OBU)关联的基站标志符LAI串接后,再由公钥PK对串接后的消息进行加密运算,即:
[0043] M1=EPK{IMSI||TS||LAI}
[0044] 其中||表示字符串联运算,EPK{■}表示由公钥PK对消息■进行加密运算。
[0045] 采用椭圆曲线公钥密码体制(ECC)进行加密操作,具有更好的安全性,该算法提供更强的保护,比目前的其他加密算法能更好的防止攻击;且这ECC加密算法只需较短的密钥长度即可提供较好的安全性,如256位的ECC密钥加密强度等同于3072位RSA密钥的水平(目前普通使用的RSA密钥长度是2048位)。也即本发明以更低的计算能力代价得到了更高的安全性。
[0046] 更进一步,本发明的步骤B3中,以随机数b(i)、用户端公开承诺AO为输入参数,计算得到n个服务器端公开承诺B(i)和n个密钥KUH(i)的具体方法是:
[0047] 将随机数b(i)与椭圆曲线的生成元P进行倍点运算,即得服务器端公开承诺B(i),即B(i)=b(i)■P;
[0048] 将随机数b(i)与用户端公开承诺AO进行倍点运算,即得密钥KUH(i),即KUH(i)=b(i)■Ao。
[0049] 更进一步,本发明的步骤B3中,以长期共享密钥K和密钥KUH(i),生成对应的n个:消息认证码MAC(i)、匿名性保护密钥AK(i)、主密钥KASME(i)、主密钥标识符KSIASME(i)、期望响应XRES(i)的生成公式是:
[0050] 消息认证码MAC(i):
[0051] 期望响应XRES(i):
[0052] 匿名性保护密钥AK(i):
[0053] 主密钥KASME(i):
[0054] 主密钥标识符KSIASME(i):
[0055] 其中,表示输出128比特的哈希消息认证码运算、表示输出64比特的哈希消息认证码运算、表示输出48比特的哈希消息认证码运算、KDFK表示输出256比特的哈希消息认证码运算, 表示异或操作。
[0056] 下面结合具体实施方式对本发明作进一步的详细说明。