《网络与信息安全安全基础一ppt课件.ppt》由会员分享,可在线阅读,更多相关《网络与信息安全安全基础一ppt课件.ppt(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、网络与信息安全安全基础一ppt课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望内容内容u关于认证协议关于认证协议uWindows平台的认证协议平台的认证协议uHTTP认证协议认证协议u与身份认证相关的研究工作介绍与身份认证相关的研究工作介绍安全层次安全层次安全的密码算法安全协议网络安全系统安全应用安全回顾:信息安全的需求回顾:信息安全的需求u保密性Confidentialityu完整性Integrity系统完整性数据完整性u可用性Availabilityu真实
2、性 authenticity认证消息认证身份认证:验证真实身份和所声称身份相符的过程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送
7、给B的认证信息针对认证协议的一些常见攻击手段针对认证协议的一些常见攻击手段和相应对策和相应对策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
13、IDB|Nb|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位散列值
16、位散列值u一种更好的方法是在口令上添加一些附加的信息,一种更好的方法是在口令上添加一些附加的信息,这样可以增加破解的难度这样可以增加破解的难度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
21、Rs S-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应用的认证机制应用的认证机制
22、HTTP本身支持的认证协议本身支持的认证协议SSL协议协议uHTTP/1.1规范规范Basic AuthenticationDigest Access Authentication认证框架认证框架u基本思想:基本思想:challenge-response机制,服务器机制,服务器询问客户,客户提供认证信息询问客户,客户提供认证信息指明指明authentication schemeu基本过程基本过程当客户请求一个被保护的资源的时候,服务器返回当客户请求一个被保护的资源的时候,服务器返回401(Unauthorized)应答消息应答消息应答头中包含一个应答头中包含一个WWW-Authenticate
23、域域然后开始认证过程然后开始认证过程最后,如果服务器不能接受客户的最后,如果服务器不能接受客户的credential,则应则应该返回一个该返回一个401消息,继续下一轮的认证消息,继续下一轮的认证u说明说明Proxy在中间必须是透明的在中间必须是透明的认证框架认证框架(续续)u一些消息类型一些消息类型认证方案:认证方案:auth-scheme =tokenauth-scheme =token auth-param =token=(token|quoted-string)询问:询问:challenge =auth-scheme 1*SP 1#auth-param提供范围信息提供范围信息(域域)r
24、ealm =realm=realm-valuerealm =realm=realm-value realm-value=quoted-string 客户提供认证信息客户提供认证信息 credentials=auth-scheme#auth-param Basic Authenticationu认证的思想:对于每一个域认证的思想:对于每一个域(realm),客客户都需要提供一个用户户都需要提供一个用户-ID和口令和口令服务器检查用户服务器检查用户-ID和口令和口令u消息消息challenge=“Basic”realmcredential=“Basic”basic-credentialsBasic
25、 Authentication(续续)u过程过程服务器发出服务器发出challenge,例如例如WWW-Authenticate:Basic realm=“xxx(URI)客户收到之后,发送应答客户收到之后,发送应答basic-credentials=base64-user-passbase64-user-pass =user-pass =userid:passworduserid =*password =*TEXT例如,如果用户例如,如果用户id为为aladdin,口令为口令为“open sesame”,则消息如下则消息如下Authorization:Basic QWxhZGRpbjpvcG
26、VuIHNlc2FtZQ=插:插:Base-64和和Radix-64编码编码u特点:特点:转换到字符集,而不是字符集的编码转换到字符集,而不是字符集的编码目标字符集包括目标字符集包括65个可打印字符,其中一个个可打印字符,其中一个用于用于padding,其他的可用其他的可用6位表达位表达不包括控制字符,所以不怕传输过程中被滤不包括控制字符,所以不怕传输过程中被滤掉掉没有使用没有使用“-”字符,避免与字符,避免与RFC 822冲突冲突u转换:转换:3个个8位位=24位位4个个6位,每个位,每个6位转换到位转换到一个字符,最终得到一个字符,最终得到4个字符,如果用个字符,如果用ASC码码来表达,则
27、为来表达,则为4个字节个字节编码表编码表二进制数据的二进制数据的Base-64编码编码数据尾部的编码处理数据尾部的编码处理u编码时,按编码时,按2424位进行处理,到最后可能出位进行处理,到最后可能出现三种情况:现三种情况:最后一组正好是最后一组正好是2424位,则无需特殊处理位,则无需特殊处理最后一组是最后一组是1616位,则前两个位,则前两个6 6位组按正常情形位组按正常情形处理,剩下的处理,剩下的4 4位补上两位位补上两位0 0,当作一组编码,当作一组编码,然后再补上一个然后再补上一个=最后一组是最后一组是8 8位,则第一个位,则第一个6 6位组正常处理,位组正常处理,剩下剩下2 2位补
28、上位补上4 4位位0 0,当作一组编码,然后,再,当作一组编码,然后,再补上两个补上两个=作为输出。作为输出。Digest Access Authenticationu仍然基于一个简单的仍然基于一个简单的challenge-response结构结构u但是它用一个但是它用一个nonce值作为值作为challengeu应答是一个应答是一个hash值值(缺省缺省MD5算法算法),包括,包括用户名、口令、用户名、口令、nonce值、值、HTTP方法、以及被请求的方法、以及被请求的URIu好处好处口令不在网上传输口令不在网上传输Digest Access AuthenticationuHash值的编码值
29、的编码HEX编码编码每四位变成对应的每四位变成对应的16进制字符进制字符u口令的初始分发没有规定口令的初始分发没有规定服务器的服务器的WWW-Authenticate 应答应答 challenge =Digest digest-challengechallenge =Digest digest-challenge digest-challenge =1#(realm|domain|nonce|digest-challenge =1#(realm|domain|nonce|opaque|stale|algorithm|opaque|stale|algorithm|qop-options|auth
30、-param)qop-options|auth-param)domain =domain=URI(1*SP URI)domain =domain=URI(1*SP URI)URI =absoluteURI|abs_path URI =absoluteURI|abs_path nonce =nonce=nonce-value nonce =nonce=nonce-value nonce-value =quoted-string nonce-value =quoted-string opaque =opaque=quoted-string opaque =opaque=quoted-string
31、stale =stale=(true|false)stale =stale=(true|false)algorithm =algorithm=(MD5|MD5-sess|algorithm =algorithm=(MD5|MD5-sess|token)token)qop-options =qop=1#qop-value qop-options =qop=1#qop-value qop-value =auth|auth-int|token qop-value =auth|auth-int|token客户的客户的WWW-Authorization请求头请求头 credentials =Digest
32、 digest-responsecredentials =Digest digest-response digest-response =1#(username|realm|nonce|digest-uri digest-response =1#(username|realm|nonce|digest-uri|response|algorithm|cnonce|response|algorithm|cnonce|opaque|message-qop|opaque|message-qop|nonce-count|auth-param)nonce-count|auth-param)username
33、 =username=username-value username =username=username-value username-value =quoted-string username-value =quoted-string digest-uri =uri=digest-uri-value digest-uri =uri=digest-uri-value digest-uri-value=request-uri ;As specified by HTTP/1.1 digest-uri-value=request-uri ;As specified by HTTP/1.1 mess
34、age-qop =qop=qop-value message-qop =qop=qop-value cnonce =cnonce=cnonce-value cnonce =cnonce=cnonce-value cnonce-value =nonce-value cnonce-value =nonce-value nonce-count =nc=nc-value nonce-count =nc=nc-value nc-value =8LHEX nc-value =8LHEX response =response=request-digest response =response=request
35、-digest request-digest=32LHEX request-digest=32LHEX LHEX =0|1|2|3|LHEX =0|1|2|3|4|5|6|7|4|5|6|7|8|9|a|b|8|9|a|b|c|d|e|f c|d|e|f 服务器的服务器的Authentication-Info头头 AuthenticationInfo=Authentication-Info:auth-infoAuthenticationInfo=Authentication-Info:auth-info auth-info =1#(nextnonce|message-qop auth-info
36、 =1#(nextnonce|message-qop|response-auth|cnonce|response-auth|cnonce|nonce-count)|nonce-count)nextnonce =nextnonce=nonce-value nextnonce =nextnonce=nonce-value response-auth =rspauth=response-digest response-auth =rspauth=response-digest response-digest =*LHEX response-digest =*LHEX u可用于双向认证可用于双向认证D
37、igest Access Authentication例子例子u客户请求一个文档,没有包含客户请求一个文档,没有包含Authorization头,则服务头,则服务器响应器响应 HTTP/1.1 401 UnauthorizedHTTP/1.1 401 Unauthorized WWW-Authenticate:Digest WWW-Authenticate:Digest realm=,realm=,qop=auth,auth-int,qop=auth,auth-int,nonce=dcd98b7102dd2f0e8b11d0f600bfb0c093,nonce=dcd98b7102dd2f0e
38、8b11d0f600bfb0c093,opaque=5ccc069c403ebaf9f0171e9517f40e41 opaque=5ccc069c403ebaf9f0171e9517f40e41u然后客户提示用户输入用户名和口令,并生成一个新的请求,其中然后客户提示用户输入用户名和口令,并生成一个新的请求,其中包含包含Authorization头头 Authorization:Digest username=Mufasa,Authorization:Digest username=Mufasa,realm=,realm=,nonce=dcd98b7102dd2f0e8b11d0f600bfb
39、0c093,nonce=dcd98b7102dd2f0e8b11d0f600bfb0c093,uri=/dir/index.html,uri=/dir/index.html,qop=auth,qop=auth,nc=00000001,nc=00000001,cnonce=0a4f113b,cnonce=0a4f113b,response=6629fae49393a05397450978507c4ef1,response=6629fae49393a05397450978507c4ef1,opaque=5ccc069c403ebaf9f0171e9517f40e41 两种方案的安全性两种方案的安全
40、性uBasic Authentication,最严重的问题最严重的问题口令不加密传输口令不加密传输如果允许用户选择口令,则会波及到其他的系统如果允许用户选择口令,则会波及到其他的系统碰到假冒的服务器碰到假冒的服务器uDigest Authentication安全性不如基于公钥的机制安全性不如基于公钥的机制总比没有好总比没有好安全性强于安全性强于Basic authentication不提供保密性不提供保密性一定程度的完整性一定程度的完整性Digest Authentication的攻击的攻击u重放攻击重放攻击重放攻击是否有意义重放攻击是否有意义因为因为digest中包含了中包含了URI的信息的
41、信息只对当前文档只对当前文档有效有效利用利用ip地址、时间信息、地址、时间信息、nonce、etag信息等可信息等可以减弱重放攻击的危害性以减弱重放攻击的危害性u中间人攻击中间人攻击(MITM)协商方案的时候,中间人降低客户端的认证协商方案的时候,中间人降低客户端的认证中间人提供一个免费的中间人提供一个免费的proxy,从而获得口令从而获得口令中间人欺骗客户去访问它想要的资源中间人欺骗客户去访问它想要的资源Digest Authentication的攻击的攻击(续续)u选择明文攻击选择明文攻击中间人或者恶意服务器可以选择中间人或者恶意服务器可以选择nonce,以以便客户计算便客户计算respo
42、nseMD5增加了攻击的难度增加了攻击的难度客户可以使用客户可以使用cnonceu服务器一端的安全性服务器一端的安全性口令文件必须妥善保管口令文件必须妥善保管与与response计算策略结合起来计算策略结合起来思想类似于思想类似于UNIX的口令文件的口令文件HTTP中的中的NTLM认证协议示例认证协议示例又一个连接请求资源拒绝,要求认证HTTP中中NTLM认证协议示例认证协议示例(续续)challengeresponse授权访问与身份认证相关的研究工作介绍与身份认证相关的研究工作介绍uMicrosoft PassportuRecursive Authentication ProtocoluNe
43、sted signaturesuData Integrity in an Active Content SystemuXML中的认证中的认证Hailstorm:Passportu中心化的认证服务中心化的认证服务对于所有的成员站点,只需一个登录和配置管理服务对于所有的成员站点,只需一个登录和配置管理服务A protected resource1Client3Passport(Logon Service)41 HTTP GET request without Passport ticket2 return 302 and redirect to the Passport logon service
44、3 HTTP GET request to the logon service4 present client a logon form5 fill out the form,POST back to server(using SSL)6 authenticate client,and redirect back to the original URI with ticket7 client request the resource with ticket8 the originating server authenticates client52678Recursive Authentica
45、tion ProtocolNested signaturesuWorkflow systemsSignature on some fields of paperuCA hierarchical treesData Integrity in an Active Content Systemgx+ry mod qStandards:XML中加入数字签名的例子中加入数字签名的例子 MC0CFFrVLtRlk=.参考资料参考资料u书书William Stallings,Cryptography and network security:principles and practice,Second Edition“Hackers Beware”,中文版黑客(攻击透析与防范)u文章文章NT Domain Authentication,http:/ 2616,2617,http:/www.ietf.org/rfc.html