
一、概述
1. 安全基本目标有哪些?其含义分别是什么?(CIA P7)
(1)保密性:对信息的访问和公开进行授权,包括个人隐私和秘密信息;保密性缺失的定义是信息的非授权泄露
(2)完整性:防止对信息的不恰当修改或破坏,包括确保信息的不可否认性和真实性;完整性缺失的定义是对信息的非授权修改和毁坏
(3)可用性:确保对信息的及时和可靠的访问和使用;可用性的缺失是对信息和信息系统访问与使用的中断
另有:
(4)真实性:一个实体是真实性的、是可被验证的和可被信任的特性;对传输信息来说,信息和信息的来源是正确的。也就是说,能够验证那个用户是否是他声称的那个人,以及系统的每个输入是否均来自可信任的信源。
(5)可追溯性:这一安全目标要求实体的行为可以唯一追溯到该实体。这一属性支持不可否认性、阻止、故障隔离、入侵检测和预防、事后恢复、以及法律诉讼。
2. OSI安全框架定义了哪三个方面?(P9)其中安全攻击被分成哪两个类别,有什么特点?分别有哪些实例?(P10)
(1)OSI安全框架可简单定义如下
①安全攻击:任何危及信息系统安全的行为
②安全机制:用来检测、阻止攻击或从攻击状态恢复到正常状态的过程(或实现该过程的设备)
③安全服务:加强数据处理系统和信息传输的安全性的一种处理过程或通信服务
(2)安全攻击分类
被动攻击:对传输进行窃听和监测,攻击者的目标是获得传输的信息,难以检测,但可以防止
主动攻击:包括对数据流进行修改或伪造数据流,难以绝对防御,但容易监测
(3)安全攻击实例
被动攻击:信息内容的泄漏、流量分析
主动攻击:伪装、重播、消息修改、拒绝服务
二、信息加密技术和信息隐藏技术
3. 现代密码算法分为哪两种?
对称密码算法、非对称密码算法(公钥密码算法)
4.对称密码算法按照对明文的处理方式不同可以分成哪两类? 对称密码算法有哪些?(P45,P52)
(1)分组密码、序列密码(流密码)
(2)DES(数据加密标准)、AES(高级加密标准)
基本的参数 (明密文分组长度,密钥长度) ?
| 明密文分组长度 | 密钥长度 | |
| DES | 位 | 56位 |
| AES | 128位 | 128位、192位、256位 |
(1)电码本模式
(2)密文分组链接模式
(3)密文反馈模式
(4)输出反馈模式
(5)计数器模式
(6)用于面向分组的存储设备的XTS-AES模式
6. 公钥密码有哪些算法,主要的应用是什么?(P197)
| 算法 | 加密/解密 | 数字签名 | 密钥交换 |
| RSA | 是 | 是 | 是 |
| 椭圆曲线 | 是 | 是 | 是 |
| Diffie-Hellman | 否 | 否 | 是 |
| DSS | 否 | 是 | 否 |
②数字签名:发送方用其私钥对消息“签名”。签名可以通过对整条消息加密或者对消息的一个小的数据块加密来产生,其中该小数据块是整条消息的函数
③密钥交换:通信双方交换会话密钥。有几种不同的方法可用于密钥交换,这些方法都使用了通信一方或双方的私钥
7.公钥算法安全性的数学基础有哪些?(P61?)
(1)整除性和除法
(2)欧几里得算法
(3)模运算
(4)群、环、域
(5)有限域GF(p)
(6)多项式运算
(7)有限域GF(2n)
8. RSA算法的计算过程?(详见P198)针对RSA算法有哪些类型的攻击?(P205)
(1)计算过程
密钥产生
①找素数:选取两个512bit的随机素数p,q
②计算模n:n=pq
③计算 φ(n): φ(n)=(p-1)(q-1)
④找ed≡1 mod φ(n)
⑤选取数e,用扩展Euclid算法求数d
⑥发布:发布(e,n),这是公钥ke;d保密,(d, n)是私钥 kd
加密
明文分组m做为整数须小于n:c=me mod n
解密
m=cd mod n
(2)针对RAS算法的攻击
①穷举攻击:这种方法试图穷举所有可能的私钥
②数学攻击:有多种数学攻击方法,它们的实质都是试图分解两个素数的乘积
③计时攻击:这类方法依赖于解密算法的运行时间
④基于硬件故障的攻击:这种方法应用产生签名过程中处理器发生的故障
⑤选择密文攻击:这种攻击利用了RSA算法的性质
9. DH算法的实现过程?针对DH算法的中间人攻击是如何发生的?(PPT2-2密码学-公钥密码(1)P58)
(2)中间人攻击
交换Y的过程中,Y有可能被替换假冒,而且不能发现
形式上,可以理解为一个中间人在跟双方同时通信,其中通信内容在中间人那里是可见的
10. 作为保密通信的一种方式,信息隐藏和数据加密的主要区别是什么?
(1)目标不同:加密仅仅隐藏了信息的内容;信息隐藏既隐藏了信息内容,还掩盖了信息的存在
(2)实现方式不同:加密依靠数算;而信息隐藏充分运用载体的冗余空间。应用场台不同:加密只关注加密内容的安全,而信息隐藏还关注载体与隐藏信息的关系。
联系:理论上相互借用,应用上互补。信息先加密,再隐藏。
三、消息认证技术
11. 什么是消息认证?为什么需要消息认证?如何实现消息认证(或消息认证函数的实现方式)?(P272)
(1)消息认证就是验证所收到的消息确实是来自真正的发送方,且是未被修改的消息,它也可验证消息的顺序性和及时性
(2)网络安全的威胁来自于两个方面:一是被动攻击,攻击者只是通过侦听和截取等手段被动的获取数据,并不对数据进行修改;一是主动攻击,攻击者通过伪造、重放、篡改、改变顺序等手段改变数据。
对于这些应用中,仅提供保密性是远远不够的。认证则是防止主动攻击的重要技术。认证的目的主要有两个:第一,验证消息的发送者是合法的,不是冒充的,这称为实体认证,包括对信源、信宿等的认证和识别;第二,验证信息本身的完整性,这称为消息认证,验证数据在传送或存储过程中没有被篡改、重放或延迟等。
(3)Hash函数:将任意长的消息映射为定长的Hash值的函数,以该Hash值作为认证符;
消息加密:对整个消息加密后的密文作为认证符
消息认证码(MAC):它是消息和密钥的函数,它产生定长的值,以该值作为认证符
12. 散列函数可被应用于哪些方面?(P239)密码学散列函数需哪些安全性需求?(P245)常见的散列函数有哪些?基本参数(输入、输出长度、安全性等)(P251)?
(1)应用:消息认证、数字签名、其他应用(产生单向口令文件、入侵检测和病毒检测、构建随机函数(PRF)或用作伪随机数发生器(PRNG))
(2)安全性需求:前三个特性是Hash函数实际应用的需求
(3)MD5、SHA(SHA-512、SHA-3)
(4)基本参数
| 参数 | MD5 | SHA-1 |
| 输入 | 无长度 | 0-(2^ - 1) |
| 输出长度 | 128bit | 160bit |
| 安全性 | 不安全 | 较安全 |
(1)基于Hash函数的MAC、基于分组密码的MAC
(2)常见算法
基于Hash函数的MAC:HMAC算法
基于分组密码的MAC:DAA(数据认证算法)和CMAC(基于密码的消息认证码)
14. 消息认证和加密的关系(同时提供认证和加密的通用方案有哪些)(P272,PPT2-3消息认证和数字签名P32 ?)
(1)消息认证是指验证所收到的消息确实来自真正的发送方,且是未被修改的消息,它可以验证消息的顺序和及时性。数字签名也是一种认证技术,其中一些方法可用来抗发送方否认攻击。
任何消息认证和数字签名机制在功能上基本都有上下两层,下层中一定有某种产生认证符的函数,认证符是一个用来认证消息的值。
可用来产生消息认证符的函数类型可分为如下三类
①Hash函数
②消息加密:对整个消息加密后的密文作为认证符
a.对称加密
对称密码既可提供认证又可提供保密性;但这不是绝对的,因为存在一种可能性,是对密文的篡改。
b.公钥加密:具有机密性 A->B: E(KUb,M)
可提供保密性(仅B能解密),但不能提供认证,即不能保证真实性
c.公钥加密:认证和签名 A->B: E(KRa,M)
提供认证和签名(仅有A可加密,需要某种结构和冗余,任何一方均能验证签名)
d.公钥加密:机密性,可认证和签名 A->B: E(KUb,E(KRa, M))
可提供保密;可提供认证和签名;亦需要给明文消息添加结构特征
☞加密本身不能实现真实性认证功能
☞认证和加密的分离带来灵活性
☞加密不是认证,加密提供机密性,认证提供完整性
③消息认证码(MAC)
(2)消息认证和加密的解决方案
①先Hash再加密
对于M首先使用Hash进行计算h=H(M),然后将消息和Hash值一起加密E(K,(M || h))
②先认证(MAC)再加密,SSL/TLS使用
使用两个密钥。首先通过计算MAC值T=MAC(K1, M)对明文进行认证,然后将消息和MAC一起加密:E(K2, (M || T))
③先加密再认证(MAC),IPsec使用
使用两个密钥。首先加密消息得到密文C=E (K2, M),然后通过计算MAC值T=MAC(K1, C),并考查(C, T)对明文进行认证。
④加密并且认证(MAC),SSH使用
加密消息得到密文C=E (K2, M);然后通过计算MAC值T=MAC(K1, C),并考查(C, T)对明文进行认证。这两个步骤的先后顺序可以交换
四、数字签名技术
15. 什么是数字签名?数字签名的作用是什么?常见的数字签名算法有哪些?如何理解RSA私钥加密实现数字签名?(P301)
(1)数字签名是一种以电子形式存在于数据信息之中的,或作为其附件或逻辑上有联系的数据,可用于辨别数据签署人的身份,并表名签署人对数据信息中包含的信息的认可技术
(2)数字签名有以下特征:
①它必须能验证签名者,签名日期和时间;
②它必须能认证被签的消息内容;
③签名应能由第三方仲裁,以解决争执
因此,数字签名具有认证功能
(3)常见的数字签名算法
DSA算法
ECDSA算法(椭圆曲线数字签名算法)
RSA-PSS数字签名算法
(4)发送方使用私钥加密后,接收方用公钥解密得到信息,能用发送方的公钥解密必定是用的发送方的私钥加密,便可以进行身份确认实现数字签名。
五、密钥分配和管理技术
16. 对称密钥的分发方式有哪些(如何实现)?(P319)
(1)分发方式
①A选择一个密钥后以物理的方式传递给B
②第三方选择密钥后物理地传递给A和B
③如果A和B先前或最近使用过一个密钥,则一方可以将新密钥用旧密钥加密后发送给另一方
④如果A和B到第三方C有加密连接,C可以在加密连接上传送密钥给A和B
(2)实现方法:
①A向KDC(密钥分发中心)发送包请求一个会话密钥来保护到B的逻辑连接安全,其中包括A、B的身份和该次传输的唯一标识N1,称为临时交互号
②KDC返回的信息是用Ka加密的,因此只有A能读取该信息,并且A知道该信息是由KDC发来的。该信息中包括一次性回话密钥Ks和临时交互号。A可以知道该信息是否被更改过。还包括一次性会话密钥Ks和A的标识Ida。后面这两个消息由密钥Kb加密,发送给B以达到建立连接和检验A的身份。
③A保存会话的密钥Ks,将E(Kb,[Ks||Ida])发送给B。
④B使用全新的会话密钥Ks加密临时交互号N2并将结果发送给A
⑤同样,A使用Ks加密f(N2)后发送给B,其中f是一个执行N2转换的函数
注:实际的密钥分发方案只包括①到③,③到⑤是执行认证功能
17. 什么是公钥证书?如何生成?(P329)CA的作用包括哪些?PKI包括哪些关键元素?(P337)
(1)公钥证书,通常简称为证书,是一种数字签名的声明,它将公钥的值绑定到持有对应私钥的个人、设备或服务的身份。通信双方使用证书来交换密钥,证书包含公钥和公钥拥有者的标识,整个数据块由可信任的第三方签名。
(2)一个用户以一种安全的方式将他的公钥交给管理员,从而获得一个证书,接着用户就可以公开证书。任何需要该用户公钥的人都可以获得证书,并通过查看附带的可信签名来验证证书的有效性。
(3)CA(Certificate Authority)是数字证书认证中心的简称,是指发放、管理、废除数字证书的机构。CA的作用是检查证书持有者身份的合法性,并签发证书(在证书上签字),以防证书被伪造或篡改,以及对证书和密钥进行管理。
(4)公钥基础设施(Public Key Infrastructure,简称PKI),是由公开密钥密码技术、数字证书、证书认证中心和关于公开密钥的安全策略等基本成分共同组成,管理密钥和证书的系统或平台。
PKI的元素有
①端实体:是必备的元素,它可以是一个终端用户、设备(比如应用服务器、路由器等),或是其他可以在一个公钥数字证书作用范围中被认证的实体。终端实体支持PKI相关的设备。
②签证机构(CA):是证书和证书撤销列表(CRL)的发行人,常常在其上运行着一个或多个注册机构( RA),同时它还承担一些管理任务。
③注册机构(RA):是可选的元素,可以承担一些签证机构(CA)的管理任务。一般来说都是和端实体的注册进程相关的任务,也可以支持一些其他的管理任务。
④证书撤销列表(CRL)发布点:是可选的元素,签证机构可以通过它来发布证书撤销列表(CRL)。
⑤证书存取库:是必备的元素,它提供了存取数字证书和证书撤销列表( CRL)的方法,可以被终端用户检索。
六、身份认证技术
17. 什么是身份认证?身份认证的原理是什么?身份认证的常用工具有哪四种?(P343)
(1)用户向计算机系统以一种安全的方式提交自己的身份证明,然后由系统确认用户的身份是否属实,最终拒绝用户或者赋予用户一定的权限
(2)认证原理
鉴定阶段:给安全系统提供身份标志(身份标志要认真分配,因为身份标志是其他安全服务的基础,如访问控制服务)
核实阶段:提供或者产生可以证实实体和标志之间对应关系的认证信息
(3)认证身份的四个常用工具
知道什么:口令、个人身份号(PIN码)或者之前准备问题的答案
拥有什么:加密密钥、电子密钥卡、智能卡和物理密钥,这种类型的认证信息称为令牌
静态生物特征:如指纹、视网膜和脸
动态生物特征:如声音模式、手写特征和打字节奏
18. 认证中如何抗重放?(P343)
(1)不常用:防止重放攻击的方法是为每一个用于认证交互的消息附上一个序列号,新的消息只有其序列号满足适当的顺序时才会被接收。
(2)常用:
① 时间戳:只有当消息中包含一个时间戳时,A才会接收该消息。
② 挑战/应答:A想要一个来自B的新消息,首先发给B一个临时交互号(询问),并要求后面从B收到的消息(回复)包含正确的临时交互号值
19. 简述基于挑战应答的身份认证方式?(P343)
A想要一个来自B的新消息,首先发给B一个临时交互号(询问),并要求后面从B收到的消息(回复)包含正确的临时交互号值
—相当于双方先握手
—不适用于无连接的服务
20. Kerberos v4认证系统是如何实现的?(?)
七、访问控制和审计技术
21. 什么是访问控制?访问控制策略的类型主要有哪些?访问控制常见的实现方法有哪些?(PPT2-5访问控制P4)
(1)访问控制是在身份认证基础上,依据授权对提出的资源访问请求加以控制。即已授权的用户、程序、进程或计算机网络中的其他系统访问本系统资源的过程
(2)访问控制策略一般分为
自主访问控制
强制访问控制
基于角色的访问控制
(3)访问控制常见的实现方法
①一般实现机制:
基于访问控制属性——访问控制表/矩阵
基于用户和资源分档(“安全标签”)——多级访问控制
②常见实现方法访问控制矩阵
访问控制表(ACL)
访问能力表(Capabilities)
授权关系表
22. 什么是审计?审计有哪些作用?(PPT2-5访问控制P25)
(1)审计:根据一定的策略通过记录、分析历史操作事件发现和改进系统性能和安全
(2)审计作用:
对潜在的攻击者起到震摄或警告
对于已经发生的系统破坏行为,提供有效的追纠证据
为系统管理员提供有价值的系统使用日志,从而帮助系统管理员及时发现系统入侵行为或潜在的系统漏洞
八、网络安全与Internet安全
23. 基于wireshark的数据包捕获结果分析。
24. 常见的网络攻击有哪些?(PPT4-1网络安全概述P2)
ARP欺骗、源路由攻击、TCP序列号攻击、DNS欺骗、DDoS攻击等
25. 按照协议分层,各层安全网络协议有哪些?(PPT4-1网络安全概述P45)
26. 建立在传输层之上的安全协议有哪些?(P397)
SSL/TLS(安全套接层):包括SSL记录协议、SSL握手协议、SSL修改密码规范协议、SSL警报协议
TLS(传输层安全):用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成,TLS记录协议和TLS握手协议
HTTPS:指结合HTTP和SSL来实现Web浏览器和Web服务器之间的安全通信
SSH:建立在应用层和传输层基础上的安全协议,包括传输层协议、用户认证协议、连接协议
27. Web安全威胁有哪些?(P396)
(1)按威胁位置分类(浏览器、服务器及二者之间的网络通信)
| 威胁 | 后果 | 对策 | |
| 完整性 | 修改数据 | 消息丢失 | 加密的校检和 |
| 木马浏览器 | 客户端机器受控 | ||
| 内存修改 | 易受所有其他威胁的攻击 | ||
| 修改传送中的数据 | |||
| 保密性 | 窃听 | 信息失窃 | 加密、Web代理 |
| 窃取服务器端和浏览器端数据,及二者通信内容 | 秘密失窃 | ||
| 窃取网络配置信息 | |||
| 拒绝服务 | 破坏用户线程 | 中断 | 难以防范和终止 |
| 用假消息溢出服务器 | 干扰 | ||
| 填满硬盘和内存 | 阻止正常工作 | ||
| 使用DNS攻击来孤立服务器 | |||
| 认证 | 伪装成合法用户 | 用户错误 | 加密技术 |
| 伪造数据 | 相信虚假信息 |
28. SSL/TLS提供哪些服务?SSL/TLS协议层次实现?
其他:
29. 基于openssl的程序设计实验的代码分析。
九、信息安全评测与管理(该部分作为了解部分)
30. 美国可信计算机系统评价标准TCSEC分为哪几大类和级别?
31. 国际信息安全管理标准包括哪些?
32. 我国信息安全法规包括哪些?
