chap10-2:密码协议基本理论
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
处理通信双方自身发生的攻击。
数字签名提供了这种能力:
验证签名者、签名的日期和时间 认证消息内容 可由第三方仲裁,以解决争执
因此,数字签名具有认证功能
数字签名应满足的条件
签名值必须依赖于所签的消息 产生签名比较容易 识别和验证签名比较容易
伪造数字签名在计算上是不可行的。包括
已知数字签名,伪造新的消息 已知消息,伪造数字签名
对用其公钥加密过的随机数进行解密;
对随机数进行签名。
为了保证安全性,认证协议的公私钥对不能在 其他应用中使用;同时,协议还应能够抵抗选 择密文攻击。
采用公钥密码技术的认证方案
简单的认证协议:
认证方 B 选择随机数 r ,计算 x=h(r) , e=PA(r ,
B),(其中:h 是哈希函数,PA是发起方A 的公
Alice用H将消息m进行处理,得h=H(m)。
Alice 用自己的私钥 k 对h“解密” s=D(h, k) , s 就是对消
息m的签名值,(m,s)就是一个签名消息。
Alice将(m,s)发送给Bob。 Bob 收到 (m , s) 后,用 Alice 的公钥 z ,将消息 m 与签名 s 做
,他有办法检验,该签名是否真的被 Alice 签名的消 息。
或许攻击者Eve截获了大量的被Alice签名的消息,但
他仍然不能伪造出一个新的,别人认可的“被 Alice 签名的消息”。
如果无论Eve截获多少被Alice签名的消息,他伪造新
的“被 Alice 签名的消息”的成功概率仍然没有丝毫 提高,则称该签名算法是零知识的。
息(m,s)进行验证。
是否只有Alice自己才能生成自己的签名消息
呢?
安全性分析(1):
设Eve知道Alice的公钥z,选定消息m,对签名值s进行
伪造。
要想让伪造的签名值s通过检验,Eve必须选择s满足验
证方程 m=E(s, z) 。然而在验证方程中是解不出 s 的, 必须得到 Alice 的私钥 k ,用签名方程得到 s : s=D(m, k)。
数字签名协议
公钥密码的签名思想
既然要求数字签名具有这么多的性质,怎样来构造数字
签名?
以公钥密码为基础的数字签名算法。 公钥密码:
明文m,密文c
Alice的加密密钥(公钥)是z,解密密钥(私钥)是k 加密方程c=E(m,
z),解密方程m=D(c, k)
数字签名协议
消息的数字签名就是指依赖于签名者私有信 息的有关被签署消息的数字符号。在信息安 全领域数字签名有很多应用,如公钥证书、 数据完整性和匿名性等。
密码协议的基本概念
密码协议是指使用密码技术的信息交换协议。
所谓协议,就是两个或者两个以上的参与包含三层含义:
协议自始至终是有序的过程,在前一步没有执行之
前,后面的步骤不能执行;
协议至少需要两个参与者;
通过协议必须能够完成某项任务。
算法、协议、密码协议
使用密码的目的是防止或发现窃听者和欺骗
密码协议的目的是运用密码学技术保证安全系统的安
全性和保密性。但是,如果密码协议设计得不合理,
则相当于设计者暴露了安全系统中的漏洞,攻击者根 本不用去攻击安全的密码算法就能够达到入侵系统的 目的。
密码协议研究的主要领域包括:网络安全协议的设计
和分析、密钥管理协议的设计与分析以及与它们相关
数字签名体系可分为两大类:
消息附属 (appendix) 数字签名:在签名验证阶段
需要原始的消息。较为典型的有 DSA 、 ElGamal 和 Schnorr签名体系。
消息自恢复数字签名:在签名验证阶段不需要原
始的消息。较为典型的有 RSA 、 Rabin 和 Nyberg Rueppel公钥签名体系。
B,SA(rA,rB,B))发送给B,(SA是A的私钥);
B对接受到的信息进行解密并进行验证,这里,
rA可用来防止选择消息攻击。
主要内容
身份认证协议 数字签名协议 密钥分配协议
数字签名协议
身份唯一性(不可伪造)
被Alice签名的消息只能由Alice生成。
其本质是:Bob在收到一个“被Alice签名的消息”时
领域的研究,如零知识证明、身份认证、密钥协商、 秘密共享等。
密码协议的分类
系统通信中的密码协议按功能可以分成三类
身份认证协议
数字签名协议 密钥分配协议
身份认证协议
在安全系统中进行通信时,为了保证安全性,通信
的一方需要知道另一方的身份,这就需要使用身份 认证协议。在身份认证体系中被鉴别的消息是相对 固定的,通信一方声称的身份可以立即被另一方确 认或否认。
定具体的动作
密 码 协 议 (Cryptographic
Protocol) : 是
使用密码技术的协议
协议的参与者可能是朋友和完全信任的人,或
者也可能是敌人和互相完全不信任的人
包含某种密码算法,但通常协议的目的不仅仅
是为了简单的秘密性
参与协议的各方可能为了计算一个数值想共享
他们的秘密部分、共同产生随机系列,确定互 相的身份或者同时签署合同等等
形式化的分析方法:指采用各种形式化的语言对密码协
议进行描述,并按照规定的假设和分析、验证方法证明 协议的安全性。目前,形式化的分析方法是研究的热点 ,但是就其实用性来说,还没有什么突破性的进展。
由于密码协议本身的复杂性,目前并没有一 种方法能够对密码协议的安全性进行充分必 要的理论证明。每一类方法都有不同的侧重 点,或者说或多或少存在不足之处,在使用 上述方法分析安全协议的时候,应当仔细分 析协议的特点、应用环境和需求,综合使用
会浪费大量的存储空间。
采用分组密码技术的认证方案
基于随机数的单向认证
首先验证方向发起方传送随机数,发起方对
身份信息和随机数进行加密并送出,最后验 证方解密得到消息并验证随机数。
为防止选择明文攻击,发起方可在发送的消
息中加入另一随机数。
采用分组密码技术的认证方案
基于随机数的双向认证
协议中,验证方首先向发起方送出随机数r1,然
后发起方选择另一随机数r2,并对身份信息和随 机数r1、r2进行加密,然后送出。验证方解密得 到的消息后,验证随机数r1,验证通过后,将随 机数r1、r2加密后送给发起方,最后发起方通过
验证随机数r1、r2来验证对方的身份。
采用公钥密码技术的认证方案
在利用公钥密码技术进行认证时,发起者通过 两种方法来证明其身份:
可以采用非对称密码体制(例如 Diffie-Hellman 公钥交换等)。
密码协议的安全性
目前许多密码协议都存在安全缺陷,造成协议存在安全
缺陷的原因主要有两个:
协议设计者误解或者采用了不恰当的密码技术; 协议设计者对整体系统的安全需求考虑不足。
密码协议的安全性是一个很难解决的问题,许多广泛应 用的密码协议后来都被发现存在安全缺陷。因此,从安 全性角度来看,在设计密码协议时应当对协议的安全性
这些分析方法,以得到较为合理的结果。
主要内容
身份认证协议 数字签名协议 密钥分配协议
身份认证协议
分类
口令鉴别 挑战-响应式认证 基于零知识证明的身份鉴别
身份认证协议
分类
口令鉴别 挑战-响应式认证 基于零知识证明的身份鉴别
身份认证协议
在密码学中,挑战-响应式协议的思想是指一个
做出认真的分析。
密码协议的分析
目前,对密码协议进行分析的方法主要有两大类
攻击检验方法:使用目前已知的所有的有效攻击方法,
对密码协议进行攻击,检验密码协议是否能够抵抗这些 攻击。在分析的过程中,主要使用自然语言和示意图对 密码协议所交换的消息进行分析。当能够恰当的选择攻 击方法时,这种分析方法往往是非常有效的,但这一要 求很难满足。
按照明、密文的对应关系划分,上面每一类又可分为 两个子类:一类是确定性数字签名,其明文与密文一 一对应;另一类是随机数字签名,它对同一消息的签 名是随机变化的。
确定性签名 消息附属 随机签名 数字签名体系 确定性签名 消息自恢复 随机签名
数字签名体系的分类
消息认证可以保护信息交换不受第三方的攻击,但不能
s 做如下的检验:是否 m=E(s, z) 。若是则 (m , s) 是 Alice发送的签名消息。
在上述方案中:
“密文”变成了消息 m,“解密方程”变成了签名
方程s=D(m, k)。
“明文”变成了签名值 s,“加密方程”变成了验
证方程m=E(s, z)。
任何人只要拥有 Alice 的公钥 z ,都可以对签名消
保存数字签名的拷贝是可行的
公钥密码的签名方案(一)
Alice发消息m给Bob
Alice 用自己的私钥 k 对消息m“解密” s=D(m, k) , s
是对消息m的签名值,(m,s)是一个签名消息。
Alice将(m,s)发送给Bob。 Bob收到(m,s)后,用Alice的公钥z,将消息m与签名
”m=E(s, z)。
Eve冒充Alice将(m,s)发送给Bob。 Bob用验证方程检验得m=E(s, z)。于是Bob认为(m,s)就
是Alice发送的签名消息。攻击成功。
为了抵抗这种攻击,合法签名消息(m,s)中的消息m必须
是有意义的,而不是乱码。
公钥密码的签名方案(二)
使用一个公开的杂凑函数H 设Alice欲发消息m给Bob
数字签名协议
不可否认性(公开可验证)
被 Alice 签名的消息,在未来不能被 Alice 否
认。
其本质是: Bob 在收到一个被 Alice 签名的消息时
,他有办法向第三方证明该签名是真的被 Alice 签 名的消息。
如果一个数字签名具有不可伪造性,则 Bob 能够自
行验证签名消息的真伪;而如果一个数字签名具 有公开可验证性,则Bob 能够向他人证明签名消息 的真伪。
基于时间戳的单向认证 基于随机数的单向认证
基于随机数的双向认证
采用分组密码技术的认证方案
基于时间戳的单向认证
验证方接受发起方传送的信息并对其解密,对
解密后的消息进行验证,检验时间戳是否合法
可以防止攻击者对传送消息的重用。
分析:需要防止对时钟的恶意修改,在分布式
环境下很难保证。同时,对已用时间戳的保存
数字签名协议
数字签名协议和身份认证协议相似,但复杂的多。
在数字签名协议中,消息是易变的,且具有生命期
。数字签名在信息安全领域有很多应用,如公钥证
书、数据完整性和匿名性等。
密钥分配协议
密钥分配协议是指为了在通信中达到保密的目的
,要求参与通信的两个或者多个实体之间具有会
话密钥的一致性。
这种协议可以采用对称密码体制(如 DES 等),也
实体通过知识证明来向另一个实体证明其身份。
在此类协议中,挑战一般是一个随机值或秘密值
,当攻击者窃听通信信道时,由于每次挑战值都
不同,所以对挑战的响应不会暴露秘密信息。
身份认证协议
采用分组密码技术的挑战-响应式认证 采用公钥密码技术的挑战-响应式认证
采用分组密码技术认证方案
此时认证的发起者和验证者间需要有共享密钥, 在系统用户较少时,此要求容易满足,用户较多 的情况下,需要使用可信的第三方。
钥);
B向A发送(x,B,e);
A 对接受到的信息进行解密得到 r’ 和 B’ ,并
验证r’=r,B’=B;
若通过验证,则A向B发送r; 最后,B对r进行验证。
采用公钥密码技术的认证方案
基于随机数的单方公钥认证。
认证方B选择随机数rB,并将其发送给发起方A;
A在接收到rB之后,选取另一随机数 rA,将(rA,
算法:一系列步骤,完成一项任务。
协议:一系列步骤,它包括两方或多方,
设计它的目的是要完成一项任务。
协议中的每个参与者都必须了解协议,并且预
先知道所要完成的步骤
协议中的每个参与者都必须同意并遵循该协议 协议必须是清楚的,每一步必须明确定义,并
且不会引起误解
协议必须是完整的,对每种可能的情况必须规
这就是说,对事先设定的消息m来说,签名消息(m,s)
具有身份唯一性和不可伪造性。
安全性分析(2):
设Eve知道Alice的公钥z,设定签名值s,反过来对消息m
进行伪造。此时消息m的内容就不能是选定的。
Eve 选 择 一 个 “ 签 名 值 ” s , 用 验 证 方 程 计 算 “ 消 息