
新版】《信息安全协议》PPT课件.ppt
89页第七章信息安全协议1目录一一. 概述概述二.Kerberos协议三.SSL协议四.SET协议五.IPSec协议27.1概述n在OSI(开放系统互连)标准中,网络协议被分为7层,常用的是其中的5层:物理层、数据链路层、网络层、传输层和应用层一般的网络通信协议都没有考虑安全性需求,这就带来了互联网许多的攻击行为,导致了网络的不安全性,为了解决这一问题,出现了各种网络安全协议以增强网络协议的安全37.1概述n常用的网络安全协议包括Kerberos认证协议,安全电子交易协议SET、SSL、SHTTP、S/MIME、SSH、IPSec等这些安全协议属于不同的网络协议层次,提供不同的安全功能特别是在IPv6当中强制采用IPSec来加强网络的安全性根据OSI安全体系结构的定义,在不同的协议层次上适合提供的安全功能不尽相同,具体规定见表7.147.1概述n安全服务与协议层次的关系57.1概述n说明了各种网络安全协议与TCP/IP协议的层次对应关系67.2Kerberos协议7.2.1Kerberos协议概述Kerberos协议最早由MIT作为解决网络安全问题的一个方案提出,由麻省理工学院的ProjectAthena创建,后者是20世纪80年代后期进行的企业范围计算的测试项目,可用于公共用途。
Kerberos协议采用了强加密,因此客户能够在不安全的网络上向服务器(以及相反地)验证自己的身份,如图7.1所示77.1概述Kerberos是网络验证协议名字,同时也是用以表达实现了它的程序的形容词(例如Kerberostelnet)目前最新的协议版本是5,在RFC1510中有所描述该协议有许多免费的实现,这些实现涵盖了许多种不同的操作系统最初研制Kerberos的麻省理工学院也仍然在继续开发的Kerberos软件包在美国Kerberos被作为一种加密产品使用,因而历史上曾经受到美国出口管制87.1概述nKerberos是古希腊神话中守卫地狱入口狗,长着3个头MIT之所以将其认证协议命名为Kerberos,是因为计划通过认证、清算和审计3个方面来建立完善的完全机制,但目前清算和审计功能的协议还没有实现nKerberos协议的基本应用环境为在一个分布式的客户端/服务器体系机构中采用一个或多个Kerberos服务器提供一个鉴别服务客户端想请求应用服务器上的资源,首先客户端向Kerberos认证服务器请求一张身份证明,然后再将身份证明交给服务器进行验证,Server在验证通过后,即为客户端分配请求的资源。
97.1概述nKerberos协议本身并不是无限安全的,而且也不能自动地提供安全,它是建立在一些假定之上的,只有在满足这些假定的环境中它才能正常运行n(1)不存在拒绝服务(DoS,Denialofservice)攻击Kerberos协议不能解决拒绝服务攻击,在该协议的很多环节中,攻击者都可以阻断正常的认证步骤这类攻击只能n由管理员和用户来检测和解决107.1概述n(2)主体必须保证的私钥的安全如果一个入侵者通过某种方法窃取了主体的私钥,他就能冒充身份n(3)Kerberos协议无法应付口令猜测(PasswordGuessing)攻击如果一个用户选择了弱口令,那么攻击都就有可能成功地用口令字典破解掉,继而获得那些由源自于用户口令加密(由用户口令形成的加密链)的所有消息n(4)网络上每个主机的时钟必须是松散同步的(LooselySynchronized)这种同步可以减少应用服务器进行重放攻击检测时所记录的数据松散程度可以以一个服务器为准进行配置时钟同步协议必须保证自身的安全,才能保证时钟在网上同步117.1概述n(5)主体的标识不能频繁地循环使用由于访问控制的典型模式是使用访问控制列表n(ACLs)来对主体进行授权。
如果一个旧的ACL还保存着已被删除主体的入口,那么攻击者n可以重新使用这些被删除的用户标识,就会获得旧ACL中所说明的访问权限127.2.2Kerberos身份验证协议内容nKerberos可用来为网络上的各种服务器提供认证服务,使得口令不再是以明文方式在网络上传输,并且连接之间通信是加密的它和PKI认证的原理不一样,PKI使用公钥体制(不对称密码体制),Kerberos基于私钥体制(对称密码体制)Kerberos称为可信的第三方验证协议,意味着它运行在独立于任何客户机或服务器的服务器之上nKerberos服务器称为AS(AuthenticationServer,验证服务器)当客户端需要访问某个服务器时,客户端访问Kerberos服务器以获取票证拥有票证意味着具有访问权限这一点首先假设客户端和服务器都信任“第三方”Kerberos验证服务器137.2.2Kerberos身份验证协议内容nIETF管理Kerberos规范,但Microsoft已获得一些特权,可以更改此协议以满足Windows2000中的需要Kerberos版本5(Kerberos5)身份验证协议提供了一种相互验证(通过服务器和客户端相互验证或者一台服务与其他服务器之间相互验证)的身份验证机制。
Kerberos5协议假设客户端和服务器之间的初始身份验证在一个开放式的网络进行,此时通过网络传输的数据包将能被监测以及随意修改这是一个被虚拟的环境,可是换句话说,当今因特网上可能有许多这样的例子,一名攻击者能够伪装成其他的客户端或者服务器,偷听两台合法且正常在通信的服务器和客户端之间数据传输,甚至于篡改之间传输的数据147.2.2Kerberos身份验证协议内容nKerberos为远程登录提供安全性并可提供单个登录解决方案,以便用户不需要每次访问新服务器时都登录AS将所有用户的密码存储在中央数据库中AS颁发凭据,而客户端使用凭据来访问AS领域内的服务器适用领域包括AS服务器跟踪的所有用户和服务器,这一点下面将解释AS服务器由一个管理人员在物理上进行保护和管理由于它验证用户身份,因此应用程序服务器免除此任务,它们“信任”AS为特定客户颁发的凭据157.2.2Kerberos身份验证协议内容n在需要加密的任何通信中,为所涉及的双方获取加密密钥时总是有安全风险在转换过程中可能会危及密钥的安全一个重要的Kerberos特性是由AS提供一种方法,可以安全地将加密密钥分发到需要参与安全事务的客户端和服务器。
此共享密钥称为会话密钥nAS在领域中进行操作,而领域是在其中设置特定安全策略的安全域领域可以信任其他领域,意味着如果某个用户在一个领域中经过AS的验证,则信任领域不需要用户重新进行验证即可访问其领域中的服务器换句话说,它相信另一个AS已正确地识别和验证了某个用户167.2.2Kerberos身份验证协议内容nKerberos提供3种安全等级:n(1)只在网络开始连接时进行认证,认为连接建立起来后的通信是可靠的,认证式网络文件系统(AuthenticatedNetworkFileSystem)使用此种安全等级;n(2)安全消息(SageMessages)传递,对每次消息都进行认证工作,但是不保证每条消息不被泄露;n(3)私有消息(PrivateMessages)传递,不仅对每条消息进行认证,而且对每条消息进行加密Kerberos在发送密码时就采用私有消息模式177.2.2Kerberos身份验证协议内容n下面是Kerberos的一些重要特性n在此处的讨论中,客户端指代表用户操作的软件n在客户端可访问服务器之前,必须从AS获得凭据n客户端访问服务器时需要的凭据包括服务器票证服务器票证具有特定的时间参数并只允许特定客户机上的特定用户访问特定服务器。
一个用户可能同时拥有数个票证以访问多个服务器187.2.2Kerberos身份验证协议内容n最初的目标是从AS获取TGT(票证授予票证)给予客户端TGT(不要与服务器票证混淆)类似于许可或许可证使用TGT,客户端即具有权力从TGS(票证授予服务器)获取服务器票证TGS可能运行在AS计算机上nTGT的目的是消除用户在每次希望访问新服务器时必须键入密码的需要当TGS收到包含TGT的票证的请求时,它使用TGT中的信息验证用户,并且不需要用户重新输入密码197.2.2Kerberos身份验证协议内容nTGT包含用户ID和网络地址,以及TGS的ID它还包含时间戳,而时间戳提供一些保护来防范黑客另外,它还包含首要的会话密钥(会话密钥最后分发给客户端和用户要访问的目标服务器)使用只有AS和TGS知道的密钥加密TGT,从而在TGT从AS发送出去后只有TGS可以对TGT进行解密nAS并不将TGT直接发送到目标服务器,而将它发送到客户端,在此处保存它,以用于将来的所有票证请求当该用户试图访问服务器时,TGT被发送到TGSTGS将TGT解密并将其内容与用户提供的信息进行比较,以确定真实性,然后返回目标服务器的票证给用户。
207.2.2Kerberos身份验证协议内容nKerberos验证和授权方案如图7.2所示217.2.2Kerberos身份验证协议内容n(1)第一步是客户端获取TGT本步骤还验证该用户TGT的一个简单请求发送到ASAS具有客户端密码的一个副本,它使用从用户密码导出的密钥加密TGTn(2)当客户端收到此响应时,系统提示用户输入可解密此响应的密码只有可信的用户才能输入可解密响应的密码,因此本方案可有效地验证用户n(3)响应一旦解密,客户端即具有TGT的一个副本为访问服务器,客户端发送请求(请求中包含目标服务器ID、用户ID和TGT)给TGS来证实用户的真实性n(4)TGS解密TGT并查看其内容如果所有内容都已检查出,则TGS生成目标服务器的服务器票证,并用与目标服务器一起共享的密钥加密它服务器票证再次由TGS使用从用户密码导出的密钥加密,并返回到客户端227.2.2Kerberos身份验证协议内容n(5)客户端解密响应以提取服务器票证和会话密钥然后票证与用户ID一起转发到目标服务器请注意,票证还包含加密形式的用户IDn(6)目标服务器解密票证,并将随票证发送的用户ID与在票证中加密的用户ID进行比较。
如果它们相符,则用户被授予服务器访问权限237.2.3Kerberos协议的特点n1. Kerberos协议的优点协议的优点n(1)Kerberos系统对用户的口令进行加密后作为用户的私钥,避免口令在信道的显式传输,实现较高的安全性;n(2)用户在使用中,仅在登录时要求输入口令,实现对合法用户的透明性;n(3)Kerberos可以较方便地实现用户数的动态改变247.2.3Kerberos协议的特点n2. Kerberos协议的缺点协议的缺点n(1)Kerberos服务器与用户共享的秘密是用户的口令字,服务器在回应时不验证用户的真实性,假设只有合法用户拥有口令字如攻击者记录申请回答报文,就易形成代码本攻击n(2)Kerberos服务器与用户共享的秘密是用户的口令字,服务器在回应时不验证用户的真实性,假设只有合法用户拥有口令字如攻击者记录申请回答报文,就易形成代码本攻击257.2.3Kerberos协议的特点n(3)AS和TGS是集中式管理,容易形成瓶颈,系统的性能和安全也严重依赖于AS和TGS的性能和安全在AS和TGS前应该有访问控制,以增强AS和TGS的安全n(4)随用户数增加,密钥管理较复杂。
Kerberos拥有每个用户的口令字的散列值,AS与TGS负责户间通信密钥的分配当N个用户想同时通信时,仍需要N(N-1)/2个密钥267.3SSL协议n7.3.1SSL协议概述n随着计算机网络技术向整个经济社会各层次延伸,整个社会表现对因特网、企业内部网及企业外部网等使用的更大的依赖性随着企业间信息交互的不断增加,任何一种网络应用和增值服务的使用程度将取决于所使用网络的信息安全有无保障,网络安全已成为现代计算机网络应用的最大障碍,也是急需解决的难题之一277.3SSL协议A.由。












