资源描述:
《网络与信息安全安全基础(一)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、网络与信息安全安全基础(一)潘爱民,北京大学计算机研究所http://www.icst.pku.edu.cn/InfoSecCourse内容关于认证协议Windows平台的认证协议HTTP认证协议与身份认证相关的研究工作介绍安全层次安全的密码算法安全协议网络安全系统安全应用安全回顾:信息安全的需求保密性Confidentiality完整性Integrity系统完整性数据完整性可用性Availability真实性authenticity认证消息认证身份认证:验证真实身份和所声称身份相符的过程……认证协议基
2、于对称密码算法的认证方案是否需要密钥分发中心(KDC)?对于协议的攻击手法认证的对象消息发送方消息本身基于公钥密码算法的认证方案公钥和身份的绑定基于对称密码算法的认证消息认证MAC码或者HMAC码前提:存在共享密钥密钥管理中心或者用一个密钥交换协议身份认证依据所知:口令、密钥,等所有:身份证、智能卡,等物理标识:指纹、笔迹、DNA,等基于口令证明是否知道口令口令的强度双向和单向认证目的:分发密钥、签名有效性,……通讯方式两方通讯一方发起通讯,另一方应答双向和单向认证有第三方介入的认证第三方为可信任方,KD
3、C在线和离线其他情形多方认证跨域认证委托认证模型、信任模型……为什么需要认证协议本地多用户认证Login:如何管理口令远程用户认证一次性访问资源或者服务之前进行认证多次访问资源或者服务身份,获得credential利用credential访问资源或者服务认证例子:263的邮件登录认证例子:sina的邮件登录Client与Proxy-Server之间的认证Client与Proxy-Server之间认证(续)基于口令的认证+明文传输!!!Telnet远程登录逐个字母发送,明文方式POP3邮件登录Ftp服务……
4、认证协议:设计一个协议(一)假设A和B要进行通讯,A和B有一个共享的密钥Kab,如何利用这个密钥进行认证,并且商定一个会话密钥Ks1AB:(IDA
5、
6、N1)2BA:EKab[Ks,IDB,f(N1),N2)]3AB:EKs[f(N2)]这里的f函数为某个确定的运算,比如f(x)=x+1AKabB我是A告诉你Ks,以后就用它,别让别人知道好的,我用它试试,可我怎么知道你是B呢如果你知道Kab,那么你就知道Ks,我就知道你是A认证协议:设计一个协议(二)假设A和B要进行通讯,A和B与KDC各有一个
7、共享密钥Ka和Kb,如何利用这两个密钥进行认证,并且商定一个会话密钥KsAKDC:(IDA
8、
9、IDB
10、
11、N1)KDCA:EKa[Ks
12、
13、IDB
14、
15、N1
16、
17、EKb(Ks,IDA)]AB:EKb(Ks,IDA)
18、
19、EKs(M)AKbB我是A,我想和B通讯KDCKa我把必要的信息告诉你我把消息给你,如果你是B,你就可以解开会话密钥Ks,由A送给B的认证信息针对认证协议的一些常见攻击手段和相应对策中间人攻击(MITM,maninthemiddle)ABE如果通讯双方没有任何先决条件,那么这种攻击总是存
20、在的A和B的协商过程很容易受到这一类攻击对策:增加A和B之间的先决知识常见攻击和对策(二)重放攻击(replayattacks)ABE偷听者可以记录下当前的通讯流量,以后在适当的时候重发给通讯的某一方,达到欺骗的目的对策:nonce保证通讯的唯一性增加时间戳常见攻击和对策(三)字典攻击只要能够获得口令的密文形式,就可以实施字典攻击在线和离线字典攻击的有效性判断一个口令是有效的对策用户和管理员:选择好的口令协议设计:对口令的使用过程中,不要泄露口令的信息在密文中增加口令以外的额外信息常见攻击和对策(四)已
21、知明文攻击在许多认证协议中,一方会选择一个随机数,并且明文传输这个随机数,另一方加密这个随机数,并送回来——Challenge/Response,所以偷听者可以获得已知明文/密文对对策:避免传输明文/密文对增加已知明文攻击的难度选择明文攻击在认证协议中,如果随机数的选择没有任何规则,那么中间人或者假冒方就有可能选择随机数,从而实施选择明文攻击对策随机数的选择限制认证协议中的常用技术(一)时间戳A收到一个消息,根据消息中的时间戳信息,判断消息的有效性如果消息的时间戳与A所知道的当前时间足够接近这种方法要求不
22、同参与者之间的时钟需要同步在网络环境中,特别是在分布式网络环境中,时钟同步并不容易做到一旦时钟同步失败要么协议不能正常服务,影响可用性(availability),造成拒绝服务(DOS)要么放大时钟窗口,造成攻击的机会时间窗大小的选择应根据消息的时效性来确定认证协议中的常见技术(二)询问/应答方式(Challenge/Response)A期望从B获得一个条件首先发给B一个随机值(challenge)B收到这个值之后,对它作某种