广工《物联网信息安全》复习提纲文档格式.docx
《广工《物联网信息安全》复习提纲文档格式.docx》由会员分享,可在线阅读,更多相关《广工《物联网信息安全》复习提纲文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
来自的不明“共享软件”或网页脚本
(5)口令攻击和拒绝服务
弱口令
3、网络安全威胁的类型有哪些?
P9
(1)窃听或者嗅探
(2)假冒(3)重放(4)流量分析(5)破坏完整性(6)拒绝服务
(7)资源非授权使用(8)特洛伊木马(9)病毒(10)诽谤
4、什么是安全服务?
-认证、访问控制、数据机密性、数据完整性和非否认(不可抵赖)服务。
(1)数据机密性:
采用加密手段保护用户数据。
(2)数据的完整性:
确保接收的数据与授权实体发送的数据一致(即不会发生更改、插入、删除或者重放)。
(3)身份认证服务:
确保某个实体身份的可靠性。
(4)访问控制服务:
预防XX就使用资源。
这种服务用来控制谁可以访问资源,在什么条件下可以发生访问以及可以对资源的哪些方面进行访问。
(5)非否认服务(不可否认性):
针对否认操作提供保护,通过在通信中参与全部或者部分通信的一个实体来实现。
源非否认服务:
证明消息是由特定一方发送的。
目的非否认服务:
证明消息是由特定一方接收的。
(二)对称加密与信息机密性。
约15%
1、对称加密的原理。
P35
·
明文():
原始的消息或者数据,用作算法的输入。
加密算法():
加密算法对明文进行各种取代和变换。
密钥():
密钥也用作算法的输入。
算法所执行的精确的取代和变换依赖于密钥。
密文():
这是作为输出的已经加密了的消息。
它依赖于明文和密钥。
对于一个给定的消息,两个不同的密钥将会产生两个不同的密文。
解密算法():
事实上,它是加密算法的反向运行。
它以密文和同一个密钥作为输入并且产生原始的明文。
可靠地使用对称加密需要做到以下两点:
1)我们需要一个强大的加密算法。
该算法至少能够做到在对手知道加密算法并且获得了一个或多个密文的情况下,也不能解密密文或者算出密钥。
2)发送方和接收方必须采用安全的方式获得密钥的副本,并且必须保证密钥的安全。
对称加密的安全性取决于密钥的机密性而非算法的保密性。
2、熟练掌握古典密码中的替代密码和置换密码,参考课堂举例。
3、掌握密码结构,以及影响密码体系的各个参数。
参考老师的中算法的特征和步骤,不用记忆具体的P盒和S盒内容,但要掌握的算法流程。
P45/53-66
密码结构
:
对右半部分数据实施循环函数F(通过循环子密钥),然后将函数的输出结果与数据的左半部分进行异或()操作。
网络的精确实现取决于对下列参数和设计特征的选择:
1)块大小():
通用值64位
2)密钥大小():
通用值128位
3)循环次数():
典型值16次
4)子密钥产生算法()
5)循环函数()
密码设计中还需要考虑的因素:
1)快速软件加密/解密
2)分析的容易性
4、密码块操作模式有哪几种?
(计算公式或者图形)P69
(1)最简单的实现方法是电子密码本(,)模式,每次处理明文的64位,而且使用同一个密钥对明文的每一块进行加密。
(2)密码分组链接模式():
在(,密码分组链接)模式中,加密算法的输入是当前明文块与前一个明文块异或操作的结果;
每个数据块使用同一个密钥。
为每个明文块向加密函数输入的数据与该明文块没有固定的关系。
因此,这种模式不会暴露出64位的重复块。
[1⊕]
[][(1⊕)]
[]=(1⊕)
1⊕[]=1⊕1⊕
(3)密文反馈模式():
通过使用(,密文反馈)模式,可以将任何块密码转换成流密码。
流密码不需要将消息填充为完整数目的数据块。
模式还能进行实时操作。
因此,如果传输字符流,就可以使用面向字符的流密码立即对每一个字符进行加密和解密。
下图描述了方案。
在图中假定传输的单元是s位,s的常用值为8。
与一样,将明文单元链接在一起,明文单元的任何密文就都是它前面所有明文的函数。
模式的解密过程:
(4)输出反馈模式():
加密:
解密:
5、3与算法的区别。
P67
3:
3使用三个密钥并且执行三次算法。
加密—解密—加密
加密操作:
3[2[1[P]]]
3的密钥长度为168位。
若允许K13,则密钥长度为112位。
解密操作:
1[2[3[C]]]
:
56位密钥,就有256种可能的密钥,大概是7.2×
1016个密钥。
假设每微秒搜索一次加密,需要运行1000年。
(三)单向散列函数与消息认证。
1、单向散列函数需要满足哪些特性?
P97
函数接受大小可变的消息M作为输入,并产生一个固定大小的消息摘要H(M)()作为输出。
函数H必须满足下列性质:
(1)H能够应用于任何大小的数据块。
(2)H产生固定长度的输出。
(3)对于任何给定的数据块x,H都能够相对容易地计算出H(x),这样就使得硬件和软件实现变得切实可行。
(4)对于任何给定的值h来说,寻找满足H(x)的数据块x,在计算上是不可行的。
有时称这种性质为单向()性质。
(5)对于任何给定的数据块x来说,寻找满足H(y)(x)且y¹
x的数据块y,在计算上是不可行的。
有时称这种性质为弱碰撞抵抗()。
(保证了对于给定消息,不可能找到具有相同值的可替换消息。
)
(6)寻找满足H(y)(x)的(x,y)对,在计算上是不可行的。
有时称这种性质为强碰撞抵抗()。
2、1算法的步骤和参数。
(5、2与1类似)P103
此算法以最大长度小于264位的消息作为输入,产生160-位消息摘要的输出。
以512-位数据块为单位处理输入。
步骤1:
附加填充位。
对消息进行填充使它的长度模512后所得的值为448(长度=448512)。
附加填充总是要进行的,即使消息的长度满足所要求的长度。
填充的形式是单个1,随后紧跟着所需数目的0。
步骤2:
消息长度。
向消息附加一个64位的数据块。
将这个数据块看作无符号的64位整数来处理,并且该数据块包含了原始消息的长度(在填充之前的消息长度)。
步骤3:
初始化缓冲器。
使用160位缓冲器来存放函数的中间和最终结果。
可用5个32位的寄存器(A、B、C、D、E)来表示:
0x67452301;
089;
0x98;
0x10325476;
03D2E1F0
步骤4:
以512位(16字)数据块为单位处理消息。
包括4次循环,每次循环又包括20个处理步骤。
每次循环使用不同的基本逻辑函数,称之为f1、f2、f3和f4。
每次循环也使用附加常量,其中
0≤t≤79。
每轮要进行20步迭代运算,每步迭
代可表示为:
A,B,C,D,E←(5(A)+(B,C,D)+E++),A,30(B),C,D
(其中,为缓冲区中五个字;
t为迭代次数,0≤t≤79;
为基本逻辑函数;
为循环左移s位;
为当前分组导出的32字;
为加法常量;
“+”为模232加法。
各轮使用的逻辑函数分别为:
是从512的消息分组M导出一个32字。
前16个字的值直接取当前分组中16个字的值,余下字的值定义如下:
第4次循环(第80步)的结果与第1次循环的输入()相加,产生1。
即把缓冲器中的5个字与中的相应字单独相加,使用232的加法。
步骤5:
输出。
1遇到两个具有相同消息摘要的消息的难度的操作数量为280次,而找到具有给定摘要的消息的难度的操作数量为2160次。
3、请列出实现消息认证的不同方法。
a.使用对称加密;
b.使用非对称加密;
c.使用秘密值而不使用加密。
(请参考讲义)P94书本P50
4、请画出的算法流程。
P115
函数并不依赖于密钥。
函数(例如1)不是为而设计的,并且不能直接用于此目的。
将现有的算法与密钥相组合。
得到最大支持的方法就是。
的设计目标:
1、可以不加修改地使用现有的函数2、同时考虑对嵌入函数的易取代性
将函数看作是“黑盒”。
的结构:
H:
嵌入的函数(例如1)
M:
输入的消息(包括在嵌入的函数中指定的填充)
M的第i块,0≤i≤
(1)
L:
M中的块数
b:
块中的位数
n:
嵌入函数所产生的代码的长度
K:
密钥;
如果密钥的长度大于b,那么把密钥输入到函数以产生一个位密钥;
推荐的长度要不小于n
;
在左边填充了0的K,致使结果的长度为b位
重复8次的00110110(0x36)
重复8次的01011100(0x5C)
(四)公钥密码。
1、算法和算法的过程,要计算,请带科学计算器进入考场(带有运算的)。
P130、137
公钥加密算法:
算法步骤:
1、选择两个素数p、q;
2、计算它们的乘积×
q;
3、计算欧拉函数Ф(n)=
(1)
(1);
4、选择与Ф(n)互素,并且小于Ф(n)的整数e;
5、计算d,使得d×
eФ(n)=1。
结果的密钥分别为{}和{}。
看看一个例子:
(1)选择两个素数17和11。
(2)计算×
17×
11=187。
(3)计算Ф(n)=
(1)
(1)=16×
10=160。
(4)选择与Ф(n)=160互素,并且小于Ф(n)的e,我们选择7。
(5)确定d满足l60=1并且d<
160。
正确的值23,因为23×
7=161=1×
160+1。
结果密钥为:
公钥{7,187},私钥{23,187}。
密钥交换
这个算法的目的是使得两个用户能够安全地交换密钥,并把这个密钥用在随后的消息加密中(常规加密)。
算法只能用于密钥的交换。
密钥交换的安全性在于:
计算离散对数是非常困难的。
离散对数:
1、定义素数p的本原根为其乘方能够产生从1到1的所有整数的数。
也就是说,如果a是素数p的本原根,那么下列数字:
ap,a2p,...,1p是互不相同的数,而且以某种排列包含了从1到1的所有整数。
2、对于任何小于p的整数b和素数p的本原根a来说,能够找到唯一的指数i.满足:
p其中0≤i≤
(1)
称指数i为b对于基数a和运算p的离散对数。
记为(b)。
密钥交换过程:
1)、选择共用的公有元素:
素数p及a<
p,a为p的本原根
2)、用户A密钥:
选择私有的(<
p),计算公有的,p
3)、用户B密钥:
4)、用户A和B交换公有的和
5)、由用户A产生密钥:
()p
6)、由用户B产生密钥:
例子:
1、选择素数71和本原根7。
2、A和B分别选择私钥5和12。
3、计算公钥:
7571=51
71271=4
4、A和B交换公钥各自的公钥
5、A和B各自计算公用的密钥:
()71=4571=30
()71=511271=30
2、如何使用算法分配密钥?
如何使用算法分配密钥?
P147
书P65/67/141
3、如何使用算法实现数字签名?
P141
(不考查数学证明)
(五)身份认证及其应用。
约12%
1、4消息交换的过程。
(一定要注意每个步骤的顺序和意义,请参考讲义,比课本清楚一些)P157
引入一个用于避免明文口令的方案和一个新的服务器,称为(,票据授予服务器)。
版本4认证对话:
为了解决“对手将会窃取票据并在票据过期之前使用”这个问题,我们让以安全的方式向客户机和提供一条秘密信息。
然后客户机可以再次以安全的方式来显示该秘密信息,从而向证明它的身份。
实现这个目的的一个有效的办法就是使用密钥作为安全信息,在中称之为会话密钥。
认证服务交换:
以获得票据授予票据
(1)C:
1
(2)C:
[22]
[22]
票据授予票据交换:
以获得服务授予票据
(3)C:
[22]
[3]
(4)C:
[4]
[44]
客户/服务器认证交换:
以获得服务
(5)CV:
[5]
(6)VC:
[5+1](用于相互认证)
2、设计用于解决什么问题?
P149/150
假定在一个开放的分布式环境中,工作站上的用户希望访问分布在整个网络的服务器上的服务。
希望服务器能够限制访问,确保只有授权用户才能访问服务器,并且能够认证服务请求。
提供了一个集中式认证服务器,这个认证服务器的功能就是为服务器认证用户和为用户认证服务器。
只依赖于对称加密(算法),而不使用公钥加密。
3、请说明为什么要使用公钥证书?
P143
公钥使用上的弱点:
任何人都可以伪造公共通告。
也就是说,某个用户可以假装成为用户A,并且向另一个参与者发送或者广播他的公钥。
伪造者能够阅读所有发往A的消息,并且能够利用伪造的公钥进行认证,这种情形可能很久都不会被发现。
解决方法:
使用公钥证书()
公钥证书包含公钥和公钥拥有者的用户,以及由可信的第三方署名的整个数据块。
第三方就是用户团体所信任的(,认证中心),例如政府机构和金融机构。
4、请说明公钥证书的产生过程,以及使用公钥证书的时候如何验证证书有效。
P145
5、X.509数字证书3个版本的格式分别包含哪些部分?
P168
6、什么是证书链?
P171
证书的标准符号:
<
<
A>
>
={V,,,,,A,}
其中:
Y<
X>
由认证中心Y发给用户X的证书
Y{I}:
Y对I的签名
使用其私钥签名证书。
如果用户知道相应的公钥,就能够验证所签名的证书是有效的。
假设A已经从标示为X1的处获得了证书,而B已经从标示为X2的处获得了证书。
过程:
(1)A从目录中获得由X1签名的X2的证书。
(2)然后A从目录中获得由X2签名的B的证书。
A使用了一个证书链:
X1<
X2>
X2<
B>
同样,B也使用相反的证书链来获得A的证书:
X1>
可以扩展到任意长的路径产生证书链,如:
X3>
…<
(六)安全。
1、常见的应用环境有哪些?
2、和服务的区别?
P188
用于认证的扩展头被称为认证头();
用于加密的扩展头被称为封装安全有效负载(,)头。
3、传输模式和隧道模式的主要区别是什么?
P218书本P215/223
传输模式:
(1)在源端加密包含有报尾和整个传输层数据段的数据块,之后,使用加密所得的密文替换该数据块的明文,以便形成用于传输的报文,同时,还可以加上可选的认证机制;
(2)发送给目的地址,每一个中间的路由器需要检查和处理头以及明文形式的扩展头,但是不需要对密文进行检查;
(3)目的节点检查并处理头以及明文形式的扩展头,之后,根据头中的,目的节点主机对报文的其余部分进行解密操作以恢复传输层段的明文形式。
传输模式的不足:
可能被攻击者截获用来进行流量分析。
隧道模式:
(1)源端准备一个内部报文,该报文的目的地址为内部网络的目的主机的地址;
附加一个头作为前缀,之后该报文和报尾被加密,同时也有可能会附加一些认证信息;
用一个新的头(基头、路由选项等可选的扩展、6中的逐级跳转选项)封装经过上述处理所得到的块,得到一个目的地址为防火墙的外部报文。
(2)外部报文路由到目的防火墙,每一个中间的路由器都需要检查和处理外部报文头以及外部报文扩展头,但是不需要检查密文。
(3)目的防火墙检查和处理外部头以及所有外部扩展头;
根据头的,目的节点对报文的其余部分进行解密操作以恢复明文形式的内部报文;
该内部报文可以在内部网络中传输。
(4)内部报文经过内部网络中的零个或多个路由器到达目的主机。
4、认证头的格式,以及安全封包的格式。
P199/210
认证头:
在建立一个新的安全关联之后,发送方将序号计数器清0。
之后每当发送方发送一个数据报文的时候,序号计算器加1。
在序号取值增加到232-1时,发送方终止该安全关联,之后应用新密钥与接收方协商开始一个新的安全关联。
是一种无连接的、不可靠的服务,协议不能保证所有报文按序发送,也不能保证所有报文可靠传送。
--窗口机制。
安全封包:
安全参数索引(32位):
用于和头之前的目的地址以及协议一起标识一个安全关联。
序号(32位):
与一样的计数器值,提供了抗重放功能。
有效负载数据(可变):
传输层段(传输模式)或报文(隧道模式),通过加密受到保护。
填充(0~255字节):
额外的字节。
填充长度(8位):
表示填充的字节数。
下一头(8位):
通过标识负载中的第一个头(如6中的扩展头,或之类的上层协议头)表明有效负载数据字段中数据的类型。
认证数据(可变):
长度可变的字段(为32位字的整数倍),用于填入。
的计算参量为包中除掉验证数据域的其他部分
5、认证的范围在传输模式和隧道模式中的区别。
P197
6、加密和认证的范围在传输模式和隧道模式中的区别。
7、安全组合(组合)有哪些形式?
(要会看图,课堂例子)P222
传输邻接:
这种方法对同一个报文应用多个传输模式,而不调用隧道。
隧道嵌套:
这种方法应用了通过隧道起作用的多层安全协议,方法本身考虑了多层嵌套。
另一种先加密后认证的实现方法是用两个传输安全关联构成一个安全关联束,内部是一个,外部是一个。
不足之处是两个安全关联要比一个安全关联有更大的开销。
传输-隧道束:
先认证后加密是一种更为可取的方法。
可以应用安全关联束,该安全关联束由内部的传输和外部的隧道构成。
体系结构文档给出了四种安全关联进行组合的例子。
要求适应性好的主机(工作站、服务器)和安全网关(防火墙、路由器)都必须支持这些实现。
安全关联的基本组合
(1)
所有的安全都是在实施了的终端系统之间。
安全关联的基本组合
(2)
仅在网关(路由器、防火墙)之间提供了安全,而没有主机实施。
安全关联的基本组合(3)
在第二种形式上附加了端到端的安全机制。
安全关联的基本组合(4)
支持远程用户通过到达组织的防火墙,获得防火墙后的服务器/工作站的访问权限。
在远程用户与防火墙之间只需要隧道模式。
(七)与传输层安全。
1、协议栈对应在协议中的位置。
P260
传输层
2、协议栈包含哪四种协议?
分别的作用是什么?
P266/271
(1)记录协议
记录协议为连接提供了以下两种服务:
机密性:
握手协议定义了一个共享密钥,该密钥可以用于负载的常规加密。
消息完整性:
握手协议还定义了一个用于形成消息认证码()的共享密钥。
(2)密码变更规格协议
这个协议只包含一条消息,该消息仅有一个字节,值为1。
这条消息的唯一的功能是使得延迟状态改变为当前状态。
更新了在这一连接上应用的密码机制。
(3)报警协议
报警协议用于向对等实体传送相关的报警信息。
(4)握手协议
这一协议允许客户和服务器进行相互的身份认证;
同时,客户和服务器还通过该协议进行协商,以决定在一次会话中所使用的加密算法、算法以及用于保护记录数据的加密密钥。
握手协议应该在任何实际的数据传输之前运行。
3、记录协议的操作过程。
P267
记录协议运行过程:
(1)分片:
每一个上层消息被分片为214字节(1684字节)或更小的数据块。
(2)压缩:
可选的。
如增加长度,则增加的长度不能超过1024字节。
计算消息认证码:
(2
(1))
相关说明:
=共享的密钥
=加密的算法,5或1
1=字节0x36(00110110)重复48次(384位)用于5,重复40次(320位)用于1
2=字节0x5C(01011100)重复48次用于5,重复40次用于1
=这条消息的序号
=用于处理这个分片的高层协议
=压缩后分片的长度
=压缩后的分片(如果未进行压缩,则指明文分片)
(3)加密:
对压缩后的消息和进行加密。
加密所增加的长度也不能超过1024字节。
可用流密码或块密码,应用块密码时需要进行填充。
(4)增加记录头:
记录头包含的域如下
内容类型(8位):
用于处理封装后分片的上层协议。
主要版本(8位):
应用的的主要版本,对3,该值为3。
次要版本(8位):
应用的的次要版本,对3,该值为0。
压缩后的长度(16位):
以字节计数的明文分片(如果有压缩机制则指压缩分片)的长度,最大值为214+2048。
4、握手协议的消息类型,配合一个建立客户和服务器之间逻辑连接的消息交换过程来解释。
(请参考讲义,比课本要更好理解)P276
第一阶段:
客户端发起连接
第二阶段:
服务器认证和密钥交换
服务器端发送证书、交换密钥、证书请求,最后发送阶段的结束信号
确定一些相关的参数,包括协议版本、会话、加密套件、压缩算法和初始随机数
第三阶段:
客户认证及密钥交换
第四阶段:
结束阶段
改变加密套件,结束握手协议
客户端发送证书(如果服务器端有要求)、密钥交换、证书验证
密钥交换方法:
固定:
公钥参数通过证书保护,产生固定密钥。
临时算法:
公钥参数通过证书保护,产生一次性(临时)密钥。
匿名算法:
基本方式交换,不认证。
消息:
在以下情形下需要使用
(1)匿名算法:
消息内容包括两个全局值(一个素数和该素数的一个本原根)和服务器的公共密钥。
(2)临时算法:
消息包括为匿名提供的三个参数,以及对这些参数的签名。
(3)密钥交换,其中服务器使用算法,但有一个只用于签名的密钥:
在这种情况下,客户不应该简单地发送一个用服务器公钥加密的密钥,此时,服务器必须创建一个临时的公钥/私钥对,并且使用消息发送该公钥。
消息内容包括临时公钥的两个参数(指数和模)和这些参数的签名。
5、如何计算和?
其他密钥参数又是如何计算的?
(仅考查,不考查)P283
预备主密钥()的交换有两种可能:
客户生成一个48字节的预备主密钥,之后用服务器的公共密钥对其进行加密并将其发送给服务器,服务器用私钥对密文进行解密以得到预备主密钥。
客