基于改进Diameter/EAP-MD5协议的民航SWIM用户认证方法

xiaoxiao2020-10-23  14

基于改进Diameter/EAP-MD5协议的民航SWIM用户认证方法
【技术领域】
[0001] 本发明是一种基于SOA架构下的SWIM用户的安全认证技术,属于信息安全领域。
【背景技术】
[0002] SWIM(SystemWideInformationManagement,即广域信息管理)义用的是面向服 务的体系结构SOA(Service化ientedArchitec化re)为民航领域提供信息交互和数据共 享的功能。目前,包括很多航空业务关键数据和保密信息在内,越来越多的业务数据在SWIM 网络中传输和交换,因此,SWIM面临的安全威胁也越来越突出,数据安全和隐私保护成为 SWIM发展必然要面临的课题,只有对SWIM用户身份做出可靠地确认才能有效地保证合法 用户接入SWIM网络并对其使用的相应资源进行保护,同时阻止非法航空用户对SWIM网络 进行恶意访问和破坏。
[0003] 对用户进行身份认证(Authentication)、访问授权(Authorization)和资源计费 (Accounting)的管理统称为AAA服务,其主要目标是对合法用户的网络访问进行实时控 审IJ,并对其资源使用情况进行相应记录,从而有效地保障系统的安全运行。伴随着互联网 本身进化过程中网络的融合,AAA服务协议也经历了从传统的RADIUS协议向下一代AAA协 议--基于IP的Diameter协议进化的历程。
[0004] 可提供AAA服务的现行RADIUS协议因其本身固有的缺陷,例如;C/S模式、基 于UDP面向非连接的传输、无失败恢复机制、认证与授权必须成对出现等,限制了它的进 一步发展。而新一代AAA协议-Diameter协议克服了RADIUS协议的诸多缺陷,如采用 Peer-to-Peer模式、基于TCP/SCTP面向连接的传输协议、提供可靠地失败恢复机制、认证 与授权分离等,拥有优良的兼容性、标准的规范化、极强的可扩展性和更高的安全性,更容 易进行新应用的扩展W满足新需求。目前,许多国际和区域性的标准组织都已逐步承认和 接受Diameter协议,在有线电视、GSM/UMTS、LTE、CDMA等网络中采用Diameter协议来作为 AAA接口。
[000引SWIM环境安全可靠的运行需要AAA服务提供基本的保障,而身份认证作为AAA服 务的首要构成要素理应引起普遍重视,综合考虑SWIM系统的发展现状W及AAA协议的进 化趋势,将构建基于S0A的SWIM平台,并为民航用户对SWIM环境的访问提供安全、可靠、 有效的基于Diameter协议的身份认证对下一代民航空管信息系统的建设具有重要意义。 Diameter协议及其EAP应用子协议并不是专为SWIM架构设计的,如前文所述,很多国际和 地区的标准化组织已经普遍接受Diameter协议,现有的各种网络也已逐步开始采用和部 署Diameter协议来做AAA接口,其安全性和可用性已经在实际应用中得到了验证。
[0006] 就安全性而言,SWIM虚拟信息池存储实时的飞行数据、监视数据、气象信息等,必 须保证数据的可用性、完整性和机密性,Diameter协议要求必须支持Ipsec安全协议W保 证数据的机密性和完整性,另提供可选的TLS安全协议对数据进行保护,而在应用层提供 基于EAP协议的多重身份认证方法;
[0007] 就软硬件部署而言,我国民航SWIM网络的研究和部署处于发展初期,面向的是由 国家民航总局、地区空管分局W及空管分局站S层管理体制组成的空管组织及其下属的 各级用户,使用Diameter协议为SWIM提供用户身份认证可W更好地解决分布式应用和 跨域认证的问题。对我国民航SWIM服务架构的搭建而言,考虑到我国的民航业发展和客 体分布的实际情况,用户多W区域为界进行区分,使用Diameter/EAP进行认证时可采用 NAI(NetworkAccessIdentify),即"userOrealm"的结构,支持非本域用户的信息路由,其 中user是用户名,realm是管理域名,恰好可与用户所在区域相对应,由NAI的realm可W 得知用户的注册网络。在对非本域用户的认证过程中,用户提供NAI信息,Diameter服务 器就可W根据NAI识别用户的注册Diameter服务器,转发用户的请求。
[0008]标准Diameter/EAP-MD5认证流程,其流程如下;
[0009] ①.NAS向Diameter认证服务器发送N1XLMessage,标志认证过程的开始;
[0010] ②.Diameter认证服务器向NAS发送D邸报文,要求用户提供身份信息;
[0011] ⑨.NAS将D邸消息解封后重新封装成EAP-Request消息后转发给用户;
[001引④.用户将身份信息W明文形式包含在EAP-Response消息中返回NAS;
[001引⑥.NAS提取用户身份信息后将其封装在DEA消息中转发给Diameter认证服务 器;
[0014] ⑧.Diameter认证服务器将接收到的用户ID与数据库中存储的信息对比,若不匹 配则发布认证失败消息,若匹配则向NAS发送D邸消息,其中包含服务器端产生的随机数;
[0015] ⑦.NAS提取其中的随机数并向用户转发EAP-Request消息;
[0016] ⑨.用户对接收到的随机数和密码做hash运算,并将计算值同用户ID-同发往 NAS;
[0017] ⑨.NAS将该EAP-Response消息重新封装在D邸消息中发往Diameter认证服务 器;
[0018] ⑩.Diameter服务器本地计算原随机数与用户名对应密码的hash值,并与接收到 的hash值作比较,若相同则返回认证成功消息,若不同则返回认证失败消息;
[0019] ⑩..NAS向用户转发相应的EAP-Success/Failure消息。
[0020] W下分析WDiameter/EAP-MD5标准认证为重点研究对象,该认证方法类似于 CHAP认证,拥有简单易行的特点和最基本的保密性,但它在SWIM安全服务架构的具体实现 中仍存在许多安全隐患,主要有W下几点:
[0021] (1)认证过程中用户ID始终明文传输,机密性的缺失往往是致命的。一旦该些用 户的身份信息被攻击者截获,若用来对服务器或数据库进行各种注入式攻击,则会导致更 多敏感甚至是机密数据的泄露。SWIM用户设及机场、航空公司、空管局及其下属单位等,W 管制员为例,若攻击者截获该管制员ID,借此破译其认证密码,则极有可能凭借管制员权限 查看到相应保密级别的信息,严重的有可能威胁到飞机航行安全甚至是国家民航机密。 [002引(2)NAS/DiameterClient只起到转发作用,其身份未被确认,一旦被攻击者仿冒, 则很容易进行中间人攻击,造成用户信息和服务器信息的双重泄露,即使用户和服务器之 间传输的消息是经过加密的,若此消息被截获,也可利用猜测攻击获得相关明文甚至是密 钥。SWIM信息池包含海量的飞行数据、监视数据、气象信息等,NAS的仿冒者极有可能在服 务器返回用户请求的过程中截获该些信息从事非法活动。
[002引 做EAP的相关RFC文档中要求EAP应实现双向认证,而EAP-MD5仅实现了服务器 对用户的认证,并没有实现用户对服务器的认证。若用户盲目地向攻击者仿冒的服务器提 供个人信息,则会造成不必要的损失。

【发明内容】

[0024] 本发明在SOA架构的模拟SWIM平台下实现基本的用户身份Diameter/EAP-MD5 认证,并分析了标准Diameter/EAP-MD5认证其自身所存在的缺陷,并在此基础上新增 Diameter/EAP-MD5认证方法的双向认证、数据加密及增加随机数抵御重放攻击等。改进后 的Diameter/EAP-MD5认证未增加流程消息数,并在几乎没有增加时间复杂度的基础上对 双向认证、抵御重放攻击、保护用户信息机密性方面都做了部分改善,从而提高了网络AAA 服务基础设施的安全性和准入严格性。
【附图说明】
[0025] 图1为标准Diameter/EAP-MD5认证流程。
[0026] 图2为改进Diameter/EAP-MD5认证流程。
【具体实施方式】
[0027] Diameter/EAP-MD5标准认证方法存在固有的缺陷和漏洞,若直接应用到SWIM网 络中,显然不符合SWIM用户属性多样化、数据等级分层化、异构系统互连化的特点,安全性 的缺失不仅会造成用户个人信息的泄露,更有可能牵一发而动全身,威胁到整个SWIM网 络。
[002引针对Diameter/EAP-MD5标准认证存在的缺陷和漏洞,对该些安全 缺陷和漏洞做 出有针对性的改进,才能在实际应用中提供更强的安全性。改进的Diameter/EAP-MD5认证 可分为=个阶段:
[0029] 第一阶段;SWIM用户与NAS之间的相互认证。
[0030] ①.NAS向Diameter认证服务器发送N1XLMessage,标志认证过程的开始;
[003U②.Diameter认证服务器向NAS发送D邸报文,要求用户提供身份信息;
[003引⑨.NAS将D邸消息解封后重新封装成EAP-Request消息后转发给用户;
[003引④.用户产生一随机数R1,使用与NAS共享的AES算法对称密钥K1将用户ID和R1同时加密后封装在EAP-Response消息中发往NAS,若NAS持有相应的K1,则可实现与用 户的相互认证并提取用户ID,否则认证失败。
[0034] 第二阶段:用户对服务器的认证。
[003引⑥.NAS使用K1解密消息后得到用户ID和随机数R1,判断用户的reaml信息W确 定转发至哪个Diameter认证服务器,然后使用与Diameter认证服务器约定的AES算法对 称密钥K2对其进行加密后封装在D邸消息中转发给Diameter认证服务器;
[0036] ⑧.Diameter服务器使用K2解密消息得到用户ID并加W判断,若未存用户1〇,贝。 对用户域名加W判断,如仍不匹配则发布认证失败消息,若已存用户ID,则生成随机数R2, 连同与R1-起做的hash运算H巧1,R2)返回给NAS。
[0037] ⑦.NAS使用K2得到R2后再用K1进行加密,将H(R1,哟一同包含在向用户发送 的EAP-Request消息中;
[003引⑨.用户通过K1得到R2之后自行计算R1、R2的哈希值并与接收到的H巧1,R2)对比,若不相同则对Diameter服务器重新发起认证,若相同则向NAS发送包含用户ID和 H(ID,PW,R2)的EAP-Response消息。
[0039] 第S阶段;服务器对用户的认证。
[0040] ⑨.NAS使用Kl得到用户ID后用K2加密,连同HaD,PW,R2)-起向Diameter服 务器发送Diameter-EAP-Request消息;
[004U ⑩.Diameter服务器对比接收到的H(ID,PW,R2)与本地的计算结果,若一致则认 证成功,若不一致则认证失败,回复相应的Success/化ilure消息;
[0042]風NAS向用户转发EAP-Success/EAP-Failure消息。
[0043] W上过程针对标准Diameter/EAP-MD5认证方法中存在的用户身份信息明文传 输、未对NAS进行身份确认、未实现用户与服务器的双向认证等主要缺陷实现了改进。
[0044] 在改进的认证方法中,用户与NAS之间、NAS和认证服务器之间分别采用约定的对 称密钥K1、K2对消息进行加密,该样针对使得用户身份信息加密传输,增加了信息的机密 性;用户和NAS之间依靠对称密钥K1实现了双向认证,同时用户利用本地产生的随机数R1 和认证服务器产生的随机数R2实现了对服务器的认证;在改进的认证方法中每一次新的 认证,用户生成新的随机数R1,Diameter认证服务器生成新的随机数R2,且R1位长可选, 两个随机数的配合使重放攻击的可能性大大降低。
【主权项】
1. 一种基于改进Diameter/EAP-MD5协议的民航SWM用户认证方法,在分析标准 Diameter/EAP_MD5认证及其自身所存在的缺陷的基础上,新增Diameter/EAP_MD5认证 方法的双向认证、数据加密及增加随机数抵御重放攻击,其特征在于:改进的Diameter/ EAP-MD5认证可分为三个阶段: (1) .第一阶段,使用与NAS共享的AES算法对称密钥Kl将用户ID和Rl(由用户产生) 同时加密后封装在EAP-Response消息中发往NAS,以此来对用户信息加密传输,并对NAS进 行身份确认; (2) .第二阶段,用户利用本地产生的随机数Rl和认证服务器产生的随机数R2实现对 服务器的认证; (3) .第三阶段,服务器端通过对Rl及用户信息进行hash运算,并将结果与收到的客户 端的运算结果进行比较来实现服务器对用户的认证; 改进后的Diameter/EAP-MD5认证未增加流程消息数,并在几乎没有增加时间复杂度 的基础上对双向认证、抵御重放攻击、机密性等方面都做了部分改善。2. 第一阶段实现SWM用户与NAS之间的相互认证,其具体过程如下: (1)NAS向Diameter认证服务器发送NULLMessage,标志认证过程的开始; (2) Diameter认证服务器向NAS发送DER报文,要求用户提供身份信息; (3)NAS将DER消息解封后重新封装成EAP-Request消息后转发给用户; (4) 用户产生一个随机数R1,使用与NAS共享的AES算法对称密钥Kl将用户ID和Rl 同时加密后封装在EAP-Response消息中发往NAS,若NAS持有相应的K1,则可实现与用户 的相互认证并提取用户ID,否则认证失败; 用户通过使用与NAS共享的算法对称密钥Kl来加密用户信息及用户产生的随机数R1, 解决用户ID明文传输问题,提高了传输信息的机密性,同时实现了SWM用户与NAS之间的 相互认证。3. 第二阶段实现用户对服务器的认证,具体过程如下: (1) NAS使用Kl解密消息后得到用户ID和随机数R1,判断用户的realm信息以确定转 发至哪个Diameter认证服务器,然后使用与Diameter认证服务器约定的AES算法对称密 钥K2对其进行加密后封装在DER消息中转发给Diameter认证服务器; (2)Diameter服务器使用K2解密消息得到用户ID并加以判断,若未保存用户ID,则对 用户域名加以判断,如仍不匹配则发布认证失败消息,若已存用户ID,则生成随机数R2,连 同与Rl-起做的hash运算H(Rl,R2)返回给NAS; (3)NAS使用K2得到R2后再用Kl进行加密,将H(R1,R2) -同包含在向用户发送的 EAP-Request消息中; (4) 用户通过Kl得到R2之后自行计算R1、R2的哈希值并与接收到的H(R1,R2)对比, 若不相同则对Diameter服务器重新发起认证,若相同则向NAS发送包含用户ID和H(ID, PW,R2)的EAP-Response消息; 用户利用本地产生的随机数Rl和所获得的认证服务器产生的随机数R2进行hash运 算,将运算结果与收到的服务器端hash运算值H(R1,R2)比较,以此来实现用户对服务器的 认证。4. 第三阶段实现服务器对用户的认证,具体过程如下: (1) NAS使用Kl得到用户ID后用K2加密,连同H(ID,PW,R2) -起向Diameter服务器 发送Diameter-EAP-Request消息; (2)Diameter服务器对比接收到的H(ID,PW,R2)与本地的计算结果,若一致则认证成 功,若不一致则认证失败,回复相应的Success/Failure消息; (3)NAS向用户转发EAP-Success/EAP-Failure消息。5.在改进的认证方法中每一次新的认证,用户生成新的随机数Rl,Diameter认证服务 器生成新的随机数R2,且Rl位长可选,两个随机数的配合使重放攻击的可能性大大降低。
【专利摘要】SWIM(System Wide Information Management,即广域信息管理)采用的是面向服务的体系结构SOA(Service Oriented Architecture)为民航领域提供信息交互和数据共享的功能。SWIM在提供数据高速交互和信息共享的同时,面临越来越多的安全威胁,其中,数据安全和隐私保护是SWIM核心服务必须解决的问题。本发明在SOA架构的模拟SWIM平台下实现基本的用户身份Diameter/EAP-MD5认证,分析了标准Diameter/EAP-MD5认证所存在的缺陷,提出基于改进的Diameter/EAP-MD5协议的SWIM用户身份认证方法。在模拟的SWIM环境中对改进方法进行仿真实验和安全性分析。实验结果表明:改进的Diameter/EAP认证方法可在性能相当的前提下提高认证系统的安全性,为SWIM安全服务框架的构建提供保障。
【IPC分类】H04L9/32, H04L29/06
【公开号】CN104901946
【申请号】CN201510169419
【发明人】吴志军, 牛方超, 王彩云, 雷缙, 岳猛
【申请人】中国民航大学
【公开日】2015年9月9日
【申请日】2015年4月10日

最新回复(0)