崔永泉 第二讲鉴别协议 20101025.ppt_第1页
崔永泉 第二讲鉴别协议 20101025.ppt_第2页
崔永泉 第二讲鉴别协议 20101025.ppt_第3页
崔永泉 第二讲鉴别协议 20101025.ppt_第4页
崔永泉 第二讲鉴别协议 20101025.ppt_第5页
已阅读5页,还剩126页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,第2讲 数字鉴别协议与机制,华中科技大学计算机学院 信息安全研究室,2,1 鉴别的目的 2 鉴别的结构 3 鉴别的模型 4 消息原发鉴别 5 鉴别和密钥交换协议 6 零知识证明协议,第2讲 数字鉴别协议与机制,3,1 鉴别的目的 2 鉴别的结构 3 鉴别的模型 4 消息原发鉴别 5 鉴别和密钥交换协议 6 零知识证明协议,第2讲 数字鉴别协议与机制,4,1 鉴别的目的:信息安全的需求,* 保密性( Confidentiality) * 完整性 (Integrity) 数据完整性,未被未授权篡改或者损坏 系统完整性,系统未被非授权操纵,按既定的功能运行 * 可用性 (Availability

2、) * 鉴别 (Authenticity) 实体身份的鉴别,适用于用户、进程、系统、信息等 * 不可否认性 ( Non-repudiation) 防止源点或终点的抵赖,5,泄露:把消息内容发布给任何人或没有合法密钥的进程 流量分析:发现通信双方之间信息流的结构模式,可以用来确定连接的频率、持续时间长度;还可以发现报文数量和长度等 伪装:从一个假冒信息源向网络中插入消息 内容篡改:消息内容被插入、删除、变换、修改 顺序修改:插入、删除或重组消息序列 时间修改:消息延迟或重放 否认:接受者否认收到消息;发送者否认发送过消息,1 鉴别的目的:网络通信的攻击威胁,6,1 鉴别的目的,信源识别:验证信息

3、的发送者是真正的,而不是冒充的 验证信息的完整性,在传送或存储过程中未被篡改,重放或延迟等,7,1 鉴别的目的 2 鉴别的结构 3 鉴别的模型 4 消息原发鉴别 5 鉴别和密钥交换协议 6 零知识证明协议,第2讲 数字鉴别协议与机制,8,2 鉴别的结构,任何消息认证或数字签名机制可以看到两个层次: 底层必须有某种函数产生一个认证标识:一个用于认证一个报文的值 高层认证协议以底层函数为原语,使接收者完成报文的鉴别,9,1 鉴别的目的 2 鉴别的结构 3 鉴别的模型 4 消息原发鉴别 5 鉴别和密钥交换协议 6 零知识证明协议,第2讲 数字鉴别协议与机制,10,3 鉴别的模型,11,3 鉴别的模型

4、:鉴别系统的组成,鉴别编码器和鉴别译码器可抽象为鉴别函数 一个安全的鉴别系统,需满足 (1)指定的接收者能够检验和证实消息的合法性、真实性和完整性 (2)消息的发送者和接收者不能抵赖 (3)除了合法的消息发送者,其它人不能伪造合法的消息,12,3 鉴别的模型:鉴别函数分类,消息加密:整个消息的密文作为认证标识 消息鉴别码(MAC):公开函数+密钥产生一个固定长度的值作为认证标识 散列函数:一个公开函数将任意长度的消息映射到一个固定长度的哈希值,作为认证标识,13,1 鉴别的目的 2 鉴别的结构 3 鉴别的模型 4 消息原发鉴别 5 鉴别和密钥交换协议 6 零知识证明协议,第2讲 数字鉴别协议与

5、机制,14,4.1消息加密 4.2消息鉴别码MAC 4.3 散列函数 4.4 MAC产生算法和安全性分析 4.5 HASH算法和安全性分析 4.6 消息原发鉴别的分析,4 消息原发鉴别,15,4 消息原发鉴别,4.1消息加密:整个消息的密文作为认证标识,16,4.1对称加密保密和鉴别,A,B,17,4.1对称加密保密和鉴别,18,4.1 明文M的自动确定,M定义为有意义的明文序列,便于自动识别 强制定义明文的某种结构,这种结构是易于识别但又不能复制且无需借助加密的 可以在加密前对每个报文附加检错码,即所谓的帧检验序列号或检验和FCS 内部差错控制和外部差错控制,19,4.1 差错控制,20,4

6、.1 公钥加密保密性,A,B,21,4.1 公钥加密鉴别和签名,A,B,22,4.1公钥加密保密、鉴别和签名,A,B,23,4.1消息加密 4.2消息鉴别码MAC 4.3 散列函数 4.4 MAC产生算法和安全性分析 4.5 HASH算法和安全性分析 4.6 消息原发鉴别的分析,4 消息原发鉴别,24,4 消息原发鉴别,4.2消息鉴别码MAC: 公开函数+密钥产生一个固定长度的值作为认证标识,25,4.2 消息鉴别码,使用一个密钥生成一个固定大小的小数据块,并加入到消息中,称MAC, 或密码校验和(cryptographic checksum) 1、接收者可以确信消息M未被改变 2、接收者可以

7、确信消息来自所声称的发送者 3、如果消息中包含顺序码(如HDLC,X.25,TCP),则接收者可以保证消息的正常顺序 MAC函数类似于加密函数,但不需要可逆性。因此在数学上比加密算法被攻击的弱点要少,26,4.2消息鉴别,A,B,27,4.2消息鉴别与保密,鉴别与明文连接,A,B,28,4.2消息鉴别与保密,鉴别与密文连接,A,B,29,4.2 消息鉴别 VS 常规加密,保密性与真实性是两个不同的概念 根本上,信息加密提供的是保密性而非真实性 加密代价大(公钥算法代价更大) 鉴别函数与保密函数的分离能提供功能上的灵活性 某些信息只需要真实性,不需要保密性 广播的信息难以使用加密(信息量大) 网

8、络管理信息等只需要真实性 政府/权威部门的公告,30,4.1消息加密 4.2消息鉴别码MAC 4.3 散列函数 4.4 MAC产生算法和安全性分析 4.5 HASH算法和安全性分析 4.6 消息原发鉴别的分析,4 消息原发鉴别,31,4 消息原发鉴别,4.3散列函数:一个公开函数将任意长度的消息映射到一个固定长度的哈希值,作为认证标识,32,4.3 散列函数,H(M): 输入为任意长度的消息M; 输出为一个固定长度的散列值,称为消息摘要(MessageDigest) H(M)是消息M的所有位的函数并提供错误检测能力:消息中的任何一位或多位的变化都将导致该散列值的变化 H(M)又称为:哈希函数、

9、数字指纹(Digital finger print)、压缩(Compression)函数、数据鉴别码(Dataauthentication code)等,33,4.3散列函数基本用法(1),34,4.3散列函数基本用法(2),35,4.3散列函数基本用法(3),36,4.3散列函数基本用法(4),37,4.3散列函数基本用法(5),38,4.3散列函数基本用法(6),39,4.1消息加密 4.2消息鉴别码MAC 4.3 散列函数 4.4 MAC产生算法和安全性分析 4.5 HASH算法和安全性分析 4.6 消息原发鉴别的分析,4 消息原发鉴别,40,4 消息原发鉴别,4.4消息鉴别码MAC的产

10、生算法与安全性分析,41,M,K,MAC,函数域:任意长度的报文 值域:所有可能的MAC和所有可能的密钥 MAC一般为多对一函数,4.4 MAC产生,42,函数域:任意长度的报文 值域:所有可能的MAC和所有可能的密钥 假设 假设攻击者使用强行攻击,且已经获得报文的明文和相应的MAC,即,4.4 对MAC的强行攻击,43,假设 假设攻击者已经获得报文的明文和相应的MAC,即 假设,4.4 对MAC的强行攻击,44,4.4 对MAC的强行攻击,45,4.4 对MAC的强行攻击,如果 kn,则第一轮就可以产生一个唯一对应。仍然可以有多于一个key产生这一配对,这时攻击者只需对一个新的(messag

11、e, MAC)进行相同的测试 由此可见,强力攻击企图发现authentication key不小于甚至大于对同样长度的解密key的攻击,46,4.4对MAC的其它攻击,设M = (X1 | X2 | | Xm) 是一个由64位Xi数据块连接而成 定义 (M) = X1X2.Xm CK(M) = EK(M) 其中 为异或操作;E为 ECB工作模式的DES算法 则 Key length = 56 bit MAC length = 64 bit 强力攻击需要至少256次加密来决定K,47,4.4对MAC的其它攻击,设M = ( Y1 | Y2 | | Ym-1 | Ym) 其中 Y1, Y2, ,

12、Ym-1是替换 X1, X2,Xm-1的任意值,而 Ym = Y1Y2 , , Ym-1 (M) 则 CK(M) = EK(M) = EKY1Y2 , , Ym-1 Ym = EKY1Y2 , , Ym-1 (Y1Y2 , , Ym-1 (M) = EK(M) 这时消息M 和 MAC= CK(M) = EK(M)是一对可被接收者认证的消息 用此方法,任何长度为64(m-1)位的消息可以被插入任意的欺骗性信息,48,4.4 MAC应具备的性质,如果一个攻击者得到M和CK(M),则攻击者构造一个消息M使得CK(M)=CK(M)应具有计算复杂性意义下的不可行性 CK(M)应均匀分布,即:随机选择消息

13、M和M, CK(M)= CK(M)的概率是2-n,其中n是MAC的位数 令M为M的某些变换,即:M=f(M),(例如:f可以涉及M中一个或多个给定位的反转),在这种情况下,PrCK(M)= CK(M) = 2-n,49,4.4基于DES的报文鉴别码,50,4.4基于DES的报文鉴别码,算法来源 FIPS publication (FIPS PUB 113) ANSI standard (X9.17) 使用CBC(Cipher Block Chaining)方式,初始向量为IV=0,51,4.4基于DES的报文鉴别码,算法来源 FIPS publication (FIPS PUB 113) AN

14、SI standard (X9.17) 使用CBC(Cipher Block Chaining)方式,初始向量为IV=0,52,4.4基于DES的报文鉴别码,将数据按64位分组,D1, D2, , DN,必要时最后一个数据块用0向右填充 运用DES算法E,密钥K 数据认证码(DAC)的计算如下: O1 = EK(D1) O2 = EK(D2O1) O3 = EK(D3O2) ON = EK(DNON-1),53,4.4 FIPS PUB 113,54,4.1消息加密 4.2消息鉴别码MAC 4.3 散列函数 4.4 MAC产生算法和安全性分析 4.5 HASH算法和安全性分析 4.6 消息原发

15、鉴别的分析,4 消息原发鉴别,55,4 消息原发鉴别,4.5由HASH函数产生-消息鉴别码MAC,56,散列函数的定义,散列函数: M:变长报文 H(M):定长的散列值 主要用于为文件、报文或其它分组数据产生指纹,57,4.5 散列函数的要求,H能用于任意大小的分组 H能产生定长的输出 对任何给定的x,H(x)要相对易于计算,使得硬件和软件实现成为实际可能 对任何给定的码h,寻找x使得H(x)=h在计算上是不可行的,即单向性 对任何给定的分组x,寻找不等于x的y,使得H(x)=H(y)在计算上是不可行的,即弱抗冲突性 寻找对任何的(x,y)对使得H(x)=H(y)在计算上是不可行的,即强抗冲突

16、性,58,4.5 Hash vs MAC,MAC需要对全部数据进行加 MAC速度慢 Hash是一种直接产生鉴别码的方法,59,4.5 Hash函数通用结构,由Ron Rivest于1990年提出MD4 几乎被所有hash函数使用 具体做法: 把原始消息M分成一些固定长度的块Yi 最后一块padding并使其包含消息M长度 设定初始值CV0 压缩函数f, CVi=f(CVi-1,Yi-1) 最后一个CVi为hash值,60,61,4.5 MD5算法,62,4.5 MD5描述,Merkle于1989年提出hash function模型 Ron Rivest于1990年提出MD4 1992年, Ro

17、n Rivest 完成MD5 (RFC 1321) 在最近数年之前,MD5是最主要的hash算法 现行美国标准SHA-1以MD5的前身MD4为基础,63,4.5 MD5描述,输入:任意长度的报文 输入分组长度:512 bit 输出:128 bit 报文,64,65,4.5 MD5描述step 1,附加长度值 对报文进行填充,使其比特数与448模512同余,即填充长度为512的整数倍减去64 填充方法:填充比特串的最高位为1,其余各位均为0,66,4.5 MD5描述step 2,附加长度值 |M2|为512的倍数: Y0,Y1,YL-1,67,4.5 MD5描述step 3,初始化MD缓存 MD

18、为128bit,用于存放散列函数的中间及最终结果 MD可表示为4个32bit的寄存器(A,B,C,D),初始化如下:,68,4.5 MD5描述step 4,压缩:4个循环的压缩算法,69,4.5 MD5描述step 5,输出,70,4.5 HMD5算法,71,单个512bit分组的MD5处理过程(MD5压缩函数),72,每步操作形式,73,74,单个512bit分组的MD5处理过程(MD5压缩函数),X0.15:保存当前512bit待处理输入分组的值 Xk = Mq16 + k = 在第q个512位数据块中的第k个32位字 每次循环(4)的每步(16)内,Xi的使用循序各不相同,75,4.5

19、MD5的安全性,Berson表明,对单循环MD5,使用不用的密码分析可能在合理的时间内找出能够产生相同摘要的两个报文,这个结果被证明对四个循环中的任意一个循环也成立,但作者没有能够提出如何攻击包含全部4个循环MD5的攻击 Boer和Bosselaers显示了即使缓存ABCD不同,MD5对单个512bit分组的执行将得到相同的输出(伪冲突) Dobbertin的攻击技术:使MD5的压缩函数产生冲突,即寻找 MD5被认为是易受攻击的,逐渐被SHA-1和RIPEMD-160替代,76,4.5其它常用Hash算法,SHA-1 RIPEMD-160 HMAC,77,78,4.5 Hash小结,Hash函

20、数把变长信息映射到定长信息 Hash函数不具备可逆性 Hash函数速度较快 Hash函数与对称密钥加密算法有某种相似性 对Hash函数的密码分析比对称密钥密码更困难 Hash函数可用于消息摘要 Hash函数可用于数字签名,79,4.1消息加密 4.2消息鉴别码MAC 4.3 散列函数 4.4 MAC产生算法和安全性分析 4.5 HASH算法和安全性分析 4.6 消息原发鉴别的分析,4 消息原发鉴别,80,4.6报文鉴别的局限性,用于保护通信双方免受第三方攻击 无法防止通信双方的相互攻击 信宿方伪造报文 信源方否认已发送的报文 引入数字签名,是笔迹签名的模拟,81,1 鉴别的目的 2 鉴别的结构

21、 3 鉴别的模型 4 消息原发鉴别 5 鉴别和密钥交换协议 6 零知识证明协议,第2讲 数字鉴别协议与机制,82,5.1鉴别和密钥交换协议的核心问题 5.2采用对称密码的鉴别机制 5.3采用公开密码算法的机制 5.4 采用密码校验函数的机制 5.5 密码交换协议,5 鉴别和密钥交换协议,83,5.1核心问题,基于对称密码算法的鉴别依靠一定协议下的数据加密处理。通信双方共享一个密钥(通常存储在硬件中),该密钥在询问应答协议中处理或加密信息交换。,84,5.1鉴别和密钥交换协议的核心问题,介绍在设计认证协议时特别需要注意的问题,并给出抵抗这些攻击的具体设计策略。 鉴别和密钥交换协议的核心问题有两个

22、: 保密性 时效性 为了防止伪装和防止暴露会话密钥,基本鉴别与会话密码信息必须以保密形式通信。这就要求预先存在保密或公开密钥供实现加密使用。 第二个问题也很重要,因为涉及防止消息重放攻击。,85,5.1 核心问题:重放,常见的消息重放 攻击形式有: 1、简单重放:攻击者简单复制一条消息,以后在重新发送它; 2、可被日志记录的复制品:攻击者可以在一个合法有效的时间窗内重放一个带时间戳的消息; 3、不能被检测到的复制品:这种情况可能出现,原因是原始信息已经被拦截,无法到达目的地,而只有重放的信息到达目的地。 4、反向重放,不做修改。向消息发送者重放。当采用传统对称加密方式时,这种攻击是可能的。因为

23、消息发送者不能简单地识别发送的消息和收到的消息在内容上的区别。,86,5.1核心问题重放:非重复值的使用,1)序列号:计数的策略:对付重放攻击的一种方法是在认证交换中使用一个序数来给每一个消息报文编号。仅当收到的消息序数顺序合法时才接受之。但这种方法的困难是要求双方必须保持上次消息的序号。 2)时间戳: A接受一个新消息仅当该消息包含一个时间戳,该时间戳在A看来,是足够接近A所知道的当前时间;这种方法要求不同参与者之间的时钟需要同步 3)验证者发送随机值(如询问):不可预测、不重复,87,时间戳,在网络环境中,特别是在分布式网络环境中,时钟同步并不容易做到 一旦时钟同步失败 要么协议不能正常服

24、务,影响可用性(availability),造成拒绝服务(DOS) 要么放大时钟窗口,造成攻击的机会 时间窗大小的选择应根据消息的时效性来确定,88,5.1 询问/应答方式(Challenge/Response),A期望从B获得一个消息 首先发给B一个随机值(challenge) B收到这个值之后,对它作某种变换,并送回去 A收到B的response,希望包含这个随机值 在有的协议中,这个challenge也称为nonce 可能明文传输,也可能密文传输 这个条件可以是知道某个口令,也可能是其他的事情 变换例子:用密钥加密,说明B知道这个密钥;简单运算,比如增一,说明B知道这个随机值,89,5.

25、1相互鉴别协议,在理论上,相互鉴别可通过组合两个单向鉴别交换协议来实现。然而,这种组合需要被仔细地考察,因为有可能这样的组合易受窃听重放攻击。 另外,设计协议消息数比相应的单向交换协议的消息数的两倍少得多的相互鉴别交换协议是可能的。 因此,由于安全性和性能的原因,相互鉴别交换协议必须为此目的而特别地进行设计。,90,5.1鉴别和密钥交换协议的核心问题 5.2采用对称密码的鉴别机制 5.3采用公开密码算法的机制 5.4 采用密码校验函数的机制 5.5 密码交换协议,5 鉴别和密钥交换协议,91,5.2 采用对称密码的鉴别机制,无可信第三方参与的鉴别 单向鉴别:使用该机制时,两实体中只有一方被鉴别

26、。 双向鉴别:两通信实体使用此机制进行相互鉴别。 有可信第三方参与的鉴别,A:实体A的可区分标识符 B:实体B的可区分标识符 TP:可信第三方的可区分标识符 KXY:实体X和实体Y之间共享的秘密密钥,只用于对称密码技术 SX:与实体X有关的私有签名密钥,只用于非对称加密技术 NX:由实体X给出的顺序号 RX:由实体X给出的随机数 TX:由实体X原发的时变参数,它是时间标记TX,或者顺序号 NX Y|Z:数据项Y和Z以Y在前Z在后顺序拼接的结果 eK(Z):用密钥K的对称加密算法对数据Z加密的结果 fK(Z):使用以密钥K和任意数据串Z作为输入的密码校验函数f所产生的密码校验值 CertX:由可

27、信第三方签发给实体X的证书 TokenXY:实体X发给Y的权标,包含使用密码技术变换的信息 TVP:时变参数 SSX(Z):用私有签名密钥SX对数据Z进行私有签名变换所产生的签名.,93,5.2 无可信第三方参与的机制单向鉴别,一次传送鉴别,A,B,(1)TokenAB,(2),(1)TokenAB=Text2|eKAB(TA|B|Text1) NA,(2)B解密,验证B、时间标记或顺序号的正确性,94,5.2无可信第三方参与的机制 单向鉴别,两次传送鉴别,A,B,(1)RB|Text1,(3),(2)TokenAB=Text3|eKAB(RB|B|Text2),(3)B解密,验证B、 RB的

28、正确性,(2)TokenAB,95,5.2无可信第三方参与的机制 双向鉴别,两次传送鉴别,A,B,(1) TokenAB,(2),(2) (4)B和A分别解密,验证B、 TA和A、 TB正确性,(3)TokenBA,(1)TokenAB=Text2|eKAB(TA|B|Text1) NA,(3)TokenBA=Text4|eKAB(TB|A|Text3) NB,(4),96,5.2无可信第三方参与的机制 双向鉴别,三次传送鉴别,A,B,(1)RB|Text1,(3),(2)TokenAB=Text3|eKAB(RA |RB|B|Text2),(3)B解密,验证B、 RB的正确性,(2)Toke

29、nAB,(4)TokenBA,(4)TokenBA=Text5|eKAB(RB |RA|Text4),(5),(5)A解密,验证B、 RB、 RA的正确性,97,5.2 涉及可信第三方的机制-双向鉴别,四次传送鉴别,A,B,(6)TokenBA,TP,(4)TokenAB,(2)TokenTA,(1)TVPA|B|Text1,(3),(7),(5),(2)TokenTA=Text4|eKAT(TVPA |KAB|B|Text3) | eKBT(TTP |KAB|A|Text2) NTP,(4)TokenAB=Text6| eKBT(TTP |KAB|A|Text2) | eKAB(TA |B|

30、Text5) NTP NA,(6)TokenBA=Text8| eKAB(TB |A|Text7) NB,98,5.2涉及可信第三方的机制-双向鉴别,五次传送鉴别,A,B,(7)TokenBA,TP,(5)TokenAB,(3)TokenTA,(2)RA|RB|B|Text2,(4),(8),(6),(3)TokenTA=Text5|eKAT(RA |KAB|B|Text4) | eKBT(RB | KAB| A|Text3),(5)TokenAB=Text7| eKBT(RB | KAB| A|Text3) |eKAB(RA |RB|Text6),(7)TokenBA=Text9| eKAB

31、(RB |RA|Text8),(1)RB|Text1,99,5.1鉴别和密钥交换协议的核心问题 5.2采用对称密码的鉴别机制 5.3采用公开密码算法的机制 5.4 采用密码校验函数的机制 5.5 密码交换协议,5 鉴别和密钥交换协议,100,5.3采用公开密码算法的机制,在该机制中,声称者要通过证明他知道某秘密签名密钥来证实身份。由使用他的秘密签名密钥签署某一消息来完成。消息可包含一个非重复值以抵抗重放攻击。 要求验证者有声称者的有效公钥 声称者有仅由自己知道和使用的秘密签名私钥。 单向鉴别:仅对实体中的一个进行鉴别。 双向鉴别:两个通信实体相互进行鉴别。,101,5.3 采用公开密码算法的机

32、制单向鉴别,一次传递机制,A,B,(1)CertA|TokenAB,(1)TokenAB=TA|B|Text2|SSA(TA|B|Text1) NA NA,(2),(2)B验证A的公开密钥,验证B的标识符号,102,5.3 采用公开密码算法的机制单向鉴别,两次传递机制,A,B,(1)RB|Text1,(3),(3)B验证A的公开密钥,验证B的标识符号,(2)CertA|TokenAB,(2)TokenAB=RA|RB|B|Text3|SSA(RA|RB|B|Text2),103,5.3采用公开密码算法的机制双向鉴别(1),A,B,(2),(2)B验证A的公开密钥,验证B的标识符号,(3)Cer

33、tB|TokenBA,两次传递机制,(1)CertA|TokenAB,(1)TokenAB=TA|B|Text2|SSA(TA|B|Text1) NA NA,(4),(3)TokenBA=TB|A|Text4|SSB(TB|A|Text3) NB NB,(4)A验证B的公开密钥,验证A的标识符号,104,5.3采用公开密码算法的机制双向鉴别(2),三次传递机制,A,B,(1)RB|Text1,(3),(3)B验证A的公开密钥,验证B的标识符号,(2)CertA|TokenAB,(2)TokenAB=RA|RB|B|Text3|SSA(RA|RB|B|Text2),(4)CertB|TokenB

34、A,(4)TokenBA=RB|RA|A|Text5|SSB(RB|RA|A|Text4),(5)A验证B的公开密钥,验证A的标识符号,(5),105,5.3采用公开密码算法的机制双向鉴别(3),两次传递并行机制,A,B,(1)CertA|RA|Text1,(2) (4),(4)A和B验证各自的随机数,(1 )CertB|RB|Text2,(3 )TokenAB=RA|RB|B|Text4|SSA(RA|RB|B|Text3),(3)TokenBA,(3)TokenBA=RB|RA|A|Text6|SSB(RB|RA|A|Text5),(2)A和B确保他们拥有另一实体的公开密钥,(2) (4)

35、,(3 )TokenAB,106,5.1鉴别和密钥交换协议的核心问题 5.2采用对称密码的鉴别机制 5.3采用公开密码算法的机制 5.4 采用密码校验函数的机制 5.5 密码交换协议,5 鉴别和密钥交换协议,107,5.4采用密码校验函数的机制,在该机制中,待鉴别的实体通过表明它拥有某个秘密鉴别密钥来证实其身份。可由该实体以其秘密密钥和特定数据作输入,使用密码校验函数获得密码校验值来达到。 声称者和验证者共享秘密鉴别密钥,应仅为该两个实体所知,以及他们的信任方。,108,5.4采用密码校验函数的机制-单向鉴别,一次传递鉴别,A,B,(1)TokenAB,(1)TokenAB=TA|Text2|

36、fKAB(TA|B|Text1) NA NA,(2),(2)B验证A的标识符号和时间标记,109,5.4采用密码校验函数的机制-单向鉴别,A,B,(1)RB|Text1,(3),(3)B验证B的标识符号和随机数,(2)TokenAB,(2)TokenAB=Text3|fKAB(RB|B|Text2),两次传递机制,110,5.4采用密码校验函数的机制-双向鉴别(1),A,B,(2),(2)B验证A的标识符号和时间标记,(3)TokenBA,两次传递机制,(1)TokenAB,(1)TokenAB=TA|B|Text2|fKAB(TA|B|Text1) NA NA,(4),(3)TokenBA=

37、TB|A|Text4|SSB(TB|A|Text3) NB NB,(4)A验证B的标识符号和时间标记,111,5.4采用密码校验函数的机制-双向鉴别(2),三次传递机制,A,B,(1)RB|Text1,(3),(3)B验证B的标识符号和随机数,(2)TokenAB,(2)TokenAB=RA|Text3|fKAB(RA|RB|B|Text2),(4)TokenBA,(4)TokenBA=Text5| fKAB(RB|RA|Text2),(5)A验证A的标识符号和随机数,(5),112,5.1鉴别和密钥交换协议的核心问题 5.2采用对称密码的鉴别机制 5.3采用公开密码算法的机制 5.4 采用密

38、码校验函数的机制 5.5 密码交换协议,5 鉴别和密钥交换协议,113,5. 5.1双向鉴别对称密码 5. 5.2双向鉴别公钥密码 5. 5.3单向鉴别对称密码 5. 5.4单向鉴别公钥密码,5.5 密码交换协议,114,5.5鉴别和交换协议,如果用于连接完整性服务的密钥被在线建立,那么事实证明将认证和密钥交换功能组合在一个协议中是重要的(鉴别和密钥交换协议)。 最常用的协议,该协议使得通信各方互相鉴别各自的身份,然后交换会话密钥。 基于鉴别的密钥交换核心问题有两个: 保密性 时效性,115,5.5.1 双向鉴别,传统加密方法 Needham/Schroeder Protocol 1978 D

39、enning Protocol 1982 KEHN92 公钥加密方法 一个基于临时值握手协议:WOO92a 一个基于临时值握手协议:WOO92b,116,5.5.1 Needham/Schroeder Protocol 1978,117,5.5.1传统加密方法,1、A KDC:IDA|IDB|N1 2、KDC A:EKaKs|IDB|N1|EKbKs|IDA 3、A B: EKbKs|IDA 4、B A: EKsN2 5、A B: EKsf(N2),保密密钥Ka和Kb分别是A和KDC、B和KDC之间共享的密钥。 本协议的目的就是要安全地分发一个会话密钥Ks给A和B。,A在第2步安全地得到了一个

40、新的会话密钥,第3步只能由B解密、 并理解。第4步表明B已知道Ks了。第5步表明B相信A知道Ks并且 消息不是伪造的。 第4,5步目的是为了防止某种类型的重放攻击。特别是,如果敌方 能够在第3步捕获该消息,并重放之,这将在某种程度上干扰破坏B 方的运行操作。,Needham/Schroeder Protocol 1978,118,5.5.1上述方法尽管有第4,5步的握手,但仍然有漏洞。,假定攻击方C已经掌握A和B之间通信的一个老的会话密钥。 C可以在第3步冒充A利用老的会话密钥欺骗B。除非B记住所有以前使用的与A通信的会话密钥,否则B无法判断这是一个重放攻击。如果C可以中途阻止第4步的握手信息

41、,则可以冒充A在第5步响应。从这一点起,C就可以向B发送伪造的消息而对B来说认为是用认证的会话密钥与A进行的正常通信。,119,5.5.1 Denning Protocol 1982 改进:,1、A KDC:IDA|IDB 2、KDC A:EKaKs|IDB|T|EKbKs|IDA|T 3、A B: EKbKs|IDA|T 4、B A: EKsN1 5、A B: EKsf(N1),| Clock - T | t1 + t2 其中: t1 是KDC时钟与本地时钟(A或B)之间 差异的估计值; t2 是预期的网络延迟时间。,120,5.5.1 Denning Protocol 比 Needham/Schroeder Protocol在安全性方面增强了一步。然而,又提出新的问题:即必须依靠各时钟均可通过网络同步。,如果发送者的时钟比接收者的时钟要快,攻击者就可以从发送者窃听消息,并在以后当时间戳对接收者来说成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论