- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第三章安全业务及其实现方法第二讲认证与认证的密钥交换协议认证活动又称为鉴别,是证明某人或对象身份的过程,是认证者对被认证者的确定的过程。(一)认证01数据源认证也称消息认证(messageauthentication),主要涉及验证消息的某个声称属性,其目的是为了能够验证消息来自特定的实体,并且事后不能改变。这一服务由接受方在接收时进行验证的,其目的是确认消息发送者的身份及其数据的完整性。认证包括数据源认证(data-originauthentication)、实体认证(entityauthentication)和认证的密钥的建立(authenticatedkeyestablishment)。(1)数据源认证02一、基本概念1实体认证则更多地涉及验证消息发送者所声称的身份,是一种安全服务,使通信双方能够验证对方的身份。目前常用的认证技术主要有两大类:一类是基于密钥技术的认证技术;另一类是基于生物特征识别的认证技术。(2)实体认证通信双方运行实体认证协议的目的在于能够在高层或者应用层上进行安全通信,密钥是建立安全通信信道的基础。因此,为了进行安全通信而运行的实体认证协议通常都有一个子任务,就密钥建立、或者密钥交换和密钥协商。(3)认证的密钥建立2(二)协议协议是一系列步骤,它包括两方或多方,设计它的目的是要完成一项任务。理解:“一系列步骤”:意味着协议是从开始到结束的一个序列,每一步必须依次执行,在前一步完成前,后面的步骤都不能执行“包括两方或多方”:意味着完成这个协议至少需要两个人,单独的一个人不能构成协议“设计它的目的是要完成一项任务”:意味着协议必须做一些事协议中的每人都必须了解协议,并且预先知道所要完成的所有步骤。协议中的每人都必须同意遵循它。协议必须是不模糊的,每一步必须明确定义,并且不会引起误解。协议必须是完整的,对每种可能的情况必须规定具体的动作。01030204协议还有其他特点:密码协议是使用密码学的协议1参与该协议的伙伴可能是朋友和完全信任的人,或者也可能是敌人和互相完全不信任的人2参与协议的各方可能为了计算一个数值想共享它们的秘密部分、共同产生随机系列、确定互相的身份、或者同时签署合同。3密码协议包含某种密码算法,但通常,协议的目的不仅仅是为了简单的秘密性,在协议中使用密码的目的是防止或发现偷听者和欺骗。4消息认证当Bob从Alice那里接收信息,他怎么知道信息是可信的呢?对称密钥加密基于公钥体制:数字签名消息认证码:基于对称算法(RIPE-MAC),基于单向函数(RFC,HMAC)2341实现技术:二、基本认证技术认证码(MAC,MessagesAuthenticationCodes),是与密钥相关的的单向散列函数,也称为消息鉴别码或是消息校验和。01MAC与单向散列函数一样,但是还包括一个密钥。不同的密钥会产生不同的散列函数,这样就能在验证发送者的消息没有经过篡改的同时,验证是由哪一个发送者发送的。02MAC=CK(M)03其中:M为可变长的消息;K为通信双方共享的密钥;C为单向函数。用途:为拥有共享密钥的双方在通信中验证消息的完整性;被单个用户用来验证他的文件是否被改动。04(1)认证码认证码的三种使用模式IP安全协议强制实现的MAC,由RFC2104定义的HMAC,全称为Keyed-HashMessageAuthenticationCode,用一个秘密密钥来产生和验证MAC。(2)HMAC1、HMAC要求可不经修改使用现有hash函数其中镶嵌的hash函数可易于替换为更快和更安全的hash函数保持镶嵌的hash函数的最初性能,不因适用于HAMC而使其性能降低以简单方式使用和处理密钥在对镶嵌的hash函数合理假设的基础上,易于分析HMAC用于认证时的密码强度2、算法描述B: 计算消息摘要时输入块的字节长度(如对于SHA-1,B=64)。H: 散列函数,如SHA-1,MD5等。ipad: 将数值0x36重复B次。opad: 将数值0x5c重复B次。K: 共享密钥。K+: 在密钥K的左边附加0使其长为B字节的密钥。L: 消息的分组数n: 消息摘要的字节数。M: 要计算HMAC的数据。X||?Y:将字串连接起来,即把字串Y附加在字串X后面。+: 异或。MAC(M)=HMAC(K,M)=H(H((K++ipad)||M)||(K++opad))(1)如果K的长度等于B,设置K+=K并跳转到第(4)步。(2)如果K的长度大于B,对
文档评论(0)