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