资源描述:
《信息安全工程第12章安全协议》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第12章 安全协议12.1概述12.2密钥建立协议12.3认证协议12.4认证的密钥建立协议12.5安全协议设计规范12.6协议工程12.7协议验证12.8协议测试12.1概 述12.1.1安全协议的定义所谓协议(Protocol),就是两个或两个以上参与者为完成某项特定的任务而采取的一系列步骤。这个定义包含三层含义:第一,协议自始至终是有序的过程,每一步骤必须依次执行。在前一步没有执行完之前,后面的步骤不可能执行。 第二,协议至少需要两个参与者。一个人可以通过执行一系列步骤来完成某项任务,但构不成协议。 第三,通过执行协议必须能够完成某项任务。即使某些东西看
2、似协议,但没有完成任何任务,也不能称为协议,只不过是浪费时间的空操作。在现实生活中,人们对协议并不陌生,都在自觉或不自觉地使用着各种协议。例如,在处理国际事务时,国家政府之间通常要遵守某种协议;在法律上,当事人之间常常要按照规定的法律程序去处理纠纷;在打扑克、电话订货、投票、到银行存款或取款时,也要遵守特定的协议。 通常我们把具有安全性功能的协议称为安全协议。安全协议的设计必须采用密码技术,因此,有时也将安全协议称做密码协议。安全协议的目的是在网络环境中提供各种安全服务,在不安全的公共网络上实现安全的通信。Needham-Schroeder协议是最著名的早期的认证协
3、议,许多广泛使用的认证协议都是以Needham-Schroeder协议为蓝本而设计的。Needham-Schroeder协议可分为对称密码体制下的协议和非对称密码体制下的协议两种版本。这些早期的经典安全协议是安全协议分析的“试验床”,即每当出现一个新的形式化分析方法时,都要先分析这几个安全协议,验证新方法的有效性。同时,学者们也经常以它们为例,说明安全协议的设计原则和各种不同分析方法的特点。12.1.2安全协议的功能安全协议提供安全服务,是保证网络安全的基础。下面简单列举一些由安全协议所提供的常用的基本安全服务,它们可以有效地解决以下重要的安全问题:(1)源认证和目标认
4、证:认证协议的目标是认证参加协议的主体的身份。此外,许多认证协议还有一个附加目标,即在主体之间安全地分配密钥或其他各种秘密。(2)消息的完整性:用于保证数据单元或数据单元流的完整性。(3)匿名通信:其主要目的就是隐藏通信双方的身份或通信关系,从而实现对网络用户的个人通信隐私及涉密通信的更好的保护。(4)抗拒绝服务:抵抗DoS/DDoS攻击。(5)抗否认:其目标一个是确认发方非否认(nonr-EpudiationofOrigin),即非否认协议向接收方提供不可抵赖的证据,证明收到消息的来源的可靠性;另一个是确认收方非否认(nonr-EpudiationofReceipt)
5、,即非否认协议向发送方提供不可抵赖的证据,证明接收方已收到了某条消息。(6)授权:一般指网络服务器向用户授权某种服务的可使用性。 目前,安全协议越来越多地用于保护因特网上传送的各种交易,并保护针对计算机系统的访问等。安全协议的研究具有强大的现实应用背景。12.1.3密码协议的分类从不同的角度出发,密码协议有不同的分类方法。迄今尚未有人对安全协议进行过详细的分类。其实,将密码协议进行严格分类是很难的事情。例如,根据安全协议的功能,可以将其分为认证协议、密钥建立(交换、分配)协议、认证的密钥建立(交换、分配)协议;根据ISO的七层参考模型,又可以将其分成高层协议和低层协
6、议;按照协议中所采用的密码算法的种类,又可以分成双钥(或公钥)协议、单钥协议或混合协议等。我们认为,比较合理的分类方法应该是按照密码协议的功能来分类,而不管协议具体采用何种密码技术。因此,我们把密码协议分成以下三类:(1)密钥建立协议(KeyEstablishmentProtocol):建立共享秘密。(2)认证协议(AuthenticationProtocol):向一个实体提供对他想要进行通信的另一个实体的身份的某种程度的确信。(3)认证的密钥建立协议(AuthenticatedKeyEstablishmentProtocol):与另一身份已被或可被证实的实体之间建立共
7、享秘密。12.2密钥建立协议12.2.1采用单钥体制的密钥建立协议密钥建立协议可分为密钥传输协议和密钥协商协议两种。前者是由一个实体把建立或收到的密钥安全传送给另一个实体;后者是由双方(或多方)共同提供信息建立起共享密钥,没有任何一方起决定作用。其他如密钥更新、密钥推导、密钥预分配、动态密钥建立机制等都可由上述两种基本密钥建立协议变化得出。 可信赖服务器(或可信赖第三方、认证服务器、密钥分配中心KDC、密钥传递中心KTC、证书发行机构CA等)可以在初始化建立阶段、在线实时通信阶段或两者都有的情况下参与密钥分配。这类协议假设网络用户Al