SecCourse-04安全基础(一).ppt

上传人:sh****n 文档编号:7425738 上传时间:2020-03-21 格式:PPT 页数:60 大小:819KB
返回 下载 相关 举报
SecCourse-04安全基础(一).ppt_第1页
第1页 / 共60页
SecCourse-04安全基础(一).ppt_第2页
第2页 / 共60页
SecCourse-04安全基础(一).ppt_第3页
第3页 / 共60页
点击查看更多>>
资源描述
网络与信息安全安全基础 一 潘爱民 北京大学计算机研究所 内容 关于认证协议Windows平台的认证协议HTTP认证协议与身份认证相关的研究工作介绍 安全层次 安全的密码算法 安全协议 网络安全 系统安全 应用安全 回顾 信息安全的需求 保密性Confidentiality完整性Integrity系统完整性数据完整性可用性Availability真实性authenticity认证消息认证身份认证 验证真实身份和所声称身份相符的过程 认证协议 基于对称密码算法的认证方案是否需要密钥分发中心 KDC 对于协议的攻击手法认证的对象消息发送方消息本身基于公钥密码算法的认证方案公钥和身份的绑定 基于对称密码算法的认证 消息认证MAC码或者HMAC码前提 存在共享密钥密钥管理中心或者用一个密钥交换协议身份认证依据所知 口令 密钥 等所有 身份证 智能卡 等物理标识 指纹 笔迹 DNA 等基于口令证明是否知道口令口令的强度双向和单向认证目的 分发密钥 签名有效性 通讯方式 两方通讯一方发起通讯 另一方应答双向和单向认证有第三方介入的认证第三方为可信任方 KDC在线和离线其他情形多方认证跨域认证委托认证模型 信任模型 为什么需要认证协议 本地多用户认证Login 如何管理口令远程用户认证一次性访问资源或者服务之前进行认证多次访问资源或者服务身份 获得credential利用credential访问资源或者服务 认证例子 263的邮件登录 认证例子 sina的邮件登录 Client与Proxy Server之间的认证 Client与Proxy Server之间认证 续 基于口令的认证 明文传输 Telnet远程登录逐个字母发送 明文方式POP3邮件登录Ftp服务 认证协议 设计一个协议 一 假设A和B要进行通讯 A和B有一个共享的密钥Kab 如何利用这个密钥进行认证 并且商定一个会话密钥Ks 1A B IDA N1 2B A EKab Ks IDB f N1 N2 3A B EKs f N2 这里的f函数为某个确定的运算 比如f x x 1 Kab 我是A 告诉你Ks 以后就用它 别让别人知道 好的 我用它试试 可我怎么知道你是B呢 如果你知道Kab 那么你就知道Ks 我就知道你是A 认证协议 设计一个协议 二 假设A和B要进行通讯 A和B与KDC各有一个共享密钥Ka和Kb 如何利用这两个密钥进行认证 并且商定一个会话密钥Ks A KDC IDA IDB N1 KDC A EKa Ks IDB N1 EKb Ks IDA A B EKb Ks IDA EKs M Kb 我是A 我想和B通讯 Ka 我把必要的信息告诉你 我把消息给你 如果你是B 你就可以解开 会话密钥Ks 由A送给B的认证信息 针对认证协议的一些常见攻击手段和相应对策 中间人攻击 MITM maninthemiddle 如果通讯双方没有任何先决条件 那么这种攻击总是存在的A和B的协商过程很容易受到这一类攻击对策 增加A和B之间的先决知识 常见攻击和对策 二 重放攻击 replayattacks 偷听者可以记录下当前的通讯流量 以后在适当的时候重发给通讯的某一方 达到欺骗的目的对策 nonce保证通讯的唯一性增加时间戳 常见攻击和对策 三 字典攻击只要能够获得口令的密文形式 就可以实施字典攻击在线和离线字典攻击的有效性判断一个口令是有效的对策用户和管理员 选择好的口令协议设计 对口令的使用过程中 不要泄露口令的信息在密文中增加口令以外的额外信息 常见攻击和对策 四 已知明文攻击在许多认证协议中 一方会选择一个随机数 并且明文传输这个随机数 另一方加密这个随机数 并送回来 Challenge Response 所以偷听者可以获得已知明文 密文对对策 避免传输明文 密文对增加已知明文攻击的难度选择明文攻击在认证协议中 如果随机数的选择没有任何规则 那么中间人或者假冒方就有可能选择随机数 从而实施选择明文攻击对策随机数的选择限制 认证协议中的常用技术 一 时间戳A收到一个消息 根据消息中的时间戳信息 判断消息的有效性如果消息的时间戳与A所知道的当前时间足够接近这种方法要求不同参与者之间的时钟需要同步在网络环境中 特别是在分布式网络环境中 时钟同步并不容易做到一旦时钟同步失败要么协议不能正常服务 影响可用性 availability 造成拒绝服务 DOS 要么放大时钟窗口 造成攻击的机会时间窗大小的选择应根据消息的时效性来确定 认证协议中的常见技术 二 询问 应答方式 Challenge Response A期望从B获得一个条件首先发给B一个随机值 challenge B收到这个值之后 对它作某种变换 得到response 并送回去A收到这个response 可以验证B符合这个条件在有的协议中 这个challenge也称为nonce可能明文传输 也可能密文传输这个条件可以是知道某个口令 也可能是其他的事情变换例子 用密钥加密 说明B知道这个密钥 简单运算 比如增一 说明B知道这个随机值常用于交互式的认证协议中 分析一个协议 Kehn92 1A BIDA Na2B KDCIDB Nb EKb IDA Na Tb 3KDC AEKa IDB Na Ks Tb EKb IDA Ks Tb Nb4A BEKb IDA Ks Tb EKs Nb 4 2 3 1 关于Kehn92协议 EKb IDA Ks Tb 相当于一个ticket如果A要再次访问B 可以不再通过KDCA B EKb IDA Ks Tb Na B检查ticket是否在有效时间 若是 则B A Nb EKs Na A B EKs Nb 2 1 3 Windows采用的认证方案 LanManager认证 称为LM协议 早期版本NTLMv1认证协议NT4 0SP3之前的版本NTLMv2认证协议NT4 0SP4开始支持Kerberosv5认证协议Windows2000引进 LanMan认证方案 可以用于共享级认证Windows9x NT都支持由IBM开发 LanMan的口令加密方案 从口令 hash值口令变成大写把口令变成14个字符 或者截断 或者补空字符这14个字符分成两个7字符用7个字符和DES算法加密一个 magic 64位把两个64位结果拼起来 得到128位值服务器保存该128位值 作为 hashedpassword 缺陷如果口令长度在8 13位之间 则后面的7字符先破解 对前7个字符的破解可以提供某些信息建议 使用7位或者14位口令 NT的口令加密方案 从口令变成hash值把口令变成Unicode编码使用MD4散列算法得到128位散列值一种更好的方法是在口令上添加一些附加的信息 这样可以增加破解的难度Hash之前增加附加信息UNIX的crypt使用了附加信息黑客工具L0phtcrack下载 使用注意事项 NT口令破解的一个测试结果 在一台高端PC机 4个CPU 上强行破解5 5小时内破解字母 数字口令45小时破解字母 数字 部分符号口令480小时破解字母 数字 全部符号口令 插 UNIX中crypt口令加密方案 crypt 是一个口令加密函数 它基于DES算法 我们可以认为这是一个单向加密操作函数原型 char crypt constchar key constchar salt salt是两个字符 每个字符可从 a zA Z0 9 中选出来算法UNIX标准算法使用DES加密算法 用key对一个常量进行加密 获得一个13字节的密文编码输出 其中包括salt的两个字符 fromRedHatLinux6 2 Salt的作用同样的口令产生不同的密文增加了穷举空间 建议使用更为安全的MD5算法 NTLM认证过程 fromMSDN 用户在客户机上 提供域名 用户名和口令 系统计算口令的hash值 然后把口令丢掉客户把用户名以明文方式发送给服务器服务器产生一个128位随机数 challenge或者nonce 发送给客户客户用口令的hash值作为密钥 加密随机数 并把结果送回给服务器 这是应答 response 服务器把以下信息送给域控制器 DC 用户名 challenge和response域控制器利用用户名从SAM SecurityAccountManager 数据库得到用户口令的hash值 并用此值加密challenge域控制器比较它自己算出来的challenge密文和客户算出来的challenge密文 如果相等的话 认证成功 NTWorkstation认证协议 C SReqChal CcS CCsC S计算会话密钥Ks E PW 9 15 E PW 0 6 Add Cc Cs C Rc Cred Ks Cc C SAuthenticate RcS assert Rc Cred Ks Cc Rs Cred Ks Cs S CRsC assert Rs Cred Ks Cs FromNTDomainAuthentication Kerberos认证协议 Kerberos是一个经过长期考验的认证协议Kerberos替代NTLM的原因功能委托机制可传递的信任关系效率方面服务器不需要每次都与域控制器联系标准化 Kerberos概要 认证协议实例分析 HTTP认证协议 Web应用的认证机制HTTP本身支持的认证协议SSL协议HTTP 1 1规范BasicAuthenticationDigestAccessAuthentication 认证框架 基本思想 challenge response机制 服务器询问客户 客户提供认证信息指明authenticationscheme基本过程当客户请求一个被保护的资源的时候 服务器返回401 Unauthorized 应答消息应答头中包含一个WWW Authenticate域然后开始认证过程最后 如果服务器不能接受客户的credential 则应该返回一个401消息 继续下一轮的认证说明Proxy在中间必须是透明的 认证框架 续 一些消息类型认证方案 auth scheme tokenauth param token token quoted string 询问 challenge auth scheme1 SP1 auth param提供范围信息 域 realm realm realm valuerealm value quoted string客户提供认证信息credentials auth scheme auth param BasicAuthentication 认证的思想 对于每一个域 realm 客户都需要提供一个用户 ID和口令服务器检查用户 ID和口令消息challenge Basic realmcredential Basic basic credentials BasicAuthentication 续 过程服务器发出challenge 例如WWW Authenticate Basicrealm xxx URI 客户收到之后 发送应答basic credentials base64 user passbase64 user pass user pass userid passworduserid password TEXT例如 如果用户id为aladdin 口令为 opensesame 则消息如下Authorization BasicQWxhZGRpbjpvcGVuIHNlc2FtZQ 插 Base 64和Radix 64编码 特点 转换到字符集 而不是字符集的编码目标字符集包括65个可打印字符 其中一个用于padding 其他的可用6位表达不包括控制字符 所以不怕传输过程中被滤掉没有使用 字符 避免与RFC822冲突转换 3个8位 24位 4个6位 每个6位转换到一个字符 最终得到4个字符 如果用ASC码来表达 则为4个字节 编码表 二进制数据的Base 64编码 数据尾部的编码处理 编码时 按24位进行处理 到最后可能出现三种情况 最后一组正好是24位 则无需特殊处理最后一组是16位 则前两个6位组按正常情形处理 剩下的4位补上两位0 当作一组编码 然后再补上一个 最后一组是8位 则第一个6位组正常处理 剩下2位补上4位0 当作一组编码 然后 再补上两个 作为输出 DigestAccessAuthentication 仍然基于一个简单的challenge response结构但是它用一个nonce值作为challenge应答是一个hash值 缺省MD5算法 包括用户名 口令 nonce值 HTTP方法 以及被请求的URI好处口令不在网上传输 DigestAccessAuthentication Hash值的编码HEX编码每四位变成对应的16进制字符口令的初始分发没有规定 服务器的WWW Authenticate应答 challenge Digest digest challengedigest challenge 1 realm domain nonce opaque stale algorithm qop options auth param domain domain URI 1 SPURI URI absoluteURI abs pathnonce nonce nonce valuenonce value quoted stringopaque opaque quoted stringstale stale true false algorithm algorithm MD5 MD5 sess token qop options qop 1 qop valueqop value auth auth int token 客户的WWW Authorization请求头 credentials Digest digest responsedigest response 1 username realm nonce digest uri response algorithm cnonce opaque message qop nonce count auth param username username username valueusername value quoted stringdigest uri uri digest uri valuedigest uri value request uri AsspecifiedbyHTTP 1 1message qop qop qop valuecnonce cnonce cnonce valuecnonce value nonce valuenonce count nc nc valuenc value 8LHEXresponse response request digestrequest digest 32LHEXLHEX 0 1 2 3 4 5 6 7 8 9 a b c d e f 服务器的Authentication Info头 AuthenticationInfo Authentication Info auth infoauth info 1 nextnonce message qop response auth cnonce nonce count nextnonce nextnonce nonce valueresponse auth rspauth response digestresponse digest LHEX 可用于双向认证 DigestAccessAuthentication例子 客户请求一个文档 没有包含Authorization头 则服务器响应HTTP 1 1401UnauthorizedWWW Authenticate Digestrealm testrealm qop auth auth int nonce dcd98b7102dd2f0e8b11d0f600bfb0c093 opaque 5ccc069c403ebaf9f0171e9517f40e41 然后客户提示用户输入用户名和口令 并生成一个新的请求 其中包含Authorization头Authorization Digestusername Mufasa realm testrealm nonce dcd98b7102dd2f0e8b11d0f600bfb0c093 uri dir index html qop auth nc 00000001 cnonce 0a4f113b response 6629fae49393a05397450978507c4ef1 opaque 5ccc069c403ebaf9f0171e9517f40e41 两种方案的安全性 BasicAuthentication 最严重的问题口令不加密传输如果允许用户选择口令 则会波及到其他的系统碰到假冒的服务器DigestAuthentication安全性不如基于公钥的机制总比没有好安全性强于Basicauthentication不提供保密性一定程度的完整性 DigestAuthentication的攻击 重放攻击重放攻击是否有意义因为digest中包含了URI的信息 只对当前文档有效利用ip地址 时间信息 nonce etag信息等可以减弱重放攻击的危害性中间人攻击 MITM 协商方案的时候 中间人降低客户端的认证中间人提供一个免费的proxy 从而获得口令中间人欺骗客户去访问它想要的资源 DigestAuthentication的攻击 续 选择明文攻击中间人或者恶意服务器可以选择nonce 以便客户计算responseMD5增加了攻击的难度客户可以使用cnonce服务器一端的安全性口令文件必须妥善保管与response计算策略结合起来思想类似于UNIX的口令文件 HTTP中的NTLM认证协议示例 请求资源 HTTP中NTLM认证协议示例 续 challenge 与身份认证相关的研究工作介绍 MicrosoftPassportRecursiveAuthenticationProtocolNestedsignaturesDataIntegrityinanActiveContentSystemXML中的认证 Hailstorm Passport 中心化的认证服务对于所有的成员站点 只需一个登录和配置管理服务 Aprotectedresource 1 Client 3 Passport LogonService 4 1HTTPGETrequestwithoutPassportticket2return302andredirecttothePassportlogonservice3HTTPGETrequesttothelogonservice4presentclientalogonform5fillouttheform POSTbacktoserver usingSSL 6authenticateclient andredirectbacktotheoriginalURIwithticket7clientrequesttheresourcewithticket8theoriginatingserverauthenticatesclient 5 2 6 7 8 RecursiveAuthenticationProtocol Nestedsignatures WorkflowsystemsSignatureonsomefieldsofpaperCAhierarchicaltrees DataIntegrityinanActiveContentSystem gx rymodq Standards XML中加入数字签名的例子 MC0CFFrVLtRlk 参考资料 书WilliamStallings Cryptographyandnetworksecurity principlesandpractice SecondEdition HackersBeware 中文版 黑客 攻击透析与防范 文章NTDomainAuthentication
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!