《计算机网络安全技术(第二版)》-蔡立军-电子教案 ch10

上传人:E**** 文档编号:89454966 上传时间:2019-05-25 格式:PPT 页数:30 大小:860.50KB
返回 下载 相关 举报
《计算机网络安全技术(第二版)》-蔡立军-电子教案 ch10_第1页
第1页 / 共30页
《计算机网络安全技术(第二版)》-蔡立军-电子教案 ch10_第2页
第2页 / 共30页
《计算机网络安全技术(第二版)》-蔡立军-电子教案 ch10_第3页
第3页 / 共30页
《计算机网络安全技术(第二版)》-蔡立军-电子教案 ch10_第4页
第4页 / 共30页
《计算机网络安全技术(第二版)》-蔡立军-电子教案 ch10_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《《计算机网络安全技术(第二版)》-蔡立军-电子教案 ch10》由会员分享,可在线阅读,更多相关《《计算机网络安全技术(第二版)》-蔡立军-电子教案 ch10(30页珍藏版)》请在金锄头文库上搜索。

1、第10章 认证技术,本章学习目标,身份认证的作用、分类,身份认证系统的组成 身份认证协议 利用MAC进行消息认证的过程、将散列函数用于消息认证的基本过程 数字签名的原理,定义,认证(Authentication)是证实实体身份的过程,对传输内容进行审计、确认的过程,是保证计算机网络系统安全的重要措施之一。,身份认证是计算机网络系统的用户在进入系统或访问不同保护级别的系统资源时,系统确认该用户的身份是否真实、合法和唯一的过程。数据完整性可以通过消息认证来保证。而数字签名则可用来证明消息发送者的身份、消息的真实性及抗否认。密码技术一直在认证技术中起到非常关键的作用。,10.1 身份认证 10.1.

2、1 身份认证概述,身份认证的作用 身份认证就是为了确保用户身份的真实、合法和唯一。这样,就可以防止非法人员进入系统,防止非法人员通过违法操作获取不正当利益、访问受控信息、恶意破坏系统数据的完整性的情况的发生 身份认证的分类 从身份认证所用到的物理介质来分 从身份认证所应用的系统来分 从身份认证的基本原理分类 从身份认证所用的认证协议来分 按照认证协议所使用的密码技术来分 身份认证系统的组成 认证服务器(Authentication Server) 认证系统用户端软件(Authentication Client Software) 认证设备(Authenticator),10.1.2 物理认证,

3、口令认证 用户帐号+口令=某人的身份 智能卡 一般由微处理器、存储器及输入/输出设施构成。微处理器中有一个惟一的用户标识(ID)、私钥和数字证书 生物特征认证 通过自动化技术利用人体的生理特征或行为特征进行身份鉴定。目前利用生理特征进行生物识别的主要方法有指纹鉴定、虹膜识别、手掌识别、视网膜识别和脸相识别;利用行为特征进行识别的主要方法有声音识别、笔迹识别和击键识别等。,指纹鉴定 独特性 稳定性 方便性 手掌识别 视网膜,虹膜 面孔 声音 笔迹 步态识别 DNA,10.1.3 身份认证协议,分为双向认证协议和单向认证协议 双向认证协议:使通信双方确认对方的身份,适用于通信双方同时在线的情况 .

4、 基于对称密钥技术的双向认证协议 Denning 认证过程 基于公开密钥技术的双向认证协议 WOO92b协议,基于对称密钥技术的双向认证,AKDC:IDAIDBN1; / A向KDC申请要和B通信。明文消息中包含一个大的随机数N1。 KDCA:EKaKSIDBN1EKbKSIDA; /KDC发送一个使用A和KDC之间共享的密钥Ka加密的消息,消息包括:由KDC分发的、A与B的会话密钥Ks;B的名字IDB(保证了第一条明文消息中的B未被更改,即确认A是与B通信);A的随机数N1(保证了该消息是新的而不是攻击者重放的);一个只有B能看懂的许可证EKbKSIDA(因为使用了B和KDC之间共享的密钥K

5、b加密)。 AB:EKbKSIDA; / A将许可证EKbKSIDA发给B。 BA:EKsN2; /B解密许可证EKbKSIDA获得会话密钥Ks,从而认证了B的身份(因为只有B才能对使用了密钥Kb加密的消息进行正确的解密);然后产生随机数N2,B向A发送消息EKsN2。 AB:EKsf(N2)。 / A向B发送消息EKsf(N2)以证明是真正的A与B通信,从而认证了A的身份(因为只有A也知道KS)。,Denning 认证过程,AKDC:IDAIDB; KDCA:EKaKSIDBTEKbKSIDAT AB:EKbKSIDAT; BA:EKsN1; AB:EKsf(N1) Clock-Tt1+t2

6、 其中,T是时间戳,记录了KDC发送消息时的时间;t1是KDC时钟与本地时钟(A或B)之间差异的估计值;t2是预期的网络延迟时间。,WOO92b协议,AKDC:IDAIDB; /A向KDC提出和B通信。 KDCA:EKRkdcIDBKUb; /A得到B的公钥。 AB:EKUbNaIDA;/A向B提出通信要求,包含一个随机数Na BKDC:IDBIDAEKUkdcNa;/B向KDC询问A的公钥。 KDCB:EKRkdcIDAKUaEKUbEKRkdcNaKSIDAIDB; /B得到A的公钥和一段KDC签名的消息。 BA:EKUaEKRkdcNaKSIDAIDBNb; /B将这段消息和随机数Nb发

7、给A,A在KDC签名的消息中找到Na,知道这不是一个重放。 AB:EKsNb。 /A使用刚得到的会话密钥回答B 其中,KUa是A的公钥;KRa是A的私钥;KUkdc是KDC的公钥;KRkdc是KDC的私钥,单向认证协议 许多单向认证的应用(比如E-mail)不需要双方同时在线。一方在向对方证明自己身份的同时,即可发送数据;另一方收到后,首先验证发送方的身份,如果身份有效,就可以接受数据。 单向认证协议工作过程 AKDC:IDAIDBN1;/A向KDC要求和B通信,同时发给KDC一个随机数N1。 KDCA:EKaKSIDBN1EKbKSIDA; /KDC发给A一个用A的密钥加密的消息,包括一个会

8、话密钥、A发的随机数N1、一段用B的密钥加密的消息;同时A解密得到KS。 AB:EKbKSIDAEKsM。 /A将用B的密钥加密的那段消息和用KS加密的数据M一起发给B;B收到后首先解密得到A的身份标识和KS,然后就可以解密A发来的数据M了。,10.1.4 零知识身份认证,零知识证明的思想是:在不将知识的任何内容泄露给验证者的前提下,使用某种有效的数学方法证明自己拥有该知识。假设P是证明者,V是验证者,P试图向V证明自己知道某知识。一种方法是P说出该知识使得V相信,这样V也知道了该知识,这是基于知识的证明;另一种方法是P使用零知识证明。 零知识证明可以分为两大类:最小泄露证明(Minimum

9、Disclosure Proof)和零知识证明(Zero Knowledge Proof)。,最小泄露证明需要满足的条件 P几乎不可能欺骗V V几乎不可能知道证明的知识,特别是他不可能向别人重复证明过程 零知识证明除了要满足以上两个条件之外,还要满足V无法从P那里得到任何有关证明的知识 Feige-Fiat-shamir零知识身份认证协议,零知识问题,Feige-Fiat-shamir,用户P取随机数r,这里rm,计算x=r2 mod m,把x送给V; V把一位随机数b送给P; 若b=0,则P将r送给V;若b=l,则P将y=rs送给V; 若b=0,则V验证x= r2 mod m,从而证实P知道

10、sqrt(x);若b=1,则V验证x=y2v mod m,从而证实P知道s。,10.2 消息认证,消息加密 将明文加密后以密文作为认证符; 消息认证码(MAC) 用一个密钥控制的公开函数作用后,产生固定长度的数值作为认证符,也称为密码校验和。 散列函数 定义一个函数将任意长度的消息映射为定长的散列值,以散列值作为认证符。消息认证与数字签名通常都需要与散列函数结合起来使用。,10.2.1 消息认证方案,消息认证就是验证消息的完整性 验证消息的发送者是真正的而不是冒充的,即数据起源认证 验证消息在传送过程中未被篡改、重放或延迟等 消息认证码MAC 发送方A要发送消息M时,使用一个双方共享的密钥k产

11、生一个短小的定长数据块;将MAC附加在消息的后面发送给接收方B。 接收方对收到的消息使用相同的密钥k执行相同的计算,得到新的MAC 接收方将收到的MAC与计算得到的MAC进行比较,如果相匹配,那么可以保证报文在传输过程中维持了完整性,10.2.2 散列函数,散列函数的特性 一致性:相同的输入产生相同的输出; 随机性:消息摘要外观是随机的,以防被猜出源消息; 惟一性:几乎不可能找到两个消息产生相同的消息摘要; 单向性:即如果给出输出,则很难确定出输入消息。 散列函数应满足的基本要求 输入x可以为任意长度,输出数据串长度固定(最小128位) 正向计算容易;反向计算困难 抗冲突性(抗碰撞性),包括两

12、个含义:一是给出一消息x,找出一消息y使H(x)=H(y)是计算上不可行的(弱抗冲突);二是找出任意两条消息x、y,使H(x)=H(y)也是计算上不可行的(强抗冲突)。 散列函数用于消息认证 发送者将消息M作为单向散列函数H的输入,得到消息摘要,记作h=H(M)或MD= H(M)。 A将消息摘要H(M)连消息M一齐发送给B。 B将消息和消息摘要分离,并利用消息生成消息摘要。 比较两消息摘要,如果相同,则消息在传送期间没被更改 。,使用散列函数提供消息鉴别的常用方式,使用对称加密方法对附加消息摘要的报文进行加密(提供保密与鉴别); AB:Ek(MH(M) 使用对称加密方法对消息摘要进行加密(提供

13、鉴别); AB:MEk(H(M) 使用发方的私有密钥对消息摘要进行加密(提供鉴别和数字签名); AB:MEka(H(M) 在(3)的基础上,使用对称密钥加密方法进行加密(提供鉴别和数字签名、保密); AB:Ek(MEka(H(M) 假定双方共享一个秘密值S,使用散列函数提供鉴别; AB:MH(MS) 假定双方共享一个秘密值S,使用散列函数、对称加密方法提供鉴别、数字签名、保密。 AB:Ek(MH(M)S),10.2.3 MD5算法,MD5算法原理 MD5算法是按512位进行处理的,经过填充后的信息长度为512的倍数。首先它对信息进行填充,用首位为1,后面全为0的填充信息填充,填充的信息长度为l

14、512位,使信息的长度等于K*512+448,再填充64位的原始信息的长度(以字节计) 然后对消息依次每次处理512位,每次进行4轮,每轮16步总共64步的消息变换处理,每次输出结果为128位,然后把前一次的输出作为下一次消息变换的输入初始值(第一次初始值算法已经固定),这样最后输出一个128位的杂凑结果,MD5举例 MD5算法是对输入的数据进行补位,使得数据位长度LEN对512求余的结果是448。即数据扩展至K*512+448位。 补数据长度 初始化MD5参数 处理位操作函数 主要变换过程 输出结果 MD5的安全性问题 对MD5的普通直接攻击 对MD5的生日攻击 其他对MD5的攻击,10.3

15、 数字签名,采用加密技术进行通信,可保证信息的安全传输,即使被第三方非法窃取,也无法了解信息的内容。但加密并不能解决所有的信息安全问题,特别是收、发双方的争执。例如,网络中的用户A向用户B发送一份报文,则可能出现如下问题: 用户A不承认发送过这份报文; 用户B伪造一份来自用户A的报文; 用户B对用户A的报文进行篡改; B重复使用签名后的文件(如签名后的文件是一张电子支票,B多次使用该电子支票兑换现金); 网络中的另一用户冒充用户A或用户B。 为防止出现类似问题,一般公文常采用签字或盖章的方法来解决。但在网络环境下无法使用手写签名,既使可传送手写签名,也有伪造、模仿等问题。为解决这类问题,出现了

16、一种数据认证方法数字签名。,10.3.1 数字签名原理,数字签名与传统的手写签名的不同点 签名:手写签名是被签文件的物理组成部分;而数字签名不是被签消息的物理部分,因而需要将签名连接到被签消息上。 验证:手写签名是通过将它与真实的签名进行比较来验证;而数字签名是利用已经公开的验证算法来验证。 数字签名消息的复制品与其本身是一样的;而手写签名纸质文件的复制品与原品是不同的。 数字签名须满足的3个基本条件 签名者不能否认自己的签名; 接收者能够验证签名,而其他任何人都不能伪造签名; 当关于签名的真伪发生争执时,存在一个仲裁机构或第三方能够解决争执。,直接数字签名,需仲裁的数字签名,需要仲裁的数字签名体制一般流程如下:发送方A对消息签名后,将附有签名的消息

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号