1、网络安全网络安全消息鉴别消息鉴别回顾与总结回顾与总结 对称密码算法对称密码算法l 运算速度快、密钥短、多种用途(随机数产生、运算速度快、密钥短、多种用途(随机数产生、lHash函数)、历史悠久函数)、历史悠久l 密钥管理困难(分发、更换)密钥管理困难(分发、更换)非对称密码算法非对称密码算法l 只需保管私钥、可以相当长的时间保持不变、需只需保管私钥、可以相当长的时间保持不变、需l要的数目较小要的数目较小l 运算速度慢、密钥尺寸大、历史短运算速度慢、密钥尺寸大、历史短安全的信息交换应满足的性质安全的信息交换应满足的性质 保密性(保密性(Confidentiality)完整性(完整性(Integr
2、ity)l 数据完整性,未被未授权篡改或者损坏数据完整性,未被未授权篡改或者损坏l 系统完整性,系统未被非授权操纵,按既定的功能系统完整性,系统未被非授权操纵,按既定的功能运行运行 可用性(可用性(Availability)鉴别(鉴别(Authenticity)l 实体身份的鉴别,适用于用户、进程、系统、信息实体身份的鉴别,适用于用户、进程、系统、信息等等 不可否认性(不可否认性(Non-repudiation)l 防止源点或终点的抵赖防止源点或终点的抵赖消息鉴别的概念消息鉴别的概念消息鉴别(消息鉴别(Message Authentication)l消息认证、报文认证、报文鉴别消息认证、报文认
3、证、报文鉴别l鉴别:鉴别:消息接收者对消息进行的验证,是一个消息接收者对消息进行的验证,是一个证实收到的消息来自可信的源点且未被篡改的证实收到的消息来自可信的源点且未被篡改的过程过程真实性:消息确实来自于真实性:消息确实来自于真正的发送者真正的发送者,而非假,而非假冒冒完整性:消息内容完整性:消息内容没有被篡改、重放或延迟没有被篡改、重放或延迟消息鉴别的必要性消息鉴别的必要性网络通信的安全威胁网络通信的安全威胁l泄漏泄漏消息内容被泄漏给非授权用户消息内容被泄漏给非授权用户l伪造伪造假冒源点的身份向网络中插入消息假冒源点的身份向网络中插入消息l消息篡改消息篡改内容篡改:内容篡改:插入、删除、修改
4、等插入、删除、修改等序号篡改:序号篡改:在依赖序号的协议如在依赖序号的协议如TCP中,对消息序号中,对消息序号进行篡改,包括插入、删除、重排等进行篡改,包括插入、删除、重排等时间篡改:时间篡改:对消息进行延迟或重放对消息进行延迟或重放l行为抵抗行为抵抗发送方否认发送某个消息,或接收方否认接收某个消发送方否认发送某个消息,或接收方否认接收某个消息息消息鉴别的作用消息鉴别的作用保护保护双方的数据交换不被其他人侵犯双方的数据交换不被其他人侵犯l基于双方基于双方共享的秘密共享的秘密l但是消息鉴别无法解决双方之间可能存在的争议但是消息鉴别无法解决双方之间可能存在的争议B伪造一个消息,声称是伪造一个消息,
5、声称是A发送的发送的B否认发送过某个消息,而否认发送过某个消息,而A无法证明无法证明B撒谎撒谎单纯单纯鉴别系统的模型鉴别系统的模型安全信道安全信道信道信道信源信源鉴鉴 别别编码器编码器鉴鉴 别别密钥密钥源源攻击者攻击者鉴鉴 别别解码器解码器信宿信宿需要需要鉴别密钥鉴别密钥,而且此密,而且此密钥一般不同于加密密钥钥一般不同于加密密钥消息鉴别系统的构成消息鉴别系统的构成认证算法:底层实现的一项基本功能认证算法:底层实现的一项基本功能l认证功能要求底层必须实现某种能生成认证功能要求底层必须实现某种能生成认证标识认证标识的算的算法法l认证标识(鉴别符)是一个用于消息鉴别的认证标识(鉴别符)是一个用于消
6、息鉴别的特征值特征值l认证标识的生成算法用一个生成函数认证标识的生成算法用一个生成函数f来实现,称为来实现,称为鉴鉴别函数别函数认证协议认证协议l接收方用该协议来完成消息合法性鉴别的操作接收方用该协议来完成消息合法性鉴别的操作l认证协议调用底层的认证算法(鉴别函数),来验证认证协议调用底层的认证算法(鉴别函数),来验证消息的真实性消息的真实性鉴别函数鉴别函数f是决定认证(鉴别)系统特性的主要是决定认证(鉴别)系统特性的主要因素因素认证协议认证协议算法:鉴别函数算法:鉴别函数高层认证协议高层认证协议消息鉴别系统的分类消息鉴别系统的分类可根据鉴别函数的特性分类可根据鉴别函数的特性分类根据鉴别符的生
7、成方式,鉴别函数可以分成以下根据鉴别符的生成方式,鉴别函数可以分成以下几类:几类:l基于消息加密方式的鉴别基于消息加密方式的鉴别以整个消息的密文作为鉴别符以整个消息的密文作为鉴别符l基于消息鉴别码(基于消息鉴别码(MAC)的鉴别方式)的鉴别方式发送方利用发送方利用公开函数公开函数+密钥密钥产生一个固定长度的值作产生一个固定长度的值作为为鉴别标识鉴别标识,并与消息一同发送,并与消息一同发送l基于基于Hash函数的鉴别方式函数的鉴别方式采用采用hash函数将任意长度的消息映射为一个定长的函数将任意长度的消息映射为一个定长的散列值,以此散列值为鉴别码散列值,以此散列值为鉴别码可以认为是可以认为是MA
8、C方式的一种特例方式的一种特例基于消息加密方式的鉴别基于消息加密方式的鉴别基于消息加密方式的鉴别基于消息加密方式的鉴别以以整个消息的密文为鉴别符整个消息的密文为鉴别符加密模式加密模式l对称密钥模式对称密钥模式l公开密钥模式公开密钥模式接收端鉴别的实现接收端鉴别的实现l基于这样的假设:基于这样的假设:接收端能够正确地对密文解密,就可以确定消息接收端能够正确地对密文解密,就可以确定消息是完整的,而且是来自于真实的发送方,从而实是完整的,而且是来自于真实的发送方,从而实现了对消息的鉴别现了对消息的鉴别使用对称密钥模式使用对称密钥模式提供保密提供保密提供鉴别提供鉴别l仅来自仅来自Al传输中未被更改传输
9、中未被更改不提供签名不提供签名MCMEDkk发送方发送方A接收方接收方B使用对称密钥模式的问题使用对称密钥模式的问题存在的问题(存在的问题(假设明文本身就是乱码假设明文本身就是乱码)l接收端怎样判断密文的合法性接收端怎样判断密文的合法性l接收端如何判断解密的结果是否正确接收端如何判断解密的结果是否正确解密运算的本质是数学运算解密运算的本质是数学运算l原始消息对接收端是未知的原始消息对接收端是未知的l接收端可以得到接收端可以得到 M=Dk(c)l怎么判断怎么判断 M=M解决方法:解决方法:强制明文具有某种结构,并且强制明文具有某种结构,并且不通过加密函数是不能复制这种结构。不通过加密函数是不能复
10、制这种结构。解决方法解决方法加入错误检测码加入错误检测码l内部错误控制(图内部错误控制(图4-4a)先执行错误检测码函数先执行错误检测码函数再执行加密函数再执行加密函数错误检测码被包含在密文中错误检测码被包含在密文中l外部错误控制(图外部错误控制(图4-4b)先执行加密函数先执行加密函数再执行错误检测码函数再执行错误检测码函数错误检测码未被包含在密文中错误检测码未被包含在密文中使用公钥加密体制使用公钥加密体制 1提供保密提供保密不提供鉴别和签名不提供鉴别和签名MCMEDkUbkRb发送方发送方A接收方接收方B使用公钥加密体制使用公钥加密体制 2不提供保密不提供保密提供鉴别与签名提供鉴别与签名l
11、仅仅A有有KRa可以加密可以加密l传输中未被更改传输中未被更改MCMEDkRakUa发送方发送方A接收方接收方B使用公钥加密体制使用公钥加密体制 3提供保密:提供保密:KUb提供鉴别和签名提供鉴别和签名:KRaMCMEDkRakUa发送方发送方A接收方接收方BCEkUbCEkRb归纳归纳对称加密对称加密l提供保密性。只有提供保密性。只有A和和B共享共享l提供鉴别。只能发自提供鉴别。只能发自Al不提供签名。接收方可以伪造,发送方可以否不提供签名。接收方可以伪造,发送方可以否认消息认消息公钥加密公钥加密l只提供保密。只有只提供保密。只有B拥有私钥拥有私钥l只提供鉴别和签名。只有只提供鉴别和签名。只
12、有A拥有私钥拥有私钥l提供保密以及鉴别和签名。提供保密以及鉴别和签名。A私钥私钥+B公钥公钥B私钥私钥+A公钥公钥基于基于MAC的鉴别的鉴别基于基于MAC的鉴别的鉴别消息鉴别码消息鉴别码(Message Authentication Code,MAC)l发送方采用一种类似于加密的算法和一个密钥,根据发送方采用一种类似于加密的算法和一个密钥,根据消息内容计算生成一个消息内容计算生成一个固定大小的小数据块固定大小的小数据块,并加入,并加入到消息中,称为到消息中,称为MAC。MAC=fk(m)需要鉴别密钥需要鉴别密钥l核心是类似于加密算法的核心是类似于加密算法的鉴别码生成算法鉴别码生成算法lMAC被
13、附加在消息中,用于消息的合法性鉴别被附加在消息中,用于消息的合法性鉴别功能功能l接收者可以确信消息接收者可以确信消息M未被改变未被改变l接收者可以确信消息来自所声称的发送者接收者可以确信消息来自所声称的发送者消息鉴别码的基本原理消息鉴别码的基本原理MMMMACMACf()f()比较比较密钥密钥K密钥密钥K认证结果认证结果信道信道双方共享鉴别密钥双方共享鉴别密钥 k发送方发送方接收方接收方MAC的基本应用的基本应用 1提供消息鉴别提供消息鉴别l仅仅A和和B共享密钥共享密钥KMMMACf()比较比较密钥密钥Kf()发送方发送方A接收方接收方BMMACMAC的基本应用的基本应用 2MMMACf()D
14、()比较比较密钥密钥KE()密钥密钥K密钥密钥KMMACf()密文密文发送方发送方接收方接收方提供保密提供保密只有只有A和和B共享共享k提供鉴别提供鉴别只有只有A和和B共享共享k1、先、先计算计算MAC再再加密加密2、K是加密密钥是加密密钥3、K是认证密钥是认证密钥MAC的应用的应用 3密文密文MMACf()f()比较比较密钥密钥KE()密钥密钥K密钥密钥K密文密文+D()密钥密钥KM1、先加密再计算、先加密再计算MAC2、K是加密密钥是加密密钥3、K是认证密钥是认证密钥发送方发送方接收方接收方提供保密提供保密只有只有A和和B共享共享k提供鉴别提供鉴别只有只有A和和B共享共享k 保密性与真实性
15、是两个不同的概念保密性与真实性是两个不同的概念根本上根本上,信息加密提供的是保密性而非真实性信息加密提供的是保密性而非真实性加密代价大加密代价大(公钥算法代价更大公钥算法代价更大)鉴别函数与保密函数的分离能提供功能上鉴别函数与保密函数的分离能提供功能上的灵活性的灵活性 某些信息只需要真实性某些信息只需要真实性,不需要保密性不需要保密性广播的信息难以使用加密广播的信息难以使用加密(信息量大信息量大)网络管理信息等只需要真实性网络管理信息等只需要真实性政府政府/权威部门的公告权威部门的公告MAC函数的特点函数的特点MAC函数类似于加密函数,需要函数类似于加密函数,需要密钥密钥MAC函数函数无需可逆
16、无需可逆,可以是单向函数,可以是单向函数l使得使得MAC函数更不易被破解函数更不易被破解MAC函数不能提供对消息的保密(常用在只需要鉴别的函数不能提供对消息的保密(常用在只需要鉴别的应用中)应用中)l保密性通过对消息加密而获得保密性通过对消息加密而获得需要两个独立密钥需要两个独立密钥l两种方式:两种方式:先计算先计算MAC再加密再加密先加密再计算先加密再计算MAC基于基于MAC的鉴别过程独立于加、解密过程的鉴别过程独立于加、解密过程可以用于不需加密保护的数据的鉴别可以用于不需加密保护的数据的鉴别MAC方法不能提供数字签名功能(方法不能提供数字签名功能(为什么?为什么?)l所以无法防止对方的欺骗
17、所以无法防止对方的欺骗MAC函数的安全性分析函数的安全性分析MAC函数的特点函数的特点l多对一映射多对一映射对同一个对同一个M,存在多个,存在多个key产生相同的产生相同的MACKey相同,存在多个相同,存在多个M产生相同的产生相同的MACln-bit MAC:2n个可能的个可能的MAClK-bit密钥:密钥:2k个可能的密钥个可能的密钥lN个可能的消息:个可能的消息:N 2nl一般情况下,一般情况下,n kMAC函数的安全性函数的安全性l主要是对强行攻击的抵抗能力主要是对强行攻击的抵抗能力l方式:穷举法,根据已知消息方式:穷举法,根据已知消息M和对应的和对应的MAC值,来推断值,来推断密钥密
18、钥kl前提:前提:MAC算法已知算法已知MF()kMAC攻击者如何用强力攻击方法攻击攻击者如何用强力攻击方法攻击MAC?基于哈希函数的鉴别基于哈希函数的鉴别基于哈希函数的鉴别基于哈希函数的鉴别哈希函数哈希函数l一种单向函数一种单向函数l输入:任意长度的消息输入:任意长度的消息Ml输出:固定长度的消息摘要输出:固定长度的消息摘要是一个固定长度的哈希值是一个固定长度的哈希值H(M)l哈希值是消息中所有比特的函数值哈希值是消息中所有比特的函数值消息中任意内容的变化将导致哈希值的变化消息中任意内容的变化将导致哈希值的变化l具有完整性检测功能具有完整性检测功能l可用于数字签名可用于数字签名l哈希函数哈希
19、函数=特殊的特殊的MAC,哈希函数不使用密,哈希函数不使用密钥,它仅仅是输入消息的函数。钥,它仅仅是输入消息的函数。哈希函数消息鉴别哈希函数消息鉴别(a)基本的哈希函数消息鉴别基本的哈希函数消息鉴别l对称加密:发端和收端共享对称加密:发端和收端共享加密密钥加密密钥kl哈希值提供了消息鉴别需要的结构和冗余哈希值提供了消息鉴别需要的结构和冗余l提供提供保密和鉴别保密和鉴别双重功能:双重功能:消息和消息和H(M)被加密保护被加密保护MMEkMH(M)H(M)H()D()比较比较密钥密钥KE()密钥密钥KMH(M)H()发送方发送方接收方接收方哈希函数消息鉴别哈希函数消息鉴别(b)仅对哈希值进行加密的
20、鉴别方案仅对哈希值进行加密的鉴别方案l用于不需对消息加密的场合用于不需对消息加密的场合l基于对称密钥机制基于对称密钥机制l提供鉴别:提供鉴别:H(M)被加密保护被加密保护MMEkH(M)H()D()比较比较哈希哈希密钥密钥KE()密钥密钥KH()MEkH(M)哈希函数消息鉴别哈希函数消息鉴别(c)仅对哈希值进行加密的鉴别方案仅对哈希值进行加密的鉴别方案l用于不需对消息加密的场合用于不需对消息加密的场合l基于公开密钥机制基于公开密钥机制l提供鉴别和数字签名:发送方用自己的私钥加密提供鉴别和数字签名:发送方用自己的私钥加密H(M)MMEkRaH(M)H()D()比较比较密钥密钥KUaE()密钥密钥
21、KRaH()MEkRaH(M)发送方发送方A接收方接收方B哈希函数消息鉴别哈希函数消息鉴别(d)提供保密:对称密钥算法、密钥提供保密:对称密钥算法、密钥k进行外层加密进行外层加密提供鉴别和数字签名:提供鉴别和数字签名:A用私钥对消息明文的哈希值进行加用私钥对消息明文的哈希值进行加密密MMEkRaH(M)H()D()比较比较密钥密钥KUaE()密钥密钥KRaH()MEkRaH(M)发送方发送方A接收方接收方BED密钥密钥K密钥密钥K哈希函数消息鉴别哈希函数消息鉴别(e)采用秘密数值的哈希鉴别采用秘密数值的哈希鉴别l通信双方共享一个秘密数值通信双方共享一个秘密数值sl计算哈希值时,计算哈希值时,s
22、附加到消息附加到消息M上一起计算得到上一起计算得到H(M|s)l传输过程中,数据不加密,但不传送传输过程中,数据不加密,但不传送sl提供鉴别:只有发送方和接收方共享秘密提供鉴别:只有发送方和接收方共享秘密Sl适用于加密算法不可用的场合适用于加密算法不可用的场合MMH(M|s)H()比较比较哈希哈希H()MH(M|s)MssMss方法方法e的优点的优点不含加密处理不含加密处理 加密软件很慢加密软件很慢 加密硬件的开销很大加密硬件的开销很大 加密硬件是对大长度数据进行优化的加密硬件是对大长度数据进行优化的 加密算法可能受专利保护加密算法可能受专利保护 加密算法可能受出口的限制加密算法可能受出口的限
23、制.哈希函数消息鉴别哈希函数消息鉴别(f)提供鉴别:只有发送方和接收方才共享提供鉴别:只有发送方和接收方才共享S提供保密:只有发送方和接收方才共享提供保密:只有发送方和接收方才共享kMMH(M|s)H()比较比较哈希哈希H()MH(M|s)MssMssEK密密文文DK发送方发送方接收方接收方哈希函数的安全性需求哈希函数的安全性需求哈希函数的输入可以是任意长度消息哈希函数的输入可以是任意长度消息哈希函数的输出是定长度的数值哈希函数的输出是定长度的数值哈希函数的计算要简单哈希函数的计算要简单单向性单向性l给定哈希值给定哈希值h,寻找消息,寻找消息M使得使得H(M)=h,计算上不可行,计算上不可行弱抗冲突性弱抗冲突性l给定消息给定消息M,寻找消息,寻找消息M,使得,使得H(M)=H(M),计算上,计算上不可行不可行强抗冲突性强抗冲突性l寻找两个消息寻找两个消息M和和N,使得,使得H(N)=H(M),计算上不可行,计算上不可行几种安全的哈希函数:几种安全的哈希函数:lMD5,SHA-1,HMAC
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。