版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、密 码 学,南京农业大学信息学院 主讲:赵力,与消息鉴别和数字签名有关的问题也许是网络安全中最易引起混淆的领域,攻击和抗攻击对策的发展呈螺旋式。值得庆幸的是,不像那些古老的天文学家,今天的密码协议的设计者是在完全合理的模型上来进行研究的。,第九讲 消息鉴别,当Bob从Alice那里接收消息时,他怎么知道消息是可信的呢?,在应用环境中,用户通过网络传输大量的报文(或称消息),出于安全性考虑,必须对消息或报文的有效性和合法性进行鉴别或认证。因为网络中的攻击者很可能通过对正在传输的消息或报文进行攻击(伪造、篡改、删除等),来达到入侵系统的目的。,复习:网络通信环境中可能的攻击,消息泄密和传输分析被动
2、攻击 伪造、伪装和篡改 顺序修改和及时修改 行为抵赖,主动攻击,针对保密性的攻击,信息泄密和传输分析 防止信息泄漏的最有效的措施是加强消息和报文的保密性,这可通过加密手段来实现。,伪造和篡改:伪装、伪造消息、内容篡改、顺序篡改、计时篡改。 防范信息伪造和篡改的一般方法是消息鉴别技术。,针对完整性的攻击,针对抗否认性的攻击,行为抵赖:发送端否认、接收端否认。 数字签名机制提供了一种抗否认性,通常情况下,数字签名技术也具有防止信息伪造和篡改的能力。,信息和网络安全中另一个重要领域是消息鉴别以及相关的数字签名技术。 消息鉴别技术用于防范信息伪造和篡改。 数字签名机制提供了一种抗否认性。 消息(报文)
3、鉴别提供了一种证实收到的报文来自可信的源点且未被篡改的过程,它也可证实序列编号和及时性。,消息(报文)鉴别,消息鉴别系统,消息鉴别系统需要提供某种报文鉴别函数 f来产生一个鉴别符或鉴别代码,用于实现报文鉴别。 鉴别符是一个根据消息或报文计算出来的值,源端和目的端利用消息鉴别函数 f 来进行报文鉴别。,报文 M,f ( ),鉴别函数,报文 M 鉴别符,报文 M 鉴别符,f ( ),比较,鉴别结果,传输路径,鉴别过程示意图,鉴别函数分类,根据鉴别符的生成方式,鉴别函数可以分为以下几类: 基于报文加密方式的函数:以整个报文的密文作为鉴别符; 报文鉴别码(MAC)方式; 散列函数方式:采用一个公共散列
4、函数,将任意长度的报文映射为一个定长的散列值,并以散列值作为鉴别符。 鉴别函数是决定鉴别系统特征的主要因素。,本讲主要内容,鉴别函数 基于报文加密方式的函数 对称密钥密码 公钥密码 报文鉴别码 散列函数 散列函数报文鉴别,基于对称密钥加密方式的报文鉴别,1、对称密钥加密方式提供的保密和报文鉴别功能,由于消息M的内容对于终点B来说是未知的,例如: 二进制形式的电话录音 B如何用自动化的方法来判断收到的密文的合法性?,讨论,强制明文具有某种结构,这种结构易于识别,不能被复制,并且是不依赖于加密的。例如: 可以在加密前对每个消息附加一个错误检测码(校验和),如下图所示。,解决方法,附加报文鉴别结构,
5、注意:校验码的生成和加密函数执行的顺序是至关重要的。校验码必须被作为内部的差错控制,在加密之前附加到明文上,才能提供鉴别功能。,讨论,事实上,再要发送的消息中加入任何类型的结构信息都会增强认证能力。如TCP/IP的报头信息。 收发双方共享密钥,暗示通信之前必须生成会话密钥并分配之,有没有更好的解决办法? 一个很自然的想法是采用公钥加密机制代替对称密钥加密机制。,2、基于公钥加密方式的报文鉴别,在公开密钥体系结构中,直接使用非对称密钥加密方式只能提供保密,而不能提供鉴别功能。因为: 任何人均可以使用B的公开密钥来加密报文,而假称报文是发自A的,终点B无法断定消息的发送者。,为了提供鉴别功能,源点
6、A可以使用其私有密钥KRa报文文进行加密,而终点B使用A的公开密钥KUa进行解密。 注意:上述方案不提供保密性。只要拥有A的公开密钥,任何人都能对该密文进行解密。,复习:用公钥密码实现鉴别,复习:保密性+签名,以下方法既提供保密性又提供鉴别功能: 发端: 收端:,存在的问题,但是,这种既提供保密性又提供数字签名的方法,一次通信中要执行四次复杂的公钥算法。 即使不提供保密性,也要用公钥算法对整个消息进行加密。,本讲主要内容,鉴别函数 基于报文加密方式的函数 对称密钥密码 公钥密码 报文鉴别码 散列函数 散列函数报文鉴别,采用报文鉴别码MAC的鉴别方式,报文鉴别码(message authenti
7、cation code, MAC),也叫“消息认证码” MAC=CK(M) 函数CK( )需要使用一个共享的密钥K作为参数, 并以变长的报文内容M作为输入, 其输出MAC是一个定长的短分组。,使用消息鉴别码,发送端在发送消息报文时,将计算出来的MAC附加在报文中传输。 接收者通过重新计算MAC来对报文进行合法性的鉴别。 使用方式: 基本的:消息为明文方式 保密的:消息为密文方式,1、基本的MAC报文鉴别,计算MAC的密钥K只有A和B共享。 攻击者若要更改报文必须同时更改MAC 但由于攻击者不知道密钥K,故他不可能计算出一个与更改后的报文相对应的MAC值。 若接收者B计算出相同的MAC,便能确信
8、: 报文未被修改; 报文M是来自发送者A的; 如果报文含有序号,顺序也是正确的。,说明,一种计算MAC 的方法,基于DES的MAC算法是应用最广泛的。 采用密码分组连接(CBC)方式的迭代算法。 被鉴别的报文数据被划分为连续的64比特的分段:D1,D2,DN,必要时对DN填充。 以0为初始值。,DES(),K,D1,O0=0,DES(),K,D2,O1,DES(),K,DN,ON-1,ON,MAC,算法说明,算法的表示 O0 = 0 Oi = EK (Di Oi-1) i=1,2,N,K为56位的密钥 MAC=ON = EK (DN ON-1) 数据鉴别代码MAC: 算法的最终输出ON,或 O
9、N最左边的M比特构成(16M64)。 注意:在这里,DES算法并没有用于对数据保密,而是用于计算MAC。,2、保密的MAC消息鉴别MAC与明文有关,3、保密的MAC消息鉴别MAC与密文有关,消息鉴别码的安全性分析,MAC函数的构造特性 对MAC进行攻击的重点 安全的MAC函数的特性,MAC的构造特性,MAC函数是一个多对一的函数。即 报文空间MAC空间 例如:假定100位消息,10位MAC,5位密钥 定义域:2100种不同消息; 值域:210种不同的MAC; 平均而言,同一MAC可由2100/210=290条不同消息产生; 同一消息可能得到25=32种不同的MAC值。 而实际上,定义域是有任意
10、长的消息组成。,对MAC进行攻击的重点,可以证明,由于MAC函数的构造特性,与加密相比,MAC函数更不易被攻破。 因此攻击的重点 不是获取鉴别密钥, 而是利用MAC的构造特性来发送一些欺骗性的报文,对接收端造成破坏。,安全的MAC函数的特性,在设计MAC函数的时候,该使其满足如下特性: 假定攻击者窃取到报文M即MAC,但他在伪造报文M使 CK(M)=CK(M) 在计算上是不可行的。 CK(M)函数的值域空间应该是均匀分布的。 对报文M进行某种已知变换后,其MAC值相等的概率很小。,讨论,MAC 函数与加密函数的区别在哪里?(见后页) 既然加密可以提供认证,为什么还要使用MAC? 将加密与认证分
11、离,有些场合只关心认证,而不关心保密性。 MAC能够提供数字签名? 不能,因为收发双方共享密钥。 能不能在没有共享密钥的情况下,也能进行对消息的真实性进行鉴别? 可以,用散列函数,MAC函数与加密函数的比较,相同点 都需要一个共享密钥 不同点 加密函数必须是可逆的;MAC函数可以是一个单向函数。 从定义域到值域,加密是一一对应函数;而MAC是多对一函数。 从攻击来看,针对加密的是企图恢复明文或密钥;而针对MAC的是企图找到一个“碰撞” 。,本讲主要内容,基于报文加密方式的函数 对称密钥密码 公钥密码 报文鉴别码 散列函数报文鉴别,单向散列(hash)函数,单向散列函数实际上是消息鉴别码MAC的
12、一种变形。 与MAC类似,一个散列函数H( ) 以一个变长消息报文M作为其输入, 产生一个固定长度的H(M)散列码。 与MAC不同,计算散列码并不使用密钥。 散列码H(M)有时也称为消息(报文)摘要。,散列码与消息的关系,散列码是报文中所有比特的函数值,并具有差错检测能力。即:报文中任意内容的变化将导致散列码的改变。,散列码的基本用途,散列函数的基本用途-1,加密消息及hash码 提供 保密性 鉴别,H(M)受密码保护,散列函数的基本用途-2,加密hash码共享的密钥 提供鉴别,H(M)受密码保护,散列函数的基本用途-3,加密hash码发送方私钥 提供 鉴别,H(M)受密码保护, 数字签名,只
13、有A能产生EKRAH(M),散列函数的基本用途-4,加密用途3的结果共享的密钥 提供 鉴别 数字签名 提供保密性,只有A和B共享密钥K,散列函数的基本用途-5,计算消息和秘密值的hash码 提供鉴别,只有A和B共享S,散列函数的基本用途-6,加密用途5的结果 提供 认证,只有A和B共享S; 保密性,只有A和B共享K,散列函数的安全性分析,散列函数的性质 安全性分析,散列函数的性质,散列函数可以用以生成文件、消息、报文或其它数据的特征“指纹”。若要将散列算法用于报文鉴别,必须具有如下性质:,散列函数的性质,基本性质,即任何散列函数都必须满足的: 散列函数H() 的输入可以是任意大小的数据块; 散
14、列函数H() 的输出是定长的; 对任何给定的输入M,H(M)函数的计算需要相对简单,用硬件和软件均可实现。,散列函数的性质,其他性质: 单向性:对任意散列码值h,要寻找一个M,使H(M)=h在计算上是不可行的。 弱抗冲突(碰撞)性:对任何给定的报文M,要寻找不等于M的报文M1使H(M1) =H(M),在计算上是不可行的。 强抗冲突(碰撞)性:要找到两个报文M和N使H(M) =H(N),在计算上是不可行的。,散列函数安全性,散列码抗击强行攻击的强度仅依赖于算法产生的散列码的长度。 对于一个长度为m的散列码,有效的数量级分别为: 针对单向性:2m; 针对弱抗冲突性:2m; 针对强抗冲突性:2m/2
15、。,结论,通常在设计安全散列函数时都希望使用强抗冲突算法。 散列码的长度是抗击强行攻击能力的主要因素。,散列码的构造,构造散列函数时采用的一般性原则,对输入进行划分,即首先将报文数据划分为若干n比特的定长分组B1,B2,Bm,必要时需对数据进行填充,使其长度为n比特的整数倍。 计算散列值时,采用迭代方式每次处理一个数据分组Bi,最终产生一个n比特的散列值。,一类不太安全的散列函数,散列函数的构造方式可以使任意的,只要满足散列函数的性质即可。例如: 方法一:C=H(M)= B1B2Bm 方法二:C0=0 Ci=ROR(Ci-1) Bi 但是,由于容易构造另一消息M,使 C(M)=C(M) 因此这
16、样的散列函数缺乏足够的安全性,一类用加密技术构造的散列函数,将报文M划分成固定长度的分组M1,M2,MN ,采用类似DES加密的算法来计算散列码C: H0为初始值 Hi=EMi(Hi-1) C=HN(散列码) 这个算法不需要使用密钥,但容易受到所谓的“生日攻击”。,生日攻击,生日悖论:在人数为的一个人群中,至少两个人生日相同的概率是多少? 结论:只要k23,出现两个人生日相同的概率就超过0.5;k=41时,概率大于0.9。,生日悖论推论,推论:设整数随机变量服从1到n间的均匀分布, 集合Y是包含k个这类随机变量的选集,当k=1.18n1/2时,出现一个重复元的概率0.5。 两个集合X和Y中均有
17、k个元素。当k=0.83n1/2时,XY交集非空的概率0.5。,生日攻击举例-1,Alice准备一份合同的两种版本X和Y,X对Bob有利,而Y将使他破产。 Alice对这两种版本的每一份都做一些细微的改变(如利用空格、回车等),分别产生232份不同的文件,并计算所有文件的散列值。,X1,H(X1),X2,H(X2),X3,H(X3),Y1,H(Y1),Y2,H(Y2),Y3,H(Y3),232份,232份,Alice比较两种不同版本的文件的散列值集合,找到散列值相同的一组。根据生日悖论,成功的可能性大于0.5。 Alice挑选出这一组,将其中的X传给Bob。 Bob在对他有利的那份合同版本签名
18、。 在以后的某个时候,Alice用Bob未签名的合同代替他签过名的合同。现在他能使公证人员确信Bob签署过另一份合同。,X1,H(X1),X2,H(X2),X3,H(X3),Y1,H(Y1),Y2,H(Y2),Y3,H(Y3),232份,232份,生日攻击举例-2,将报文M划分成定长分组M1,M2,MN , 采用类似CBC算法计算散列码C: H0为初始值 Hi=EMi(Hi-1) I=1,2,N C=HN (C就是最终散列码) 攻击者截获一个报文M及签名C,他可以采用“中间符合”方式实现攻击,利用上面的算法产生报文M的散列码CM; 任意生成一个伪造报文Q,报文形式为Q1,Q2,QN-2,报文Q比原报文M少两个分组; 对报文Q,计算HiQ=EQi(HQi-1),i=1,2,N-2,得到CQ= HQi-2 生成2m/2个随机分组,对每个分组X,计算EX(CQ); 另外生成2m/2个随机分组,对每个分组Y,计算DY(CM),其中D()是与E()对应的解密函数; 根据生日悖论
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 马工程西方经济学(上册)试卷题库及答案
- 一年级语文试卷题及答案
- 第5讲《面积、周长易错题专项》暑假衔接学案-人教版三升四数学(2026新教材适配)
- 电影制片人电影项目进度与预算执行情况绩效评定表
- 警惕自然灾害安全避险科普小学5-6年级主题班会课件
- 污水处理厂曝气鼓风机安装及减振基础施工组织设计方案
- 科技创新未来属于我们小学主题班会课件
- 2026年设备安装质量员考试题库(附答案)
- 科技探索日:动手实践探索科技奥秘小学主题班会课件
- 某工程安全安全技术交底计划
- 舞蹈培训机构合伙协议书
- 反家暴课件-课件
- 埃博拉病毒防控培训课件
- 智能制造工程课件
- 攀枝花电力沟槽施工方案
- 八年级语文下册必背古诗文(字帖描红)
- 铁路运输智能调度系统
- 国家职业技能标准-农业技术员
- 网络安全设备巡检记录表
- 非接触支付2024年商业支付的新趋势
- 防喷器的试压操作培训课件
评论
0/150
提交评论