网络与信息安全安全基础一.ppt
《网络与信息安全安全基础一.ppt》由会员分享,可在线阅读,更多相关《网络与信息安全安全基础一.ppt(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、网络与信息安全安全基础一 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望内容内容u关于认证协议关于认证协议uWindows平台的认证协议平台的认证协议uHTTP认证协议认证协议u与身份认证相关的研究工作介绍与身份认证相关的研究工作介绍安全层次安全层次安全的密码算法安全协议网络安全系统安全应用安全回顾:信息安全的需求回顾:信息安全的需求u保密性Confidentialityu完整性Integrity系统完整性数据完整性u可用性Availabilityu真实性 aut
2、henticity认证消息认证身份认证:验证真实身份和所声称身份相符的过程u认证协议认证协议u基于对称密码算法的认证方案基于对称密码算法的认证方案是否需要密钥分发中心是否需要密钥分发中心(KDC)?对于协议的攻击手法对于协议的攻击手法认证的对象认证的对象消息发送方消息发送方消息本身消息本身u基于公钥密码算法的认证方案基于公钥密码算法的认证方案公钥和身份的绑定公钥和身份的绑定基于对称密码算法的认证基于对称密码算法的认证u消息认证消息认证MAC码或者码或者HMAC码码前提:存在共享密钥前提:存在共享密钥密钥管理中心密钥管理中心或者用一个密钥交换协议或者用一个密钥交换协议u身份认证身份认证依据依据所
3、知:口令、密钥,等所知:口令、密钥,等所有:身份证、智能卡,等所有:身份证、智能卡,等物理标识:指纹、笔迹、物理标识:指纹、笔迹、DNA,等等基于口令基于口令证明是否知道口令证明是否知道口令口令的强度口令的强度双向和单向认证双向和单向认证目的:分发密钥、签名有效性,目的:分发密钥、签名有效性,通讯方式通讯方式u两方通讯两方通讯一方发起通讯,另一方应答一方发起通讯,另一方应答双向和单向认证双向和单向认证u有第三方介入的认证有第三方介入的认证第三方为可信任方,第三方为可信任方,KDCu在线和离线在线和离线u其他情形其他情形多方认证多方认证跨域认证跨域认证委托认证模型、信任模型委托认证模型、信任模型
4、为什么需要认证协议为什么需要认证协议u本地多用户认证本地多用户认证Login:如何管理口令如何管理口令u远程用户认证远程用户认证一次性一次性访问资源或者服务之前进行认证访问资源或者服务之前进行认证多次访问资源或者服务多次访问资源或者服务身份,获得身份,获得credential利用利用credential访问资源或者服务访问资源或者服务认证例子:认证例子:263的邮件登录的邮件登录认证例子:认证例子:sina的邮件登录的邮件登录Client与与Proxy-Server之间的认证之间的认证Client与与Proxy-Server之间认证之间认证(续续)基于口令的认证基于口令的认证+明文传输明文传输
5、!uTelnet远程登录远程登录逐个字母发送,明文方式逐个字母发送,明文方式uPOP3邮件登录邮件登录uFtp服务服务u认证协议:设计一个协议认证协议:设计一个协议(一一)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,以后就用它,别让别人知道好的,
6、我用它试试,可我怎么知道你是B呢如果你知道Kab,那么你就知道Ks,我就知道你是A认证协议:设计一个协议认证协议:设计一个协议(二二)u假设假设A和和B要进行通讯,要进行通讯,A和和B与与KDC各有一个共享密钥各有一个共享密钥Ka和和Kb,如何利用这两个密钥进行认证,并且商定一个如何利用这两个密钥进行认证,并且商定一个会话密钥会话密钥KsAKDC:(IDA|IDB|N1)KDCA:EKaKs|IDB|N1|EKb(Ks,IDA)AB:EKb(Ks,IDA)|EKs(M)AKbB我是A,我想和B通讯KDCKa我把必要的信息告诉你我把消息给你,如果你是B,你就可以解开会话密钥Ks,由A送给B的认证
7、信息针对认证协议的一些常见攻击手段针对认证协议的一些常见攻击手段和相应对策和相应对策u中间人攻击中间人攻击(MITM,man in the middle)ABEu如果通讯双方没有任何先决条件,那么这种攻击如果通讯双方没有任何先决条件,那么这种攻击总是存在的总是存在的uA和和B的协商过程很容易受到这一类攻击的协商过程很容易受到这一类攻击u对策:对策:u增加增加A和和B之间的先决知识之间的先决知识常见攻击和对策常见攻击和对策(二二)u重放攻击重放攻击(replay attacks)ABEu偷听者可以记录下当前的通讯流量,以后在适当的时候偷听者可以记录下当前的通讯流量,以后在适当的时候重发给通讯的某
8、一方,达到欺骗的目的重发给通讯的某一方,达到欺骗的目的u对策:对策:unonceu保证通讯的唯一性保证通讯的唯一性u增加时间戳增加时间戳常见攻击和对策常见攻击和对策(三三)u字典攻击字典攻击只要能够获得口令的密文形式,就可以实施只要能够获得口令的密文形式,就可以实施字典攻击字典攻击在线和离线在线和离线字典攻击的有效性字典攻击的有效性判断一个口令是有效的判断一个口令是有效的u对策对策用户和管理员:选择好的口令用户和管理员:选择好的口令协议设计:对口令的使用过程中,不要泄露协议设计:对口令的使用过程中,不要泄露口令的信息口令的信息在密文中增加口令以外的额外信息在密文中增加口令以外的额外信息常见攻击
9、和对策常见攻击和对策(四四)u已知明文攻击已知明文攻击在许多认证协议中,一方会选择一个随机数,并且明在许多认证协议中,一方会选择一个随机数,并且明文传输这个随机数,另一方加密这个随机数,并送回文传输这个随机数,另一方加密这个随机数,并送回来来Challenge/Response,所以偷听者可以获得已知明文所以偷听者可以获得已知明文/密文对密文对对策:对策:避免传输明文避免传输明文/密文对密文对增加已知明文攻击的难度增加已知明文攻击的难度u选择明文攻击选择明文攻击在认证协议中,如果随机数的选择没有任何规则,那在认证协议中,如果随机数的选择没有任何规则,那么中间人或者假冒方就有可能选择随机数,从而
10、实施么中间人或者假冒方就有可能选择随机数,从而实施选择明文攻击选择明文攻击对策对策随机数的选择限制随机数的选择限制认证协议中的常用技术认证协议中的常用技术(一一)u时间戳时间戳A收到一个消息,根据消息中的时间戳信息,收到一个消息,根据消息中的时间戳信息,判断消息的有效性判断消息的有效性如果消息的时间戳与如果消息的时间戳与A所知道的当前时间足够接近所知道的当前时间足够接近这种方法要求不同参与者之间的时钟需要同步这种方法要求不同参与者之间的时钟需要同步在网络环境中,特别是在分布式网络环境中,时钟在网络环境中,特别是在分布式网络环境中,时钟同步并不容易做到同步并不容易做到一旦时钟同步失败一旦时钟同步
11、失败要么协议不能正常服务,影响可用性要么协议不能正常服务,影响可用性(availability),造成拒绝服务造成拒绝服务(DOS)要么放大时钟窗口,造成攻击的机会要么放大时钟窗口,造成攻击的机会时间窗大小的选择应根据消息的时效性来确定时间窗大小的选择应根据消息的时效性来确定认证协议中的常见技术认证协议中的常见技术(二二)u询问询问/应答方式应答方式(Challenge/Response)A期望从期望从B获得一个条件获得一个条件首先发给首先发给B一个随机值一个随机值(challenge)B收到这个值之后,对它作某种变换,得到收到这个值之后,对它作某种变换,得到response,并送回去并送回去
12、A收到这个收到这个response,可以验证可以验证B符合这个条件符合这个条件在有的协议中,这个在有的协议中,这个challenge也称为也称为nonce可能明文传输,也可能密文传输可能明文传输,也可能密文传输这个条件可以是知道某个口令,也可能是其这个条件可以是知道某个口令,也可能是其他的事情他的事情变换例子:用密钥加密,说明变换例子:用密钥加密,说明B知道这个密钥知道这个密钥;简单运算,比如增一,说明简单运算,比如增一,说明B知道这个随机值知道这个随机值常用于交互式的认证协议中常用于交互式的认证协议中分析一个协议:分析一个协议:Kehn92u1 A BIDA|Nau2 B KDC IDB|N
13、b|EKbIDA|Na|Tbu3 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|EKsNa A B:EKsNbABKDC213Windows采用的认证方案采用的认证方案uLanManager认证认证(称为称为LM协议协议)早期
14、版本早期版本uNTLM v1 认证协议认证协议NT 4.0 SP3之前的版本之前的版本uNTLM v2 认证协议认证协议NT 4.0 SP4开始支持开始支持uKerberos v5认证协议认证协议Windows 2000引进引进安全性加强LanMan认证方案认证方案u可以用于共享级认证可以用于共享级认证uWindows 9x/NT都支持都支持u由由IBM开发开发LanMan的口令加密方案的口令加密方案u从口令从口令hash值值口令变成大写口令变成大写把口令变成把口令变成14个字符,或者截断、或者补空字符个字符,或者截断、或者补空字符这这14个字符分成两个个字符分成两个7字符字符用用7个字符和个
15、字符和DES算法加密一个算法加密一个“magic”64位位把两个把两个64位结果拼起来,得到位结果拼起来,得到128位值位值服务器保存该服务器保存该128位值,作为位值,作为“hashed password”u缺陷缺陷如果口令长度在如果口令长度在8-13位之间,则后面的位之间,则后面的7字符先破解,字符先破解,对前对前7个字符的破解可以提供某些信息个字符的破解可以提供某些信息u建议:使用建议:使用7位或者位或者14位口令位口令NT的口令加密方案的口令加密方案u从口令变成从口令变成hash值值把口令变成把口令变成Unicode编码编码使用使用MD4散列算法散列算法得到得到128位散列值位散列值u
16、一种更好的方法是在口令上添加一些附加的信息,一种更好的方法是在口令上添加一些附加的信息,这样可以增加破解的难度这样可以增加破解的难度Hash之前增加附加信息之前增加附加信息UNIX的的crypt使用了附加信息使用了附加信息u黑客工具黑客工具L0phtcrack下载:下载:使用注意事项使用注意事项NT口令破解的一个测试结果口令破解的一个测试结果u在一台高端在一台高端PC机机(4个个CPU)上强行破解上强行破解5.5小时内破解字母小时内破解字母-数字口令数字口令45小时破解字母小时破解字母-数字数字-部分符号口令部分符号口令480小时破解字母小时破解字母-数字数字-全部符号口令全部符号口令插:插:
17、UNIX中中crypt口令加密方案口令加密方案ucrypt()是一个口令加密函数,它基于是一个口令加密函数,它基于DESDES算法。我们可以算法。我们可以认为这是一个单向加密操作认为这是一个单向加密操作u函数原型:函数原型:char*crypt(const char*key,const char*salt);*salt是两个字符,每个字符可从是两个字符,每个字符可从a-zA-Z0-9./中选出来中选出来u算法算法UNIX标准算法使用标准算法使用DES加密算法,用加密算法,用key对一个常量进行加密,对一个常量进行加密,获得一个获得一个13字节的密文编码输出,其中包括字节的密文编码输出,其中包括
18、salt的两个字符的两个字符from Red Hat Linux 6.2uSalt的作用的作用同样的口令产生不同的密文同样的口令产生不同的密文增加了穷举空间增加了穷举空间?u建议使用更为安全的建议使用更为安全的MD5算法算法NTLM认证过程认证过程(from MSDN)1.用户在客户机上,提供域名、用户名和口令。系统计算用户在客户机上,提供域名、用户名和口令。系统计算口令的口令的hash值,然后把口令丢掉值,然后把口令丢掉2.客户把用户名以明文方式发送给服务器客户把用户名以明文方式发送给服务器3.服务器产生一个服务器产生一个128位随机数位随机数(challenge或者或者nonce),发送给
19、客户发送给客户4.客户用口令的客户用口令的hash值作为密钥,加密随机数,并把结果值作为密钥,加密随机数,并把结果送回给服务器。这是应答送回给服务器。这是应答(response)5.服务器把以下信息送给域控制器服务器把以下信息送给域控制器(DC):用户名、用户名、challenge和和response6.域控制器利用用户名从域控制器利用用户名从SAM(Security Account Manager)数据库得到用户口令的数据库得到用户口令的hash值,并用此值加值,并用此值加密密challenge7.域控制器比较它自己算出来的域控制器比较它自己算出来的challenge密文和客户算密文和客户算
20、出来的出来的challenge密文。如果相等的话,认证成功密文。如果相等的话,认证成功NT Workstation认证协议认证协议1.C-S ReqChal,Cc S-C Cs 2.C、S计算会话密钥计算会话密钥 Ks=E(PW9.15,E(PW0.6,Add(Cc,Cs)3.3.C:Rc=Cred(Ks,Cc)C:Rc=Cred(Ks,Cc)C-S Authenticate,RcC-S Authenticate,Rc4.4.S:assert(Rc=Cred(Ks,Cc)S:assert(Rc=Cred(Ks,Cc)Rs=Cred(Ks,Cs),Rs=Cred(Ks,Cs),S-C Rs S-
21、C Rs C:assert(Rs=Cred(Ks,Cs)C:assert(Rs=Cred(Ks,Cs)From From NT Domain AuthenticationKerberos认证协议认证协议uKerberos是一个经过长期考验的认证协议是一个经过长期考验的认证协议uKerberos替代替代NTLM的原因的原因功能功能委托机制委托机制可传递的信任关系可传递的信任关系效率方面效率方面服务器不需要每次都与域控制器联系服务器不需要每次都与域控制器联系标准化标准化Kerberos概要概要认证协议实例分析:认证协议实例分析:HTTP认证协议认证协议uWeb应用的认证机制应用的认证机制HTTP本
22、身支持的认证协议本身支持的认证协议SSL协议协议uHTTP/1.1规范规范Basic AuthenticationDigest Access Authentication认证框架认证框架u基本思想:基本思想:challenge-response机制,服务器机制,服务器询问客户,客户提供认证信息询问客户,客户提供认证信息指明指明authentication schemeu基本过程基本过程当客户请求一个被保护的资源的时候,服务器返回当客户请求一个被保护的资源的时候,服务器返回401(Unauthorized)应答消息应答消息应答头中包含一个应答头中包含一个WWW-Authenticate域域然后开
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 信息 安全 基础
限制150内