当前位置:主页 > 硕博论文 > 社科硕士论文 >

Kerberos协议和DES加密算法在电子邮件服务认证设计与实现中的应用

发布时间:2014-09-30 19:44

【摘要】 电子邮件以其快速、便捷、有效、可信的特点,成为现代社会信息沟通重要方式。但电子邮件传输信息的过程中,常发生电子邮件信息泄密、欺诈或携带木马病毒的事件。这些事件已严重威胁到电子邮件服务器系统的正常运行和服务,对用户形成了极大的信息安全隐患,甚至造成了严重的经济损失。因此,很有必要通过研究电子邮件传输过程中的脆弱性和威胁点,来有效避免上述情况发生。本文通过对Kerberos协议和DES加密算法的研究,在深入分析电子邮件传输过程和Kerberos协议的基础上,提出并设计一种新的Kerberos协议实现的模型算法,并通过将这种新的Kerberos协议模型算法导入电子邮件传输过程中,确保电子邮件在传输信息过程中的有效性和安全性。本文主要做了如下工作:1.研究Kerberos协议内容要求及其实现方法,提出并实现了一个新的Kerberos算法。在该算法模型中加入时间戳和有效期管控因子,以保证在电子邮件服务过程中的信息不被冒用或抵赖否认。2.研究并实现了Kerberos认证过程中信息流的加解密模块。通过对比分析对称加密算法和非对称加密算法的优缺点,选择已经过国际安全性验证的DES算法作为实现认证过程中信息流加解密模块的算法。3.研究Kerberos数据输入输出的格式规范化设计问题,提出通过采用ASN.1基本编码规则中的TLV格式来对本文中所要加密的数据信息流进行格式化处理,以消除在加解密过程中可能出现的错误情况。4.研究基于Kerberos协议和DES加密算法的电子邮件服务认证模拟实现的过程,主要包括身份认证阶段的流程实现、票据授权阶段流程实现和电子邮件服务阶段流程实现等过程。本文最终设计出一个新的Kerberos协议算法实现模型,成功将其应用到了电子邮件系统进行身份认证及票据授权,并通过DES加解密算法对身份认证及通信数据进行加解密,圆满完成了本文所要达成的目标。 


第一章 绪 论

1.1 本文研究的背景及意义
随着计算机技术的出现,给人们日常生活和工作带来了巨大的便利和影响。特别是进入 20 世纪 90 年代以后,伴随着科学技术理论发展、特种高新材料的应用、精密电子元器件以及印制电路制造技术的高速发展,世界计算机技术有了突飞猛进的发展和进步[1]。计算机技术发展的同时,也带动了通信技术和网络技术的飞速发展。互联网从最初的军方和校园实验室中,发展到如今各个国家互联在一起的国际性综合互联网络。
最初的互联网络系统中主要是以单机形式存在的,网络模式采用的是集中式分布网络。而随着技术不断进步,以及教育科研机构对计算机和网络的需要不断提高,逐渐产生了分布式网络系统。分布式网络系统相比于集中式的网络系统,具有非常明显的优势。分布式网络系统具有性能高效、实时控制、通信快捷、资源共享和风险分散等优点,反映了当今信息社会计算机系统网络的发展趋势。随着分布式网络系统被更多的机构和个人使用,人们也同时发现了一些存在于分布式网络系统中的安全问题。这些问题主要集中在如何保障分布式网络系统中各个主机的信息安全?如何保障网络通讯过程中信息流的保密性、完整性和可用性?
上述的安全问题产生的根本原因是,在分布式网络设计和创建的过程中,人们只是单纯的考虑到如何保障网络通讯过程中更加快速、更加便捷的问题,而没有考虑到分布式网络系统中存在哪些安全漏洞?这些安全漏洞容易遭受哪些方面的恶意渗透或攻击。由于这些问题迟迟没有得到有效解决,造成了分布式网络系统被频繁恶意攻击的次数越来越多。一旦这些分布式系统遭受恶意攻击,无论这些攻击是来自外部还是内部,都会对分布式网络系统本身的安全以及用户的隐私和信息安全带来极大的影响和损失。
随着现代科学技术的不断发展,信息技术也在不断的发展和应用,从更深层次的广度和宽度影响和改变着人类对信息技术的认知。同样,信息安全的问题也在被越来越多的安全专家和学者所重视。而信息安全的内涵,也从最开始的只是注重信息的保密性,进而发展到关注信息的可用性和完整性。同时,在信息安全体系推进和发展的过程中,人们通过实践进一步提出,信息安全的可追溯性、不可抵赖性、通讯双方的身份验证等问题,也是信息安全领域需要重视的问题。通过对理论和实践的不断研究,人们总结了许多关于信息安全领域的“攻(攻击)、防(防范)、测(检测)、控(控制)、管(管理)、评(评估)”等多方面的基础理论和实施技术[2]。同时世界上主要的安全厂商也都针对于分布式网络系统中信息安全问题研发了对应的安全产品,这些产品主要包括信息加密、入侵检测、防病毒、身份认证等各个方面和领域。
结合信息安全管理理论和保障信息系统通讯安全的技术发展来看,身份认证技术(Authentication Technology)是保护分布式网络系统通讯过程中非常重要的安全手段之一。目前所有的分布式网络通讯过程建立连接的前提是,需要所有的通讯方身份进行合法性验证,从而保障通讯过程中的信息保密和网络安全性。
因此,应用身份认证技术的主要目的,就是要验证分布式网络通讯过程中所有通讯方的身份信息,防止网络通讯过程中传输的信息被非法用户恶意的窃取和攻击。正式基于此作用,身份认证技术已经成为最重要的,也是最基本的分布式网络系统通讯服务之一。
正式基于上述的重要作用,身份认证系统一旦其本身遭遇安全威胁或恶意攻击,又或者是身份认证技术本身的实现技术和理论存在重大安全隐患,那么我们所使用的系统及网络通讯的所有安全措施将形同虚设,毫无安全性可言。因此,身份认证技术本身的安全设计强度决定了分布式系统中网络通讯过程的安全强度。
电子邮件应用是自互联网大规模商用之后最早的网络通讯应用之一。虽然网络通讯技术日新月异,网络通讯软件及应用如雨后春笋般不断涌现,但是电子邮件应用仍被公认为最有效、最便捷的网络通讯应用之一。随着网络通讯技术的发展和电子邮件开发商的不断努力,目前电子邮件的功能越来越丰富,世界上使用电子邮件的人数也越来越多。据 2012 年 CNNIC 的调查结果显示,我国全部互联网用户已经超过 5 亿,而电子邮箱账户已超过 8 亿。也就是说,我国平均每个互联网用户拥有 1.6 个电子邮箱[3]。时至今日,电子邮件已经发展成为政府、教育、金融、服务等行业最基本、最普遍的网络通讯工具。
.............................

1.2 当前身份认证的研究与应用
在进行本文深入探讨主题之前,我们有必要了解一下什么是身份认证,有哪些身份认证的技术和实现方式,当前世界对于身份认证及其技术的研究和应用已经发展到什么样的程度。
身份认证从本质上讲,就是通讯的双方必须对彼此的身份合法性进行验证,确保通讯双方就是彼此需要进行信息传输和交互的对象。身份认证要保证在网络中进行传输的信息不被他人非法获取和攻击,从技术实现角度来看就是要需要进行认证的一方能够采取有效的途径和方法,使得认证授权的一方确认他确实拥有那些信息。
身份认证技术是应用系统安全的第一道关口,是所有安全的基础。目前身份认证技术可以分为三大类:基于口令的身份认证技术,基于信物的身份认证技术和基于生物特征的身份认证技术[5]。
基于口令的身份认证技术主要是根据你所知道的信息来证明你的身份(whatyou know;即,你知道什么?);例如你自己的口令密码、设置的问题答案等等信息。这种身份认证形式,也就是我们常说的“基于口令的认证方式”。
(2)根据你所拥有的东西来证明你的身份(what you have;即,你有什么?);假设某一件东西只有你本人拥有,如 IC 卡、USB-Key、单位数字证书等,通过出示这个东西也可以确认你的身份。这种身份认证形式,也就是我们常说的“基于信物的认证方式”。
(3)直接根据独一无二的身体特征来证明你的身份(who you are;即,你是谁?),比如指纹、面貌等。这种身份认证形式,也就是我们常说的“基于生物特征的认证方式”。
下面就这三种主要身份认证形式进行理解和阐述:
(1)基于口令的认证方式——
在日常工作和生活中使用最多的身份认证技术,就是基于口令的认证技术。例如 A 和 B(A 表示被认证的对象;B 表示提供服务的认证方),当 A 要求访问系统时,B 则要求 A 出具正确的系统登陆所必须的账号口令。B 收到 A 提交的账号口令以后,将其与自己账号口令数据库中的账号口令进行一致性比对,如果两者比对相符,则 B 就认为 A 就是合法的用户。这种基于口令的认证方式的有点显而易见,主要是简单、快捷、便于用户操作和接受。
但是基于口令的认证方式也存在较大的安全隐患。在上述的举例中,一旦 A的账号口令被有意或无意的泄露,或者是 B 系统数据库被攻击导致账号口令被人非法窃取,那么这种认证方式的安全性就被彻底破坏和失效。而且这种方式的认证是单向的,而非双向认证。现在我们假设有一个攻击者仿冒成 B 系统,其要求A 向其提交账户和密码,理由是要对 A 进行身份验证;但是 A 却无法对攻击者进行身份验证。在这种情况下,一旦 A 将账户口令提交给攻击者,那么攻击者就可以使用 A 的账户口令去访问真正的 B 系统来获取 A 的数据信息,从而造成 A 的数据信息外泄[6]。
基于口令的身份认证技术因为使用简单、便捷,从而得到了广泛应用。但是随着网络技术和应用的不断变化和深入,攻击者所使用的攻击水平越来越高,攻击手段也越来越多样,传统的基于口令的身份认证技术已经不能满足现有的身份安全认证的需要[7]。这也迫使基于口令的身份认证技术必须保持发展和更新。目前比较典型的代表就是静态口令技术和动态口令技术。
................................

第二章 背景知识

2.1 Kerberos 协议简介
Kerberos 身份认证服务协议最早是由美国麻省理工学院(MIT)组织开发的一个项目。经过人们对该协议的不断应用和实践,至今 Kerberos 协议已经历过几次重大的换版更新。Kerberos 协议本身是一种应用于开放式网络环境,基于可信任第三方的 TCP/IP(Transmission Control Protocol 传输控制协议/Internet Protocol 网际协议)网络安全认证协议,其认证模型基于 Needham-Schroeder,以加密为基础,对用户及网络连接进行认证,提供增强网络安全的服务。
麻省理工学院最早为 Kerberos 协议开发过一套计算机网络安全系统。这个Kerberos 系统采用了用户端+系统服务器的结构,同时使用了 DES 加密技术,并且能够它们之间可以进行相互认证,即用户端和系统服务器都可以要求对双方的身份进行认证。这种双向的身份认证模式可以用于需要进行防止窃听、replay 攻击和保护数据完整性等场合。而在加密技术的使用上,Kerberos 安全系统使用的是一种应用对称密钥体制进行密钥管理的系统。当然,Kerberos 安全系统也可以使用公开密钥加密模式,以满足对更高安全级别的身份认证需求。
目前 Kerberos 协议共有五个协议版本,而版本 1-3 都只有麻省理工内部发行。第四版本的 Kerberos 协议发布于 1980 年,其协议的主要设计者是 Steve Miller 和Clifford Neuman。第五版本的 Kerberos 协议发布于 1993 年,其协议的主要设计者是 John Kohl 和 Clifford Neuman,由 RFC 1510 颁布。第五版本的 Kerberos 协议主要是从模型设计上解决了第四版本的 Kerberos 协议的局限性和安全隐患。
麻省理工学院于 2007 年组织成立了一个 Kerberos 协会,目的是不断推动Kerberos 协议在世界范围内的应用和持续发展。
Windows2000 和后续的操作系统都默认 Kerberos 为其最基本和标准的认证方法。而 RFC 3244 则记录和整理了 Microsoft 的一些对 Kerberos 协议软件包的添加。苹果的 Mac OS X,以及 Red Hat Enterprise Linux4 和后续的操作系统,也都使用了第五版本的 Kerberos 协议,以增强其在身份认证过程中的安全性。
IETF 的工作小组在 2005 年对 Kerberos 协议做了更新后的说明规范,最近的更新包括:“加密和校验和细则”(RFC 3961),以及“针对 Kerberos 版本 5 的高级加密算法(AES)加密”(RFC 3962)[22]。
Kerberos 协议在设计之初,就已经考虑到在分布式网络通讯传输过程中对信息安全的保密问题。经过前五代版本的发展和更新,最新版本的 Kerberos 协议在对用户访问系统服务前的身份验证、提供通讯各方共享密钥服务等方面,都提供了很强大的安全保护措施和控制机制。一个优秀的 Kerberos 协议实现过程,必须要保证通讯各方及所有通讯数据的安全性、可靠性、操作透明性以及系统可扩充性。
本文将重点研究 Kerberos 身份认证协议在电子邮件服务通讯传输过程中的安全性分析、安全性设计、安全性论证,并对其进行模拟实现。
.............................

2.2 邮件服务器工作模式
互联网(Internet)中基于 TCP/IP 协议的电子邮件系统采用的是客户端/服务器工作模式[28]。整个系统的核心是电子邮件服务器,在电子邮件服务器提供服务过程中,需要运行各种邮件传输协议。下面我们两个电子邮件收发者 Lu 和 Wan 通过互联网传输电子邮件的过程为例,来说明电子邮件系统是如何工作的,需要使用到哪些协议。

如图 2-3 所示,是用户 Lu 要通过互联网(Internet)给用户 Wan 发送电子邮件的传输过程示意图。假设使用主机 1 进行工作的用户 Lu 在互联网 Internet 上的电子邮件服务器 1 中拥有的电子邮件地址为 Lu@sz.edu,而在使用主机 2 进行工作的用户 Wan 在互联网 Internet 上的电子邮件服务器 2 中拥有的电子邮件地址为Wan@gz.edu,并且主机 1 和主机 2 操作系统中均安装有电子邮件的应用程序,现在假设用户 Lu 通过用户主机 1 给用户 Wan 在互联网 Internet 中的主机 2 发送电子邮件,则电子邮件传输过程及原理模型可用图 2-4 表示为:

如下是对电子邮件传输原理模型的过程说明:
(1)使用主机 1 进行工作的用户 Lu 先将电子邮件的内容编写好。电子邮件的内容主要有收件人 Wan 的收件地址、电子邮件的主题、电子邮件的正文,以及有可能添加的附件文档。
(2)用户 Lu 在自己使用的电脑主机 1 上将上述邮件发送信息编辑好之后,通过安装在电脑主机 1 上的电子邮件应用程序发送该邮件。在电子邮件的应用程序中,有一个模块叫做 SMTP 协议模块,它的主要功能是帮助用户完成电子邮件的传出工作。
(3)主机 1 上的电子邮件 SMTP 客户进程将会按照电子邮件应用程序设置规则,申请与电子邮件服务器 1 建立连接线路。一旦电子邮件服务器 1 同意与 SMTP客户进程建立连接后,SMTP 客户进程将按照既定的程序设置将用户 Lu 的电子邮件传输到电子邮件服务器 1 中。
(4)而对电子邮件服务器 1 来说,在收到了用户 Lu 从电脑主机 1 中传输过来的电子邮件内容后,它首先要分析电子邮件内容中的电子邮件收件人地址信息,然后通过与本电子邮件服务器所管辖内的电子邮件用户列表进行信息比对。如果比对结果一致,则电子邮件服务器 1 就将这封电子邮件存放在电子邮件收件人信箱中;如果是比对结果不一致,那么电子邮件服务器 1 就将这封电子邮件“打回原籍”,重新交还给到电子邮件服务器 1 上的 SMTP 客户进程进行处理。
(5)电子邮件服务器 1 上的客户进程向本地服务器申请一个临时端口号后,开始根据电子邮件正文内容中注明的电子邮件目标地址,检索自己的服务器路由列表。如果检索的结果发现,该收件人信箱所在的电子邮件服务器是位于互联网上电子邮件服务器 2 中的地址信箱,则电子邮件服务器 1 向电子邮件服务器 2 发出建立连接的请求。如果电子邮件服务器 2 同意与电子邮件服务器 1 建立起连接线路,则电子邮件服务器 1 开始将该此封电子邮件按 SMTP 协议的要求传输到电子邮件服务器 2。
(6)电子邮件服务器 2 在收到电子邮件服务器 1 推送过来的邮件后,再按该电子邮件正文内容中注明的电子邮件目标地址,检索并标记收件人的用户名 Wan,同时将该邮件存入该目标收件人的电子邮箱中。至此,用户 Lu 编辑好的要发送给用户 Wan 的电子邮件信息传输就告一段落了。
...............................

第三章 KERBEROS 身份认证系统的设计...............................................23
3.1 在邮件系统中加载 KERBEROS 协议必要性分析 ......................................23
3.2 设计一个 KERBEROS 认证服务的初步设想 ..............................................24
3.3 KERBEROS 认证服务的具体设计 ...............................................25
3.3.1 加载认证端.................................................... 25
3.3.2 消除用户密钥明文传输安全隐患.............................................. 27
3.3.3 服务票据的安全性设计.................................................. 28
3.3.4 过程完善设计................................................... 30

第四章 邮件服务 Kerberos 化的模拟实现

基于以上的讨论,我认为开发工具应该选用 VC++比较好。原因首先是自己对VC++这个语言接触的比较多,便于自己上手;其次是 VC++语言是基于面向对象的程序开发工具,有非常清晰的结构化模块;最后就是 VC++调试功能很强,并且可以查询 MSDN 库,比较方便和实用。因此,后续的系统主要模块的开发和实现的过程都将使用 VC++工具来进行。

4.1 系统主要模块分析
4.1.1加解密模块
如上述第三章节对 Kerberos 认证系统服务的安全性讨论结果,本次设计的这套 Kerberos 身份认证服务系统的安全性,主要是基于密钥的安全性。因此,如何选择使用合适的加密算法,对此次模拟实现的过程安全性至关重要。
本次设计中要选取的加密算法要具备如下几个条件:即算法简单易懂、实现过程与加解密的强度性价比高、加解密过程速度快速、使用软件编程比较容易实现。
下面部分内容将通过分析现有的密码体制现状,比较相互之间的优缺点,来确定选择哪一种类型的加密算法。
4.1.1.1 密码体制的构成与分类
依据当今经典密码学理论,一个好的密码体制一般由以下几个部分组成:
(1)需要加密的明文“P”;
(2)经过加密转换得到的密文“C”;
(3)将明文加密成密文所使用的加密密钥“Kc”;
(4)将密文解密成明文所使用的解密密钥“Kd”;
(5)明文加密成密文的变换过程“E: P×Kc→C”;
(6)密文解密成明文的变换过程“D: C×Kd→P”;
如果将明文用 m 表示,而密文用 c 表示,则将明文加密变换成密文的加密过程 E(k,m),又可以被记为 E(m)k;而将密文解密变换成明文的解密过程 D(k,c),又可以被记为 D(c)k。假设任意的 m∈P,Dm*Ekd(m)=m成立,那我们就认为该密码体制具有保密性。如果还是上述的公式成立,并且将密文解密成明文的密钥只有加密通讯的密文接收方保管,那这个密码体制就具有身份认证的特性。
在当代密码学理论中,密码体制主要分为对称密码体制(symmetric keycryptosystem)和非对称密码体制(asymmetric key cryptosystem)[33]。所谓的对称密码体制是指进行保密通讯的双方所拥有的密钥都是相同的,因此加密密钥和解密密钥都必须保密。
而在非对称密码体制中,进行保密通讯的双方所拥有的密钥是不同的。这类密钥其中一个称为公钥,公钥可以公开发布,任何需要和私钥的所有者进行通讯的一方都可以对其进行使用;另一个称为私钥,私钥是公钥的所有者对密文进行解密的密钥,因此私钥必须保密不得公开。基于当今对计算科学以及数论的研究结果表明,要想用公钥推导出私钥,这在理论上和计算上都是不可行的。
对称密码体制的特点是加密和解密速度一样快,同时其保密强度高。但同时缺点也是显而易见的,主要的缺点有:
(1)密钥的生成者必须将所有通讯者共享的密钥通过一个安全的途径进行传送,当通讯者的数量非常庞大时,使得密钥的分发相当困难。
(2)一旦有一个通讯方将密钥泄露,那么所有通讯方的信息将变得无保密性可言。
因此,基于对称密钥体制的优缺点,其通常用于大量数据的快速加解密过程。
而非对称密码体制的优点正是解决了对称密码体制的缺点问题,但同时其也拥有自己的缺点:数据加密和解密速度非常缓慢,无论是用硬件还是软件来实现,都比对称密钥加密体制要复杂。
..............................

第五章 结论

此次论文研究在校方及企业导师的帮助下,严格按照前期既定的论文研究方案计划进行,论文研究过程顺利,并顺利的得出了最终演示版结果。通过此次论文研究,最终成功完成了对 Kerberos 协议模型设计及 DES 加密算法的程序实现,同时根据实际需要,创造性的在 Kerberos 协议中增加时间戳和有效期两个管控因子,解决了电子邮件信息传送过程中被他人冒用和抵赖的问题,使得邮件传送过程更加安全和可信。

5.1 系统存在的问题
虽然所设计的这个 Kerberos 身份认证系统从整体上可以保证用户在使用电子邮件服务过程中进行身份验证、获取票据授权票以及通讯共享密钥过程中的安全性和可靠性,但还有一些问题需要进行进一步研究和细化,这些内容主要包括:
首先,关于用户生成可以证明自己合法用户身份的验证器的问题,虽然用户生成了验证器,但是并没有在验证器中定义其生命周期。而且即使用户定义了生命周期,也会让攻击者利用到这个生命周期时间范围内对 Kerberos 身份认证服务系统以及电子邮件服务系统进行欺骗和重放攻击。要解决这个问题,我们需要定义 Kerberos 身份认证服务器需要对用户的验证器只能使用一次,这样就避免了上述安全隐患的发生。
其次,这个系统在设计的时候没有考虑到拒绝服务攻击的可能性。如果攻击者一直在网络中对通讯传输的数据包进行监听和截获,即使攻击者无法破解加密数据包信息中的内容,攻击者也会将这些加密数据包反复提交给 Kerberos 身份认证服务系统。而 Kerberos 身份认证系统就需要不断的对这些由攻击者提交的加密数据包进行解密和验证,这种情况的直接后果是,可能导致 Kerberos 身份认证服务系统无法及时响应和处理合法用户的身份验证请求,从而造成身份验证过程无法进行,进而造成整个系统服务的中断。为避免上述安全隐患的发生,我们还需要在发送的信息中添加相关的控制因子,并可以根据当前网络及所需访问的服务情况设置有效期的时限。这样就可以很好的解决攻击者的拒绝服务攻击。这也是我在本次论文研究中提出来的理论创新之处。
...............................
参考文献:


本文编号:9360

资料下载
论文发表

本文链接:https://www.wllwen.com/shoufeilunwen/shuoshibiyelunwen/9360.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户58879***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com