第7章身份认证

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第7章身份认证信息安全2身份认证包括:1.身份认证基础2.身份认证协议3.身份认证实现身份认证:指证实主体的真实身份与其所声称的身份是否相符的过程.31.物理基础2.数学基础3.协议基础身份认证基础41.物理基础身份认证的物理基础可以分为以下三种:(1)用户所知道的(2)用户所拥有的(3)用户的特征物理基础5数学基础2.数学基础示证者P为了向验证者V证明自己知道某信息,有两种方法:基于知识的证明和基于零知识证明.(1).最小泄露证明(2).零知识证明6最小泄露证明最小泄露证明需要满足以下两个条件:(1)P几乎不可能欺骗V:如果P知道某信息,他可以使V以极大的概率相信他知道某信息;如果P不知道某信息,则也使V相信他知道某信息的概率几乎为零(2)V几乎不可能知道某信息,特别是他不可能向别人重复证明过程零知识证明除了满足最小泄露的两个条件之外,还要满足:(3)V无法从P那里得到任何有关于某信息的知识数学基础7例子1:山洞里有一扇上锁的门,P知道打开门的咒语,按下面的协议P就可以身V证明他知道咒语而不需要告诉V咒语的内容:(1)V站在A点(2)P进入山洞,走到C点或D点(3)当P消失后,V进入到B点(4)V指定P从左边或右边出来(5)P按照要求出洞(6)P和V重复步骤1~5n次数学基础83.协议基础可分为:(1)双向认证协议通信双方互相认证对方的身份(2)单向认证协议通信的一方认证另一方的身份,如服务器先要认证用户是否是这项服务的合法用户,但不需要向用户证明自己的身份。(3)基于对称密钥的认证协议往往需要双方事先已经通过其他方式拥有共同的密钥。协议基础9(4)基于公钥的认证协议一般需要知道对方的公钥。但是公钥加密解密速度慢,代价大,所认证协议的最后,双方要协商出一个对称密钥作为下一步通信的会话密钥。(5)重放攻击A与B通信时,第三方C窃听并获得了A过去发给B的消息M,然后冒充A的身份将M发给B,希望能够以A的身份与B建立通信,并从中获得有用信息。防止重放攻击的常用方式有时间戳方式和提问应答方式协议基础身份认证协议按照认证的方向可分为1.双向认证协议2.单向认证协议按照使用的密码技术可分为1.基于对称密码的认证协议2.基于公钥密码的认证协议.11双向认证协议❧双向认证协议是使通信双方确认对方的身份然后交换会话密钥,适用于通信双方同时在线的情况;是最常用的协议❧基于认证的密钥交换核心问题有两个1.保密性2.时效性12双向认证协议Needham/Schroeder协议(1)A→KDC:IDA||IDB||N1(2)KDC→A:EKa[KS||IDB||N1||EKb[KS||IDA]](3)A→B:EKb[KS||IDA](4)B→A:EKs[N2](5)A→B:EKs[f(N2)]KDC是密钥分发中心;IDA表示A身份的唯一标识;密钥Ka和Kb分别是A和KDC、B和KDC之间共享的密钥;N1和N2是两个once;f(N)是对N进行一个运算,比如f(N)=N+1保密密钥Ka和Kb分别是A和KDCB和KDC之间共享的密钥本协议的目的就是要安全地分发一个会话密钥Ks给A和B。1.基于对称密码的双向认证协议13双向认证协议Needham/Schroeder协议发出信息的人只希望所发的信息仅被与此有关的人获悉.为此.人们使用密码对自己所发出的信息进行加密.只有配有相同密码和密钥的人才能解密信息.在1975年公布了美国数据加密标准.作为传统密码体制的算法.使用时通信双方必须预先分配相同的密钥并妥善保管,在没有专门的密钥管理机构时.互不相识的通信双方如何预先得到所需的密钥.Needham/Schroeder协议在这样的背景下产生,就是一个基于对称加密算法的协议,它要求有可信任的第三方KDC参与,采用Challenge/Response的方式,使得A.B互相认证对方的身份.14双向认证协议DenningProtocol[1982]改进1A→KDCIDA||IDB2KDC→AEKa[Ks||IDB||T||EKb[Ks||IDA||T]]3A→BEKb[Ks||IDA||T]4B→AEKs[N1]5A→BEKs[f(N1)]|Clock-T|Δt1+Δt2其中T是实间戳,Δt1是KDC时钟与本地时钟A或B之间差异的估计值Δt2是预期的网络延迟时间2.基于对称密码的双向认证协议15双向认证协议DenningProtocol比Needham/SchroederProtocol在安全性方面增强了一步,然而又提出新的问题,即必须依靠各时钟均可通过网络同步。如果发送者的时钟比接收者的时钟要快,攻击者就可以从发送者窃听消息,并在以后当时间戳对接收者来说成为当前时重放给接收者,这种重放将会得到意想不到的后果。这类攻击称为抑制重放攻击。基于对称密码的双向认证协议16双向认证协议WOO92b协议(1)A→KDC:IDA||IDB(2)KDC→A:EKRauth[IDB||KUb]](3)A→B:EKUb[Na||IDA](4)B→KDC:IDB||IDA||EKUauth[Na](5)KDC→B:EKRauth[IDA||KUa]||EKUb[EKRauth[Na||KS||IDA||IDB]](6)B→A:EKUa[EKRauth[Na||KS||IDA||IDB]||Nb](7)A→B:EKs[Nb]其中KUa是A的公钥;KRa是A的私钥;KUauth是KDC的公钥;KRauth是KDC的私钥基于公钥密码的双向认证协议17单向认证协议如果通信的双方只需要一方被另一方鉴别身份,这样的认证过程就是一种单向认证,前面提到的口令核对法实际也可以算是一种单向认证,只是这种简单的单向认证还没有与密钥分发相结合。与密钥分发相结合的单向认证主要有两类方案:一类采用对称密钥加密体制,需要一个可信赖的第三方——通常称为KDC(密钥分发中心)或AS(认证服务器),由这个第三方来实现通信双方的身份认证和密钥分发;另一类采用非对称密钥加密体制,无需第三方参与。18单向认证协议不基于第三方A和B事先拥有共享密钥(1)A→B:IDA||N1(2)B→A:EKab[KS||IDB||f(N1)||N2](3)A→B:EKs[f(N2)]IDA表示A身份的唯一标识;N1和N2是两个once;f(N)是对N进行一个运算,比如f(N)=N+119单向认证协议基于第三方通信双方都事先与第三方有共享密钥(1)A→KDC:IDA||IDB||N1(2)KDC→A:EKa[KS||IDB||N1||EKb[KS||IDA]](3)A→B:EKb[KS||IDA]||EKs[M]IDA表示A身份的唯一标识;密钥Ka和Kb分别是A和KDC、B和KDC之间共享的密钥;N1和N2是两个once;f(N)是对N进行一个运算,比如f(N)=N+120单向认证协议基于公钥A→B:EKUb[KS]||EKs[M||EKRa[H(M)]]一个好的加密算法的重要特点之一是具有这种能力:可以指定一个密码或密钥,并用它来加密明文,不同的密码或密钥产生不同的密文。这又分为两种方式:对称密钥算法和非对称密钥算法。所谓对称密钥算法就是加密解密都使用相同的密钥,非对称密钥算法就是加密解密使用不同的密钥。非常著名的PGP公钥加密以及RSA加密方法都是非对称加密算法。加密密钥,即公钥,与解密密钥,即私钥,是非常的不同的。身份认证实现1.拨号认证协议2.Kerberos认证协议3.X.509认证协议拨号认证协议PPPCHAPTACACS+RADIUS22PPP协议PPP协议(Point-to-PointProtocol)是一种数据链路层协议PPP协议包括以下三个部分:1.数据帧封装方法。2.链路控制协议LCP(LinkControlProtocol):它用于对封装格式选项的自动协商,建立和终止连接,探测链路错误和配置错误。3.针对不同网络层协议的一族网络控制协议NCP(NetworkControlProtocol):PPP协议规定了针对每一种网络层协议都有相应的网络控制协议,并用它们来管理各个协议不同的需求。23标志地址控制协议信息FCS标志PPP口令认证协议标志地址控制协议C023信息FCS标志类型标识符长度数据请求者不停地发送认证请求包,直到收到一个回复包或重试计数器过期.认证者收到请求者发来的一个对等ID/口令对后对其进行比较.缺点:(1)只认证对等实体(2)口令在电路中以明文传输(3)没有防止重放攻击或反复的攻击CHAP协议挑战握手认证协议(CHAP)通过三次握手周期性的校验对端的身份,在初始链路建立时完成,可以在链路建立之后的任何时候重复进行。1、链路建立阶段结束之后,认证者向对端点发送“challenge”消息。2、对端点用经过单向哈希函数计算出来的值做应答。3、认证者根据它自己计算的哈希值来检查应答,如果值匹配,认证得到承认;否则,连接应该终止。4、经过一定的随机间隔,认证者发送一个新的challenge给端点,重复步骤1到3。25标志地址控制协议C223信息FCS标志类型标识符长度数据TACACS+TACACS+(TerminalAccessControllerAccess-ControlSystemPlus)是一种为路由器、网络访问服务器和其他互联计算设备通过一个或多个集中的服务器提供访问控制的协议。TACACS+提供了独立的认证、授权和记账服务。认证、授权与记账(Authentication,AuthorizationandAccounting,AAA)使用传输控制协议(TCP)TACACS允许客户机接受用户名和口令,并发送查询指令到TACACS认证服务器(又称之为TACACSdaemon或TACACSD)。在通常情况下,该服务器运行在主机上的一个程序。该主机决定是否接受或拒绝,然后返回一个响应。TIP根据响应类型,判断是否允许访问。26RADIUSRADIUS(RemoteAuthenticationDialInUserService)是一种在网络接入服务器(NetworkAccessServer)和共享认证服务器间传输认证、授权和配置信息的协议。RADIUS使用UDP作为其传输协议。此外RADIUS也负责传送网络接入服务器和共享计费服务器间的计费信息。RADIUS主要特征如下:客户/服务器模式网络安全灵活认证机制协议的可扩充性27Kerberos认证协议Kerberos是由MIT开发的提供网络认证服务的系统。它可用来为网络上的各种server提供认证服务,使得口令不再是以明文方式在网络上传输,并且联接之间通讯是加密的。Kerberos基于私钥体制(对称密码体制)。Kerberos提供三种安全等级:1)只在网络开始连接时进行认证,认为连接建立起来后的通信是可靠的2)安全消息(sagemessages)传递3)私有消息(privatemessages)传递28Kerberos模型Kerberos认证服务被分配到两个相对独立的服务器:认证服务器AS:它同时应该连接并维护一个中央数据库存放用户口令、标识等票据许可服务器TGS:整个系统将由四部分组成:AS,TGS,Client,ServerKerberos有两种证书:票据ticket和认证符authenticator。这两种证书都要加密,但加密的密钥不同。29Kerberos认证过程在第5版的整个认证过程中,消息有以下5个(1)c→AS:c,tgs(2)AS→c:Ekc[Kc,tgs]||Ektgs[Tc,tgs](3)c→TGS:Ekc,tgs[Ac,s]||Ektgs[Tc,tgs](4)TGS→c:Ekc,tgs[Kc,s]||Eks[Tc,s](5)c→s:Ekc,s[Ac,s]||Eks[Tc,s]c是客户,AS是鉴别服务器,TGS是票据许可服务器,s是c要使用的服务器,其余的标记与前面相同X.509认证协议X.509是由国际电信联盟(ITU-T)制定的数字证书标准。为了提供公用网络用户目录信息服务服务器SSL数字证书和客户端单位数字证书的格式遵循X.509

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功