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

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

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

1、网络与信息安全 安全基础 (一)潘爱民,北京大学计算机研究所http:/ authenticity认证消息认证身份认证:验证真实身份和所声称身份相符的过程u认证协议u基于对称密码算法的认证方案是否需要密钥分发中心(KDC)?对于协议的攻击手法认证的对象消息发送方消息本身u基于公钥密码算法的认证方案公钥和身份的绑定基于对称密码算法的认证u消息认证MAC码或者HMAC码前提:存在共享密钥密钥管理中心或者用一个密钥交换协议u身份认证依据所知:口令、密钥,等所有:身份证、智能卡,等物理标识:指纹、笔迹、DNA,等基于口令证明是否知道口令口令的强度双向和单向认证目的:分发密钥、签名有效性,通讯方式u两方

2、通讯一方发起通讯,另一方应答双向和单向认证u有第三方介入的认证第三方为可信任方,KDCu在线和离线u其他情形多方认证跨域认证委托认证模型、信任模型为什么需要认证协议u本地多用户认证Login:如何管理口令u远程用户认证一次性访问资源或者服务之前进行认证多次访问资源或者服务身份,获得credential利用credential访问资源或者服务认证例子:263的邮件登录认证例子:sina的邮件登录Client与Proxy-Server之间的认证Client与Proxy-Server之间认证(续)基于口令的认证+明文传输!uTelnet远程登录逐个字母发送,明文方式uPOP3邮件登录uFtp服务u认

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

4、KsAKDC: (IDA|IDB|N1) KDCA: EKaKs|IDB|N1|EKb(Ks,IDA) AB: EKb(Ks,IDA)|EKs(M)AKb B我是A,我 想和B通讯KDCKa我把必要的 信息告诉你我把消息给你,如果 你是B,你就可以解开会话密钥Ks ,由A送给B 的认证信息针对认证协议的一些常见攻击手段 和相应对策u中间人攻击(MITM, man in the middle)ABEu如果通讯双方没有任何先决条件,那么这种攻击 总是存在的uA和B的协商过程很容易受到这一类攻击u对策:u增加A和B之间的先决知识常见攻击和对策(二)u重放攻击(replay attacks)ABEu偷

5、听者可以记录下当前的通讯流量,以后在适当的时候 重发给通讯的某一方,达到欺骗的目的u对策:unonceu保证通讯的唯一性u增加时间戳常见攻击和对策(三)u字典攻击只要能够获得口令的密文形式,就可以实施 字典攻击在线和离线字典攻击的有效性判断一个口令是有效的u对策用户和管理员:选择好的口令协议设计:对口令的使用过程中,不要泄露 口令的信息 在密文中增加口令以外的额外信息常见攻击和对策(四)u已知明文攻击在许多认证协议中,一方会选择一个随机数,并且 明文传输这个随机数,另一方加密这个随机数,并 送回来Challenge/Response, 所以偷听者可以获得已知明文/密文对对策:避免传输明文/密文

6、对增加已知明文攻击的难度u选择明文攻击在认证协议中,如果随机数的选择没有任何规则, 那么中间人或者假冒方就有可能选择随机数,从而 实施选择明文攻击对策随机数的选择限制认证协议中的常用技术(一)u时间戳A收到一个消息,根据消息中的时间戳信息, 判断消息的有效性如果消息的时间戳与A所知道的当前时间足够接近这种方法要求不同参与者之间的时钟需要同步在网络环境中,特别是在分布式网络环境中,时钟 同步并不容易做到一旦时钟同步失败要么协议不能正常服务,影响可用性 (availability),造成拒绝服务(DOS)要么放大时钟窗口,造成攻击的机会时间窗大小的选择应根据消息的时效性来确定认证协议中的常见技术(

7、二)u询问/应答方式(Challenge/Response)A期望从B获得一个条件首先发给B一个随机值(challenge)B收到这个值之后,对它作某种变换,得到 response,并送回去A收到这个response,可以验证B符合这个条件在有的协议中,这个challenge也称为 nonce可能明文传输,也可能密文传输这个条件可以是知道某个口令,也可能是其 他的事情变换例子:用密钥加密,说明B知道这个密钥; 简单运算,比如增一,说明B知道这个随机值常用于交互式的认证协议中分析一个协议: Kehn92u1 A BIDA|Nau2 B KDC IDB|Nb | EKbIDA | Na | Tbu

8、3 KDC A EKaIDB|Na |Ks| Tb | EKbIDA | Ks | Tb | Nbu4 A B EKbIDA | Ks | Tb | EKs Nb ABKDC4231关于Kehn92协议uEKbIDA | Ks | Tb相当于一个ticketu如果A要再次访问B,可以不再通过KDCA B:EKbIDA | Ks | Tb | NaB检查ticket是否在有效时间,若是,则 B A:Nb|EKsNaA B:EKsNbABKDC213Windows采用的认证方案uLanManager认证(称为LM协议)早期版本uNTLM v1 认证协议NT 4.0 SP3之前的版本uNTLM v2

9、 认证协议NT 4.0 SP4开始支持uKerberos v5认证协议Windows 2000引进安全性加强LanMan认证方案u可以用于共享级认证uWindows 9x/NT都支持u由IBM开发LanMan的口令加密方案u从口令hash值口令变成大写把口令变成14个字符,或者截断、或者补空字符这14个字符分成两个7字符用7个字符和DES算法加密一个“magic ”64位把两个64位结果拼起来,得到128位值服务器保存该128位值,作为“hashed password”u缺陷如果口令长度在8-13位之间,则后面的7字符先破解 ,对前7个字符的破解可以提供某些信息u建议:使用7位或者14位口令N

10、T的口令加密方案u从口令变成hash值把口令变成Unicode编码使用MD4散列算法得到128位散列值u一种更好的方法是在口令上添加一些附加的信息, 这样可以增加破解的难度Hash之前增加附加信息UNIX的crypt使用了附加信息u黑客工具L0phtcrack下载:使用注意事项NT口令破解的一个测试结果u在一台高端PC机(4个CPU)上强行破解5.5小时内破解字母-数字口令45小时破解字母-数字-部分符号口令480小时破解字母-数字-全部符号口令插:UNIX中crypt口令加密方案ucrypt()是一个口令加密函数,它基于DES算法。我们可 以认为这是一个单向加密操作u函数原型: char *

11、crypt(const char *key, const char *salt); *salt是两个字符,每个字符可从a-zA-Z0-9./中选出来u算法UNIX标准算法使用DES加密算法,用key对一个常量进行加密 ,获得一个13字节的密文编码输出,其中包括salt的两个字符 from Red Hat Linux 6.2uSalt的作用同样的口令产生不同的密文增加了穷举空间?u建议使用更为安全的MD5算法NTLM认证过程(from MSDN)u用户在客户机上,提供域名、用户名和口令。系统计算 口令的hash值,然后把口令丢掉u客户把用户名以明文方式发送给服务器u服务器产生一个128位随机数(

12、challenge或者nonce), 发送给客户u客户用口令的hash值作为密钥,加密随机数,并把结果 送回给服务器。这是应答(response)u服务器把以下信息送给域控制器(DC): 用户名、challenge和responseu域控制器利用用户名从SAM(Security Account Manager)数据库得到用户口令的hash值,并用此值加 密challengeu域控制器比较它自己算出来的challenge密文和客户算 出来的challenge密文。如果相等的话,认证成功NT Workstation认证协议uC-S ReqChal,Cc S-C Cs uC、S计算会话密钥 Ks =

13、 E(PW915,E(PW06,Add(Cc,Cs) uC: Rc = Cred(Ks,Cc) C-S Authenticate, RcuS: assert(Rc = Cred(Ks,Cc) Rs = Cred(Ks,Cs), S-C Rs C: assert(Rs = Cred(Ks,Cs) From NT Domain AuthenticationKerberos认证协议uKerberos是一个经过长期考验的认证协 议uKerberos替代NTLM的原因功能委托机制可传递的信任关系效率方面服务器不需要每次都与域控制器联系标准化Kerberos概要认证协议实例分析:HTTP认证协议uWeb应

14、用的认证机制HTTP本身支持的认证协议SSL协议uHTTP/1.1规范Basic AuthenticationDigest Access Authentication认证框架u基本思想:challenge-response机制,服务器 询问客户,客户提供认证信息指明authentication schemeu基本过程当客户请求一个被保护的资源的时候,服务器返回 401(Unauthorized)应答消息 应答头中包含一个WWW-Authenticate域然后开始认证过程最后,如果服务器不能接受客户的credential,则应 该返回一个401消息,继续下一轮的认证u说明Proxy在中间必须是透

15、明的认证框架(续)u一些消息类型认证方案:auth-scheme = tokenauth-param = token “=“ ( token | quoted-string ) 询问:challenge = auth-scheme 1*SP 1#auth-param提供范围信息(域)realm = “realm“ “=“ realm-valuerealm-value = quoted-string 客户提供认证信息credentials = auth-scheme #auth-param Basic Authenticationu认证的思想:对于每一个域(realm),客 户都需要提供一个用户-ID和口令服务器检查用户-ID和口令u消息challenge = “Basic” realmcred

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

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

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