




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、明明文文明明文文加加密密算算法法解解密密算算法法信信道道攻击者攻击者认证的目的认证的目的o 认证的目的有两个方面:o 一是验证信息的发送者和接受者是合法的,而不是冒充的,即实体认证,包括信源、信宿的认证和识别;o 二是验证消息的完整性,验证数据在传输和存储过程中是否被篡改、重放或延迟等。第三章第三章 信息认证技术信息认证技术 o 3.1 Hash3.1 Hash函数和消息完整性函数和消息完整性o 3.2 3.2 数字签名技术数字签名技术 o 3.3 3.3 身份认证技术身份认证技术 o 3.4 3.4 认证的具体实现认证的具体实现 3.1 Hash函数和消息完整性函数和消息完整性o 3.1.1
2、 基本概念基本概念o 3.1.2 常见的常见的Hash函数函数o 3.1.3 消息认证码消息认证码3.1.1 基本概念基本概念o 哈希(哈希(Hash)函数)函数( “散列函数散列函数”或“杂凑函杂凑函数数”)是可接受变长数据输入,并生成定长数据输出的函数,输出称为输入数据的哈希值哈希值、散列散列码码或消息摘要消息摘要。由于哈希函数具有单向性的属性,有时也称单向散列函数。有时把哈希值(消息摘要、散列码)称为输入数据的数字指纹数字指纹。o 消息完整性消息完整性要求对接收的数据的任何改动都能被发现。o 哈希函数的主要功能主要功能就是实现数据完整性的安全。 Hash函数基本概念(续)函数基本概念(续
3、)o 表达式:哈希值以函数表达式:哈希值以函数 h=H(x) 表示。表示。 其中,其中,x 是变长的消息,哈希值是变长的消息,哈希值 h,H 是一是一个将任意长度的消息个将任意长度的消息 x 映射为一个较短定长映射为一个较短定长的哈希值的哈希值 h 的函数,其效果图如下所示。的函数,其效果图如下所示。o Hash函数一般满足以下几个基本需求:n 任意长度的输入数据块,固定长度的散列值;n 对于每一个给定输入数据 x,计算出它的哈希值H(x)很容易;n 反过来,给定哈希值h,倒推出输入数据x在计算上不可行;n 对于给定的消息x1和其哈希值H(x1),找到满足x2 x1,且H(x2)H(x1)的x
4、2在计算上不可行,即抗弱碰撞(抗弱碰撞(Collision)性)性;n 找到任何满足H(x1)H(x2)且x1 x2的消息对( x1, x2)在计算上是不可行的,即抗强碰抗强碰撞性撞性。Hash函数基本概念(续)函数基本概念(续)o Hash值的长度值的长度由算法的类型决定,与输入的消息大小无关,一般为128或者160位。常用的单向Hash算法有MDS、SHA等。o Hash函数可以按照其是否有密钥控制分为两类:一类有密钥控制有密钥控制,为密码Hash函数;另一类无密钥控制无密钥控制,为一般Hash函数。3.1.2常见的常见的Hash函数函数o MD4算法o MD5算法o SHA算法MD-4算
5、法算法o MD-4是Ron Rivest设计的单向散列函数o MD表示消息摘要(Message Digest),对于不同长度的输入消息该算法产生128-位散列值MD-4算法设计目标算法设计目标o 安全性。找到两个具有相同散列值的消息在计算上不可行,不存在比穷举攻击更有效的攻击。o 直接安全性。MD-4的安全性不基于任何假设,如因子分解的难度。o 速度。MD-4适用于软件实现,基于32位操作数的一些简单位操作。o 简单性和紧凑性。MD-4尽可能简单,没有大的数据结构和复杂的程序。o 有利的Little-Endian结构。MD-4最适合微处理器结构,更大型、速度更快的计算机要作必要的转化。MD-5
6、算法算法以以512位分组来处位分组来处理输入的信息,每理输入的信息,每一分组又被划分为一分组又被划分为16个个32位子分组,位子分组,经过了一系列的处经过了一系列的处理后,算法的输出理后,算法的输出由由4个个32位分组组位分组组成,将这成,将这4个个32位位分组级联后生成分组级联后生成128位散列值。位散列值。MD-5算法的步骤算法的步骤 o 1数据填充与分组数据填充与分组n (1 1)将输入信息将输入信息Y按顺序每按顺序每512位一组进行分组:位一组进行分组: Y = Y 1, Y 2, Y n-1, Y nn (2 2)将信息将信息Y的的Y n长度填充为长度填充为448位。位。o 当当Y
7、n长度长度L(bit为单位)为单位) 448时,在信息时,在信息Y n后加一个后加一个“1”,然后再,然后再填充填充512-L+447个个“0”,使最后的信息,使最后的信息Y n长度为长度为512位,位, Y n+1长度为长度为448位位n (3 3)在填充后的在填充后的Y后面附加一个以后面附加一个以64位二进制表位二进制表示的填充前的信息的长度。示的填充前的信息的长度。 o 2.初始化散列值初始化散列值n 在MD5算法中要用到4个32位变量,分别为A、B、C、D,它们的初始值为: A = 0 x01234567 B = 0 x89abcdef C = 0 xfedcba98 D = 0 x7
8、6543210n 在MD5算法过程中,这四个32位变量被称为链接变量,它们始终参与运算并形成最终的散列值。o 3.计算散列值计算散列值n 1)将填充后的信息按每512位分为一块(Block),每块按32位为一组划分成16个分组,即 Yi = Yi0 ,Yi1 ,Yi2,Yi15,i = 1 n Xk= Yik,k= 0 15n 2)分别对每一块信息进行4轮计算。每轮定义一个如下所示的非线性函数:n 3)将A、B、C、D这四个变量分别复制到变量a、b、c、d中。)Z)X()YX()Z,Y,X(F )Z(Y()ZX()Z,Y,X(G ZYX)Z,Y,X(H )Z(X(Y)Z,Y,X(I 4)每轮进
9、行16步迭代运算n每步操作对a、b、c、d中的三个变量作一次非线性函数运算n将所得的结果与第四个变量、输入信息的一个32位的子分组Xk和一个常数Ti相加n将所得的结果循环左移一个不定数s,并加上a、b、c、d中的一个变量。232abs(sin(i)整数部分)Z)X()YX()Z,Y,X(F )Z(Y()ZX()Z,Y,X(G ZYX)Z,Y,X(H )Z(X(Y)Z,Y,X(I 32位移位寄存器,循环左移一个不定数so3.计算散列值计算散列值n 4轮循环操作完成之后,将A、B、C、D分别加上a、b、c、d,即A=A+aB=B+bC=C+cD=D+dn 这里的加法是模232加法n 然后用下一51
10、2位分组数据继续运行算法,最后的输出是A、B、C和D的级联。其他算法其他算法o SHA(Secure Hash Algorithm)是美国国家标准与技术研究所(NIST)提出,于1993年作为联邦信息处理标准(FIPS 180)发布的,1995年又发布了其修订版(FIPS 180-1),通常称为SHA-1 。该算法的输入消息长度小于264bit,最终的输出结果值为160bit。o SHA-1与MD-4相比较而言有两项改进:n 增加了扩展变换,对穷举攻击更有抵抗力。n 将前一轮的输出加到下一轮,这样增加了雪崩效应。o 2001年,NIST发布FIPS 180-2,新增了三个哈希函数,分别为SHA
11、-256,SHA-384,SHA-512,其散列值的长度分别为256,384,512。o GOST算法,SNEFRU算法等。另外可将标准分组算法通过级连、迭代也能构造出优秀的Hash算法。指明文或密钥的少量变化会引起密文的很大变化指明文或密钥的少量变化会引起密文的很大变化.对于对于Hash码,雪崩效应是指少量消息位的变化会码,雪崩效应是指少量消息位的变化会引起信息摘要的许多位变化。引起信息摘要的许多位变化。 3.1.3消息认证码消息认证码o 消息认证码(MAC,Messages Authentication Codes),是与密钥相关的的单向Hash函数,也称为消息鉴别码或是消息校验和。MAC
12、与单向Hash函数一样,但是还包括一个密钥。o 不同的密钥会产生不同的散列值,这样就能在验证发送者的消息是否被篡改的同时,验证是由谁发送的。 o MAC既可以用于用户之间鉴别文件,也可以用于单个用户鉴定其文件是否被篡改。o 将单向Hash函数变成MAC的一个简单的办法是用对称算法加密Hash值。相反将MAC变成单向Hash函数则只需将密钥公开。 消息认证码的实现示意图消息认证码的实现示意图 哈希函数的应用哈希函数的应用o消息认证o数字签名o口令的安全性o文件的完整性o密码协议的应用o 在网络通信和电子商务中很容易发生如下问题。在网络通信和电子商务中很容易发生如下问题。1否认,发送信息的一方不承
13、认自己发送过否认,发送信息的一方不承认自己发送过某一信息。某一信息。2伪造,接收方伪造一份文件,并声称它来伪造,接收方伪造一份文件,并声称它来自某发送方的。自某发送方的。3冒充,网络上的某个用户冒充另一个用户冒充,网络上的某个用户冒充另一个用户接收或发送信息。接收或发送信息。4篡改,信息在网络传输过程中已被篡改,篡改,信息在网络传输过程中已被篡改,或接收方对收到的信息进行篡改或接收方对收到的信息进行篡改用数字签名(用数字签名(Digital SignatureDigital Signature)可以有效地解决这些问题。)可以有效地解决这些问题。数字签名就是主要用于对数字信息进行的签名,以防止信
14、息数字签名就是主要用于对数字信息进行的签名,以防止信息被伪造或篡改等。被伪造或篡改等。3.2 数字签名技术数字签名技术o 3.2.1 数字签名的基本概念数字签名的基本概念o 3.2.2 常用的数字签名体制常用的数字签名体制o 3.2.3 盲签名和群签名盲签名和群签名3.2.1 数字签名的基本概念o 数字签名在信息安全,包括身份认证、数据完整性、不可否认性以及匿名性等方面有重要应用,特别是在大型网络安全通信中的密钥分配、认证及电子商务系统中具有重要作用。数字签名是实现认证的重要工具。1、数字签名与手写签名的不同、数字签名与手写签名的不同o 签名签名:手写签名是被签文件的物理组成部分;数字签名是连
15、接到被签消息上的数字串数字串。o 传输方式传输方式:数字签名和所签名的消息能够在通信网络中传输。手写签名使用传统的安全方式传输。o 验证验证:手写签名是通过将它与真实的签名进行比较来验证;而数字签名是利用已经公开的验证算法来验证。o 数字签名的复制是有效的;而手写签名的复制数字签名的复制是有效的;而手写签名的复制是无效的。是无效的。o 手写签字是模拟的,且因人而异。数字签字是0和1的数字串,因消息而异。2 2、数字签名的含义、数字签名的含义o 所谓数字签名(Digital Signature),也称电子签名,是指附加在某一电子文档中的一组特定的符号或代码符号或代码,它是利用数学方法和密码算法对
16、该电子文档进行关键信关键信息息提取并进行加密加密而形成的,用于标识签发者的身份以及签发者对电子文档的认可,并能被接收者用来验证该电子文档在传输过程中是否被篡改或伪造。o 联合国贸法会电子签名示范法定义为:“在数据电文中以电子形式所含、所附或在逻辑上与数据电文有联系的数据,它可用于鉴别与数据电文相关的签名人和表明签名人认可数据电文所含信息。”o 数字签名应该能够在数据通信过程中识别通信双方的真实身份,保证通信的真实性以及不可抵赖性,起到与手写签名或者盖章同等作用。3 3、数字签名的特性、数字签名的特性( 1/2 1/2 )o 签名是可信的签名是可信的:任何人都可以方便地验证签名的有效性。o 签名
17、是不可伪造的签名是不可伪造的:除了合法的签名者之外,任何其他人伪造其签名是困难的。这种困难性指实现时计算上是不可行的。o 签名是不可复制的签名是不可复制的:对一个消息的签名不能通过复制变为另一个消息的签名。如果一个消息的签名是从别处复制的,则任何人都可以发现消息与签名之间的不一致性,从而可以拒绝签名的消息。 同一消息不同时刻其签名是有区别的3 3、数字签名的特性(、数字签名的特性(2/22/2)o 签名的消息是不可改变的签名的消息是不可改变的:经签名的消息不能被篡改。一旦签名的消息被篡改,则任何人都可以发现消息与签名之间的不一致性。o 签名是不可抵赖的签名是不可抵赖的:签名者不能否认自己的签名
18、。出现争议时,第三方可解决争端;4 4、数字签名技术的功能、数字签名技术的功能 o 数字签名可以解决否认、伪造、篡改及冒充等问题,具体要求为:n 发送者事后不能否认发送的报文签名n 接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的报文签名、接收者不能对发送者的报文进行部分篡改n 网络中的某一用户不能冒充另一用户作为发送者或接收者。5、数字签名方案的组成、数字签名方案的组成数字签名方案是由五元组组成的,数字签名方案是由五元组组成的,即即M,S,K,Sig,VerM:明文空间;明文空间;S:签名空间;签名空间;K:密钥空间;密钥空间;Sig:签名算法;签名算法;Ver:验证算法;验证算法
19、;6、数字签名原理、数字签名原理消息Hash函数消息摘要发方A相等?收方B加密算法私钥A签名消息加密的消息摘要签名消息Hash函数消息摘要解密算法公钥A签名有效y签名无效n7 7、数字签名的实现方法、数字签名的实现方法 o 用对称加密算法进行数字签名 o 用非对称加密算法进行数字签名 用对称加密算法进行数字签名(用对称加密算法进行数字签名(HashHash签名签名 )o 该签名不属于强计算密集型算法,应用较广泛o 使用这种较快Hash算法,可以降低服务器资源的消耗,减轻中央服务器的负荷 o Hash的主要局限是接收方必须持有用户密钥的副本以检验签名, 因为双方都知道生成签名的密钥,较容易攻破,
20、存在伪造签名的可能 用非对称加密算法进行数字签名和验证用非对称加密算法进行数字签名和验证 1 发送方首先用公开的单向函数对报文进行一次变换,得到数字签名,然后利用私有密钥对数字签名进行加密后附在报文之后一同发出。 2 接收方用发送方的公开密钥对数字签名进行解密变换,得到一个数字签名的明文。发送方的公钥是由一个可信赖的技术管理机构即验证机构(CA: Certification Authority)发布的。 3 接收方将得到的明文通过单向函数进行计算,同样得到一个数字签名,再将两个数字签名进行对比,如果相同,则证明签名有效,否则无效。 3.2.23.2.2常用的数字签名体制常用的数字签名体制o 用
21、非对称加密算法实现的数字签名技术最常用的是DSS和RSA签名,下面分别做简单介绍: 1.RSA数字签名 2.DSS数字签名 1、RSA数字数字签名方案签名方案 o 签名算法n 1.利用一个安全的Hash函数h来产生消息摘要h(m)。n 2.用签名算法计算签名s=Sigk(m)=h(m)d mod n。o 验证算法n 1.首先利用一个安全的Hash函数h计算消息摘要h(m)。n 2.用检验等式h(m) mod n=se mod n 是否成立,若相等签名有效,否则,签名无效。RSA数字签名流程图数字签名流程图o 初始化:n 假设A选取p = 13,q = 11,e = 13,则有n = pq =
22、143,(n) = (p-1)(q-1) = 1210 = 120。求解ed = 13d 1(mod 120) 得d = 37。因此A的公钥为(n = 143,e = 13);私钥为d = 37。o 签名过程:n 假定消息m的Hash值h(m) = 16,则计算m签名s = h(m)d mod n =1637 mod 143 = 3。o 验证过程:n 接受者B收到签名后,计算se mod n = 313 mod 143 = 16,h(m) modn = 16 mod 143 = 16,等式h(m) mod n = se mod n成立,因此,B验证此签名有效。RSA数字签名方案(举例)安全性分
23、析 显然,由于只有签名者知道 d,由RSA体制知道,其他人不能伪造签名,但可易于证实所给任意M,S对,其是否为消息M和相应签名构成的合法对。RSA签名过程下图3.1。 DSS数字数字签名方案签名方案o Digital Signature Algorithm(DSA)是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSS(Digital SignatureStandard)数字签名标准。o DSS是由美国国家标准化研究院和国家安全局共同开发的。由于它是由美国政府颁布实施的,主要用于与美国政府做生意的公司,其他公司则较少使用,它只是一个签名系统,而且美国政府不提倡使用任何削弱政府
24、窃听能力的加密软件,认为这才符合美国的国家利益。3.2.3盲签名和群签名盲签名和群签名 这一部分介绍两种特殊的签名方法: 一、盲签名 二、群签名 1.盲签名盲签名 o 一般的数字签名中,总是要先知道了文件内容后才签署,但有时需要对一个文件签字,而且不想让签名者知道文件的内容,称这样的签名为盲签名(Blind Signature)。在在无记名投票无记名投票选举和选举和数字货币数字货币系统中往往需要系统中往往需要这种盲签名。这种盲签名。o 利用盲变换可以实现盲签名 盲签名与普通签名相比有两个显著的特点:盲签名与普通签名相比有两个显著的特点:签名者不知道所签署的数据内容签名者不知道所签署的数据内容;
25、在签名被接收者泄露后,签名者不能追在签名被接收者泄露后,签名者不能追踪签名。踪签名。即:如果把签名的数据给签名即:如果把签名的数据给签名者看,他确信是自己的签名,但他无法者看,他确信是自己的签名,但他无法知道什么时候对什么样的盲数据施加签知道什么时候对什么样的盲数据施加签名而得到此签名数据。名而得到此签名数据。(1 1)盲签名)盲签名之之完全盲签名完全盲签名 o 现在假设B担任仲裁人的角色,A要求B签署一个文件,但并不想让他知道文件的内容,而且B也没必要知道文件的内容,他只需要确保在需要时能进行公正的仲裁。 完全盲签名的具体过程完全盲签名的具体过程 1)盲变换 A将要进行签名的文件和一个随机数
26、相乘,该随机数称为盲因子。这实际完成了原文件的隐藏。隐藏完的文件被称为盲文件。2) A将该盲文件送给B.3)签名. B对该盲文件签名。4)解盲变换 A对签过字的盲文件除以用到的盲因子,就得到B对原文件的签名. 完全盲签名的特点完全盲签名的特点 o 首先B对文件的签名是合法的,和传统的签名具有相同的属性。 o B不能将所签文件与实际文件联系起来,即使他保存所有曾签过的文件,也不能获得所签文件的真实内容。 (2 2)盲签名之)盲签名之盲签名盲签名 o 完全盲签名可以使A令B签任何内容的文件,这对B显然是很危险的.o 为了避免恶意的使用,采用“分割选择”技术o B能知道所签为何物,但他因为协议规定的
27、限制条件,无法进行对自己有利的欺诈,或者说进行欺诈所需代价超过其获利。(3)盲签名在电子选举中的应用盲签名在电子选举中的应用o 设选民设选民B不想让选举管理中心不想让选举管理中心A知道其选票知道其选票的内容,但选票又必须经过管理中心的内容,但选票又必须经过管理中心A签名签名以确认身份后才能有效。因此,选民以确认身份后才能有效。因此,选民B填好填好选票选票v后,对选票后,对选票v进行盲变换进行盲变换T后得到后得到T(v),然后对其进行签名得到然后对其进行签名得到s=SigB(T(v)。B将(将(I(B),T(v),s)发给)发给A,其中,其中I(B)是选是选民民B的身份信息。的身份信息。o 当选
28、举管理中心当选举管理中心A收到收到B发出的发出的(I(B),T(v),s)后,它要进行检查:)后,它要进行检查:o (1)B有无权力参加选举,如有无权力参加选举,如B无权参加选无权参加选举,则不对举,则不对B的选票签名;否则进行(的选票签名;否则进行(2););o (2)B是否申请过对选票进行签名,若已经是否申请过对选票进行签名,若已经申请过,则不对申请过,则不对B的选票签名;否则进行的选票签名;否则进行(3););(3)盲签名在电子选举中的应用盲签名在电子选举中的应用o (3)s=SigB(T(v)是否是选票是否是选票T(v)的的有效签名。若不是,则不对有效签名。若不是,则不对B的选票的选票T(v) 签名。否则,对签名。否则,对B的选票签名进行签名的选票签名进行签名s=SigA(T(v),并把并把s发送给选民发送给选民B。最后选举管理中心最后选举管理中心A宣布获得宣布获得B对选票签对选票签名的总人数,并公布包括(名的总人数,并公布包括(I(B),T(v),s)的一张表。的一张表。(3)盲签名在电子选举中的应用盲签名在电子选举中的应用o 投票之前,每个选民都要验证投票之前,每个选民都要验证A对其的选对其的选票签名是否有效。若无效,票签名是否有效。若无效,B要重新向要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐厅壁画施工方案
- 水网地段管道施工方案
- 壁画终端箱施工方案
- 2025年SYB创业培训后的试题及答案
- 6年级上册语文第十八课笔记
- 某航天机械能源公司投标书
- 2025年医学经典考试题及答案
- 地灾隐患点搬迁实施方案
- 2025年中山火炬职业技术学院单招职业倾向性测试题库附答案
- 2025年甘肃省庆阳地区单招职业适应性测试题库一套
- 宠物殡葬与环保处理
- IBM业务架构咨询:制造业核心业务流程框架及解决方案 相关两份资料
- 安徽省普通高校对口招生考试专业课和技能测试考试纲要(2023年版)010计算机类专业课考试纲要
- 新解读《CJJ 92-2016城镇供水管网漏损控制及评定标准(2018年版) 》
- 2024年大队委竞选笔试题库
- 医院考勤制度实施细则
- 肺结节诊治中国专家共识(2024年版)解读
- TSDDP 8-2024 新型无机磨石施工质量与验收规范
- MES系统实施管理办法
- 2024年新课标高考化学真题试题(原卷版+含解析)
- 《历代志上下概论》课件
评论
0/150
提交评论