资源预览内容
第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
第9页 / 共26页
第10页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1 计算机网络安全概论计算机网络安全概论 1 2010 第三章 认证(鉴别)技术和访问控制 计算机网络安全概论计算机网络安全概论 2 2010 认证服务认证服务认证服务认证服务 ?认证目的。认证是证实信息交换过程的有 效性和合法性的一种手段,主要有以下方 面: ?证实收到信息的真实性 ?证实存储数据的真实性 ?证实发送信息的真实性 ?证实信息的时效 性 ?证实对方的真实性 ?使接收方的活动可审计与仲裁 ?提供第三方公证的可能性 2 计算机网络安全概论计算机网络安全概论 3 2010 认证服务功能认证服务功能认证服务功能认证服务功能 ?防止窃听 ?防止冒充一方发起信息交换与拦截 ?防止窃取一方安全信息 ?防止在通信信道上进行拦截 计算机网络安全概论计算机网络安全概论 4 2010 信息安全的需求信息安全的需求信息安全的需求信息安全的需求 ?保密性保密性Confidentiality ?完整性完整性Integrity ?系统完整性系统完整性 ?数据完整性数据完整性 ?真实性真实性 authenticity ?认证认证 消息认证消息认证 身份认证:验证真实身份和所声称身份相符的过程身份认证:验证真实身份和所声称身份相符的过程 ?可用性可用性Availability ? 3 计算机网络安全概论计算机网络安全概论 5 2010 消息认证消息认证消息认证消息认证 ?在网络通信中,有一些针对消息内容的攻击方法在网络通信中,有一些针对消息内容的攻击方法 ?伪造消息伪造消息 ?窜改消息内容窜改消息内容 ?改变消息顺序改变消息顺序 ?消息重放或者延迟消息重放或者延迟 ?消息认证:对收到的消息进行验证,证明确实是 来自声称的发送方,并且没有被修改过。 消息认证:对收到的消息进行验证,证明确实是 来自声称的发送方,并且没有被修改过。 ?如果在消息中加入时间及顺序信息,则可以完成对时 间和顺序的认证 如果在消息中加入时间及顺序信息,则可以完成对时 间和顺序的认证 计算机网络安全概论计算机网络安全概论 6 2010 消息认证的三种方式消息认证的三种方式消息认证的三种方式消息认证的三种方式 ?Message encryption:消息加密,即用整个消息的 密文作为认证标识 :消息加密,即用整个消息的 密文作为认证标识 ?接收方必须能够识别错误接收方必须能够识别错误 ?MAC:消息认证码,即采用一个公开函数,加上 一个密钥产生一个固定长度的值作为认证标识 :消息认证码,即采用一个公开函数,加上 一个密钥产生一个固定长度的值作为认证标识 ?Hash function:散列函数,即一个公开函数将任 意长度的消息映射到一个固定长度的散列值,作 为认证标识 :散列函数,即一个公开函数将任 意长度的消息映射到一个固定长度的散列值,作 为认证标识 4 计算机网络安全概论计算机网络安全概论 7 2010 Message Authentication Code ( MAC )Message Authentication Code ( MAC ) ?使用一个双方共享的秘密密钥生成一个固定大小 的小数据块,并加入到消息中,称 使用一个双方共享的秘密密钥生成一个固定大小 的小数据块,并加入到消息中,称MAC,或密码 校验和 ,或密码 校验和(cryptographic checksum) ?用户用户A和用户和用户B,共享密钥,共享密钥K,对于消息,对于消息M, MAC=CK(M) ?如果接收方计算的如果接收方计算的MAC与收到的与收到的MAC匹配,则匹配,则 ?接收者可以确信消息接收者可以确信消息M未被改变未被改变 ?接收者可以确信消息来自所声称的发送者接收者可以确信消息来自所声称的发送者 ?如果消息中含有序列号,则可以保证正确的消息顺序如果消息中含有序列号,则可以保证正确的消息顺序 ?MAC函数类似于加密函数,但不需要可逆性。因 此在数学上比加密算法被攻击的弱点要少 函数类似于加密函数,但不需要可逆性。因 此在数学上比加密算法被攻击的弱点要少 计算机网络安全概论计算机网络安全概论 8 2010 MACMAC应用方式应用方式应用方式应用方式 M C |C K K Compare M Ck(M) 5 计算机网络安全概论计算机网络安全概论 9 2010 关于关于关于关于MACMAC算法讨论算法讨论算法讨论算法讨论 ?MAC不等于数字签名不等于数字签名 ?因为通讯双方共享同一个密钥因为通讯双方共享同一个密钥 ?MAC有固定的长度有固定的长度 ?MAC结构的重要性,例如,密钥足够长结构的重要性,例如,密钥足够长+加密算 法足够好安全 加密算 法足够好安全 ?M=(X1,X2,Xt) ?对对M产生校验和 :产生校验和 :M=X1 X2 Xt ?MAC = EK( M) ?攻击者选择攻击者选择M =(Y1,Y2,Yt-1,Yt),使得使得Yt满足满足: Yt= Y1 Y2 Yt-1M ?于是于是M= M?EK( M)=EK( M ) ? CK(M)=CK(M ) ?所以,尽管攻击者不知道所以,尽管攻击者不知道K,仍然可以伪造消息,仍然可以伪造消息M 计算机网络安全概论计算机网络安全概论 10 2010 基于基于基于基于DESDES的的的的MAC MAC - -DACDAC ?ANSI标准标准(X9.17) ?即为密文块链接(即为密文块链接(CBC)模 式结构,初始向量为 )模 式结构,初始向量为0 ?该方法适用于其他加密算法该方法适用于其他加密算法 ?算法:算法: M=(D1,D2,DN) O1=EK(D1) Oj+1=EK(Dj+1 Oj), 1 i0.5。 ? 对于第二种情况,第一个人在特定日统计生的概率为对于第二种情况,第一个人在特定日统计生的概率为1/365,而 第二人不在该日生的概率为 ,而 第二人不在该日生的概率为(1-1/365),类似地第三人与前两位不 同日生的概率为 ,类似地第三人与前两位不 同日生的概率为(1-2/365),以此类推,以此类推,t个人都不同时生日概率 为 个人都不同时生日概率 为(1-1/365)(1-2/365)(1-(t-1)/365),因此,至少有两人于同日生 的概率为 ,因此,至少有两人于同日生 的概率为1-(1-1/365)(1-2/365)(1-(t-1)/365),解之当,解之当,t23时,时, p0.5。 ? 对于对于n比特比特Hash值的生日攻击,由上式可计算出,当进行值的生日攻击,由上式可计算出,当进行2n/2次 的选择明文攻击下成功的概率将超过 次 的选择明文攻击下成功的概率将超过0.63. 10 计算机网络安全概论计算机网络安全概论 19 2010 针对生日攻击的安全条件针对生日攻击的安全条件针对生日攻击的安全条件针对生日攻击的安全条件 ?消息摘要必须足够的长。消息摘要必须足够的长。 ?一个一个40比特长的消息摘要是很不安全的,因 为仅仅用 比特长的消息摘要是很不安全的,因 为仅仅用220(大约一百万大约一百万)次随机次随机Hash可至 少以 可至 少以1/2的概率找到一个碰撞。的概率找到一个碰撞。 ?通常建议消息摘要的长度至少应选取为通常建议消息摘要的长度至少应选取为128 比特,此时生日攻击需要约比特,此时生日攻击需要约264次次Hash。 ?统计结果表明,如统计结果表明,如hash(m)的长度为的长度为128位位(bit) 时,则任意两个分别为时,则任意两个分别为M1,M2的输入报文具有完 全相同的 的输入报文具有完 全相同的h(m)的概率接近于零的概率接近于零 ?安全安全Hash标准的输出长度选为标准的输出长度选为160比特比特 计算机网络安全概论计算机网络安全概论 20 2010 hashhash函数通用模型函数通用模型函数通用模型函数通用模型 ?由由Merkle于于1989年提出年提出 ?几乎被所有几乎被所有hash算法采用算法采用 ?具体做法具体做法: ?把原始消息把原始消息M分成一些固定长度的块分成一些固定长度的块Yi ?最后一块最后一块padding并使其包含消息并使其包含消息M的长度的长度 ?设定初始值设定初始值CV0 ?压缩函数压缩函数f, CVi=f(CVi-1,Yi-1) ?最后一个最后一个CVi为为hash值值 11 计算机网络安全概论计算机网络安全概论 21 2010 hashhash函数模型图函数模型图函数模型图函数模型图 b Y0 n IV= CV0 f b Y1 nf b YL-1 n CVL-1 f CV1 nn IV = initial value 初始值 CV = chaining value 链接值 Yi= ith input block (第i 个输入数据块) f = compression algorithm (压缩算法) n = length of hash code (散列码的长度) b = length of input block(输入块的长度) CVL 计算机网络安全概论计算机网络安全概论 22 2010 MD5MD5算法简介算法简介算法简介算法简介 ? MD5:Message-Digest Algorithm 5 ?在在90年代初由年代初由MIT的计算机科学实验室和的计算机科学实验室和RSA Data Security Inc发明,经发明,经MD2、MD3和和MD4发展而来发展而来 ?MD5将任意长度的输入消息变换成一个将任意长度的输入消息变换成一个128bit的 大整数,并且它是一个 的 大整数,并且它是一个不可逆不可逆的变换算法。的变换算法。 ?应用应用 ?MD5的的典型应用典型应用是对一段信息(是对一段信息(Message)产生信息 摘要( )产生信息 摘要(Message-Digest),以防止被篡改。),以防止被篡改。 ?MD5还广泛用于加密和解密技术上。比如在还广泛用于加密和解密技术上。比如在UNIX系 统中用户的密码就是以 系 统中用户的密码就是以MD5(或其它类似的算法)经 加密后存储在文件系统中。 (或其它类似的算法)经 加密后存储在文件系统中。 12 计算机网络安全概论计算机网络安全概论 23 2010 MD5MD5算法处理过程算法处理过程算法处理过程算法处理过程 ? MD5以以512位位分组来处理输入的信息,分组来处理输入的信息, ? 每一分组又被划分为每一分组又被划分为16个个32位子位子分组,分组, ? 每一个分组要经过每一个分组要经过4轮循环轮循环处理,处理, ? 处理前以处理前以A、B、C、D这这4个缓冲区中的值作为个缓冲区中的值作为输入参数输入参数, 处理后输出四个 , 处理后输出四个32位值,位值,A、B、C、D分别加上这分别加上这4个个32位 值后再作为下一个分组处理所用的输入参数。 位 值后再作为下一个分组处理所用的输入参数。 ? 所有分组经过了所有分组经过了4轮主循环的处理后,输出四个轮主循环的处理后,输出四个32位最终 值,将这四个 位最终 值,将这四个32位值级联后即生成了一个位值级联后即生成了一个128位摘要值位摘要值 计算机网络安全概论计算机网络安全概论 24 2010 信息填充信息填充信息填充信息填充 ?在在MD5算法中,首先需要对信息进行填充, 使其字节长度对 算法中,首先需要对信息进行填充, 使其字节长度对512求余的结果等于求余的结果等于448 ?方法:方法: ?在信息的后面填充在信息的后面填充一个一个1和若干个和若干个0 ?附加一个附加一个64位的二进制数据位的二进制数据,此数据表示填充前 信息的长度 ,此数据表示填充前 信息的长度 ?要散列的数据要散列的数据 13 计算机网络安全概论计算机网络安全概论 25 2010 循环处理循环处理循环处理循环处理 ? 填充后的消息被划分成若干个填充后的消息被划分成若干个512位的分组
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号