《信息安全原理与应用第五章优秀课件.ppt》由会员分享,可在线阅读,更多相关《信息安全原理与应用第五章优秀课件.ppt(73页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、信息安全原理与应信息安全原理与应用第五章用第五章第1页,本讲稿共73页2 内容提要消息鉴别数字签名第2页,本讲稿共73页3消息鉴别消息鉴别消息鉴别的概念消息鉴别的概念鉴别函数鉴别函数消息加密消息加密消息鉴别码消息鉴别码MAC散列函数散列函数第3页,本讲稿共73页4 通信系统典型攻击窃听业务流分析消息篡改内容修改:消息内容被插入、删除、修改。顺序修改:插入、删除或重组消息序列。时间修改:消息延迟或重放。冒充:从一个假冒信息源向网络中插入消息抵赖:接受者否认收到消息;发送者否认发送过消息。第4页,本讲稿共73页5基本概念基本概念消息鉴别消息鉴别(Message Authentication):是一
2、个证实收到的消息来自可信的源点是一个证实收到的消息来自可信的源点且未被篡改的过程。且未被篡改的过程。第5页,本讲稿共73页6鉴别的目的鉴别的目的鉴别的主要鉴别的主要目的目的目的目的有二:有二:第一,验证信息的发送者是真正的,而不是冒充的,第一,验证信息的发送者是真正的,而不是冒充的,此为信源识别;此为信源识别;第二,验证信息的完整性,在传送或存储过程中未被篡改,第二,验证信息的完整性,在传送或存储过程中未被篡改,重放或延迟等。重放或延迟等。第6页,本讲稿共73页7消息鉴别消息鉴别消息鉴别的概念消息鉴别的概念鉴别函数鉴别函数消息加密消息加密消息鉴别码消息鉴别码MAC散列函数散列函数第7页,本讲稿
3、共73页8鉴别模型鉴别模型一个单纯一个单纯鉴别系统鉴别系统鉴别系统鉴别系统的模型的模型第8页,本讲稿共73页9鉴别系统的组成鉴别系统的组成鉴别编码器和鉴别译码器可抽象为鉴别编码器和鉴别译码器可抽象为鉴别函数鉴别函数。一个安全的鉴别系统,需满足一个安全的鉴别系统,需满足(1)意定的接收者能够检验和证实消息的合法性、真实性和完整)意定的接收者能够检验和证实消息的合法性、真实性和完整性性(2)消息的发送者和接收者不能抵赖)消息的发送者和接收者不能抵赖(3)除了合法的消息发送者,其它人不能伪造合法的消息)除了合法的消息发送者,其它人不能伪造合法的消息首先要选好恰当的首先要选好恰当的鉴别函数鉴别函数,该
4、函数产生一个鉴别标识,该函数产生一个鉴别标识,然后在此基础上,给出合理的然后在此基础上,给出合理的鉴别协议鉴别协议(Authentication Protocol),使接收者完成消息的鉴别。,使接收者完成消息的鉴别。第9页,本讲稿共73页10鉴别函数鉴别函数用于产生鉴别符的鉴别函数分为三类:用于产生鉴别符的鉴别函数分为三类:(1)消息加密函数消息加密函数(Message encryption)用完整信息的密文作为对信息的鉴别。用完整信息的密文作为对信息的鉴别。(2)消息鉴别码消息鉴别码MAC(Message Authentication Code)公开函数公开函数+密钥产生一个固定长度的值作为
5、鉴密钥产生一个固定长度的值作为鉴别标识别标识(3)散列函数散列函数(Hash Function)一个散列函数以一个变长的报文作为输入,并一个散列函数以一个变长的报文作为输入,并产生一个固定长度的散列码,有时也称报文摘要,产生一个固定长度的散列码,有时也称报文摘要,作为输出。是一个公开的函数。作为输出。是一个公开的函数。第10页,本讲稿共73页11消息鉴别消息鉴别消息鉴别的概念消息鉴别的概念鉴别函数鉴别函数消息加密消息加密消息鉴别码消息鉴别码MAC散列函数散列函数第11页,本讲稿共73页12消息加密消息加密消息的自身加密可以作为一个鉴别的度量。消息的自身加密可以作为一个鉴别的度量。对称密钥模式和
6、公开密钥模式有所不同。对称密钥模式和公开密钥模式有所不同。第12页,本讲稿共73页13(a)对称加密:保密性与鉴别对称加密:保密性与鉴别如果用对称密钥加密如果用对称密钥加密提供保密提供保密提供鉴别提供鉴别仅来自仅来自A传输中没有被更改传输中没有被更改需要某种结构或冗余需要某种结构或冗余不提供签名不提供签名如何自动确定是否收到的明文可解密为可懂的明文如何自动确定是否收到的明文可解密为可懂的明文?一种解决办法是强制明文有某种结构一种解决办法是强制明文有某种结构.第13页,本讲稿共73页(b)公钥加密公钥加密如果使用公开密钥加密如果使用公开密钥加密提供保密提供保密不提供鉴别不提供鉴别用私用私钥对钥对
7、信息数字信息数字签签名名提供鉴别和签名提供鉴别和签名仅仅A有有Kra可以进行加密可以进行加密传输中没有被更改传输中没有被更改需要某种结构或冗余需要某种结构或冗余任何一方均可以使用任何一方均可以使用Kua验证签名验证签名如果既要提供保密性,又要提供鉴别,用户如果既要提供保密性,又要提供鉴别,用户A就需要先用自就需要先用自己的私钥签名,再用用户己的私钥签名,再用用户B的公钥加密的公钥加密,KUb提供保密性,提供保密性,Kra提供鉴别和签名。提供鉴别和签名。14第14页,本讲稿共73页15消息鉴别消息鉴别消息鉴别的概念消息鉴别的概念鉴别函数鉴别函数消息加密消息加密消息鉴别码消息鉴别码MAC散列函数散
8、列函数第15页,本讲稿共73页16消息消息鉴别鉴别码码MAC使用一个密钥生成一个固定大小的小数据块,并加入到使用一个密钥生成一个固定大小的小数据块,并加入到消息中,称消息中,称MAC,或密码校验和(或密码校验和(cryptographic checksum)接收者可以确信消息接收者可以确信消息M未被改变。未被改变。接收者可以确信消息来自所声称的发送者;接收者可以确信消息来自所声称的发送者;如果消息中包含顺序码,则接收者可以保证消息的如果消息中包含顺序码,则接收者可以保证消息的正常顺序;正常顺序;MAC函数类似于加密函数,但不需要可逆性。因此在数函数类似于加密函数,但不需要可逆性。因此在数学上比
9、加密算法被攻击的弱点要少。学上比加密算法被攻击的弱点要少。第16页,本讲稿共73页MAC的基本用法的基本用法MAC直接附加在消息之后直接附加在消息之后 AB:M|MACK(M)MAC直接附加在消息之后,并对整体进行加密直接附加在消息之后,并对整体进行加密 AB:EK2 M|MACK1(M)先对消息加密,再对密文生成鉴别码先对消息加密,再对密文生成鉴别码 AB:EK2 M|MACK1(EK2 M)17第17页,本讲稿共73页18CBC-MACANSI X9.9、FIPS PUB 113和和ISO/IEC 9797O1=Ek(D1)Oi=Ek(Di Oi-1)(1i 0.5 by birthday
10、 paradox)让用户签署有效的文件,然后进行替代,替代物也有效的签名第43页,本讲稿共73页44散列函数的安全性散列函数的安全性强力攻击:强力攻击:单向2n弱无碰撞2n强无碰撞2n/2第44页,本讲稿共73页散列函数散列函数散列函数的概念散列函数的概念散列函数的用法散列函数的用法散列函数的特性散列函数的特性散列函数的构造散列函数的构造散列算法散列算法45第45页,本讲稿共73页46Hash函数的构造函数的构造基于数学难题的构造方法:基于数学难题的构造方法:计算速度慢,不实用计算速度慢,不实用利用对称密码体制来设计利用对称密码体制来设计Hash直接设计直接设计第46页,本讲稿共73页hash
11、函数通用结构函数通用结构由由Merkle于于1989年提出年提出Ron Rivest于于1990年提出年提出MD4几乎被所有几乎被所有hash函数使用函数使用具体做法具体做法:把原始消息把原始消息M分成一些固定长度的块分成一些固定长度的块Yi最后一块最后一块padding并使其包含消息并使其包含消息M长度长度设定初始值设定初始值CV0压缩函数压缩函数f,CVi=f(CVi-1,Yi-1)最后一个最后一个CVi为为hash值值47第47页,本讲稿共73页48IV =initial value 初始值CV=chaining value 链接值Yi =ith input block(第i 个输入数据
12、块)f =compression algorithm(压缩算法)n =length of hash code(散列码的长度)b =length of input block(输入块的长度)Merkle-Damgrd结构结构CV0=IV=initial n-bit valueCVi=f(CVi-1,Yi-1)(1 i L)H(M)=CVL第48页,本讲稿共73页散列函数散列函数散列函数的概念散列函数的概念散列函数的用法散列函数的用法散列函数的特性散列函数的特性散列函数的构造散列函数的构造散列算法散列算法49第49页,本讲稿共73页50散列算法的发展过程散列算法的发展过程Ron Rivest于于1
13、990年提出年提出MD41992年年,MD5(RFC 1321)developed by Ron Rivest at MIT,任意长,任意长度的消息,度的消息,128位的消息摘要位的消息摘要SHA由由NIST制定,制定,1993年提出年提出SHA-0,1995年提出年提出SHA-1(FIPS PUB 180-1),),最大长度为最大长度为264-1位的消息,长度为位的消息,长度为160位的消息摘位的消息摘要要90年代初,欧洲年代初,欧洲RACE Integrity Primitives Evaluation(RIPE)Project 的结果的结果.RIPEMD-160,最大长度为最大长度为26
14、4-1位的消息,长位的消息,长度为度为160位的消息摘要位的消息摘要2001年年5月月30日,日,NIST 发布了修订版本发布了修订版本 FIPS 180-2,称为,称为SHA-2系列系列第50页,本讲稿共73页SHA参数参数第51页,本讲稿共73页散列算法的最新进展散列算法的最新进展Xiaoyun Wang,Xuejia Lai,Dengguo Feng,Hongbo Yu,Collisions for hash functions MD4,MD5,HAVAL-128 and RIPEMD,Crypto2004近年来密近年来密码码学界最具突破性的学界最具突破性的结结果,攻果,攻击击的具体方法
15、的具体方法比特追踪比特追踪法法MD5已被破解,不能再被实际使用。对于已被破解,不能再被实际使用。对于SHA-1算法,碰撞算法,碰撞攻击所需要的运算次数从原来设计时估算的攻击所需要的运算次数从原来设计时估算的280次降为次降为261次。次。2006年,年,NIST要求联邦机构在要求联邦机构在2010年之后必须停止使用年之后必须停止使用SHA-1,使用使用SHA-2系列的版本系列的版本2006年,年,NIST开始启动为期开始启动为期6年的公开征集新散列算法标准年的公开征集新散列算法标准SHA-3的计划。目前,有的计划。目前,有14个候选算法进入了个候选算法进入了SHA-3公开征集公开征集的第二轮评
16、估。的第二轮评估。52第52页,本讲稿共73页53 内容提要消息鉴别数字签名第53页,本讲稿共73页54内容提要内容提要数字签名数字签名数字签名的功能与特性数字签名的功能与特性若干数字签名方案若干数字签名方案第54页,本讲稿共73页55消息鉴别没有解决的问题消息鉴别没有解决的问题Message authentication用以保护双方之间的数据交换不用以保护双方之间的数据交换不被第三方侵犯;但它并不保证双方自身的相互欺骗。假被第三方侵犯;但它并不保证双方自身的相互欺骗。假定定A发送一个认证的信息给发送一个认证的信息给B,双方之间的争议可能有多,双方之间的争议可能有多种形式:种形式:B伪造一个不
17、同的消息,但声称是从伪造一个不同的消息,但声称是从A收到的。收到的。A可以否认发过该消息,可以否认发过该消息,B无法证明无法证明A确实发了该消息。确实发了该消息。例如:例如:EFT中改大金额;股票交易指令亏损后抵赖。中改大金额;股票交易指令亏损后抵赖。第55页,本讲稿共73页56手写签名手写签名手写签名具有的特性手写签名具有的特性:签名是可信的签名是可信的,接收者相信签名者慎重签署了该文接收者相信签名者慎重签署了该文件件签名是不能伪造的签名是不能伪造的签名是不可重用的签名是不可重用的签名后的文件是不能更改的签名后的文件是不能更改的签名是不可否认的签名是不可否认的第56页,本讲稿共73页57数字
18、签名数字签名数字签名(数字签名(digital signatures)可以)可以 提供如下功能:提供如下功能:签名者事后不能否认自己的签名签名者事后不能否认自己的签名接收者能验证签名,而任何其他人都不能伪造接收者能验证签名,而任何其他人都不能伪造签名。签名。在有争议时,可由第三方进行验证在有争议时,可由第三方进行验证对签名的作者、日期和时间、签名时刻消息的对签名的作者、日期和时间、签名时刻消息的内容提供验证内容提供验证因此,数字签名提供了鉴别之外的附加功能因此,数字签名提供了鉴别之外的附加功能第57页,本讲稿共73页58手写签名与数字签名的主要差别手写签名与数字签名的主要差别签署文件方面签署文
19、件方面手写签名与被签的文件在物理上不可分割手写签名与被签的文件在物理上不可分割数字签名数字签名能与所签文件能与所签文件“绑定绑定”验证方面验证方面手写签名通过与一个真实的手写签名相比较手写签名通过与一个真实的手写签名相比较数字签名通过公开的验证算法来验证数字签名通过公开的验证算法来验证“拷贝拷贝”方面方面手写签名不易拷贝手写签名不易拷贝数字签名容易拷贝数字签名容易拷贝第58页,本讲稿共73页59数字签名数字签名一个签名方案是一个满足下列条件的五元组(一个签名方案是一个满足下列条件的五元组(P,A,K,S,V):):P是所有可能消息组成的一个有限集合是所有可能消息组成的一个有限集合A是由所有可能
20、的签名组成的一个有限集合是由所有可能的签名组成的一个有限集合K为密钥空间,它是由所有可能密钥组成的一个有限集合为密钥空间,它是由所有可能密钥组成的一个有限集合对每一个对每一个k K,有一个签名算法有一个签名算法sigk S和一个相应的验证算法和一个相应的验证算法verk V。对每一个消息。对每一个消息x P和每一个签名和每一个签名y A,每一个,每一个sigk:PA和和 verk:P Atrue,false都是满足下列条件的函数都是满足下列条件的函数 由由x P和和y A组成的数据对组成的数据对(x,y)称为签名消息。称为签名消息。第59页,本讲稿共73页60对签名方案的攻击模型对签名方案的攻
21、击模型唯密钥攻击(唯密钥攻击(key-only attack)攻击者攻击者Oscar拥有拥有Alice的公钥,即验证函数的公钥,即验证函数verk已知消息攻击(已知消息攻击(know message attack)Oscar拥有一系列以前由拥有一系列以前由Alice签名的消息签名的消息(x1,y1),(x2,y2),其中是其中是xi消息,消息,yi是是Alice对消息对消息的签名的签名选择消息攻击选择消息攻击Oscar请求请求Alice对一个消息列表签名对一个消息列表签名.第60页,本讲稿共73页61对签名方案的攻击目的对签名方案的攻击目的完全破译(完全破译(total break)攻击者攻击
22、者Oscar可以确定可以确定Alice的私钥,即签名函数的私钥,即签名函数Sigk,因此能因此能对任何消息产生有效签名。对任何消息产生有效签名。选择性伪造选择性伪造(selective forgery)攻击者能以某一不可忽略的概率对另外某个人选择的消息产生一攻击者能以某一不可忽略的概率对另外某个人选择的消息产生一个有效的签名。该消息不是以前个有效的签名。该消息不是以前Alice曾经签名的消息曾经签名的消息存在性伪造存在性伪造(existential forgery)攻击者至少能够为一则消息产生一个有效的签名,该消息不应攻击者至少能够为一则消息产生一个有效的签名,该消息不应该是以前该是以前Ali
23、ce曾经签名的消息。曾经签名的消息。第61页,本讲稿共73页62数字签名的设计要求数字签名的设计要求签名必须是依赖于被签名信息的一个位串模式;签名必须是依赖于被签名信息的一个位串模式;签名必须使用某些对发送者是唯一的信息,以防止双方的伪造与否认;签名必须使用某些对发送者是唯一的信息,以防止双方的伪造与否认;必须相对容易生成该数字签名;必须相对容易生成该数字签名;必须相对容易识别和验证该数字签名;必须相对容易识别和验证该数字签名;伪造该数字签名在计算复杂性意义上具有不可行性,既包括对伪造该数字签名在计算复杂性意义上具有不可行性,既包括对一个已有的数字签名构造新的消息,也包括对一个给定消息伪一个已
24、有的数字签名构造新的消息,也包括对一个给定消息伪造一个数字签名;造一个数字签名;在存储器中保存一个数字签名副本是现实可行的。在存储器中保存一个数字签名副本是现实可行的。第62页,本讲稿共73页63 内容提要数字签名数字签名的功能与特性若干数字签名方案第63页,本讲稿共73页64RSA签名方案签名方案BA第64页,本讲稿共73页65签名与加密签名与加密签名提供真实性签名提供真实性(authentication)加密提供保密性加密提供保密性(confidentiality)“签名签名+加密加密”提供提供“真实性真实性+保密性保密性”两种实现方式两种实现方式:(AB)先签名先签名,后加密后加密:EK
25、UbM|SigA(M)先加密先加密,后签名后签名:EKUb(M)|SigA(EKUb(M)方式方式存在安全问题,不推荐存在安全问题,不推荐。第65页,本讲稿共73页66DSS/DSADSS(数字签名标准数字签名标准)是是特别为签名的目的而设计的。这特别为签名的目的而设计的。这个方案的改进个方案的改进1994年年12月月1日被美国日被美国NIST(国家标准(国家标准和技术研究所)采纳作为和技术研究所)采纳作为数字签名标准数字签名标准数字签名标准数字签名标准(FIPS 186)(FIPS 186)。DSS 使用使用 SHA作为散列函数作为散列函数DSS(Digital signature Stan
26、dard),DSA(Digital signature algorithm)安全性基于计算离散对数的困难性安全性基于计算离散对数的困难性第66页,本讲稿共73页67DSS签名方案签名方案BA第67页,本讲稿共73页68DSS算法说明算法说明-算法参数算法参数全局公开密钥分量全局公开密钥分量p 素数素数,其中其中2L-1p2L,512 L1024,且且L为为64的倍数的倍数:即比特即比特长度在长度在512到到1024之间之间,长度增量为长度增量为64比特比特 q (p-1)的素因子的素因子,其中其中2159q2160g=h(p-1)/q mod p,其中其中h是一整数是一整数,1h(p-1)用户
27、私有密钥用户私有密钥x 随机或伪随机整数随机或伪随机整数,其中其中0 xq用户公开密钥用户公开密钥y=gx mod p第68页,本讲稿共73页69DSS算法的签名过程算法的签名过程用户每个报文的密数用户每个报文的密数 k随机或伪随机整数随机或伪随机整数,其中其中0kq签名签名r=(gkmod p)mod qs=k-1(H(M)+xr)mod q签名签名=(r,s)发送签名发送签名(r,s)和消息和消息 M符号符号:M 要签名的消息要签名的消息H(M)使用使用SHA-1生成的生成的M的散列码的散列码M ,r ,s 接收到的接收到的M,r,s版本版本第69页,本讲稿共73页70DSS算法的验证过程
28、算法的验证过程验证验证w=(s)-1 mod qu1=H(M )w mod q,u2=(r )w mod qv=(gu1yu2)mod p mod qTEST:v=r 第70页,本讲稿共73页71使用中的问题使用中的问题用户产生的签名用户产生的签名s=0,会泄露私钥会泄露私钥。不能将签名所使用的随机数不能将签名所使用的随机数k泄露出去。泄露出去。不要使用同一个不要使用同一个k签两个不同的消息签两个不同的消息。第71页,本讲稿共73页72其他数字签名方案其他数字签名方案一次性数字签名:如果一个签名方案仅给一则消息签名时是安全的,一次性数字签名:如果一个签名方案仅给一则消息签名时是安全的,则签名方
29、案是一次性签名方案。当然可以进行若干次验证。则签名方案是一次性签名方案。当然可以进行若干次验证。不可否认签名:最主要的特征是没有签名者的合作,签名就不不可否认签名:最主要的特征是没有签名者的合作,签名就不能得到验证。由三部分组成:签名算法、验证协议、否认协议。能得到验证。由三部分组成:签名算法、验证协议、否认协议。群签名方案:群签名方案:群中各个成员以群的名义匿名地签发消息,群数字群中各个成员以群的名义匿名地签发消息,群数字签名方案由三个算法组成:签名算法、验证算法和识别算法。签名方案由三个算法组成:签名算法、验证算法和识别算法。盲签名要求盲签名要求:消息内容对签名者不可见,签名被接收者泄漏消
30、息内容对签名者不可见,签名被接收者泄漏后后,签名者无法追踪签名。签名者无法追踪签名。第72页,本讲稿共73页73参考文献参考文献王昭,袁春王昭,袁春编编著著.陈钟审陈钟审校校.信息安全原理与信息安全原理与应应用用.北京北京:电电子工子工业业出版社,出版社,2010.William Stallings,Cryptography and network security:principles and practice,Second Edition.Bruce Shneier,Applied cryptography:protocols,algorithms,and sourcecode in C,Second Edition.李克洪主编李克洪主编.实用密码学与计算机安全实用密码学与计算机安全.沈阳:东北大学出版社沈阳:东北大学出版社,1997.冯登国冯登国,裴定一裴定一.密码学导引密码学导引.北京北京:科学出版社科学出版社,1999.冯登国等译冯登国等译.密码学原理与实践(第二版)密码学原理与实践(第二版).北京北京:电子工业出版电子工业出版社,社,2003.第73页,本讲稿共73页