Linux高级操作系统用户认证与授权.docx
《Linux高级操作系统用户认证与授权.docx》由会员分享,可在线阅读,更多相关《Linux高级操作系统用户认证与授权.docx(38页珍藏版)》请在三一办公上搜索。
1、长沙理工大学Linux高级操作系统课程设计报告基于Linux的用户认证与授权研究廖正磊学 院 计算机与通信工程 专业 计算机科学与技术班 级 计算机06-3班 学号 200650080309 学生姓名 廖正磊 指导教师 王艳华 课程成绩 完成日期 2009年5月29日课程设计任务书计算机与通信工程学院 计算机科学与技术专业 课程名称网络系统课程设计时间20082009学年第1学期1920周学生姓名廖正磊指导老师王艳华题 目基于Linux的用户认证与授权研究主要内容:本课程设计主要完成一个基于Linux的用户认证与授权的研究实现。1、重点分析了Kerberos认证系统与LDAP目录服务系统的消息
2、格式、数据库管理、安装配置、配置文件、接口函数等。2、利用可信平台模块(TPM)对Kerberos协议及其蓝本NeedhamSchroeder协议进行了改进,增强了它们的安全性。并搭建了Kerberos认证系统,实现了用户登录的Kerberos认证、网络应用的Kerberos化。要求:(1)要求能独立地运用程序语言和数据库方面知识,编制一个功能简单的小型信息模拟系统。(2)学生按要求编写课程设计报告书,能正确阐述设计和实验结果。(3)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。(4)学生应抱着严谨认真的态度积极投入到课程设计过程中。 应当提交的文件:(1)课程设计报告。(
3、2)课程设计附件(源程序、各类图纸、实验数据、运行截图等)。课程设计成绩评定学 院 计算机与通信工程 专 业 计算机科学与技术班 级 计算机06-3 班 学 号 200650080309 学生姓名 廖正磊 指导教师 王艳华 课程成绩 完成日期 2009年5月22日 指导教师对学生在课程设计中的评价评分项目优良中及格不及格课程设计中的创造性成果学生掌握课程内容的程度课程设计完成情况课程设计动手能力文字表达学习态度规范要求课程设计论文的质量指导教师对课程设计的评定意见综合成绩 指导教师签字 年 月 日基于Linux的用户认证与授权系统的研究实现学生姓名:廖正磊 指导老师:王艳华摘 要 本课程设计在
4、对可信计算的体系结构、Linux的安全机制、现有的认证协议等深入研究的基础上,提出了基于Linux操作系统的用户认证与应用授权的架构,并最终完成了整个系统的搭建。本文重点分析了Kerberos认证系统与LDAP目录服务系统的消息格式、数据库管理、安装配置、配置文件、接口函数等。利用可信平台模块(TPM)对Kerberos协议及其蓝本NeedhamSchroeder协议进行了改进,增强了它们的安全性。并搭建了Kerberos认证系统,实现了用户登录的Kerberos认证、网络应用的Kerberos化;搭建了OpenLDAP目录服务系统,并利用SASL机制实现了其与Kerberos认证系统的结合。
5、在此基础上,利用OpenLDAP的访问控制机制实现了对各种网络应用服务的授权访问。利用我们编写的客户端应用接口,用户可以完成上述认证与授权过程。该系统作为信息安全实践创新平台的一部分,可应用于信息安全教学的实践环节,还可以将其应用于党政机关办公自动化与协同办公,保护党政内网的安全。关键词 身份认证;目录服务;应用授权Linux-based user authentication and authorizationStudent name: LIAO Zheng-lei Advisor:WANG Yan-huaAbstract The curriculum design in the archi
6、tecture of Trusted Computing, Linux security mechanisms, the existing authentication protocol, such as in-depth study, based on the Linux operating system based on user authentication and authorization framework for applications, and ultimately the completion of the entire system structures. This pa
7、per analyzes the Kerberos authentication system and LDAP directory services system message format, database management, installation configuration, configuration files, and other interface functions. The use of Trusted Platform Module (TPM) on the Kerberos protocol and the Needham-Schroeder protocol
8、 based on improvements to enhance their security. And to set up Kerberos authentication system, the Kerberos user login authentication, the Kerberos network applications of; build the OpenLDAP directory service system, and the use of SASL mechanisms with a combination of Kerberos authentication syst
9、em. On this basis, the use of OpenLDAP access control mechanisms on the application of a variety of network services, unauthorized access. Prepared to use our client application interface, the user can complete authentication and authorization process of the above. The system of information security
10、 as part of practical innovation platform, has been applied to the practice of information security aspects of teaching, but also can be used in party and government organs of office automation and collaboration of office to protect the security of government network.Key words Authentication;Directo
11、ry Service;Authorization目 录1引言11.1课题背景11.2课程设计目的21.3问题描述22用户认证与授权方案概述51.1 Linux的安全机制51.2 Kerberos认证系统91.3 轻量级目录访问协议103用户认证与授权方案的研究与实现143.1搭建Kerberos认证系统143.2搭建OpenLDAP服务器203.3 Kerberos认证系统与OpenLDAP的结合233.4 实现访问控制243.5 客户端应用接口的编写25参考文献28结束语291引言1.1课题背景 Linux是一个类UNIX的多用户、多任务、功能强大的操作系统。最初版本是芬兰的Linus To
12、rvalds于1991年独立开发的。由于其免费提供源代码及可执行文件,吸引了全世界各地的UNIX行家为其编写了大量的驱动程序和应用软件,在短短的几年时间里,Linux迅速发展成为一个相当完善的操作系统。不仅稳定可靠,而且还具有良好的兼容性、可移植性。近几年来,Linux操作系统以其高效性、灵活性以及开放性得到了蓬勃发展,不仅被广泛应用于PC、服务器,还广泛的应用于手机、PDA等高端嵌入设备。但是,目前的Linux版本在安全方面还存在着许多不足,其安全级别低于C2级。其新功能的不断加入及安全机制的错误配置或错误使用,都会带来很多问题。出于系统安全考虑,Linux提供的安全机制主要有:身份标识与鉴
13、别、文件访问控制、特权管理、安全审计、IPC资源的访问控制。目前,UNIX下的一种新的安全机制已被开发并且在Linux中实现。这种机制称为可插入身份认证模块,即为PAM机制1。当用户在登录Linux时,首先要通过系统的PAM验证。PAM机制可以用来动态地改变身份验证的方法和要求,允许身份认证模块按需要被加载到内核中,模块在加入后即可用于对用户进行身份认证,而不需要重新编译其它公用程序。PAM体系结构的模块化设计及其定义的良好接口,使得无需改变或者干扰任何现有的登录服务就可以集成范围广泛的认证和授权机制,因此,近年来,对PAM的底层鉴别模块的扩展广泛应用于增强Linux操作系统的安全性。Kerb
14、eros认证协议是目前应用最广泛的、基于可信任第三方的网络身份认证协议。Linux操作系统更好的安全性保证可以由Kerberos来实现2,3,目前,基于Linux操作系统,利用Kerberos协议增强其用户认证的安全性的方案在国内外均有提出。Kerberos认证协议最初是麻省理工学院(MIT)为其Athena项目开发的,其从提出到现在,共经历了五个版本的发展4。目前广泛应用的版本是其第五版本Kerberos V5。其本身存在着一定的局限性,针对其安全缺陷,已有诸多的解决方案提出。同时,伴随着其软件的优化、升级,Kerberos认证系统的应用将会越来越广泛。轻量级目录访问协议(LDAP)作为目前
15、广泛应用的目录访问协议,可以实现授权管理、网络用户管理、电子政务目录体系等服务。其基于访问控制策略语句的访问控制列表(Access Control List,ACL)来实现访问控制与应用授权,不同于现有的关系型数据库和应用系统,访问控制异常灵活和丰富5。目前,LDAP已经成为Internet上目录服务的标准协议。已有包括微软、IBM在内的几十家大型软件公司采用了LDAP技术。在我国,LDAP技术已应用在北京大学校园网络用户管理系统、上海政务网统一用户管理、中国数字图书馆系统的用户管理部分,以及北京、上海、天津、福建等省级认证中心等。1.2课程设计目的 用户认证与应用授权是安全机制的前提,基于L
16、inux操作系统,深入研究用户认证与应用授权机制,不仅可以深入理解现有的安全机制,随着研究的深入,也可以发现其现有安全机制的问题所在。用户在登录Linux操作系统时,首先要通过系统的PAM进行验证。任何认证机制都可以加入到PAM的底层鉴别模块中,可以被任何基于PAM开发的程序调用。因此,将更多安全性更高的认证机制扩展到PAM的底层鉴别模块中,可以增强Linux操作系统的安全性。Kerberos是目前应用最广泛的认证协议,本课程设计将其作为认证模块扩展到PAM中,基于PAM的程序就可以调用该认证模块用于用户认证等验证机制,可以增强系统及各种应用的安全性。本课程设计提出的用户认证与应用授权系统,集
17、成了用户与各种网络应用服务的资源和信息,可以方便有效的实现对用户的统一管理。当用户访问某种网络服务时,首先通过Kerberos的认证,登录到LDAP目录服务系统,然后LDAP可以通过其ACL验证用户是否拥有访问该服务的权限。这样既可以实现基于用户的网络应用管理,也可以实现对用户的访问控制。该系统可以应用于信息安全教学、信息安全系统的开发与实现,并将应用于党政机关办公自动化与协同办公,保护党政内网的安全,具有实用意义与创新意义。1.3问题描述 本课程设计在深入理论研究的基础上,基于Linux的PAM机制、Kerberos认证系统、LDAP目录服务系统设计了域内用户认证与应用授权的架构。该架构运行
18、在操作系统为Linux的主机上,提供基本的Kerberos登录认证服务,以及Kerberos化的远程登录服务(ktelnet)、Kerberos化的文件传输(kftp)等网络应用服务。OpenLDAP目录服务系统完成用户信息的存储以及相应权限的设置。本课题编写了客户端程序,作为认证接口,提供给应用程序调用,实现用户的登录认证与应用的授权。根据所提出的架构,在“华镭Linux操作系统”下配置各个相关模块,同时编程实现客户端用户认证的接口函数,使得用户可以调用该接口函数完成登录某种网络应用服务的认证。本课程设计的理论研究情况列举如下:1、Linux操作系统相关的理论知识,包括其组成模块、内部已有的
19、安全机制、安全缺陷及其安全需求等。2、Linux内部的可插入式认证模块(PAM)的运行原理、组成部分及其应用实例,特别是其内部的用户登录认证与应用授权模块。3、学习现有的认证协议,着重分析Kerberos协议的蓝本Needham-Schroeder认证协议,熟悉其协议过程、自身缺陷、各次攻击以及改进过程,并基于可信平台模块(TPM)对其进行改进,以增强其安全性。4、研究Kerberos认证系统,包括其系统组成、协议原理、数据库创建与管理、应用接口函数等,并研究如何将其配置在所选操作系统“华擂Linux”的PAM模块中。5、研究轻量级目录访问协议(LDAP),包括其命名模型、协议原理、数据库创建
20、与管理、安全机制、应用接口函数,及其如何与Kerberos认证系统相结合等。本课程设计所搭建的用户认证与应用授权系统包括服务器端、客户端两部分,分别介绍如下:1、服务器端配置Kerberos的服务器端,作为Kerberos的密钥分发中心(KDC),完成AS认证服务和TGS票据授权服务,并将网络应用服务进行Kerberos化,实现用户登录网络应用服务的Kerberos认证;配置OpenLDAP的服务器端,作为用户身份管理的核心数据库,利用其目录管理功能实现对用户信息的管理,并利用其访问控制列表(ACL)实现应用的授权;利用SASL机制实现Kerberos系统与OpenLDAP系统的结合,并实现两
21、者数据库的匹配,完成用户认证与应用授权系统的模块架构。2、客户端作为Kerberos系统的客户端用户在此登录,完成用户认证、服务请求,经由认证服务器认证后,调用某种Kerberos化的网络应用服务,完成与应用服务器的相互认证。作为OpenLDAP目录服务系统的客户端用户可以对目录信息进行管理与访问。用户可以调用课题所编写的认证接口函数,完成用户认证与应用授权过程。2用户认证与授权方案概述1.1 Linux的安全机制1、PAM机制通常在认证时,实现认证功能的代码通常作为应用程序的一部分而一起编译,如果发现所用算法存在某些缺陷或想采用另外一种认证方法时,用户不得不重写(修改或替换)、重新编译原程序
22、。所以希望能够将认证功能从应用中独立出来,单独进行模块化的设计、实现和维护;另一方面,希望为认证模块建立标准API,以便各个应用程序能方便的调用它们所提供的各种功能;同时认证机制对其上层用户(包括应用程序和最终用户)是透明的。应此需求,1995年,SUN的研究人员提出可插入式认证模块,目前其已逐渐成为各种UNIX系统上包括Linux操作系统的认证方案。层次结构:可插入式认证模块(PAM)机制采用模块化设计和插件功能,提供有关执行用户认证与账号维护的服务。其在实现上采用了分层的体系结构,将各种具体的认证模块从应用程序中独立出来,使得认证机制与应用程序之间相对独立。从而可以在应用程序中根据需要灵活
23、地插入所需要的认证模块或替换原先的认证组件,而不必对应用程序做任何修改。应用程序只需调用应用编程接口API即可方便的使用PAM提供的各种认证功能,而不必了解太多的底层细节。PAM模块化的体系结构,可以集成范围广泛的认证机制,轻易地做到认证应需而改变,使得软件的定制、维持和升级更加轻松。其层次结构如图2.1所示6。由图2.1可以看出,PAM API是应用程序层与PAM服务模块之间联系的纽带,起着承上启下的作用。系统管理员通过PAM配置文件来制定不同应用程序的不同认证策略,当应用程序调用PAM API时,应用接口层将按照配置文件pam.conf的规定,加载相应的PAM服务模块。接着,应用程序层的参
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 高级 操作系统 用户 认证 授权
链接地址:https://www.31ppt.com/p-1937881.html