写在前面:
以下材料均为个人从互联网各处整理而成,不保证所含信息完全正确,考点基于个人学校答疑课和相关考试资料总结,不保证考点和您的实际考点相吻合。
仅供学习分享,如需转载还请私信告知。
word版文档与相关资源有偿提供,白嫖党绕道。
目录
注:本章节有要求密码学内容,之前已总结密码学复习内容这里不再赘述记得去复习一下什么RSA什么Diffie-Hellman之类的基本的要会
4.4 一个提供全套Kerberos服务的环境由哪些实体组成
6.1 WEB流量安全方法网络层(IPsec)、传输层(SSL或TLS)、应用层(S/MIME、Kerberos)三种方法优点是什么
6.3 考虑下面的Web安全威胁并说明如何通过TLS的相应特性来防止每一种威胁。
第一章 引言
1.1什么是osi安全体系结构
OSI安全体系结构是一个架构,它为规定安全的要求和表征满足那些要求的途径提供了系统的方式。该文件定义了安全攻击、安全机理和安全服务,以及这些范畴之间的关系。
OSI安全框架(亦称X.800方案)是提供安全的一种组织方法。为了有效地评价一个机构的安全需求,以及对各种安全产品和政策进行评价和选择,负责安全的管理员需要以某种方法(这种方法就是OSI安全框架)来定义安全要求,并给出满足这些要求的措施。
OSI安全架构主要关注安全攻击(危及信息系统安全的行为)、安全机制(检测、阻止攻击或从攻击状态恢复到正常状态的过程,亦或者是实现这个过程的设备)和安全服务(加强数据处理处理系统和信息传输的安全性的一种处理过程或通信服务,目的在于利用一种或多种安全机制进行反攻击)。
1.2 被动攻击和主动攻击的异同
主动攻击和被动攻击,二者的区别是被动攻击只非法获取信息,但不对信息进行任何修改,而主动攻击对信息进行篡改、伪造。主动攻击采用的手段是伪装、重放、篡改、拒绝服务等,被动攻击的常用手段包括搭线监听、截获、流量分析等。
X.800方案将安全攻击划分为被动攻击和主动攻击两种。
被动攻击:试图获取和利用系统的信息但并不影响系统资源。其特性是对传输进行窃听和检测,攻击者的目标是获得传输的信息,信息内容的泄露和流量分析都属于被动攻击。
主动攻击:试图改变系统资源或影响系统运行。包括对数据流进行修改或伪造数据流。
1.3 列出并简要定义被动攻击和主动攻击的分类
被动攻击:消息内容泄漏和流量分析。
主动攻击:假冒,重放,改写消息和拒绝服务。
1.4 列出并简要定义安全服务的分类
认证,访问控制,数据机密性,数据完整性,不可抵赖性。
1)认证:认证服务功能是向接收方保证消息来自所声称的发送方。2)访问控制:又称存取控制是一种限制和控制那些通过通信连接对主机和应用进行存取的能力。3)数据保密性:保密性的防止传输的数据遭到被动攻击。4)数据完整性:保证收到的数据的确是授权实体所发出的数据(即没有修改、插入、删除、重放)5)不可否认性:不可否认性防止发送方或接收方否认传输或接收过某条信息。6)可用性服务:根据系统的性能说明,能够按授权的系统实体的要求存取或试用系统资源的性质。(即当用户请求服务时,若系统能够提供符合系统设计的这些服务,则系统是可用的)。
1.5 列出并简要定义安全机制的分类
安全机制可以分为两类:一类在特定的协议层实现(特定安全机制);另一类不属于任何的协议层或安全服务(普遍安全机制)。(1)特定安全机制包括加密、数字签名、访问安全、数据完整性、认证交换、流量填充、路由控制和公证等。(2)普遍的安全机制包括可信功能、安全标签、事件检测、安全审计跟踪和安全恢复等。
1.6 列出并简要定义基本安全设计准则
1)机制的经济性:指嵌入在硬件和软件中的安全机制应设计得尽量简单、短小。简单的机制可以减少漏洞,降低维护的难度。
2)故障安全默认:默认情况下无访问权限,即在安全机制的设计或实现中出现错误时,应拒绝访问,今儿可以快速检测到错误情况。
3)完整的监察:这意味着必须检查访问控制机制中的每个访问,系统不能依赖从缓存中检索到的访问决策。
4)开放的设计:即安全机制的设计应该是开放的,而不是保密的。
5)权限分离:需要多个权限来访问一个受限资源(仅仅只拥有一个权限是无法访问的)。
6)最小权限:系统的每个进程和用户应该以执行该任务所需的最小权限集来进行操作,亦即系统只赋予用户完成某功能所需的最低权限。
7)最小共同机制:把不同用户共享的功能设计得最小化,以便提供相同的安全性。
8)心理接受度:在满足授权访问的用户需求的同时,不应过度干预用户的工作。
9)隔离:
①公共访问系统应与关键资源(数据、进程等)隔离,以防止其泄露或被篡改。
②除非明确需要这么做,否则各个用户的进程和文件应彼此隔离。
③安全机制也应被隔离,以防止他人访问到这些机制。
10)密封:可视为基于面向对象的特定形式的隔离。通过将过程和数据对象的集合封装在其自身的作用域中来提供保护。
11)模块化:在安全领域中,既指将安全功能作为单独的模块开发,也指用于机制设计和实现的模块化架构。
12)分层:使用多个叠加的保护方法来保护信息系统的人员、技术和操作。这种技术通常称为深度防御。
13)最小意外:指程序或用户接口应让用户感受得到,对意外事故的处理响应最小化。例如,授权机制应该对用户足够透明,以便用户能直观地理解安全机制是如何满足安全目标的。
第二章 对称加密和消息机密性
2.4 分组密码和流密码的区别是什么
一.分组密码概念
分组密码是将明文消息编码表示后的数字序列,划分成长度相等的组,暂且定义为n,n>0,每组分别在密钥的控制下变换成等长的数组数字序列
分组密码解决了密钥长度与明文一致的这个问题,分组密码加密固定长度的分组,需要加密的明文长度可能超过分组密码的分组长度,此时就需要对分组密码进行迭代,以便将长明文进行加密,迭代的方法就成为分组密码的模式
优点:明文信息良好的扩展性,对插入的敏感性,不需要密钥同步,较强的适用性,
缺点:加密速度慢,错误扩散和传播,穷举法较容易破译
二.流密码概念(序列密码)
流密码就是明文和密钥的长度一致,一一进行异或运算,可以得出密文,比如100m的明文就有100m的密钥
序列密码通常用于传输协议中,如:RC4,最常用的流密码之一,它的密钥长度可变,用于SSL协议,以前曾被应用在802.11WEP协议标准中
优点:序列密码实现简单,便于硬件实施,加解密处理速度快,没有或只有有限的错误传播等特点
缺点:低扩展性,插入及修改的不敏感性,不够安全
三.序列密码与分组密码的对比
分组密码以一定大小作为每次处理的基本单元,而序列密码是以一个元素作为基本处理单元,
按照密钥的特征不同,可以分为对称密码与分对称密码
在流密码中,加密和解密每次只处理数据流的一个符号。在分组密码中,将大小为m的一组明文符号作为
整体进行加密,创建出相同大小的一组密文。典型的明文分组大小是64位或者128为。
通常两者相辅相成,达到难以破解的效果
2.5 攻击密码的两个通用方法是什么
攻击密码的两种一般方法是穷举攻击和密码分析。
穷举攻击
所谓穷举攻击是指密码分析者采用依次试遍所有可能的密钥,对所获密文进行解密,直至得到正确的明文;或者用一个确定的密钥对所有可能的明文进行加密,直至得到所获得的密文。显然,理论上对于任何实用密码,只要有足够的资源都可以用穷举攻击将其攻破。
穷举攻击所花费的时间等于尝试次数乘以一次解密(加密)所需的时间。显然可以通过增大密钥量或者加大解密(加密)算法的复杂性来对抗穷举攻击。当密钥量增大时,尝试的次数必然增大。当解密(加密)算法的复杂性增大时,完成一次解密(加密)所需的时间增大,从而使穷举攻击在实际上不能实现。穷举攻击是对密码的一种最基本的攻击方法。
统计分析攻击
所谓统计分析攻击就是指密码分析者通过分析密文和明文的统计规律来破译密码。统计分析攻击在历史上为破译密码做出过极大的贡献。许多古典密码都可以通过分析密文字母和字母组的频率和其他统计参数而破译。对抗统计分析攻击的方法是设法使明文的统计特性不带入密文。这样密文不带有明文的痕迹,从而使统计分析攻击成为不可能。能够抵抗统计分析攻击已成为近代密码的基本要求。
数学分析攻击
所谓数学分析攻击是指密码分析者针对加解密算法的数学基础和某些密码学特性,通过数学求解的方法来破译密码。数学分析攻击是对基于数学难题的各种密码的主要威胁。为了对抗这种数学分析攻击,应当选用具有坚实数学基础和足够复杂的加解密算法。
2.7 什么是三重加密
三重数据加密,3DES,又称 Triple DES,是一种对称密钥加密块密码,相当于是对每个数据块应用三次数据加密标准(DES)算法。它使用 3 条 56 位的密钥对数据进行三次加密。数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥加密法,并于 1981 年被 ANSI 组织规范为 ANSI X.3.92。DES 使用 56 位密钥和密码块的方法,而在密码块的方法中,文本被分成 64 位大小的文本块然后再进行加密。比起最初的 DES,3DES 更为安全。
2.9 什么是破译?请简述对加密消息的攻击类型
破译是指试图通过某种方式将加密信息解密的行为。在信息安全领域中,加密被广泛应用于保护敏感信息的传输和存储,但是如果密码被破译成功,就会使信息失去保密性。
对加密消息的攻击类型包括:
字典攻击:攻击者使用大量的预先准备好的密码列表来尝试破解密码。如果目标密码比较弱,使用字典攻击可能会很容易得到成功。
暴力破解:攻击者尝试使用所有可能性的密码组合来破解密码。这种方法需要很大量的计算资源,但是如果密码比较短或者比较弱,暴力破解也是可行的。
中间人攻击:攻击者能够获得加密信息的传输过程中的控制权,可以在传输过程中窃取或修改信息。这种攻击方式是非常危险的,因为攻击者可以在不被发现的情况下篡改信息。
侧信道攻击:攻击者通过测量加密系统周围的物理电磁辐射、功耗等信息来分析密码的内容,并尝试破解密码。这种攻击方式可以用来破解一些加密算法中的高级密码。
为了提高密码安全性,可以使用更复杂、更长的密码,采用多因素身份验证等方法来增强密码的保密性。
2.10 分组密码有哪些工作模式?各有什么优缺点?
ECB(Electronic Codebook)电子密码本
需要加密的消息按照块密码的块大小被分为数个块,并对每个块进行独立加密。
适用于数据较少的情况,比如加密秘钥
优点:简单、快速、支持并行计算(加解密)。
缺点:同样的明文组会被加密成相同的密文组。因此不能很好地隐藏数据模式。ECB模式也会导致使用它的协议不能提供数据完整性保护,易受到重放攻击的影响,因此每个块是以完全相同的方式解密的。
重放攻击:一种网络攻击,通过恶意的欺诈性地重复或拖延正常的数据传输而实施。因工作原理如同重放歌曲一样而得名。
CBC(Cipher Block Chaining)密码分组链接
每个明文块先与前一个密文块进行异或后,再进行加密。在这种方法中,每个密文块都依赖于它前面的所有明文块。同时,为了保证每条消息的唯一性,在第一个块中需要使用初始化向量。加密时:明文中的微小改变会导致其后的全部密文块发生改变,每个密文块都依赖于它前面的所有明文块。解密时:从两个邻接的密文块中即可得到一个明文块。因此,解密过程可以被并行化,而解密时,密文中一位的改变只会导致其对应的明文块完全改变和下一个明文块中对应位发生改变,不会影响到其它明文的内容。
优点:同样的明文组不会被加密成相同的密文组,解密支持并行计算。
缺点:加密过程是串行的,无法被并行化,而且消息必须被填充到块大小的整数倍;对包含某些错误比特的密文解密时,会导致其对应的明文块完全改变和下一个明文块中对应位发生改变
CFB(Cipher Feedback)密码反馈
模式类似于CBC,可以将块密码变为自同步的流密码;工作过程亦非常相似,CFB的解密过程几乎就是颠倒的CBC的加密过程。
流密码,又译为流加密、数据流加密,是一种对称加密算法,加密和解密双方使用相同伪随机加密数据流(pseudo-random stream)作为密钥,明文数据每次与密钥数据流顺次对应加密,得到密文数据流。实践中数据通常是一个位(bit)并用异或(xor)操作加密。
加密时:明文的改变会影响接下来所有的密文
解密时:密文中一位数据的改变仅会影响两个明文块:对应明文块中的一位数据与下一块中全部的数据,而之后的数据将恢复正常。
优点:不需求填充;解密支持并行;可以解密随意密文。
缺点:加密过程是串行的,无法被并行化;密文中一位数据的改变仅会影响两个明文块:对应明文块中的一位数据与下一块中全部的数据。
OFB(Output Feedback)输出反馈
将块密码变成同步的流密码。它产生密钥流的块,然后将其与明文块进行异或,得到密文。与其它流密码一样,密文中一个位的翻转会使明文中同样位置的位也产生翻转。
优点:不需求填充;可事前进行加密解密的预备;加解密结构相同;对包含错误的密文解密时,只有对应明文的相应位会出错。
缺点:不支持并行计算;主动攻击者翻转密文分组中的某些比特时,明文中相应的比特也会翻转。
CTR(Counter)计数器
与OFB相似,CTR将块密码变为流密码。它通过递增一个加密计数器以产生连续的密钥流,其中,计数器可以是任意保证长时间不产生重复输出的函数,但使用一个普通的计数器是最简单和最常见的做法。
优点:不需求填充;可事前进行加密解密的预备;加解密结构相同;对包含错误的密文解密时,只有对应明文的相应位会出错;支持并行计算。
缺点:不主动攻击者翻转密文分组中的某些比特时,明文中相应的比特也会翻转。
第三章 公钥密码和消息认证
3.1 列举消息认证三种方法
利用常规加密的消息认证、消息认证码、单向散列函数
3.2 什么是MAC
一种认证技术利用私钥产生一小块数据,并将其附到信息上的技术
在密码学中,消息认证码(英语:Message authentication code,缩写为MAC),又译为消息鉴别码、文件消息认证码、讯息鉴别码、信息认证码,是经过特定算法后产生的一小段信息,检查某段消息的完整性,以及作身份验证。它可以用来检查在消息传递过程中,其内容是否被更改过,不管更改的原因是来自意外或是蓄意攻击。同时可以作为消息来源的身份验证,确认消息的来源。
3.4 对于消息认证,散列函数具有什么性质才可用
1 H可使用于任意长度的数据块
2 H能生成固定长度的输出
3对于任意长度的x,计算H(x)相对容易,并且可以用软/硬件方式实现
4对于任意给定值h,找到满足H(x)=h的x在计算机上不可行
5对于任意给定的数据块x,找到满足H(y)=H(x),的y=!x在计算机上是不可行的。
6找到满足H(x)=H(y)的任意一对(x,y)在计算机上是不可行的。
3.7 列举并简要说明公钥密码系统的三种应用
加密/解密,发送者用接收者公钥加密信息。
数字签名,发送者用自己的私钥“签名”消息;
密钥交换:双方联合操作来交换会话密钥。
3.9 什么是数字签名
数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是在使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名是非对称密钥加密技术与数字摘要技术的应用。
注:本章节有要求密码学内容,之前已总结密码学复习内容这里不再赘述记得去复习一下什么RSA什么Diffie-Hellman之类的基本的要会
第四章 密钥分发及用户认证
4.2 会话密钥和主密钥的区别是什么
主密钥是指在加密系统中用于保护用户数据的密钥,它通常是由安全管理员或者系统设计者生成并妥善保管的,同时也应该定期更换以增强安全性。主密钥的安全性直接关系到整个系统的安全性,因此需要采取安全性高的物理和逻辑手段进行保护。
会话密钥则是指在一个具体的通信过程中使用的密钥,用于保证通信双方之间的数据机密性和完整性。当两个通信实体需要进行加密通信时,可以首先建立一个安全的通信信道(如TLS协议),然后在通信过程中,由其中一方随机生成一个会话密钥,然后使用主密钥来对会话密钥进行加密,并将加密后的会话密钥发送给对方。双方通过解密会话密钥来获取相同的加密密钥,然后使用该密钥进行通信数据的加密和解密操作。
主密钥通常是长期的密码,在使用多段时间后,需定期更新。而会话密钥则是短期的密码,每次通信时随机生成,使用完成后,就需要丢弃掉。主密钥的安全性与会话密钥的安全性是不同的。主密钥的泄露会导致所有会话数据都被破解,所以主密钥的安全性需要更高。而一个会话密钥的破解只会影响到该特定会话的数据保密性,不会影响其他会话数据的机密性,因此会话密钥的安全性相对较低。
综上所述,主密钥用于长期保护系统中的用户数据,而会话密钥则用于保护具体通信中的数据安全。
4.3 什么是密钥分发中心
密钥分发中心(Key Distribution Center,简称KDC)是一种安全领域的关键组件,用于在计算机网络环境中对保密信息进行加密和解密操作。其主要功能是通过安全通道、密码技术及其他安全手段实现密钥的安全传输和管理,并确保网络中各个节点之间的通信数据得到适当的保护。
在 Kerberos 系统中,KDC 是一个认证服务器,负责以安全的方式将身份验证和密钥分发给用户和系统。它包括三个主要组件:认证服务器(AS)、票据授权服务器(TGS)和用户/服务主体数据库(User/Service Principal Database)。
在 Kerberos 系统中,用户可以通过 AS 获取 TGT(Ticket Granting Ticket),TGT 允许用户获得由 TGS 签发的服务票据,从而访问特定的网络服务。同时,KDC 还为用户提供单点登录(Single Sign-On)功能,允许用户使用一次身份验证即可访问多个网络服务。
密钥分发中心实现了安全、高效地分配会话密钥等加密算法所需的信息及密钥数据。它能够防止攻击者通过监听网络流量,从而获得关键的安全信息,保障网络通信的机密性、完整性和可用性。因此,在网络安全中,密钥分发中心是非常重要的组成部分。
4.4 一个提供全套Kerberos服务的环境由哪些实体组成
一个Kerberos服务器、多个客户端和多个应用程序服务器
4.7 什么是随机数
一个随机数,它将在消息中被重复来确保应答是实时的,而不是被攻击者重放过的。
这个随机数,通常指的是“nonce”(一次性数字)。在网络通信中,nonce 可以用于确保应答是实时的,而不是被攻击者重放过的。当请求方发送请求时,会将一个随机数添加到消息中,以便接收方生成一个唯一的响应。由于 nonce 是一次性的,即使攻击者拦截了消息并试图重放它,接收方也能够检测到消息已被重复使用。使用 nonce 技术可以有效地防止攻击者通过重放攻击来欺骗系统,提高了系统的安全性和可靠性。
4.10 什么是公钥证书
公钥证书包含公钥和其他信息,由证书颁发机构创建,并提供给具有匹配私钥的参与者。参与者通过传输证书将其关键信息传递给其他人。其他参与者可以验证证书是否由颁发机构创建。
公钥证书(Public Key Certificate),也称为数字证书或X.509证书,是一种用于验证公钥拥有者身份的数字证明。公钥证书包含了公钥、证书持有人身份信息、证书颁发机构(CA)名称等信息。公钥证书中的公钥可以用来对信息进行加密或验证签名,而证书可以用来验证公钥拥有者的身份。
在数字证书系统中,数字证书由证书颁发机构(CA)签发。CA 是一个可信的第三方实体,负责验证证书持有人身份,并向其颁发数字证书。证书颁发机构会对申请证书的个体进行身份验证,通过验证后为其生成公钥,并将其予以签名并嵌入证书中。然后,证书颁发机构就会将该证书发布到公钥基础设施(PKI)的目录中,并供其他用户进行查找和验证。
公钥证书广泛应用于网站身份认证、网络数据加密通信、电子邮件签名等领域,成为保障互联网安全的重要技术手段之一。
4.12 X.509标准的目的是什么
X.509是一种数字证书格式,用于描述公钥基础设施(PKI)中的证书和相关实体。X.509标准的主要目的是为了定义证书的结构和内容,并提供一种标准化的方式来管理数字证书。
X.509标准包含了一套规范,定义了数字证书的格式、内容、验证过程以及颁发机构(CA)的责任等方面。它为数字证书的交互提供了一个标准的框架,并使得数字证书可以被广泛地应用于各种不同的场景,例如网站身份认证、数据加密通信、电子邮件签名等领域。
通过使用X.509标准,网络应用程序可以轻松地验证以及识别信任的实体,例如服务提供商、合作伙伴、客户等。此外,X.509标准还定义了证书的撤销机制和证书吊销列表(CRL),使得证书可以及时地被吊销,保证系统的安全性和可靠性。
总之,X.509标准的主要目的是为数字证书的创建、管理和验证提供一个统一的标准,确保数字证书在各种应用场景下的兼容性和可信度,提高信息安全和保护隐私的能力。
4.15 什么是 PKI?请简述 PKIX 架构模型。
什么是PKI?
官方定义:PKI是Public Key Infrastructure的首字母缩写,翻译过来就是公钥基础设施;PKI是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。PKI技术是一种遵循既定标准的密钥管理平台,它的基础是加密技术,核心是证书服务,支持集中自动的密钥管理和密钥分配,能够为所有的网络应用提供加密和数字签名等密码服务及所需要的密钥和证书管理体系。
通俗理解:PKI就是利用公开密钥理论和技术建立提供安全服务的、具有通用性的基础设施,是创建、颁发、管理、注销公钥证书所涉及的所有软件、硬件集合体,PKI可以用来建立不同实体间的"信任"关系,它是目前网络安全建设的基础与核心。PKI的主要任务是在开放环境中为开放性业务提供基于非对称密钥密码技术的一系列安全服务,包括身份证书和密钥管理、机密性、完整性、身份认证和数字签名等。
公钥基础设施X.509(Public Key Infrastructure X.509,PKIX)工作组扩展X.509标准的基本思想,指定Internet世界中如何部署数字证书。
PKIX提供的公钥基础设施服务包括如下几个方面:
(1)注册:这个过程是最终实体(主体)向CA介绍自己的过程,通常通过注册机构进行。
(2)初始化:处理基本问题,如最终实体如何保证对方是正确的CA。
(3)认证:这一步,CA对最终实体生成数字证书和将其交给最终实体,维护复制记录,并在必要时将其复制到公共目录中。
(4)密钥对恢复:一定时间内可能要恢复加密所有的密钥,以便解密一些旧文件。密钥存档和恢复服务可以由CA提供,也可以由独立的密钥恢复系统提供。
(5)密钥生成:PKIX指定最终实体应能生成公钥和私钥对,或由CA/RA为最终实体生成,然后安全地将其发布给最终实体。
(6)密钥更新:可以从旧密钥对向新密钥对顺利过渡,进行数字证书自动刷新。但是,也可以提供手工数字证书更新请求与相应。
(7)交叉证书:简历信任模型,使不同CA认证的最终实体可以相互验证。
(8)吊销:PKIX可以支持两种证书状态检查模型,联机(使用OCSP)或脱机(使用CRL)
PKIX体系结构模型
PKIX建立了综合性文档,介绍其体系结构模型的5个领域。这些分类可以改进基本X.509标准描述,包括以下几个方面:
(1)X.509 V3证书和V2证书吊销表配置文件:X.509标准可以用各种选项描述数字证书扩展。PKIX把合适Internet用户使用的所有选项组织起来,称为Internet用户配置文件。这个配置文件,指定必须/可以/不能支持的属性,并提供了每个扩展类别所用值的取值范围。
(2)操作协议:定义基础协议,向PKI用户提供发布证书、CRL和其他管理与状态信息的传输机制。
(3)管理协议:这些协议支持不同PKI实体行交换信息,如怎样传递注册信息、吊销状态或交叉证书请求与响应。管理协议指定实体间浮动的信息结构,还指定处理这些信息所需的细节。
(4)策略大纲:PKIX在RFC2527中定义了证书策略(Certification Policies,CP)和证书实务报表(Certification Practice Statements,CPS)的大纲,其中定义了生成证书策略之类的文档的策略,确定对特定应用领域选择证书类型时要考虑的重点。
(5)时间标注与数据证书服务:时间标注服务是由所谓时间标注机构的信任第三方提供的,这个服务的目的是签名消息,保证其在特定日期和时间之间存在,帮助处理不可抵赖争端。数据证书服务(DCS)是个信任第三方服务,验证所收到数据的正确性,类似日常生活中的公证服务。
第六章 传输层安全
6.1 WEB流量安全方法网络层(IPsec)、传输层(SSL或TLS)、应用层(S/MIME、Kerberos)三种方法优点是什么
网络层(IPsec):IPsec协议可以在网络层对数据包进行加密、认证和完整性保护。这种方式的优点包括:
强大的安全性:IPsec使用的是对称或非对称加密算法,能够提供非常高的安全性和数据完整性保障。
透明性:IPsec的操作对应用程序和用户来说是透明的,可以在不影响其他应用程序正常工作的前提下提供安全保护。
传输层(SSL或TLS):SSL/TLS协议通常用于Web浏览器和服务器之间进行通信时的数据安全保护。优点包括:
易于部署:SSL/TLS协议已经被广泛采用,支持各种操作系统和开发语言,非常易于部署和使用。
支持多种安全级别:SSL/TLS支持多种加密和认证算法,可以根据不同需求选择合适的安全级别。
应用层(S/MIME、Kerberos):S/MIME和Kerberos等协议在应用层实现了加密、认证和完整性保护,优点包括:
灵活性:应用层安全协议的操作方式比较灵活,可以针对不同的应用场景和需求实现不同的安全策略。
安全性高:应用层安全协议采用的加密和认证算法一般也比较先进,能够提供较高的安全性。
综上所述,IPsec、SSL/TLS和S/MIME、Kerberos都是可靠的WEB流量安全方法,根据不同的场景和需求可以灵活组合使用,提供多层次的安全保护。
6.2 TLS由哪些协议组成
TLS(Transport Layer Security)协议由以下几个协议组成:
握手协议(Handshake Protocol):在TLS连接建立时,通过这个协议进行通信。其中包括客户端和服务端的身份验证、密钥交换、加密算法和认证算法协商等过程。
记录协议(Record Protocol):负责将数据在传输之前进行分段、压缩、加密和校验,并在接收端进行解密和验证,保证数据的完整性和安全性。
更改密码规范协议(Change Cipher Spec Protocol):该协议用于在TLS连接的中途对加密设置进行更改,确保数据传输期间始终使用正确的密钥和算法。
警告协议(Alert Protocol):在TLS连接建立和维护过程中,如果发生错误或异常情况,该协议用于向对方发送警告信息,以便及时处理问题。
以上四个协议共同组成了TLS协议,确保了数据在传输过程中的机密性、完整性和可靠性。
6.6 TLS记录协议提供了哪些服务
分段:通过将较大的数据分成多个较小的片段进行传输,从而避免了因为一次性传输过多数据而导致的网络拥堵等问题。TLS记录协议对于每个片段都会加上一个长度标志,以便接收方知道整个数据流的长度,从而更好地组装数据。
压缩:在传输之前,TLS记录协议还可以将数据进行压缩,以减少数据量,从而提高传输效率。压缩算法可以根据具体情况灵活选择。
加密:TLS记录协议采用对称加密算法对传输的数据进行加密,保证网络传输过程中数据的机密性。加密算法可以根据安全需求和应用场景选择不同的加密方式进行保护。
校验:为了保证传输过程中数据的完整性,TLS记录协议还支持校验码的计算和验证。发送方通过使用校验码对数据进行加密,而接收方则需要使用同样的算法进行解密,并对校验码进行验证,确保传输过程中没有发生数据篡改等事情。
6.7 TLS记录协议执行过程涉及哪些步骤
对要传输的数据进行分段,如果需要进行压缩,则进行压缩操作。
为每个数据片段加上长度标志,以便接收方知道整个数据流的长度。
对每个片段进行加密处理,使用对称加密算法保证传输数据在网络传输过程中的机密性。
在加密数据上附加一个校验值(MAC),确保数据的完整性。MAC的计算采用加密算法和发送端向对端约定好的密钥等信息来进行。
组装加密后的数据,并将数据通过传输层(TCP或UDP)发送给接收方。
接收方对收到的数据进行解密,并使用同样的算法和密钥计算出校验码,以验证数据的完整性。
如果校验不通过,则发送一个警告消息,提示传输数据损坏。
如果校验通过,则从该片段中提取数据,并将多个数据片段组合成原始数据,最后提交给应用程序使用。
6.3 考虑下面的Web安全威胁并说明如何通过TLS的相应特性来防止每一种威胁。
a.穷举密码分析攻击:对传统加密算法密钥空间的完全搜索。
TLS采用了对称加密算法来保证传输数据的机密性。而对称加密算法通常使用的是较长的加密密钥(比如AES-256),因此极度减少了暴力破解算法的成功率。
b.已知明文字典攻击:很多消息包含一些可以预知的明文,例如命令HTTPGET。攻击者首先构建一个用不同密钥加密明文消息后得到所有可能的加密密文字典。当截获到加密消息时,攻击者就从该字典中查找这些明文所对应的密文以及相应的密钥。收到的密文应该与字典中相同密钥下的某个密文相匹配。如果发现多个匹配的情况,则可以对每一种情况进行全密文尝试,以发现正确的加密算法。这种攻击对于密钥较小的算法特别有效(例如40比特的密钥)。
已知明文字典攻击可以被TLS中的密文检查机制和完整性检查机制防范。TLS要求通信双方使用协商得到的密钥进行数据加解密,并使用MAC(消息认证码)确保传输过程中数据没有被篡改。这样即使攻击者截获了加密数据,也无法从中获取有用的信息。
c.重放攻击:先前的TLS握手消息被重放。
重放攻击可以通过TLS中的非对称加密算法和时间戳机制来防止。当客户端和服务器进行密钥交换时,TLS会自动生成密钥并使用非对称加密算法进行加密。攻击者无法伪造或获取这个密钥,因此无法进行数据的重放攻击。同时,TLS将每个记录标记为安全发送时间(如GMT时间),接收方可比较接收到的时间记录和当前时间,以及一定量的未来时间,以防止不良用户重新发送以前的记录。
d.中间人攻击:攻击者在密钥交换过程中,应对服务器时冒充客户端,应对客户端时又冒充服务器。
通过TLS的非对称加密算法和数字证书机制来防止。在TLS中,服务器会发送数字证书给客户端,该证书包含服务器公钥和证书颁发机构签名等信息。客户端使用证书验证服务器身份,并建立起与服务器的加密通道,从而防止攻击者冒充服务器和客户端。
e.口令窃听:HTTP数据流或其他应用数据流中传输的口令被窃听。
口令窃听可以通过TLS中对传输数据的加密来防范。由于TLS采用了对称加密算法,因此它可以保证传输过程中的数据机密性。即使攻击者截获了加密数据,也无法获取有用的信息。
f.IP地址假冒:使用伪造的IP地址欺骗主机接收伪造的数据。
IP地址假冒或欺骗可以通过TLS中的数字证书机制来防范。TLS数字证书由受信任的第三方机构进行签名,可以验证服务器的身份,从而防止攻击者伪造服务器IP地址并欺骗主机接收伪造的数据。
g.IP劫持:中断两个主机间活动的、经过认证的连接,攻击者代替一方的主机进行通信。
IP劫持也可以通过TLS中的数字证书机制来防范。TLS数字证书由受信任的第三方机构进行签名,可以验证服务器的身份,从而防止攻击者代替一方主机进行通信。
h.SYN泛滥:攻击者发送TCPSYN消息请求建立连接,但是不回答建立连接的最后一条消息。被攻击的TCP模块通常为此预留几分钟的“半开放连接”,重复SYN消息可以阻塞TCP模块。
SYN泛滥攻击可以通过TLS中的SSL连接机制来防范。SSL连接中由客户端发起连接请求,直到握手成功后才开始数据传输,这意味着SYN消息的重传不会导致阻塞进程。同时,TLS通过重复验证客户端和服务器之间的身份信息来确认连接的有效性,并通过加密机制保护数据传输,从而防止SYN泛滥攻击。
第七章 无线网络安全
7.3 简要列出IEEE 802.11服务
7.7 简要描述IEEE 802.11i操作的四个阶段
发现:AP使用称为信标和探测响应的消息来宣传其IEEE802.11i安全策略。STA使用这些来识别希望与之通信的WLAN的AP。STA与AP关联,当信标和探测响应提供选择时,它使用AP来选择密码套件和身份验证机制。
身份验证:在这个阶段,STA和AS相互证明了它们的身份。AP会阻止STA和AS之间的非身份验证通信,直到身份验证事务成功为止。除了转发STA和AS之间的流量外,AP不参与身份验证事务。
密钥生成和分发:AP和STA执行一些操作,这些操作会导致在AP和STA上生成和放置加密密钥。帧仅在AP和STA之间交换
受保护的数据传输:帧通过AP在STA和终端站之间交换。如阴影和加密模块图标所示,安全数据传输仅发生在STA和AP之间;不提供端到端的安全性。
连接终止:AP和STA交换帧。在此阶段,安全连接被断开,连接恢复到原始状态。
7.8 TKIP和CCMP之间的区别
TKIP(Temporal Key Integrity Protocol)和CCMP(Counter Mode with Cipher Block Chaining Message Authentication Code Protocol)是IEEE 802.11i中使用的两种加密协议,用于保护无线网络中的数据传输的机密性和完整性。它们之间的主要区别如下:
加密算法不同:TKIP使用RC4算法进行数据加密,而CCMP使用AES算法进行加密。
消息完整性保护方式不同:TKIP使用Michael算法对数据帧进行消息完整性检查,而CCMP使用CBC-MAC算法进行检查。
加密密钥长度不同:TKIP的加密密钥长度为128位,而CCMP的加密密钥长度为128或256位。
密钥派生方式不同:TKIP使用预共享密钥(Pre-Shared Key,PSK)和基于EAP的认证生成密钥,而CCMP使用互相认证密钥交换(Mutual Authentication Key Exchange,MAKE)和基于EAP的认证来生成密钥。
综上所述,CCMP比TKIP更安全和可靠,因为它使用更强的加密算法和消息完整性保护方式,并且支持比TKIP更长的加密密钥。因此,在选择加密协议时,建议选择CCMP以保障网络安全。
7.9 可以使用哪些技术来保证无线网络的安全?
加密技术:使用WEP、WPA、WPA2等加密协议来对无线网络进行加密,防止未经授权的用户进行非法访问和数据篡改。
隐藏SSID:将无线网络名称(SSID)不展示出来,只有已知的设备才能连接这个网络,从而降低攻击者获取该网络信息的可能性。
认证技术:通过设置访问控制列表(ACL)和使用预共享密钥(PSK)的方式,只允许合法设备接入无线网络,防止黑客入侵。
网络隔离:通过虚拟局域网(VLAN)的划分方式,将不同的用户或设备隔离开来,阻止恶意攻击等问题的发生。
网络监控:使用入侵检测系统(IDS)和网络流量分析器等技术来监控无线网络中的流量,及时发现和处理异常情况,保障网络安全。
更新维护:及时更新无线设备的固件和软件,修复已知漏洞,增强网络安全性。
7.2 习题
在IEEE 802.11i之前,IEEE 802.11的安全模式是WEP(Wired Equivalent Privacy)。WEP假设所有网络中的设备共享一个密钥。认证场景的目的是向STA证明它处理了密钥。认证处理过程如图7.12所示。STA向 AP发送消息请求认证。AP发送一个包含128位随机数的试验报文的消息。STA用共享密钥加密这个试验报文并发回给AP。AP对收到的消息进行解密并将结果与试验报文进行比较。如果一致,AP确认认证成功。
- 这种认证模式的优点是什么?
这种认证模式的优点是简单、快速,且没有复杂的密钥管理过程。所有的设备都共享同一个密钥,这样可以减少管理开销和复杂度。
- 该认证模式并不完整,是什么丢失了?为什么丢失的部分很重要?提示:添加一到两条消息可解决问题。
该认证模式丢失了身份验证的步骤,也就是说,在这种模式下,AP无法确认STA是否具有合法的身份。缺少身份验证意味着未经授权的STA也可以访问网络,并可以执行攻击行为。添加一到两条消息,如身份验证消息,可以解决这个问题并提高安全性。
- 该认证模式的缺陷是什么
该认证模式的缺陷是十分显著的,因为它没有提供对数据保密性和完整性的保护。由于WEP算法本身的缺陷,加密数据可以被轻松地破解。此外,由于所有设备都使用共享密钥,密钥的泄露或被攻击者拦截都会导致整个系统的崩溃。因此,WEP已经被广泛认为是不安全的,并已被更高级别的安全协议(如WPA和WPA2)所代替。
第八章 电子邮件安全
8.4 简要解释BASE-64编码
Base64是基于64个可打印字符来表示二进制数据的编解码方式。
正因为可编解码,所以它主要的作用不在于安全性,而在于让内容能在各个网关间无错的传输。
这64个可打印字符包括大写字母A-Z、小写字母a-z、数字0-9共62个字符,再加上另外2个 + 和 /。
Base64是一种索引编码,每个字符都对应一个索引
由于64等于2的6次方,所以一个Base64字符实际上代表着6个二进制位(bit)。
然而,二进制数据1个字节(byte)对应的是8比特(bit),因此,3字节(3 x 8 = 24比特)的字符串/二进制数据正好可以转换成4个Base64字符(4 x 6 = 24比特)。
为什么是3个字节一组呢? 因为6和8的最小公倍数是24,24比特正好是3个字节。
我们可以看到,当3个字符进行Base64转换编码后,最后变成了4个字符。因为每个6比特位,都补了2个0,变成8比特位,对应1字节。
这里正好多了三分之一,所以正常情况下,Base64编码的数据体积通常比原数据的体积大三分之一。
这也是为什么我们在前面讲使用Base64编码优化图片时,需要强调是小图标,如果图片都使用该方式,则静态文件会增大很多,并不合适。
= 等号
3个英文字符,正好能转成4个Base64字符。那如果字符长度不是3的倍数,那应该使用什么样的规则呢?
其实也简单,我们在实际使用Base编码时,常会发现有第65个字符的存在,那就是 '=' 符号,这个等于号就是针对这种特殊情况的一种处理方式。
对于不足3个字节的地方,实际都会在后面补0,直到有24个二进制位为止。
但要注意的是,在计算字节数时,会直接使用总长度除以3,如果余数为1则会直接在最后补一个=,如果余数为2则补两个=。
因此,转码后的字符串需要补的后缀等号,要么是1个,要么是2个,具体的可以见下图:
图中第二个,使用的是单独的字符 'd',是为了区分索引字符表里的索引0,这个时候,得到编码中,会存在一个索引0对应的A字符,而'='是直接补上2个。
BASE-64编码是一种将二进制数据转换为ASCII字符的方法,使用64个字符表示二进制数据。它常用于网络传输二进制数据
8.6 S/MIME提供的四种主要服务是什么
8.8 什么是DKIM
DKIM,电子邮件验证标准——域名密钥识别邮件标准。DomainKeys Identified Mail的缩写。
DKIM,全称为DomainKeys Identified Mail,是一种用于授权验证电子邮件的技术。它使用公钥加密来验证发送者的身份,确保邮件内容不被篡改,并防止垃圾邮件、欺诈和钓鱼攻击。DKIM技术是基于公钥加密原理的一种验证方法,它通过在发件人的邮件服务器上添加数字签名来证明该邮件确实是由该发件人发送的。这个数字签名包括加密的邮件头和正文等信息,可以被信任的收件人解密并验证是否与发件人的公钥相匹配。如果验证通过,则表示该邮件未被篡改,并且发件人的身份得到了确认。
第九章 IP安全
9.2 IPSec提供哪些服务
互联网安全协议(Internet Protocol Security,IPSec)是一个协议包,通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议簇(一些相互关联的协议的集合)
IPSec是IETF(Internet Engineering Task Force,即国际互联网工程技术小组)提出的使用密码学保护IP层通信的安全保密架构,是一个协议簇,通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议簇(一些相互关联的协议的集合)。
IPSec可以实现以下4项功能:①数据机密性:IPSec发送方将包加密后再通过网络发送。② 数据完整性:IPSec可以验证IPSec发送方发送的包,以确保数据传输时没有被改变。③数据认证:IPSec接受方能够鉴别IPsec包的发送起源。此服务依赖数据的完整性。④反重放:IPSec接受方能检查并拒绝重放包
IPSec主要由以下协议组成:
一、认证头(AH),为IP数据报提供无连接数据完整性、消息认证以及防重放攻击保护;
二、封装安全载荷(ESP),提供机密性、数据源认证、无连接完整性、防重放和有限的传输流(traffic-flow)机密性;
三、安全关联(SA),提供算法和数据包,提供AH、ESP操作所需的参数。
四、密钥协议(IKE),提供对称密码的钥匙的生存和交换。
9.4 传输模式和隧道模式有何区别
传输模式和隧道模式的区别在于:
从安全性来讲,隧道模式优于传输模式。它可以完全地对原始IP数据报进行验证和加密。隧道模式下可以隐藏内部IP地址,协议类型和端口。
从性能来讲,隧道模式因为有一个额外的IP头,所以它将比传输模式占用更多带宽。
传输模式只为高层协议提供安全服务。这种模式常应用在需要保护的两台主机之间的端到端连接,而不是多台主机的两个网关之间的数据流。
隧道模式适于转发设备对保护流量进行封装处理的场景,建议应用于两个安全网关之间的通讯。传输模式适于主机到主机、主机到网关对保护流量进行封装处理的场景。
9.5 什么是重放攻击
回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。攻击者利用网络监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器。
9.6 为什么ESP包括一个填充域
(1)如果加密算法要求明文为某个数目字节的整数倍,填充域用于把明文扩展到需要的长度;
(2)ESP格式要求填充长度和邻接报文域为右对齐的32比特字,同样,密文也是32比特的整数倍,填充域用来保证这样的排列
(3)增加额外的填充能隐藏载荷的实际长度,从而提供部分流量的保密
9.4 习题
在讨论AH的过程中,提到过并不是IP报头中的所有域均参与MAC计算。
对于每种情况,说明你对每个域的结论是合理的。
- 指明在IPv4报头的所有域中,哪些是不可变的,哪些是可变但可预测的,哪些是可变的(0优先级ICV计算)?
在IPv4报头中,不可变的字段包括版本、首部长度、服务类型、总长度、标识、标志、片偏移和生存时间。可变但可预测的字段包括源地址、目的地址、协议和头部校验和。可变的字段仅包括选项字段,而这些字段的计算是通过0优先级ICV计算。
这些结论是合理的,因为不可变字段的值在传输过程中不会改变,可变但可预测的字段的变化可以被预料到,因此在MAC计算时不需要重新计算。而可变字段只包括选项字段,选项字段的长度可变,因此计算其ICV需要使用0优先级。
- 对IPv6报头做上述处理。
在IPv6报头中,不可变的字段包括版本、流量类别、流标签和有效载荷长度。可变但可预测的字段包括下一报文头以及跳数限制。而对于可变字段,IPv6没有像IPv4那样的可变选项,因此不存在0优先级ICV计算的情况。
这些结论是合理的,因为IPv6相比IPv4而言更简洁,取消了大部分的选项,因此在MAC计算时只需要考虑唯一的可变字段即可。
- 对IPv6扩展报头也做上述处理。
在IPv6扩展报头中,不可变的字段包括下一报文头、扩展头长度以及可选的填充字段。可变但可预测的字段包括各个扩展头中的目的地址和选项等信息。由于扩展报头的数量和类型不定,因此在MAC计算时需要对所有的扩展报头进行处理。
这些结论是合理的,因为IPv6扩展报头可以在数据传输过程中添加和删除,因此每个扩展报头的内容都需要被重新计算和处理。