版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
密码学课程设计答辩设计题目:Kerberos认证系统的实现与配置指导老师:答辩人:目录CONTENTS绪论Kerberos的原理Kerberos认证的实现Kerberos认证的配置0102030405总结绪论01Kerberos简介设计的主要目的主要术语WehavemanyPowerPointtemplatesthathasbeenspecificallydesignedtohelpanyonethatissteppingintotheworldofPowerPointfortheveryfirsttime.WehavemanyPowerPointtemplatesthathasbeenspecificallydesignedtohelpanyonethatissteppingintotheworldofPowerPointfortheveryfirsttime.WHATMAKESUSDIFFERENT?85%Kerberos简介Kerberos是一种网络认证协议,基于对称密码实现,密码设计基于KDC概念和Needham-Schroeder协议的分布式认证服务系统,它可以在不安全的网络环境中为用户对远程服务器的访问提供自动的鉴别,数据安全性和完整性服务,以及密钥管理服务。Kerberos协议主要用于计算机网络的身份鉴别(Authentication),其特点是用户只需输入一次身份验证信息就可以凭借此验证获得的票据访问多个服务。由于在每个Client和Service之间建立了共享密钥,使得该协议具有相当的安全性。Kerberos系统应用广泛,比如:构造Windows网络中的身份认证、服务器与服务器之间的认证、网络计算、计算机连成网单点登录访问整个网络资源、访问其他服务器不需要再次验证。Kerberos这一名词来源于希腊神话“三个头的狗——地狱之门守护者”
与Kerberos系统的认证服务器、用户、s服务器一一对应。Kerberos认证设计的主要作用概括起来说Kerberos协议主要做了两件事1.
Ticket的安全传递。2.
SessionKey的安全发布。再加上时间戳的使用就很大程度上的保证了用户鉴别的安全性。并且利用SessionKey,在通过鉴别之后Client和Service之间传递的消息也可以获得机密性,完整性的保证。不过由于没有使用非对称密钥自然也就无法具有抗否认性,这也限制了它的应用。Kerberos的主要术语1.许可证(Ticket):用于向服务器认证用户身份的凭证,由以下成分组成:(用户登录名,会话密钥,时间戳),并使用服务器的密钥加密。2.会话密钥(SessionKey):用于两个通信实体之间通信的临时加密密钥,只在当前会话期间有效。3.密钥分配中心(KDC):用于提供许可证和临时会话密钥,KDC服务有两部分组成,用户初始认证服务器AS和许可认证服务器TGS,它们同驻于一台主机上。4.确认者(Authenticator):主要包含一个时间戳,用会话密钥加密。5.认证服务器(AuthentictionServer):主要验证用户是否存在数据库中,并向用户返送访问TGS的票据等。6.票据授权服务中心(TicketGrantingServer):在认证中,用户首先向认证服务器申请初始票据,然后票据授权服务获得会话密码。
Kerberos的原理02Kerberos原理流程AS(认证服务器)交换TGS(票据授权服务器)交换AP(客户/服务器)交换kerberos原理流程当用户登录系统并表明访问某个系统的资源时,系统并不传送用户口令,而是先去AS认证服务器进行认证。认证成功,AS分配一个访问TicketGrantingserver的票据,凭借此Ticket向TicketGrantingServer申请访问Server准入凭证。过程包括三个交换,分别为认证服务器交换(AS交换),票据授权服务器交换(TGS交换),客户/服务器交换(AP交换)。如下以图形的方式将Kerberos交换进行简单描述:ASTGSSClient435621“WehavemanyPowerPointtemplatesthathasbeenspecificallydesignedtohelpanyonethatissteppingintotheworldofPowerPointfortheveryfirsttime.““WehavemanyPowerPointtemplatesthathasbeenspecificallydesignedtohelpanyonethatissteppingintotheworldofPowerPointfortheveryfirsttime.““WehavemanyPowerPointtemplatesthathasbeenspecificallydesignedtohelpanyonethatissteppingintotheworldofPowerPointfortheveryfirsttime.“AS(认证服务器)交换1.客户机向AS发送一个明文信息,代表用户请求服务。此时,既不需要向AS发送密
钥,也不需要发送密码。2.AS校验这个客户是否在它的数据库里。如果在,AS返回以下两条信息给客户:a.客户/TGS会话密钥。b.用TGS密钥加密的票据授权票据TGT(包括客户ID,客户网络地址,票据有效期(固定值),TGS的名字ID,TGS/客户的会话密钥)。
认证服务器将a,b消息都用用户的密钥加密发送给客户。3.一旦客户收到消息a和b,他解密消息a得到客户/TGS会话密钥。会话密钥用在将来与TGS的通信上,这样的话,客户有了足够的消息向TGS证明自己的身份。
OPTION04TGS(票据授权服务器)交换1.当申请服务时,客户向TGS发送以下两条消息:c.由从消息b(TGT)中获取的票据授权票据和申请的服务的ID组成。d.用客户/TGS会话密钥加密的认证(由客户ID、AD和时间戳组成)。2.基于收到的消息c和d,TGS从消息c中重新获得消息b。它用TGS的密钥解密消息b。这一步使它得到“客户/TGS会话密钥”。通过使用这个密钥,TGS解密消息d(认证),而后返回给客户以下两条信息:e.用服务器密钥加密的客户—服务器票据(包括客户ID,客户网络地址,客户/服务器会话密钥的有效期)。f.客户/服务器会话密钥。TGS用客户/TGS会话密钥加密以上两条消息发送给用户。
AP(客户/服务器)交换1.基于从TGS收到的消息e和f,客户有足够的信息向service认证自己。客户联系service,并向它发出以下两条消息:e.由先前的步骤得到(客户—服务器票据,用服务器的密钥加密)。g.用客户/会话密钥加密的一个新的认证,包括客户ID、AD,时间戳。2.service用自己的密钥解密票据重新得到客户/服务器会话密钥。用这个会话密钥,service解密得到认证,并返回以下消息给客户,确认他的身份,并同意向客户提供服务:h.在客户认证中找到时间戳,加1,用客户/服务器会话密钥加密。3.客户使用客户/服务器会话密钥解密确认函,并检查时间戳是否被正确的更新。如果是,客户可以信赖服务器,并可以向服务器发送服务请求。4.服务器向客户提供其所请求的服务。kerberos原理流程Kerberos认证的实现03Kerberos实现的简述利用JAVA实现加解密的举例认证成功截图在Kerberos实现的过程中,其中包含DES、AES、RSA加解密算法,这三种算法作用在用户和认证服务器、票据授权服务器、应用服务器进行信息交换时,用指定的的密码算法产生公钥或私钥,或者将程序中的对象进行加解密变换,为了使信息在发送过程中安全可靠,防止在信息交互过程中遭到攻击或者窃取信息,造成信息泄露。因为所用到的加密算法种类多、而且繁杂,所以我们运用Java语言对Kerberos认证进行实现。Java语言本身包含的类特别多,类中有包含很多灵活多变的方法,可以进行调用。在Java中我们又可以自定义类,在类中定义变量、常量、函数等。在调用这个类的对象时就可以调用类中的每个元素及函数,自定义的类就像一个结构体,对于每个对象又包含很多信息,对产生密钥、信息共享、加密、解密带来了很大的方便。Kerberos认证实现的简述Kerberos利用JAVA实现过程中用到类的举例。例如:
1)kpg=KeyPairGenerator.getInstance("RSA");以上代码是用KeyPairGenerator类用于生成公钥和私钥对。密钥对生成器是使用getInstance工厂方法(返回一个给定类的实例的静态方法)构造的。也就是调用getInstance返回产生指定加密算法(RSA)的密钥对。2)cipher=Cipher.getInstance("RSA");以上代码是用应用Cipher类,此类为加密和解密提供密码功能。调用此类的getInstance方法返回指定RSA加密算法转换的对象。Kerberos利用JAVA实现过程中用到类的举例。3)byte[]nbyte=cip.doFinal(bytP)以上代码是用应用Cipher类的对象cip,调用方法doFinal,此方法为按单部分操作加密或解密数据,或者结束一个多部分操作。数据将被加密或解密后赋给字节数组。4)SecretKeyFactoryskf=SecretKeyFactory.getInstance("DES");
以上代码用到java类中的SecretKeyFactory类,此类表示秘密秘钥工厂,此类包含的方法getInstance(“DES”)表示用DES加密方法转化成秘密秘钥。
认证成功简述及截图以上是认证实现成功后客户端显示内容,因为在认证过程中有三次交换即AS交换、TGS交换、AP交换。在交换过程中每次交换内容都会有些改变。Kerberos认证的配置04Kerberos认证的配置过程简介Kerberos认证的配置过程简介Kerberos认证系统多用于服务端,服务器端操作系统多为Linux或Unix,本文以Linux操作系统为例,在CentOs6.4环境下配置Kerberos。下面简单展示配置过程:(1)以管理员身份登录进入CentOs操作系统,启动网卡eth0,用yum命令下载安装krb5-libskrb5-serverkrb5-workstation。2)配置/etc/krb5.conf文件(3)配置/var/Kerberos/krb5kdc/kdc.conf文件此处EXAMPLE.COM同文件/etc/krb5.conf(4)将根目录切换为[root@localhostkrb5kdc]#创建Kerberos数据库并输入密码(5)将Kerberos密钥管理中心,Kerberos服务器和Kerberos用户端设置为开机启动,并关闭防火墙。(6)用kadmin.local命令为Kerberos系统创建管理员admin并赋予密码,存储于krb5kdc文件夹下。(此处密码为password=123456)(7)用kinitadmin/admin@EXAMPLE.COM命令使管理员登录Kerberos系统,并用klist命令查看管理员进入与退出系统的时间戳及本人的服务地址。(8)在根目录下,用kadmin.local命令创建新用户,addprincDemo添加Demo用户及密码与数据库中。用listprincs命令查看包括管理员在内的所有创建用户。
(9)若要退出Kerberos系统,只需在控制台键入exit既可回到CentOs系统字符界面总结05Kerberos的局限性Kerberos的优点Kerberos的局限性尽管Kerberos提供了比较强的用户认证方式,但它本身受到环境的制约,还存在一定的局限,不能安全解决用户认证过程中所受到的安全
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 飞墨科技就业前景指南
- 2024届高三语文核心素养新学案
- 2023年营销师考试试题
- 2024年仓库安全生产管理制度
- 证券公司工作总结12篇
- 【 生物 】生物的变异课件-2025-2026学年人教版生物八年级下册
- 【 生物 】生物进化的原因同步课件-2025-2026学年生物新教材人教版八年级下册
- 大湾区首台“华龙一号”核电机组-中广核广东太平岭核电1号机组投产发电(核聚湾区·能动世界)
- 中班语言课教案《身边的线条》
- 2026年体检科自查自纠报告(2篇)
- 2.1细胞中的元素和化合物 课件 高一生物(人教版)必修一
- 研发团队实验数据记录表规范管理标准模板
- 汽车销售毕业论文题目
- 13《猫》第二课时公开课一等奖创新教学设计
- 竞聘护士长面试题与答案
- 2025年内蒙古党校在职研究生招生考试(政治理论)历年参考题库含答案详解(5套)
- 数字化管理师笔试试题及答案
- 腰椎间盘突出症病例讨论
- 2025年高考真题-历史(甘肃卷) 含解析
- 2024建安杯信息通信建设行业安全竞赛题库
- 2025年四川省宜宾市中考道德与法治真题(原卷版)
评论
0/150
提交评论