本文是一篇文献综述,文献综述根据研究的目的不同,可分为基本文献综述和高级文献综述两种。基本文献综述是对有关研究课题的现有知识进行总结和评价,以陈述现有知识的状况;高级文献综述则是在选择研究兴趣和主题之后,对相关文献进行回顾,确立研究论题,再提出进一步的研究,从而建立一个研究项目。(以上内容来自百度百科)今天网为大家推荐一篇文献综述,供大家参考。
第 1 章 绪论
1.1 研究背景与意义
随着互联网及其应用的不断发展,互联网的在线服务已经成为人们生活必不可少的一部分,其服务提供商能在全世界范围内提供诸如邮件、视频、游戏等不同的服务。在用户方面,随着智能终端的不断发展,用户的智能终端设备在性能方面已经得到飞跃式的发展,更进一步促进了在线网络服务的发展。虽然在线服务为我们生活带来了许多方便,但也带来许多问题,其安全性问题就是其中的一个关键问题之一。多服务器环境下的身份认证作为多服务器应用安全性的关键问题,一直是人们关注的焦点。抛开互联网服务不说,即便在现实生活中的任何重要的交易都需要以明确的形式去认证身份,比如合同签约,银行卡密码等等。在互联网的网络服务亦是如此,合法用户的身份认证是网络安全的第一道安全保障,因此身份的认证机制对任何一个网络服务来说都是非常重要且必不可少的一个环节。只有通过身份认证的合法用户,才能享受合法用户的资源与服务,未通过的用户即非法用户不能触及这些合法的资源,以防止其对信息的窃取和对合法资源的破坏而造成对合法用户的权益损害。在多服务器环境下的身份认证方案中,通过智能卡能够很方便的去辨别远程用户的合法性,因此智能卡得到了广泛的使用。目前,多服务器环境下基于智能卡的身份认证方案通常可以划分为两种类型:三方认证模式和两方认证模式。三方认证模式是指注册中心需要参与用户与服务器之间的认证,而两方认证模式则不需要注册中心的参与。基于三方认证模式的身份认证技术的优势在于用户存储的认证参数比较少,计算费用相对低。但因为服务器自身没有验证用户合法性的能力,每次认证时,需传递认证消息给第三方认证中心,因此数据通信费用相对比较大。此外,在该模式下的认证效率深受认证中心的效率的影响,攻击者通常会抓住这个把柄去进行攻击。基于两方认证模式的身份认证技术不需要第三方认证中心的处理,但实现认证身份,服务器与用户之间事先必需共享一系列的秘密参数,即需要用户的智能卡存储秘密认证信息。而且随着注册的服务器增多,智能卡存储的秘密认证信息增多,这对存储容量是有限的智能卡是很不现实的。如何在多服务器环境下,智能卡存储的信息不随着注册服务器增多而增多,是一个急需解决的问题。
........
1.2 国内外研究现状
现如今的多服务器环境下基本上第一个安全保障就是对用户进行有效的身份认证,这对于保护用户的隐私及相关的合法权益具有极其重要的意义。对国内外的学者而言则正通过不断的探索各个未知的领域,尝试各式各样的方法以寻求一个更加安全有效的用户身份认证机制。基于口令的远程认证方案由 Lamport[1]于 1981 年首次提出,由此拉开了基于口令的单因子认证技术的时代。2000 年,Lee[2]的等提出了一种当时较为先进的多服务器认证机制。不就之后 Tsaur 等人[3]于 2001 年为我们带来了多服务模型的思想,基于 RSA 公钥密码系统和拉格朗日插值不等式设计了一个多服务器认证方案。但是 Kim 等[4]指出了 Tsayr 等方案会遭受猜测攻击问题。随后 Tsaur[5]等于 2005 年对该问题进行了进一步的改进,但是该方案的计算时间和通信开销均造成效率低下。在椭圆曲线离散对数问题的基础上,Wang 和 Ma 等人[6]提出了一种智能卡认证模型,这种模型能在多服务器的环境下运行,同时可以抵御重演攻击、服务器扮演攻击和匿名攻击,从而保障了其安全性和有效性。但是 Pippal 等人[7]指出了方案中仍然存在服务器扮演攻击和匿名攻击的问题,而且由于服务器每次认证用户信息时都需要读取该用户的验证表,因此用户数量的增加会导致服务器的负荷越来越大。对于这些问题,Pippal 等人基于上述模型提出了多服务器认证的方案。在新方案中,只要注册一次,用户就能够访问多个服务器。同时新方案支持用户与服务器的会话密钥协商与相互认证。但是,DianliGuo 等人[8]又认为 Pippal 等人的改进方案不但没有修复离线口令猜测攻击和假冒攻击的漏洞,反而导致了认证过程的复杂化。2014 年,He 和 Wang[9]提出了一种基于智能卡和离散椭圆曲线的强力有效的多服务器认证方案,但是 Vanga 等人[10]于 2015 年指出其不能抵抗会话中特定的临时信息的模拟攻击。2016 年,Reddy 等人[31]提出了安全性更强的多服务器认证方案。
..........
第 2 章 相关知识
本章介绍本文所用到的一些相关知识,包括双线性映射、椭圆曲线密码算法,Hash 函数、BAN 逻辑证明等。
2.1 认证方案的安全要求
根据文献[22]和[23],一个认证方案需要满足如下的安全要求:1. 秘钥安全(SK-security):一个认证方案必须能够保证会话秘钥在这两种情况下依然是安全的:(1)当前会话秘钥或者临时会话信息的泄露不能影响其他会话的安全性。(2)若重要的长期秘密泄露出去,比如用户或者服务器的私钥的泄露,也不会让攻击者获取以前的会话秘密信息。2. 用户证书隐私(User credentials privacy):攻击者不能获取用户的证书,比如认证参数,用户密码等等。3. 互相认证的安全性(Secure mutual authentication):在所拥有的秘密的前提下,确保认证方案能够提供一个安全的互相认证机制。
........
2.2 BAN 逻辑
BAN 逻辑是由 Burrows,Abadi 和 Needham[24]提出来的一种分析认证协议的形式化逻辑证明方法。BAN 逻辑是以合法主体的信仰为基础的模态逻辑,其在推理的过程中,参与协议的主体信仰随着认证双方的不断信息交换而不断推理变化。对协议进行分析时须将协议信息转换成 BAN 逻辑特定的公式信息,这一步被称为协议的理想化,结合被分析协议的合理假设和 BAN 逻辑规定的推理规则对已理想化后的协议进行推理,以此来推断协议的安全性。
.........
第 3 章 基于智能卡的多服务器认证方案.......... 10
3.1 提出方案的符号定义............ 10
3.2 初始化阶段...... 11
3.3 注册阶段.......... 11
3.4 登录阶段.......... 12
3.5 认证阶段.......... 13
3.6 修改密码阶段............. 15
3.7 方案安全性和性能分析........ 16
3.8 本章小结.......... 21
第 4 章 基于多服务器认证仿真系统设计与实现......... 23
4.1 编译环境.......... 23
4.2 基于多服务器环境下的仿真认证系统的设计..... 23
4.3 基于多服务器环境下认证系统的实现...... 29
4.4 本章小结.......... 35
第 5 章 总结与展望............. 36
5.1 总结....... 36
5.2 展望....... 36
第 4 章 基于多服务器认证仿真系统设计与实现
本章将基于第三章所提的认证方案,通过使用 Socket 技术,JPBC 库和 JAVA 编程语言模拟一个基于多服务器的认证仿真系统。
4.1 编译环境
(1)操作系统:Windows 7 操作系统Windows 7 操作系统是 Microsoft 公司所推出的基于可视化窗口的多任务操作系统,具有视觉效果好,性能稳定,用户交互良好等优点,它的核心版本号是 Windows NT6.1。
(2)开发工具:Eclipse 集成开发工具Eclipse 是一种开源的 JAVA 开发工具,其本身结构而言就是一个框架平台和一组服务,它作为目前最出名的自由集成开发环境,众多企业能通过以 Eclipse 本身的框架为基础开发出更契合自身用途的 IDE,加上本身图形交互界面,使得它广受欢迎。
(3)编程语言:JAVA 编程语言本文实验的实现采用的是 JAVA 编程语言,该编程语言是一个完全面向对象的程序开发语言,于 1995 年由 SUN 公司推出,目前已成为开发最常用的语言之一,具有扩平台,面向对象,分布式等优秀的特点。
(4)相关技术:Socket 网络编程技术与 JPBC 库Socket 网络编程:Socket 也叫套接字,我们使用它开表示 IP 地址和对应端口,它是目前网络通信的基础,因为网络编程中计算机之间的交互通讯大多数都是使用 Socket 技术实现的。在基于 TCP/IP协议的网络通信中,通常也都是使用 Socket 套接字实现的,因此也有人称 Socket 网络通信的基本操作单元。
..........
总结
在互联网迅猛发展的时代,多服务器环境下的应用非常广泛,而其中身份认证的问题一直是人们考虑的焦点,所以说研究在多服务器环境下安全高效的身份认证方案是非常有价值,具备非常优秀的应用前景。该文章主要针对多服务器环境下的身份认证技术展开研究,主要工作有几个方面:
(1)通过对比分析两方认证与三方认证的认证技术,提出一个采用两方认证模式的身份认证方案。该方案避免用户存储参数与服务器数量成一定线性增长的关系,并通过使用BAN 逻辑分析证明本文所提方案的安全性和有效性,最后通过性能分析该方案的可行性。
(2)基于 JPBC 库函数与网络套接字技术设计实现一个仿真多服务器环境下的身份认证系统,通过实验证明本文所提方案的可行性。受限于自己学识能力与时间的紧急性,本文还有些问题需要进一步改善,如本文所提的方案中未实现用户撤销,完全匿名等问题,在系统设计与代码实现的过程中,出现用户的交互性方面做得不够好等问题。
..........
参考文献(略)