基于一次口令的认证协议开发和实施 - 蜂朝网
服务电话:021-62170626

基于一次口令的认证协议开发和实施

时间: 2014-12-05 编号:sb201412051900 作者:蜂朝网
类别:在职硕士论文 行业: 字数:46110 点击量:857
类型: 收费    费用: 0元

本站提供专业的[留学生论文]定制业务,如需服务请点击这里给我发消息,联系电话:13671516250.

文章摘要:
本文是在职硕士论文,主要论述了在 Eclipse 环境中使用 JAVA 语言,实现本文所提出的两个认证协议,并且对协议的性能进行了测试,测试结果表明所提出的协议具有很好的性能。

第一章 绪论


目前应用于互联网络的多个口令认证协议存在一些严重的安全隐患,给用户带来了严重的利益损失,也损害了服务提供商的自身形象。表 1.1总结了近几年我国互联网络发生的典型口令泄密事件。2011 年12月,国内最大的程序员网站 CSDN 的安全系统数据库遭到黑客攻击,涉及到 600 万用户的登录名、密码及邮箱遭到泄漏。随后,CSDN"密码外泄门"持续发酵,天涯、世纪佳缘等网站相继被曝用户数据库遭到入侵,导致 4000万用户隐私遭到黑客泄露。另一方面,可供用户使用的互联网服务很多,基本都通过用户与口令密码形式注册。用户由于习惯性因素可能在不同的网站注册时,经常会在不同的互联网服务中设置相同的密码。因此一旦一个网站的密码泄漏,就有可能导致多个网站的密码泄露,进而使得上述口令泄露事件影响更大。本文的主要研究目的是设计与实现安全基于一次口令认证协议包括两方认证协议以及三方认证协议,文章的各章节安排如图 1.3 所示,包括以下 5 个章节: 第一章:绪论,主要介绍研究背景、研究现状、研究意义以及文中章节安排。 第二章:预备知识,主要介绍本文的相关工作、哈希函数等基础知识以及JAVA 语言简介。 第三章:基于一次口令的认证协议设计,包括基于一次口令的两方认证协议以及三方认证协议,并给与安全性分析证明协议能够满足多个安全需求。 第四章:基于一次口令认证协议的实现与测试,包括通过 JAVA 语言实现文中所设计的两方认证协议以及三方认证协议,同时结合排队论知识对通信性能进行测试。

第五章:结束语,对全文进行总结以及对未来工作进行展望。 

...........


第二章 预备知识


2.1  基础知识

对称加密系统:在对称加密系统之中,也称为单密钥加密。所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。假设 Alice欲传送信息给 Bob,为了实现消息的机密性,ALICE 与 Bob 首先共享一个会话密钥(可以通过密钥协商方式也可以通过密钥欲共享方式),然后使用会话密钥将信息加密并将密文发送给 Bob。在收到密文之后,Bob 使用共享私钥进行解密恢复出明文信息。常用的对称加密有: DES、IDEA、RC2、RC4、SKIPJACK、RC5、AES 算法等。


2.2 JAVA 语言与 Eclipse 开发环境

我们使用Java语言实现本文中设计的一次口令认证协议。Java是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级 Web 应用开发和移动应用开发。Java不同于一般的编译语言和脚本语言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了―一次编写,到处运行‖的跨平台特性。 因为协议中涉及到HMAC 等密码算法,我们使用了 javax.crypto 软件包[5]。该软件包为加密操作提供类和接口。


第三章  一次口令安全认证协议 ........................ 15

3.1 系统模型与设计目标 ................................ 15

3.2  基于一次口令的两方认证协议 ............................... 17

3.3  基于一次口令的三方认证协议 ...................... 21

3.4  安全性分析 ............................... 22

3.5  本章小结 ......................... 24

第四章 协议实现与性能测试 ............................... 25

4.1 架构设计 ........................ 25

4.2 功能实现 ............................. 27

4.3  协议性能测试................... 33

4.4  本章小结................... 34

第五章结束语 ....................... 37


第四章 协议实现与性能测试


4.1 架构设计

本文所提出的三方认证协议实现包括:注册模块、授权登录模块以及登录模块,如图 4.2所示。

(1) 注册模块:用户向注册服务器提交注册信息包括身份账号以及口令,在收到用户的注册请求之后,注册服务器计算与用户相对应的参数并安全地发送给用户端。另外,注册服务器在计算完用户参数之后,本地不存储用户口令信息。

 (2) 授权登录模块:用户使用口令信息、用户参数以及计算器生成授权登录请求发送注册服务器。收到认证请求之后,服务器使用自己的主密钥验证认证请求的合法性。若合法,发送接受用户的信息授权登录信息。

(3) 登录模块:用户使用口令信息、用户参数以及计算器生成认证请求发送给注册服务器。收到认证请求之后,注册服务器使用自己的主密钥验证认证请求的合法性。若合法,发送接受用户的授权登录信息以及向用户证明自己合法性的参数。之后,用户使用收到的授权登录信息实现与授权服务器之间的相互认证以及协商出会话密钥。


4.2 功能实现

生成两个随机数 n1和n2,然后将这两个随机数用之前生成的随机数 k作为密钥,使用 AES 进行加密。同时,该服务器与第三方共享了一个密钥 ks,使用这个密钥将第三方服务器的 ID与随机数n1 和n2都加密后生成Encks,与上一个数据一起发送给客户端,如图 4.12所示 客户端接收到这些数据后,对数据进行解密,恢复出随机数 n1和n2,再自行计算出 n1 和 n2 的 MD5 哈希值,连同 Encks一起发送给第三方服务器。第三方服务器解密出n1 和n2,验证是否有效。验证成功后就授权该用户登录,这个过程如图 4.13所示。

...........


第五章  结束


由于独有的长度短,口令认证技术是当前基于互联网络服务的最常见认证方式。然而,近几年的爆发的大型网络服务提供商―口令泄密―事件,提示着我们当今最为主流的静态密码存在着严重的安全缺陷,一旦用户信息数据库被入侵,则攻击者能够轻而易举地获取用户的身份以及口令信息,进而给用户带来不可估量的破坏。 静态口令缺陷的根本原因是:用户的身份以及口令信息需要存储在服务端。结合上述问题,本文做了以下三方面的工作:   

(1)设计一个基于一次口令的两方认证协议,所设计的协议无需在服务端存储用户口令,并且用户端仅仅执行哈希函数、异或等操作,能够有效地降低用户端的计算开销;   

(2)设计一个基于一次口令的三方认证协议,所设计的协议无需在服务端存储用户口令;   

(3)在 Eclipse 环境中使用 JAVA 语言,实现本文所提出的两个认证协议,并且对协议的性能进行了测试,测试结果表明所提出的协议具有很好的性能。

.............

参考文献(略)


如需定做,在职硕士论文请联系我们专家定制团队,QQ337068431,热线咨询电话:021-62170626
分享到: