网络与信息安全安全基础(一)

上传人:ldj****22 文档编号:53967430 上传时间:2018-09-06 格式:PPT 页数:60 大小:817KB
返回 下载 相关 举报
网络与信息安全安全基础(一)_第1页
第1页 / 共60页
网络与信息安全安全基础(一)_第2页
第2页 / 共60页
网络与信息安全安全基础(一)_第3页
第3页 / 共60页
网络与信息安全安全基础(一)_第4页
第4页 / 共60页
网络与信息安全安全基础(一)_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《网络与信息安全安全基础(一)》由会员分享,可在线阅读,更多相关《网络与信息安全安全基础(一)(60页珍藏版)》请在金锄头文库上搜索。

1、网络与信息安全 安全基础 (一),潘爱民,北京大学计算机研究所 http:/ Windows平台的认证协议 HTTP认证协议 与身份认证相关的研究工作介绍,安全层次,安全的密码算法,安全协议,网络安全,系统安全,应用安全,回顾:信息安全的需求,保密性Confidentiality 完整性Integrity 系统完整性 数据完整性 可用性Availability 真实性 authenticity 认证 消息认证 身份认证:验证真实身份和所声称身份相符的过程 ,认证协议,基于对称密码算法的认证方案 是否需要密钥分发中心(KDC)? 对于协议的攻击手法 认证的对象 消息发送方 消息本身 基于公钥密码

2、算法的认证方案 公钥和身份的绑定,基于对称密码算法的认证,消息认证 MAC码或者HMAC码 前提:存在共享密钥 密钥管理中心 或者用一个密钥交换协议 身份认证 依据 所知:口令、密钥,等 所有:身份证、智能卡,等 物理标识:指纹、笔迹、DNA,等 基于口令 证明是否知道口令 口令的强度 双向和单向认证 目的:分发密钥、签名有效性,,通讯方式,两方通讯 一方发起通讯,另一方应答 双向和单向认证 有第三方介入的认证 第三方为可信任方,KDC 在线和离线 其他情形 多方认证 跨域认证 委托认证模型、信任模型 ,为什么需要认证协议,本地多用户认证 Login:如何管理口令 远程用户认证 一次性 访问资

3、源或者服务之前进行认证 多次访问资源或者服务 身份,获得credential 利用credential访问资源或者服务,认证例子:263的邮件登录,认证例子:sina的邮件登录,Client与Proxy-Server之间的认证,Client与Proxy-Server之间认证(续),基于口令的认证+明文传输!,Telnet远程登录 逐个字母发送,明文方式 POP3邮件登录 Ftp服务 ,认证协议:设计一个协议(一),假设A和B要进行通讯,A和B有一个共享的密钥Kab,如何利用这个密钥进行认证,并且商定一个会话密钥Ks,1 AB: (IDA|N1) 2 BA: EKabKs,IDB,f(N1),N

4、2) 3 AB: EKsf(N2) 这里的f函数为某个确定的运算,比如f(x)=x+1,Kab,我是A,告诉你Ks, 以后就用它, 别让别人知道,好的,我用它 试试,可我怎 么知道你是B呢,如果你知道Kab, 那么你就知道Ks, 我就知道你是A,认证协议:设计一个协议(二),假设A和B要进行通讯,A和B与KDC各有一个共享密钥Ka和Kb, 如何利用这两个密钥进行认证,并且商定一个会话密钥Ks,AKDC: (IDA|IDB|N1) KDCA: EKaKs|IDB|N1|EKb(Ks,IDA) AB: EKb(Ks,IDA)|EKs(M),Kb,我是A,我 想和B通讯,Ka,我把必要的 信息告诉你

5、,我把消息给你,如果 你是B,你就可以解开,会话密钥Ks,由A送给B的认证信息,针对认证协议的一些常见攻击手段和相应对策,中间人攻击(MITM, man in the middle),如果通讯双方没有任何先决条件,那么这种攻击总是存在的 A和B的协商过程很容易受到这一类攻击 对策: 增加A和B之间的先决知识,常见攻击和对策(二),重放攻击(replay attacks),偷听者可以记录下当前的通讯流量,以后在适当的时候重发给通讯的某一方,达到欺骗的目的 对策: nonce 保证通讯的唯一性 增加时间戳,常见攻击和对策(三),字典攻击 只要能够获得口令的密文形式,就可以实施字典攻击 在线和离线

6、字典攻击的有效性 判断一个口令是有效的 对策 用户和管理员:选择好的口令 协议设计:对口令的使用过程中,不要泄露口令的信息 在密文中增加口令以外的额外信息,常见攻击和对策(四),已知明文攻击 在许多认证协议中,一方会选择一个随机数,并且明文传输这个随机数,另一方加密这个随机数,并送回来Challenge/Response, 所以偷听者可以获得已知明文/密文对 对策: 避免传输明文/密文对 增加已知明文攻击的难度 选择明文攻击 在认证协议中,如果随机数的选择没有任何规则,那么中间人或者假冒方就有可能选择随机数,从而实施选择明文攻击 对策 随机数的选择限制,认证协议中的常用技术(一),时间戳 A收

7、到一个消息,根据消息中的时间戳信息,判断消息的有效性 如果消息的时间戳与A所知道的当前时间足够接近 这种方法要求不同参与者之间的时钟需要同步 在网络环境中,特别是在分布式网络环境中,时钟同步并不容易做到 一旦时钟同步失败 要么协议不能正常服务,影响可用性(availability),造成拒绝服务(DOS) 要么放大时钟窗口,造成攻击的机会 时间窗大小的选择应根据消息的时效性来确定,认证协议中的常见技术(二),询问/应答方式(Challenge/Response) A期望从B获得一个条件 首先发给B一个随机值(challenge) B收到这个值之后,对它作某种变换,得到response,并送回去

8、 A收到这个response,可以验证B符合这个条件 在有的协议中,这个challenge也称为nonce 可能明文传输,也可能密文传输 这个条件可以是知道某个口令,也可能是其他的事情 变换例子:用密钥加密,说明B知道这个密钥; 简单运算,比如增一,说明B知道这个随机值 常用于交互式的认证协议中,分析一个协议: Kehn92,1 A B IDA|Na 2 B KDC IDB|Nb | EKbIDA | Na | Tb 3 KDC A EKaIDB|Na |Ks| Tb | EKbIDA | Ks | Tb | Nb 4 A B EKbIDA | Ks | Tb | EKs Nb ,4,2,3,

9、1,关于Kehn92协议,EKbIDA | Ks | Tb相当于一个ticket 如果A要再次访问B,可以不再通过KDC A B:EKbIDA | Ks | Tb | Na B检查ticket是否在有效时间,若是,则 B A:Nb|EKsNa A B:EKsNb,2,1,3,Windows采用的认证方案,LanManager认证(称为LM协议) 早期版本 NTLM v1 认证协议 NT 4.0 SP3之前的版本 NTLM v2 认证协议 NT 4.0 SP4开始支持 Kerberos v5认证协议 Windows 2000引进,LanMan认证方案,可以用于共享级认证 Windows 9x/N

10、T都支持 由IBM开发,LanMan的口令加密方案,从口令hash值 口令变成大写 把口令变成14个字符,或者截断、或者补空字符 这14个字符分成两个7字符 用7个字符和DES算法加密一个“magic ”64位 把两个64位结果拼起来,得到128位值 服务器保存该128位值,作为“hashed password” 缺陷 如果口令长度在8-13位之间,则后面的7字符先破解,对前7个字符的破解可以提供某些信息 建议:使用7位或者14位口令,NT的口令加密方案,从口令变成hash值 把口令变成Unicode编码 使用MD4散列算法 得到128位散列值 一种更好的方法是在口令上添加一些附加的信息,这样

11、可以增加破解的难度 Hash之前增加附加信息 UNIX的crypt使用了附加信息 黑客工具L0phtcrack 下载: 使用注意事项,NT口令破解的一个测试结果,在一台高端PC机(4个CPU)上强行破解 5.5小时内破解字母-数字口令 45小时破解字母-数字-部分符号口令 480小时破解字母-数字-全部符号口令,插:UNIX中crypt口令加密方案,crypt()是一个口令加密函数,它基于DES算法。我们可以认为这是一个单向加密操作 函数原型: char *crypt(const char *key, const char *salt); *salt是两个字符,每个字符可从a-zA-Z0-9.

12、/中选出来 算法 UNIX标准算法使用DES加密算法,用key对一个常量进行加密,获得一个13字节的密文编码输出,其中包括salt的两个字符from Red Hat Linux 6.2 Salt的作用 同样的口令产生不同的密文 增加了穷举空间? 建议使用更为安全的MD5算法,NTLM认证过程(from MSDN),用户在客户机上,提供域名、用户名和口令。系统计算口令的hash值,然后把口令丢掉 客户把用户名以明文方式发送给服务器 服务器产生一个128位随机数(challenge或者nonce),发送给客户 客户用口令的hash值作为密钥,加密随机数,并把结果送回给服务器。这是应答(respon

13、se) 服务器把以下信息送给域控制器(DC): 用户名、challenge和response 域控制器利用用户名从SAM(Security Account Manager)数据库得到用户口令的hash值,并用此值加密challenge 域控制器比较它自己算出来的challenge密文和客户算出来的challenge密文。如果相等的话,认证成功,NT Workstation认证协议,C-S ReqChal,Cc S-C Cs C、S计算会话密钥 Ks = E(PW915,E(PW06,Add(Cc,Cs) C: Rc = Cred(Ks,Cc) C-S Authenticate, Rc S: a

14、ssert(Rc = Cred(Ks,Cc) Rs = Cred(Ks,Cs), S-C Rs C: assert(Rs = Cred(Ks,Cs) From NT Domain Authentication,Kerberos认证协议,Kerberos是一个经过长期考验的认证协议 Kerberos替代NTLM的原因 功能 委托机制 可传递的信任关系 效率方面 服务器不需要每次都与域控制器联系 标准化,Kerberos概要,认证协议实例分析:HTTP认证协议,Web应用的认证机制 HTTP本身支持的认证协议 SSL协议 HTTP/1.1规范 Basic Authentication Digest

15、 Access Authentication,认证框架,基本思想:challenge-response机制,服务器询问客户,客户提供认证信息 指明authentication scheme 基本过程 当客户请求一个被保护的资源的时候,服务器返回401(Unauthorized)应答消息 应答头中包含一个WWW-Authenticate域 然后开始认证过程 最后,如果服务器不能接受客户的credential,则应该返回一个401消息,继续下一轮的认证 说明 Proxy在中间必须是透明的,认证框架(续),一些消息类型 认证方案: auth-scheme = token auth-param = t

16、oken “=“ ( token | quoted-string ) 询问: challenge = auth-scheme 1*SP 1#auth-param 提供范围信息(域) realm = “realm“ “=“ realm-value realm-value = quoted-string 客户提供认证信息 credentials = auth-scheme #auth-param,Basic Authentication,认证的思想:对于每一个域(realm),客户都需要提供一个用户-ID和口令 服务器检查用户-ID和口令 消息 challenge = “Basic” realm credential = “Basic” basic-credentials,

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

当前位置:首页 > 行业资料 > 其它行业文档

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