第五部分 信息认证技术 ■5.1数字签名技术 ■5.2身份识别技术 ■53杂凑函数和消息完整性 ■5.4认证模式与认证方式 55认证的具体实现 ■56认证码 认证的目的 认证的目的有两个方面 是验证信息的发送者是合法的,而不是冒充的,即实体认 证,包括信源、信宿的认证和识别; ■二是验证消息的完整性,验证数据在传输和存储过程中是否 被篡改、重放或延迟等 5.1.1数字签名技术 ■数字签名在信息安全,包括身份认证、数据完整性、不可否 认性以及匿名性等方面有重要应用,特别是在大型网络安全 通信中的密钥分配、认证及电子商务系统中具有重要作用 数字签名是实现认证的重要工具。 什么是数字签名(1/2) 1.通过单向哈希函数实现的数字签名 ■通过一个单向函数对要传送的报文进行处理得到的用以认证
第五部分 信息认证技术 ◼ 5.1 数字签名技术 ◼ 5.2 身份识别技术 ◼ 5.3 杂凑函数和消息完整性 ◼ 5.4认证模式与认证方式 ◼ 5.5 认证的具体实现 ◼ 5.6 认证码 认证的目的 ◼ 认证的目的有两个方面: ◼ 一是验证信息的发送者是合法的,而不是冒充的,即实体认 证,包括信源、信宿的认证和识别; ◼ 二是验证消息的完整性,验证数据在传输和存储过程中是否 被篡改、重放或延迟等。 5.1.1 数字签名技术 ◼ 数字签名在信息安全,包括身份认证、数据完整性、不可否 认性以及匿名性等方面有重要应用,特别是在大型网络安全 通信中的密钥分配、认证及电子商务系统中具有重要作用。 数字签名是实现认证的重要工具。 什么是数字签名(1/2) 1.通过单向哈希函数实现的数字签名 ◼ 通过一个单向函数对要传送的报文进行处理得到的用以认证
报文来源并核实报文是否发生变化的一个字母数字串,该字 母数字串被成为该消息的消息鉴别码或消息摘要 什么是数字签名(2/2) 2.公钥签名技术 公钥体制签名的时候用户用自己的私钥对原始数据的哈希摘要进行 加密得到数据,然后信息接收者使用信息发送者的公钥对附在原始信 息后的数字签名进行解密后获得哈希摘要,并通过与用自己收到的原 始数据产生的哈希摘要对照,便可确信原始信息是否被篡改,这样就 保证了数据传输的不可否认性 数字签名的特性(1/2) 签名是可信的:任何人都可以方便地验证签名的有效性。 签名是不可伪造的:除了合法的签名者之外,任何其他人伪造其签名 是困难的。这种困难性指实现时计算上是不可行的。 签名是不可复制的:对一个消息的签名不能通过复制变为另一个消 息的签名。如果一个消息的签名是从别处复制的,则任何人都可以发 现消息与签名之间的不一致性,从而可以拒绝签名的消息 数字签名的特性(2/2) ■签名的消息是不可改变的:经签名的消息不能被篡改。一旦 签名的消息被篡改,则任何人都可以发现消息与签名之间的 不一致性 签名是不可抵赖的:签名者不能否认自己的签名 数字签名技术的功能 ■数字签名可以解决否认、伪造、篡改及冒充等问题,具体要 求为 发送者事后不能否认发送的报文签名 接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的 报文签名、接收者不能对发送者的报文进行部分篡改 网络中的某一用户不能冒充另一用户作为发送者或接收者 数字签名分类 ■以安全性分
报文来源并核实报文是否发生变化的一个字母数字串,该字 母数字串被成为该消息的消息鉴别码或消息摘要。 什么是数字签名(2/2) 2.公钥签名技术 ◼ 公钥体制签名的时候用户用自己的私钥对原始数据的哈希摘要进行 加密得到数据,然后信息接收者使用信息发送者的公钥对附在原始信 息后的数字签名进行解密后获得哈希摘要,并通过与用自己收到的原 始数据产生的哈希摘要对照,便可确信原始信息是否被篡改,这样就 保证了数据传输的不可否认性 。 数字签名的特性( 1/2) 签名是可信的:任何人都可以方便地验证签名的有效性。 签名是不可伪造的:除了合法的签名者之外,任何其他人伪造其签名 是困难的。这种困难性指实现时计算上是不可行的。 签名是不可复制的:对一个消息的签名不能通过复制变为另一个消 息的签名。如果一个消息的签名是从别处复制的,则任何人都可以发 现消息与签名之间的不一致性,从而可以拒绝签名的消息。 数字签名的特性(2/2) ◼ 签名的消息是不可改变的:经签名的消息不能被篡改。一旦 签名的消息被篡改,则任何人都可以发现消息与签名之间的 不一致性。 签名是不可抵赖的:签名者不能否认自己的签名。 数字签名技术的功能 ◼ 数字签名可以解决否认、伪造、篡改及冒充等问题,具体要 求为: – 发送者事后不能否认发送的报文签名 – 接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的 报文签名、接收者不能对发送者的报文进行部分篡改 – 网络中的某一用户不能冒充另一用户作为发送者或接收者。 数字签名分类 ◼ 以安全性分
①无条件安全的数字签名 ②计算上安全的数字签名 以可签名次数分 ①一次性的数字签名 ②多次性的数字签名 数字签名原理 数字签名的实现方法 ■用对称加密算法进行数字签名 ■用非对称加密算法进行数字签名 用对称加密算法进行数字签名(1/2) Hash函数 ■所谓Hash函数,即对于任意长度的信息m,经过哈希函数运算后,压缩成固定长度的数,比如64 比特,要求满足: (1)已知哈希函数的输出,要求它的输入是困难的,即已知c= Hash(m,求m是困难的 (2)已知m,计算Hash(m是容易的 9gh的包特都m的相有高较感性。即每改变的一比特,都将 对c产生明显影响 (5)作为一种数字签名,还要求哈希函数除了信息m自身之外,应该基于发信方的秘密信息对信息 m进行确认。 用对称加密算法进行数字签名(Hash签名) (2/2) 该签名不属于强计算密集型算法,应用较广泛 ■使用这种较快Hash算法,可以降低服务器资源的消耗减轻中央服务器 的负荷 Hash的主要局限是接收方必须持有用户密钥的副本以检验签名,因 为双方都知道生成签名的密钥,较容易攻破,存在伪造签名的可能 用非对称加密算法进行数字签名和验证 1发送方首先用公开的单向函数对报文进行一次变换,得到数字签名,然后利用 私有密钥对数字签名进行加密后附在报文之后一同发出。 2接收方用发送方的公开密钥对数字签名进行解密变换,得到一个数字签名的明
无条件安全的数字签名 计算上安全的数字签名 ◼ 以可签名次数分 一次性的数字签名 多次性的数字签名 数字签名原理 数字签名的实现方法 ◼ 用对称加密算法进行数字签名 ◼ 用非对称加密算法进行数字签名 用对称加密算法进行数字签名(1/2) ◼ Hash函数 ◼ 所谓Hash函数,即对于任意长度的信息m,经过哈希函数运算后,压缩成固定长度的数,比如64 比特,要求满足: ◼ (1)已知哈希函数的输出,要求它的输入是困难的,即已知c=Hash(m),求m是困难的。 ◼ (2)已知m,计算Hash(m)是容易的。 ◼ (3)已知C1=Hash(m1),构造m2使Has h(m2)=C1是困难的。 ◼ (4)c=Hash(m),c的每一比特都与m的每一比特相关,并有高敏感性。即每改变m的一比特,都将 对c产生明显影响。 ◼ (5)作为一种数字签名,还要求哈希函数除了信息m自身之外,应该基于发信方的秘密信息对信息 m进行确认。 用对称加密算法进行数字签名(Hash签名 ) (2/2) ◼ 该签名不属于强计算密集型算法,应用较广泛 ◼ 使用这种较快Hash算法,可以降低服务器资源的消耗,减轻中央服务器 的负荷 ◼ Hash的主要局限是接收方必须持有用户密钥的副本以检验签名, 因 为双方都知道生成签名的密钥,较容易攻破,存在伪造签名的可能 用非对称加密算法进行数字签名和验证 1 发送方首先用公开的单向函数对报文进行一次变换,得到数字签名,然后利用 私有密钥对数字签名进行加密后附在报文之后一同发出。 2 接收方用发送方的公开密钥对数字签名进行解密变换,得到一个数字签名的明
文。发送方的公钥是由一个可信赖的技术管理机构即验证机构(CA: Certification Authority)发布的。 3接收方将得到的明文通过单向函数进行计算,同样得到一个数字签名,再将两个 数字签名进行对比,如果相同,则证明签名有效,否则无效。 5.1.2常用的数字签名体制介绍 ■用非对称加密算法实现的数字签名技术最常用的是DSS和RSA 签名 51.3盲签名和群签名 这一部分介绍两种特殊的签名方法 、盲签名 、群签名 盲签名 ■一般的数字签名中,总是要先知道了文件内容后才签署,但 有时需要对一个文件签字,而且不想让签名者知道文件的内 容,称这样的签名为盲签名( Blind Signature) ■利用盲变换可以实现盲签名 盲签名过程图示 盲签名(1)完全盲签名 ■现在假设B担任仲裁人的角色,A要求B签署一个文件,但并 不想让他知道文件的内容,而且B也没必要知道文件的内容 他只需要确保在需要时能进行公正的仲裁 完全盲签名的具体过程 1)盲变换 A对要进行签名的文件和一个随机数相乘,该随机数称为盲因子。这 实际完成了原文件的隐藏。隐藏完的文件被称为盲文件。 2)A将该盲文件送给B. 3)签名 B对该盲文件签名 4)解盲变换 A对签过字的盲文件除以用到的盲因子,就得到B对原文件的签名
文。发送方的公钥是由一个可信赖的技术管理机构即验证机构(CA: Certification Authority)发布的。 3 接收方将得到的明文通过单向函数进行计算,同样得到一个数字签名,再将两个 数字签名进行对比,如果相同,则证明签名有效,否则无效。 5.1.2常用的数字签名体制介绍 ◼ 用非对称加密算法实现的数字签名技术最常用的是DSS和RSA 签名 5.1.3盲签名和群签名 这一部分介绍两种特殊的签名方法: 一、盲签名 二、群签名 1.盲签名 ◼ 一般的数字签名中,总是要先知道了文件内容后才签署,但 有时需要对一个文件签字,而且不想让签名者知道文件的内 容,称这样的签名为盲签名(Blind Signature)。 ◼ 利用盲变换可以实现盲签名 盲签名过程图示 盲签名 (1)完全盲签名 ◼ 现在假设B担任仲裁人的角色,A要求B签署一个文件,但并 不想让他知道文件的内容,而且B也没必要知道文件的内容, 他只需要确保在需要时能进行公正的仲裁。 完全盲签名的具体过程 1)盲变换 A对要进行签名的文件和一个随机数相乘,该随机数称为盲因子。这 实际完成了原文件的隐藏。隐藏完的文件被称为盲文件。 2) A将该盲文件送给B. 3)签名. B对该盲文件签名。 4)解盲变换 A对签过字的盲文件除以用到的盲因子,就得到B对原文件的签名
算法说明 ■只有当签名算法和乘法是可交换的,则上述的协议就可以真 正实现,否则就要考虑用其他方法对原文件进行盲变换。 ■为保证B不能进行欺诈活动,要求盲因子是真正的随机因 子,这样B不能对任何人证明对原文件的签名,而只是知道 对其签过名,并能验证该签名。这就是一个完全盲签名的过 程 完全盲签名的特点 ■首先B对文件的签名是合法的,和传统的签名具有相同的属 性 ■B不能将所签文件与实际文件联系起来,即使他保存所有曾 签过的文件,也不能获得所签文件的真实内容。 盲签名(2)盲签名 完全盲签名可以使A令B签任何内容的文件,这对B显然是很危险的 为了避免恶意的使用,采用“分割——选择”技术 ■B能知道所签为何物,但他因为协议规定的限制条件,无法进行对他 有利的欺诈,或者说进行欺诈所需代价超过其获利。 盲签名示例一 ■要确定对于进出关口的人是不是毒贩,海关不可能对每个人 进行检査。一般用概率方法,例如对入关者抽取1/10进行检 查。那么毒贩在大多情况下可逃脱,但有1/10的机会被抓获。 而为了有效惩治犯罪,一旦抓获,其罚金将大于其它9次的的 获利。所以通过适当地调节检査概率,就可以有效控制贩毒 活动。 盲签名示例说明 ■通常人们把盲变换看作是信封,盲化文件就是对文件加个信 封。而去掉盲因子的过程就是打开信封。 ■文件在信封中时无人能读它,而在盲文件上签名相当于在复 写纸信封上签名,从而得到了对真文件(信封内)的签名
算法说明 ◼ 只有当签名算法和乘法是可交换的,则上述的协议就可以真 正实现,否则就要考虑用其他方法对原文件进行盲变换。 ◼ 为保证B不能进行欺诈活动 ,要求盲因子是真正的随机因 子,这样B不能对任何人证明对原文件的签名,而只是知道 对其签过名,并能验证该签名。这就是一个完全盲签名的过 程。 完全盲签名的特点 ◼ 首先B对文件的签名是合法的,和传统的签名具有相同的属 性。 ◼ B不能将所签文件与实际文件联系起来,即使他保存所有曾 签过的文件,也不能获得所签文件的真实内容。 盲签名(2)盲签名 ◼ 完全盲签名可以使A令B签任何内容的文件,这对B显然是很危险的. ◼ 为了避免恶意的使用,采用“分割——选择”技术 ◼ B能知道所签为何物,但他因为协议规定的限制条件,无法进行对他 有利的欺诈,或者说进行欺诈所需代价超过其获利。 盲签名示例一 ◼ 要确定对于进出关口的人是不是毒贩,海关不可能对每个人 进行检查。一般用概率方法,例如对入关者抽取1/10进行检 查。那么毒贩在大多情况下可逃脱,但有1/10的机会被抓获。 而为了有效惩治犯罪,一旦抓获,其罚金将大于其它9次的的 获利。所以通过适当地调节检查概率,就可以有效控制贩毒 活动。 盲签名示例说明 ◼ 通常人们把盲变换看作是信封,盲化文件就是对文件加个信 封。而去掉盲因子的过程就是打开信封。 ◼ 文件在信封中时无人能读它,而在盲文件上签名相当于在复 写纸信封上签名,从而得到了对真文件(信封内)的签名