密码编码学与网络安全期末总结(一)

来源:互联网 发布:阿里云怎么收费标准 编辑:程序博客网 时间:2024/05/16 04:52

1、安全基本目标有哪些?其含义分别是什么?(P7)
1)保密性:对信息的访问和公开进行授权限制,包括保护个人隐私和秘密信息。保密性缺失的定义是信息的非授权泄露;
2)完整性:防止对信息的不恰当修改或破坏,包括确保信息的不可否认性和真实性。完整性缺失的定义是对信息的非授权修改和毁坏;
3)可用性:确保对信息的及时和可靠的访问与使用。可用性的缺失是对信息和信息系统访问与使用的中断。

尽管CIA三元组足以定义安全目标,但是许多从事安全领域研究的人认为还需要其他概念来定义才更全面。下面是其中两个被提及较多的概念:
真实性:一个实体是真实性的、是可被验证的和可被信任的特性;对传输信息来说,信息和信息的来源是正确的。也就是说,能够验证那个用户是否是他声称的那个人,以及系统的每个输入是否均来自可信任的信源。
可追溯性:这一安全目标要求实体的行为可以唯一追溯到该实体。这一属性支持不可否认性、阻止、故障隔离、入侵检测和预防、事后恢复、以及法律诉讼。

2、 OSI安全框架定义了哪三个方面?(P9)其中安全攻击被分成哪两个类别,有什么特点?分别有哪些实例?(P10)

(1)OSI安全框架可以简短地定义如下:
①安全攻击:任何危及信息系统安全的行为;
②安全机制:用来检测、阻止攻击或者从攻击状态恢复到正常状态的过程(或实现该过程的设备)
③安全服务:加强数据处理系统和信息传输的安全性的一种处理过程或通信服务。其目的在于利用一种或多种安全机制进行反攻击

(2)安全攻击被分为被动攻击和主动攻击两种
被动攻击的特点:对传输进行窃听和监测,攻击者的目标是获得传输的信息,难以检测,但可以防止。
实例:信息内容的泄露、流量分析。
主动攻击:包括对数据流进行修改或伪造数据流,难以绝对预防,但容易监测
实例:伪装、重播、消息修改、拒绝服务

3、 现代密码算法主要包括哪两种?其中对称密码算法按照对明文的处理方式不同可以分成哪两类?常见的对称密码算法有哪些?基本的参数 (明密文分组长度,密钥长度) ?公钥密码有哪些算法,主要的应用是什么?(见书197)
(1)现代密码算法:对称密码算法、公钥密码算法
(2)分组密码和流密码
(3)DES和AES
(4)这里写图片描述
(5)这里写图片描述
(6)①加密/解密:发送方用接收方的公钥对消息进行加密
②数字签名:发送方用其私钥对消息“签名”。签名可以通过对整条消息加密或者对消息的一个小的数据块加密来产生,其中该小数据块是整条消息的函数
③密钥交换:通信双方交换会话密钥。有几种不同的方法可以用于密钥交换,这些方法都使用了通信一方或双方的私钥

4、分组密码的工作方式有哪些?(P135-143)
(1)电码本模式
(2)密文分组链接模式
(3)密文反馈模式
(4)输出反馈模式
(5)计数器模式
(6)用于面向分组的存储设备的XTS-AES模式

5、 公钥算法安全性的数学基础有哪些?(P61)
素数、费马定理、欧拉定理、素性测试、中国剩余定理、离散对数

6、什么是消息认证?如何实现消息认证(或消息认证函数的实现方式)?(P272)
(1)消息认证就是验证所收到的消息确实是来自真正的发送方,且是未被修改的消息。它也饿验证消息的顺序和及时性。

(2)①Hash函数:将任意长的消息映射为定长的Hash值的函数以该Hash值作为认证符
②消息加密:对整个消息加密后的密文作为认证符

7、 散列函数(就是哈希函数)可被应用于哪些方面?(P239)密码学散列函数需哪些安全性需求?(P245)常见的散列函数有哪些?(P251)基本参数(输入、输出长度、安全性等)?什么是生日攻击?
(1)消息认证、数字签名、其他应用(产生单向口令文件、入侵检测和病毒检测、构建随机函数(PRF)或用作伪随机数发生器(PRNG))。
(2)①输入长度可变:函数H可应用与任意大小的数据块
②输出长度固定:H产生定长的输出
③效率:对任意给定的x,计算H(x)比较容易,用硬件和软件均可实现
④抗原像攻击(单向性):对任意给定的Hash码h,找到满足H(y)的y在计算上是不可行的
⑤抗第二原像攻击(抗弱碰撞性):对任何给定的分块x,找到满足y!=x且H(x) = H(y)的y在计算上是不可行的
⑥ 抗碰撞攻击(抗强碰撞性):找到任何满足H(x) = H(y)的偶对(x,y)在计算上是不可行的
⑦伪随机性:H的输出满足伪随机性测试标准
前三个是Hash函数实际应用的需求
满足前五个称为弱哈希函数

(4) 常见的散列函数:SHA-512、SHA-3

(5)
(6) 生日攻击:
利用“两个集合相交”问题的原理生成散列函数碰撞,达到目的的攻击称为生日攻击,也称为平方根攻击。
它依赖于Hash值的长度。只要Hash码较短(如不超过64位)或Hash码很长但可以分解为独立的子码,就存在有生日攻击。

8、消息认证码(密码校验或MAC)的实现方式有哪两种?常见的算法有哪些?
(1)基于Hash函数的MAC、基于分组密码的MAC
(2)基于Hash函数的MAC:HMAC算法
基于分组密码的MAC:DAA(数据认证算法)和CMAC(基于密码的消息认证码)
9、什么是数字签名?数字签名的作用是什么?常见的数字签名算法有哪些?如何理解RSA私钥加密实现数字签名?
(1)数字签名是一种以电子形式存在于数据信息之中的,或作为其附件或逻辑上有联系的数据,可用于辨别数据签署人的身份,并表名签署人对数据信息中包含的信息的认可技术
(2)数字签名有以下特征:
①它必须能验证签名者,签名日期和时间;
②它必须能认证被签的消息内容;
③签名应能由第三方仲裁,以解决争执
因此,数字签名具有认证功能
(3)DSA算法
ECDSA算法(椭圆曲线数字签名算法)
RSA-PSS数字签名算法
(4)发送方使用私钥加密后,接收方用公钥解密得到信息,能用发送方的公钥解密必定是用的发送方的私钥加密,便可以进行身份确认实现数字签名。

10、 对称密钥的分发方式有哪些(如何实现)?
(1)A选择一个密钥后以物理的方式传递给B
(2)第三方选择密钥后物理地传递给A和B
(3)如果A和B先前或最近使用过一个密钥,则一方可以将新密钥用旧密钥加密后发送给另一方
(4)如果A和B到第三方C有加密连接,C可以在加密连接上传送密钥给A和B
实现方法:
(1)A向KDC(密钥分发中心)发送包请求一个会话密钥来保护到B的逻辑连接安全,其中包括A、B的身份和该次传输的唯一标识N1,称为临时交互号
(2)KDC返回的信息是用Ka加密的,因此只有A能读取该信息,并且A知道该信息是由KDC发来的。该信息中包括一次性回话密钥Ks和临时交互号。A可以知道该信息是否被更改过。还包括一次性会话密钥Ks和A的标识Ida。后面这两个消息由密钥Kb加密,发送给B以达到建立连接和检验A的身份。
(3)A保存会话的密钥Ks,将E(Kb,[Ks||Ida])发送给B。
(4)B使用全新的会话密钥Ks加密临时交互号N2并将结果发送给A
(5)同样,A使用Ks加密f(N2)后发送给B,其中f是一个执行N2转换的函数
注:实际的密钥分发方案只包括(1)到(3),(3)到(5)是执行认证功能
11、 什么是公钥证书?如何生成?CA的作用包括哪些?PKI包括哪些关键元素?
(1)公钥证书,通常简称为证书,是一种数字签名的声明,它将公钥的值绑定到持有对应私钥的个人、设备或服务的身份。通信双方使用证书来交换密钥,证书包含公钥和公钥拥有者的标识,整个数据块由可信任的第三方签名。
(2)一个用户把它的公钥交给管理员,从而获得一个证书,接着用户就可以公开证书,任何需要知道该用户公钥的人都可以获得证书。
(3)CA(签证机构):是证书和证书撤销列表的发行人
CA可以创建、发放证书,只有CA可以修改证书,证书使用CA私钥进行加密以签名,某些时候CA还会撤销证书。
(4) PKI是Public Key Infrastructure的首字母缩写,翻译过来就是公钥基础设施;PKI是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范

① 端实体:是必备的元素,它可以是一个终端用户、设备(服务器、路由器等),或是其他可以、在一个公钥数字证书作用范围中被认证的实体。终端实体支持PKI相关的设备。
② 签证机构(CA):是证书和证书撤销列表(CRL)的发行人,常常在运行着一个或多个注册机构(RA),同时它还承担着一些管理任务。
③ 注册机构(RA):是可选的元素,可以承担一些签证机构的管理任务
④ 证书撤销列表(CRL)发布点:是可选的元素,CA通过它来发布证书撤销列表
⑤ 证书存取库:是必备的元素,提供了存取数字证书和证书撤销列表的方法,可以被终端用户检索

12、身份认证的目的是什么?如何实现身份认证?认证中如何抗重放?(P342)
(1)在大多数的计算机安全环境中,用户认证是最基本也是最重要的一道防线,用户认证是访问控制以及用户承担责任的基础。(身份鉴定是指用户提供一个声明的身份给系统,用户认证是使得声明有效的一种方式。)
(2)鉴定阶段:给安全系统提供身份标志;
核实阶段:提供或者产生可以证实实体和标志之间对应关系的认证信息。包括:
①知道什么:口令、个人身份号或之前准备问题的答案
②拥有什么:加密密钥、电子密钥卡、智能卡和物理密钥 ——令牌
③静态生物特征:指纹、视网膜、脸
④动态生物特征:声音模式、手写特征、打字节奏
(3)(不常用)为每一个用于认证交互的消息附上一个序列号,新的消息只有其序列号满足适当的顺序时才会被接收。
(常用)
① 时间戳:消息中包含时间戳时,A才会接收该消息。
② 挑战/应答:A想要接收B的消息,首先发给B一个临时交互号,并要求后面从B收 到的消息包含正确的临时交互号的值

13、从浏览器、web服务器和传输信道的角度分析Web安全威胁有哪些?(P395)

14、建立在传输层之上的安全协议有哪些?
SSL(安全套接层): 位于TCP、IP协议与各种应用层协议之间,为数据通讯提供安全支持。包括SSL记录协议、SSL握手协议、SSL修改密码规范协议、SSL警报协议。
TLS(安全传输层协议):在两个通信应用程序之间提供保密性和数据完整性。分为TSL记录协议和TLS握手协议。
HTTPS
SSH(安全外壳协议): 保障网络通信安全。包括传输层协议、用户认证协议、连接协议

15、电子邮件面临的主要威胁有哪些?PGP是如何实现的?根据PGP设计一种报文安全交换方案,要求机密性、完整性和不可抵赖性。
主要威胁:
①电子邮件容易被截获、偷听或篡改;
②通过电子邮件传播病毒和木马程序;
③垃圾邮件,诈骗邮件,邮件炸弹;
(④技术风险因素:基础网络和重要信息系统安全防护能力不强;失泄密隐患严重;
⑤人为恶意攻击;
⑥信息安全管理薄弱。)

PGP实现:PGP的实际操作由4类服务组成:认证、保密、压缩和邮件兼容性
认证:通过数字签名(SHA-1和RSA结合),过程如下:
①发送方生成消息;
②用SHA-1算法生成消息的160位Hash码;
③用发送方的私钥按RSA算法加密该Hash码并将结果预先加入到消息中
④接收方用发送的公钥按RSA算法解密消息恢复Hash码
⑤接受方对该消息用相同的Hash函数生成新的Hash码,并比较该Hash码与解密得到的Hash码,如果两者吻合则该消息位可信的。
保密:通过对传输的消息或本地存储的文件进行加密。过程如下:
①发送者生成消息和仅用于加密该消息的会话密钥,该会话密钥位128位随机自然数
②采用CAST-128(或IDEA或3DES)算法,使用该会话密钥加密消息
③采用RSA算法,用接受者的公开密钥加密该会话密钥并预先发送给对方
④接受者采用RSA算法,用自己的密钥解密并恢复会话密钥
⑤用会话密钥解密消息
压缩:默认情况下,PGP在对消息签名和加密前对消息进行压缩,便于存储、传输
邮件兼容性:为电子邮件应用程序提供透明性

设计方案:
发送方发送Eks(M||ERa(H(M)))|| EUb(Eks),发方通过私钥签名消息的认证码,实现对消息完整性和自己身份的证明,并将结果与M一起用会话密钥Eks加密,在将Eks用收方公钥加密。实现消息和密钥的保密性。
接收方私钥机密DRb(EUb(Eks))获得ks,然后使用ks解密,Dks(Eks(M||ERa(H(M)))),获得M||ERa(H(M)),然后计算H(M),并与DUa(ERa(H(M))解密后的H(M),对比验证消息完整性。