




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,第五章 消息认证与数字签名,5.1 信息认证 5.2 散列(Hash)函数 5.3 数字签名体制,2,问题的提出,通信威胁 1. 泄露:把消息内容发布给任何人或没有合法密钥的进程。 2. 伪造:从一个假冒信息源向网络中插入消息。 3. 内容修改:消息内容被插入删除变换修改。 4. 顺序修改:插入删除或重组消息序列。 5. 时间修改:消息延迟或重放。 6. 否认:接受者否认收到消息,发送者否认发送过消息。,3,5.1 信息认证,回顾:前面讲述的对称密码(如DES和AES)和公钥密码体制(RSA)都是围绕信息的保密性,即防止第三方获取明文消息而展开的,但信息的完整性和抗否认性也是信息安全内容的
2、重要特征。保证信息的完整性和抗否认性是通过信息认证和数字签名来实现的。 信息认证(消息认证)验证信息的完整性,当接收方收到发送方的报文时,接收方能够验证收到的报文时真实的未被篡改的。 (包括顺序和及时性) 它包含两方面的含义: (1)验证信息的发送者是真正的而不是冒充的,即数据起源验证; (2)验证信息在传递过程中未被篡改、重放或延迟等。,4,信息认证检验的内容:证实报文的信源和信宿、报文内容是否遭到偶然或有意地篡改、报文的序号是否正确,报文到达的时间是否在指定的期限内。这种认证只在通信的双方之间进行,而不允许第三者进行上述认证。认证不一定实时的。 保密和认证同时是信息系统安全的两个方面,但它
3、们是两个不同属性的问题,认证不能自动提供保密性,而保密性也不能自然提供认证功能。一个纯认证系统的模型如下图所示:,5,认证系统的模型,6,认证函数 可用来做认证的函数分为三类 (1) 信息加密函数(Message encryption): 将明文加密后以密文作为认证 (2) 信息认证码MAC(Message Authentication Code):用一个密钥控制的公开函数作用后,产生固定长度的数值作为认证符,也称密码校验和。 (3) 散列函数(Hash Function): 是一个公开的函数它将任意长的信息映射成一 个固定长度的散列值,以散列值作为认证符。 常见的散列函数有:MD4、 MD5
4、、SHA和 SHA-1,7,5.1.1 信息加密认证,信息加密函数分两种,一种是常规的对称密钥加密函数,另一种是公开密钥的双密钥加密函数。下图的通信双方是,用户A为发信方,用户B为接收方。用户B接收到信息后,通过解密来判决信息是否来自A, 信息是否是完整的,有无窜扰。 1.对称密码体制加密: 对称加密:具有机密性,可认证,不提供签名,8, 如何自动确定是否收到的明文可解密为可懂的明文? 一种解决办法是强制明文有某种结构.,差错控制:Error Control,9,2. 公钥密码体制加密认证: (1)公钥加密:具有机密性,不能提供认证(任何人都可以得到公钥),(2)私钥加密:认证和签名,没有保密
5、性,10,(3)公钥加密体制:机密性,可认证和签名,11,5.1.2 消息认证码(MAC),消息认证码(MAC)是在密钥的控制下将任意长的消息映射到一个简短的定长数据分组,并将它附加在消息后。MAC进行消息的认证过程如图:,MAC的基本用法(a),12,A B: M|CK(M) 即A使用双方共享的密钥K对明文进行计算,产生一个 短小的数据块,即消息验证码 MAC=CK(M) 。发送给 接收方B时,将它附加在报文中。 接收方收到报文使用相同的密钥K执行相同的计算,得到新的MAC。接收方将收到的MAC与计算得到MAC进行比较,如果相匹配,那么可以保证报文在传输过程中维持了完整性: (1)报文未被更
6、改过 (2)接收者确信报文来自真实的发送者。(无人知晓密钥) 注意:上述认证过程只提供认证、不提供保密性。,13,MAC的基本用法(b),提供消息认证与保密,认证码与明文连接 Provides authentication - only A and B share K1 Provides confidentiality - only A and B share KK2 2,A B: EK2(M|CK1(M),14,MAC的基本用法(c),提供消息认证与保密,认证码与密文连接 Provides authentication - Using K1 Provides confidentiality
7、- Using K2,A B: EK2(EK2(M) |CK1(EK2(M),15,消息认证 VS 常规加密,MAC函数类似于加密函数,主要区别在于MAC函数不需要可逆而加密函数必须是可逆的,因此,认证函数比加密函数更不易破解。 保密性与真实性是两个不同的概念 根本上,信息加密提供的是保密性而非真实性 加密代价大(公钥算法代价更大) 认证函数与保密函数的分离能提供功能上的灵活性 某些信息只需要真实性,不需要保密性 广播的信息难以使用加密(信息量大) 网络管理信息等只需要真实性 政府/权威部门的公告,16,5.2 散列(Hash)函数,散列函数(又称杂凑函数)是对不定长的输入产生定长输出的一种特
8、殊函数:h=H(M) M: 变长消息 h=H(M)是定长的散列值(或称消息摘要) H:散列函数,是公开的; H(M)又称为:哈希函数、数字指纹(Digital finger print)、压缩(Compression)函数、数据鉴别码(Dataauthentication code)等 散列值在信源处被附加在消息上,接收方重新计算散列值来确认消息未被篡改。由于函数本身公开,传送过程中需要对散列值加密保护(如果没有对散列值的保护,篡改者可以在修改消息的同时修改散列值,从而使散列值的认证功能失效)。,17,5.2.1 散列函数的性质,散列函数的目的是为文件、消息或其他的分组数据产生“指纹”。用于消
9、息认证的散列函数H具有如下性质: (1)H能用于任何大小的数据分组,都能产生定长的输出。 (2)对于任何给定的x, H(x)要相对易于计算。 (3)对任何给定的散列码h,寻找x使得H(x)=h在计算上不可行(单向性)。 (4)对任何给定分组x,寻找不等于x的y,使得H(x)=H(y)在计算上不可行(弱抗冲突)。 (5)寻找任何的(x,y),使得H(x)=H(y)在计算上不可行(强抗冲突)。,18,注意:前两个性质使得散列函数用于消息认证成为可能。 第二和第三个性质保证H的单向性,保证攻击者无法通过散列值恢复消息。 第四个性质保证了攻击者无法在不修改散列值的情况下替换消息而不被察觉。 第五个性质
10、比第四个更强。保证了一种被称为生日攻击的方法无法凑效。 生日问题:一个教室中,最少应有多少学生,才使至少有两人具有相同生日的概率不小于1/2? 实际上只需23人,即任找23人,从中总能选出两人具有相同生日的概率至少为1/2。,19,通过以下方式使用散列函数常提供消息认证,(1)使用对称加密算法对附加消息摘要的报文进行加密 A B: EK(M|H(M) 提供保密、认证 (2)使用对称加密方法对消息摘要加密 A B: M|EK(H(M) 提供认证 (3)使用发方的私钥对消息摘要进行加密 A B: M|EKRa(H(M) 提供数字签名、认证 (4)在(3)的基础上,使用对称加密方法进行加密 A B:
11、 EK(M|EKa(H(M) ) 提供数字签名、认证和保密 (5)假定双方共享一个秘密值S,与消息M串接,计算散列值 A B: M|(H(M|S) 提供认证 (6)假定双方共享一个秘密值S,使用散列函数,对称加密方法 A B: EK(M|H(M|S) 提供数字签名、认证和保密,20,认证 和保密,认证,认证和 数字签名,21,认证 保密和 数字签名,认证,S:双方共享的秘密值,认证 保密和,22,Hash vs MAC,MAC需要对全部数据进行加密 MAC速度慢 Hash是一种直接产生认证码的方法,23,5.2.2 散列函数的结构,为了对不定长的输入产生定长的输出,并且最后的结果要与所有的字节
12、有关,大多数的散列函数的结构都采用了分块填充链接的模式,其结构是迭代型的。 以MD4为例讲解散列函数的结构 MD4散列函数将输入数据分为L个固定长度为b比特的分组。 输入数据包括:消息、填充数据和消息的长度值(消息长度值用64比特表示)。 说明:填充数据的目的是使输入数据为b比特的倍数;增加消息长度值将增加攻击者攻击的难度。 散列函数的结构如图所示:,24,迭代型散列函数的结构,MD4算法如下: CV0=Vi CVi=f(CVi-1,Yi-1) h=H(M)=CVL=f(CVL-1,YL-1) Vi:初始链接变量 CVi-1:连接变量;f:压缩函数(由若干轮处理组成); 通常bn,25,5.2
13、.3 MD5算法,Ron Rivest于1990年提出了一个称为MD4的散列函数。他的设计没有基于任何假设和密码体制,不久,他的一些缺点也被提出。为了增强安全性和克服MD4的缺陷, Rivest于1991年对MD4作了六点改进,并将改进后的算法称为MD5. MD5算法:将明文按512比特进行分组,即MD5中的b=512bit,经填充后信息长度为512的倍数(包括64比特的消息长度)。 填充:首位为1,其余补0至满足要求,即填充后的比特数为512的整数倍减去64,或使得填充后的数据长度与448模512同余。,26,MD5的框图,27,5.2.4 安全散列算法(SHA),举例:MD5算法:已知消息
14、为“河北工业大学分校电子Z08级的信息安全技术是一门专业基础课,我们必须学好。”计算填充长度为多少?(标点符号为全角)(392),目前,MD5被认为是易受攻击的(很容易遭遇强碰撞的生日攻击),因此,有必要用一个具有更长散列码和更能抗击已知密码分析攻击的散列函数来代替现在流行的MD5。现在已经有两个散列码长度为160比特的替代者SHA-1和RIPEMD-160。我们了解SHA-1即可。,28,29,安全散列算法SHA(Secure Hash Algorithm)是由美国国家标准和技术协会提出的,并作为联邦信息处理标准在1993年公布。1995年又发布了一个修订版,通常称为SHA-1。SHA是基于
15、MD4算法的。 MD5与SHA-1对比 MD5 SHA-1 消息长度 128bit 160bit 分组长度 512bit 512bit 步骤数 64 80 消息最大长度 264-1 速度 较快 慢,30,Hash 函数,MD5 :对输入消息(任意长)按照 512位进行分组处理,输出128位消息摘要 SHA-1:输入长度小于264位消息,按 512位进行分组处理,输出160位消息摘要。 RIPEMD-160:对输入消息(任意长)按照 512位进行分组处理,输出160位消息摘要,31,5.3 数字签名体制,数字签名是电子商务安全的一个非常重要的分支,在大型网络安全通信中的密钥分配、安全认证、防否认
16、等方面具有重要作用。 1999年美国参议院已通过了立法,规定数字签名与手写签名的文件、邮件在美国具有同等的法律效力。 前面我们讲述的消息认证是保护通信双方之间不受第三方的攻击,但却无法防止通信双方中一方对另一方的欺骗。如A伪造一个消息并使用与B共享的密钥产生该消息的认证码,然后声称该消息来自于B,同样,B也可以对自己给A发送的消息予以否认。因此,除了认证之外还需要其他机制来防止通信双方的抵赖行为,最常见的是数字签名技术。,32,5.3.1 数字签名原理,传统的军事、政治、外交活动中的文件、命令和条约及商业中的契约等需要人手工完成签名或印章,以表示确认和作为举证等。随着计算机通信网络的发展,人们
17、更希望通过电子设备实现快速、远距离交易,数字签名就由此应运而生,并被用于商业通信系统。 数字签名:在公钥体制下的签名,用户用自己的私钥对原始数据的哈希摘要进行加密,然后信息接收者使用信息发送者的公钥对附在原始信息后的数字签名进行解密后获得哈希摘要,并通过与用自己收到的原始数据产生的哈希摘要对照,便可确信原始信息是否被篡改,这样就保证了数据传输的不可否认性。,33,案例 中国首例电子邮件案例,1996年7月9日,北京市海淀区法院审理国内第一起电子邮件侵权案。 此案的原、被告均系北大心理学系93级女研究生。4月9日。原告薛燕戈收到美国密执安大学教育学院通过互联网发给她的电子邮件。内容是该学院将给她
18、提供1.8万美元金额奖学金的就学机会,她非常高兴。因为这是唯一一所答应给她奖学金美国名牌大学。此后,她久等正式通知,但杳无音训,蹊跷之中委托在美国的朋友去密执安大学查询。4月27日朋友告知,密执安大学收到一封北京时间4月12日10时16分发出的署名薛燕戈的电子邮件,表示拒绝该校的邀请。因此密执安大学以将原准备给薛的奖学金转给他人。,34,法庭上,薛燕戈说 ,密执安大学发来的电子邮件,是她和被告张男一起去北大心理学认知心理学实验室看到的,并且存放在张男的电子信箱里。薛燕戈认为,是张男在4月12 日10时16分用薛的名义给密执安大学发了一封邮件,谎称薛已接受其他学校的邀请,故不能去该校学习。薛从北
19、大计算中心取得4月12日的电子邮件记录,与美国取证回来的材料完全吻合。因此,薛提出诉讼请求:被告承认并公开道歉,又被告承担原告的调查取证以及和美国学校交涉的费用、医疗费和营养费用、精神损失补偿等人民币1.5万元。张男在法庭上称,事实上她从未以薛的名义给密执安大学发过电子邮件,对此事没有丝毫责任。,35,此案在开庭审理后,尽管到底谁借原告之名向密执安大学发出拒绝接受入学邀请的电子邮件,使原告丧失了一次出国深造的机会,并没有得出确切结论。但是在休庭之后,被告终于向原告承认,该电子邮件时她所为,并愿意就此向原告道歉并赔偿因其侵权行为给原告造成的精神及财产损失。经过法院调解,原、被告双方当事人自愿达成
20、协议:被告以书面形式向原告赔礼道歉,并赔偿原告精神损害、补偿经济损失共计1.2万元。 如果邮件的发送附加了可防伪 和可追踪的数字签名,也许本案就不会发生了。,36,1.数字签名的设计要求,依赖性:签名必须是依赖于被签名信息的比特模式(依赖性) 唯一性:签名必须使用某些对发送者是唯一的信息,以防止双方的伪造与否认 可用性:必须相对容易生成该数字签名,在存储器中保存一个数字签名副本是现实可行的 可验证:必须相对容易识别和验证该数字签名, 抗伪造:伪造该数字签名在计算上具有不可行性,既包括对一个已有的数字签名构造新的消息,也包括对一个给定消息伪造一个数字签名,37,2.数字签名与手写签名的区别,签名
21、:手签是被签文件的物理组成部分,而数字签名不是被签文件的物理组成部分,因而需要将签名连接到被签文件上。 验证:手写签名是通过将它与真实的签名进行比较来验证;而数字签名是利用已经公开的算法来验证。 数字签名消息的复制品与其本身是一样的;而手写签名的复制品与原品是不同的。,38,3.数字签名应满足的基本条件,签名者不能否认自己的签名 接收者能够验证签名,而其他任何人都不能伪造签名 当关于签名的真伪发生争执时,存在一个仲裁机构或第三方能够解决争执,39,4.数字签名的分类,按明文、密文对应关系划分:确定性数字签名(RSA体制)和非确定数字签名(ElGamal体制) 按照签名方式:直接数字签名和需仲裁
22、的数字签名 按照签名内容的多少划分:对整个消息签名和对压缩消息的签名 安全性:无条件安全的数字签名和计算上安全的数字签名 可签名次数:一次性的数字签名和多次性的数字签名。,40,直接数字签名,直接数字签名可通过四种方法实现 直接数字签名仅涉及通信方。假设接收方知道发方的公钥。数字签名通过使用发方的私钥对整个消息进行加密或使用发方的私钥对消息的散列码(消息摘要)进行加密来产生。 (1) AB:EKRaM 提供了认证与签名 只有A具有KRa进行加密; 传输中无法被篡改 需要某些格式信息/冗余度 任何第三方可以用KUa 验证签名,41,直接数字签名,(2) AB: EKUb EKRa(M) 提供了保
23、密(KUb) 、认证与签名(KRa) (3) AB: M|EKRaH(M) 提供认证及数字签名 - H(M) 受到密码算法的保护 - 只有A 能够生成EKRaH(M) 4) AB: EKM|EKRaH(M) 提供保密性、认证和数字签名,42,直接数字签名的缺点,验证模式依赖于发送方的保密密钥 (1)发送方要抵赖发送某一消息时,可能会声称其私有密钥丢失或被窃,从而他人伪造了他的签名。 (2)通常需要采用与私有密钥安全性相关的行政管理控制手段来制止或至少是削弱这种情况,但威胁在某种程度上依然存在。 (3)改进的方式:例如可以要求被签名的信息包含一个时间戳(日期与时间),并要求将已暴露的密钥报告给一
24、个授权中心。 X的某些私有密钥确实在时间T被窃取,敌方可以伪造X的签名及早于或等于时间T的时间戳,43,仲裁数字签名,引入仲裁者 通常的做法是所有从发送方X到接收方Y的签名消息首先送到仲裁者A, A将消息及其签名进行一系列测试,以检查其来源和内容,然后将消息加上日期并与已被仲裁者验证通过的指示一起发给Y。 仲裁者在这一类签名模式中扮演敏感和关键的角色 所有的参与者必须极大地相信这一仲裁机制工作正常(trusted system),44,仲裁数字签名技术,单密钥加密方式仲裁者可以看见消息 X与A之间共享密钥Kxa,Y与A之间共享密钥Kay; X:准备消息M ,计算其散列码H(M),用X的标 识符
25、IDx和散列值构成签名,并将消息及签名经 Kxa加密后发送给A; A :解密签名,用H(M)验证消息M ,然后将Idx, M, 签名和时间戳一起经Kay加密后发送给Y; Y :解密A发来的信息,并可将M和签名保存起来。,45,解决纠纷:,Y: 向A发送EKayIDx|M | EKxaIDx| H(M) A: 用Kay恢复IDx,M 和签名(EKxaIDx| H(M) ),然后用Kxa解密签名并验证散列码 注意:在这种模式下Y不能直接验证X的签名,Y认为A的 消息已认证,只因为它来自A ,因此双方都需要高度相 信A: X必须信任A没有暴露Kxa 并且没有生成错误的签名,EKxaIDx| H(M)
26、 Y必须信任A仅当散列值正确并且签名确实是X产生的 情况下才发送的EKayIDx| M | EKxaIDx| H(M) | T 双方都必须信任A处理争议是公正的。,46,解决纠纷:,只要A遵循上述要求,则X相信没有人可以伪造 其签名;Y相信X不能否认其签名。 上述情况还隐含着A可以看到X给Y的所有信息, 因而所有的窃听者也能看到。,47,(b) 单密钥加密方式,仲裁者不可以看见消息 在这种情况下,X与Y之间共享密钥Kxy, X :将标识符IDx ,密文EKxyM ,以及对IDx和密文消 息的散列码用Kxa加密后形成签名发送给A。 A :解密签名用散列码验证消息,这时A只能验证消息 的密文,而不能读取其内容,然后A将来自X的所有信息 加上时间戳并用Kay加密后发送给Y。 (a)和(b)共同存在一个共性问题: A和发送方联手可以否认签名的信息; A和接收方联手可以伪造发送方的签名;,48,(c) 双密钥加密方式仲裁者不可以看见消息 X :对消息M双重加密:首先用X的私有密钥KRx,然后
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云南煤矿考试题及答案
- 辐射及危害培训
- 系统门窗养护方案
- 安装空调施工方案
- 2026版《全品高考》选考复习方案生物731 课时作业(二十九) 生物的变异含答案
- 道路限高杆维修方案
- 幼儿园幼儿眼保健培训
- 煤矿施工工地管理方案
- 土地开采面试题及答案
- 线上培训面试题及答案
- 钳工考试试题及答案
- 2025至2030中国牙科氧化锆块行业发展趋势分析与未来投资战略咨询研究报告
- 拖欠维修费车辆以车抵债协议范本
- 2025至2030中国复印机行业发展趋势分析与未来投资战略咨询研究报告
- 暑假安全家长会4
- 2024年安徽省泗县卫生局公开招聘试题带答案
- 2025年北京市高考化学试卷真题(含答案)
- 2025年重庆市中考化学试卷真题(含标准答案)
- JG/T 202-2007工程管道用聚氨酯、蛭石绝热材料支吊架
- T/CEMIA 026-2021湿电子化学品技术成熟度等级划分及定义
- MZ调制器完整版本
评论
0/150
提交评论