先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注网络安全)
正文
4.物联网安全是指物联网环境下的网络安全,是指物联网系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,物联网系统连续可靠正常地运行,网络服务不中断。
5.物联网安全形态的3个要素:传感器、传输系统(泛在网)以及处理系统。
6.物联网的设计原则:在满足业务功能需求基础上尽可能地确保信息安全,保护用户隐私,定制适度的安全策略。物联网的发展需要全面考虑安全因素,设计并建立相对完善的安全机制,在考虑物联网的各种安全要素时,保护强度和特定业务需求之间需要折中。
7.物联网安全与互联网安全、信息安全的关系:
- 物联网安全和互联网安全的关系体现在以下几点:
①物联网安全不是全新的概念;
②物联网安全比互联网安全多了感知层;
③传统互联网的安全机制可以应用到物联网;
④物联网安全比互联网安全更复杂。
⑤物联网以互联网为基础实现了多角度的拓展,物联网安全相对互联网安全也覆盖了更丰富的内容,在广泛性、复杂性、非对称性和轻量级等方面表现出不同的特点。
- 信息安全的目标就是要达成信息的安全性,确保其安全属性不受破坏; 物联网安全的目标则是达成物联网中的信息安全性,确保物联网能够按需地为获得授权的合法用户提供及时、可靠、安全的信息服务。
- 物联网安全包含于信息安全之中,是信息安全的重要组成部分。
8.解决物联网安全的总体思路是技术与管理并重。
9.物联网安全技术体系的两个方面:①纵深防御体系;②横向防御体系。
第三章 物联网安全的密码
1.密码系统的5要素:①明文;②密文;③密钥;④加密算法;⑤解密算法。
2.密码系统的分类:
(1)根据密码算法所用的密钥数量:①对称加密;②非对称加密。
对称加密的特点:①加密算法与解密算法所使用的密钥相同,或者能由其中的任意一个推导出另外一个;②相较于非对称加密,速度快,但安全性低;③不能用于数字签名;④密钥管理困难、复杂。
非对称加密的特点:①加密算法与解密算法所使用的密钥不同,并且由加密密钥不能推导出解密密钥,每个用户都有一对选定的密钥——公钥和私钥;②相较于对称加密,速度慢,安全性高;③可以用于数字签名。
(2)根据对明文信息的处理方式:①分组密码;②序列密码。
分组密码:将明文按照固定大小进行分组,对每一个分组进行加密,产生密文。常用的分组密码有:DES、3DES、AES、IDEA等。
序列密码:逐位或逐字节进行加密,产生密文。常用的序列密码有:A5、SEAL和RC系列密码等。
3.常见的分组密码工作模式有电码本模式ECB、密文分组链接模式CBC、密文反馈模式CFB、输出反馈模式OFB、计数器模式CTR五种。
(1)ECB: 明文消息被分成固定大小的块(分组),并且每个块被单独加密,所以每个块的加密和解密都是独立的,且使用相同的方法进行加密,可以进行并行计算。相同的明文分组会转换为相同的密文分组,也称为电子密码本模式。
(2)CBC:明文分组在加密之前一定会与“前一个密文分组”进行XOR运算,故而无法单独对一个中间的明文分组进行加密。若密文分组有一个分组损坏,只要密文分组长度不变,解密时最多只有2个分组受到数据损坏的影响(自身和下一分组);若密文分组缺失比特,导致密文分组长度发生变化,从缺失的比特位置之后的密文分组都将无法解密。
(3)CFB:上一个密文分组作为加密算法的输入,输出与明文异或作为下一个分组的密文。
(4)OFB:上一次加密的输出作为加密算法的输入,然后将明文分组与其异或产生密文分组。
(5)CTR:每个分组对应一个逐次累加的计数器,并通过对计数器进行加密来生成密钥流,然后将明文分组与密钥流进行异或运算产生密文分组。
模式 | 优点 | 缺点 |
---|---|---|
ECB模式 | 简单、快速、支持并行运算 | 明文中的重复排列反映在密文中、通过删除,替换密文分组可以对明文进行操作、对包含某些比特错误的密文进行解密时对应的分组会出错、不能抵御重放攻击 |
CBC模式 | 明文的重复排列不会反映在密文中、解密支持并行运算、能够解密出任意密文分组 | 对包含某些错误比特的密文进行解密时,第一个分组的全部比特及后一分组的相应比特会出错、加密不支持并行运算 |
CFB模式 | 不需要填充、解密支持并行运算、能够解密出任意密文分组 | 加密不支持并行运算、对包含某些错误比特的密文进行解密时,第一个分组的全部比特及后一分组的相应比特会出错、不能抵御重放攻击 |
OFB模式 | 不需要填充、可事先进行加解密的准备、加解密使用相同结构、对包含某些错误比特的密文进行解密时,只有明文中相对应的比特会出错 | 不支持并行计算、主动攻击者反转密文分组的某些比特时,明文分组对应的比特也会被反转 |
CTR模式 | 不需要填充、可事先进行加解密的准备、加解密使用相同结构、对包含某些错误比特的密文进行解密时,只有明文中相对应的比特会出错、加解密都支持并行运算 | 主动攻击者反转密文分组的某些比特时,明文分组对应的比特也会被反转 |
4.AES对称密码算法加密特征:①AES分组长度只能是128位(16字节,1字节=8位),密钥长度可使用128位、192位或256位,对应的加密轮数分别为10轮、12轮、14轮。②采用分组加密模式,以字节为单位。
5.AES对称加密算法的密钥扩展步骤:
(1)首先,将初始密钥拆分为若干个字节,每个字节称为一个“密钥字节”。
(2)然后,根据密钥字节的数量,确定需要扩展的轮数。AES-128需要10轮,AES-192需要12轮,AES-256需要14轮。
(3)接着,进行密钥扩展,生成每一轮所需的“轮密钥”。具体步骤是:
- 将密钥字节复制到“扩展密钥数组”中,作为第0轮的轮密钥。
- 对于每一轮,先从扩展密钥数组中取出前4个字节,组成一个“临时字节组”,然后对这个字节组进行操作,生成下一轮的轮密钥。
- 操作步骤包括:字节代替变换(SubBytes)、行移位变换(ShiftRows)、列混合变换(MixColumns)和密钥加(AddRoundKey)。
6.AES对称加密算法的加密步骤:
(1)首先,将明文拆分为若干个16字节的块。如果最后一个块不足16字节,则需要进行填充操作。
(2)对每个块进行加密。具体步骤是:
- 将块与第0轮的轮密钥进行异或操作。
- 进行若干轮加密变换,每一轮包括:字节代换变换(SubBytes)、行移位变换(ShiftRows)、列混合变换(MixColumns)和轮密钥加变换(AddRoundKey)。
- 最后一轮不进行列混淆变换。
- 最后,将加密后的块输出。如果还有未加密的块,继续进行加密操作。
7.SM4对称密码算法的特征:①我国自主设计的分组对称密码算法;②分组长度为128bit,密钥长度为128bit,即十六进制表示为32位,明文和密钥等长;③加密算法和密钥扩展算法都采用32轮非线性迭代结构;④加解密算法结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
8.祖冲之序列密码算法的特征:①中国自主设计的序列密码算法;②面向字的序列密码算法,采用128bit的初始密钥和128bit的初始矢量作为输入,输出以32bit的字为单位的密钥流。(每32bit为一个密钥字);③有三个逻辑层:顶层为一个包含16个单元的线性反馈移位寄存器LFSR,中间层是比特重组BR,最下层为一个非线性变换函数F。
9.非对称加密的应用:①加密通信;②数字签名;③数字证书。
10.RSA非对称加密算法的特征:①该算法的数学基础是初等数论中的欧拉定理,其安全性建立在大整数因子分解的困难性之上,利用了单向陷门函数的原理。
11.RSA非对称加密算法的密钥生成的步骤:
(1)选择两个互质的大素数p和q(保密);
(2)计算n=pq(公开);
(3)计算φ(n)=(p-1)(q-1)(保密);
(4)选择一个随机整数e(0<e<φ(n))(公开),且e与φ(n)互质;
(5)计算e对于φ(n)的模反元素d(保密),(模反元素:在这里指有一个整数d,可以使得ed÷φ(n)的余数为1);
通过以上步骤,得到公钥KU={e,n},私钥KR={d,n}。
12.任意给定正整数n,请问在小于等于n的正整数之中,有多少个与n构成互质关系?(欧拉函数)
答:
φ
(
n
)
=
n
(
1
−
1
p
1
)
(
1
−
1
p
2
)
…
(
1
−
1
p
r
)
φ(n)=n(1-\frac{1}{p_1})(1-\frac{1}{p_2})…(1-\frac{1}{p_r})
φ(n)=n(1−p11)(1−p21)…(1−pr1),其中
p
1
,
p
2
,
…
,
p
r
p_1,p_2,…,p_r
p1,p2,…,pr表示n被拆解出来的素因子,重复的素因子只取一次。如:n=8,则8=2×2×2,即
φ
(
8
)
=
8
×
(
1
−
1
2
)
=
4
φ(8)=8×(1-\frac{1}{2})=4
φ(8)=8×(1−21)=4。
13.RSA非对称加密算法的加密的步骤:计算
C
=
M
e
m
o
d
n
C=M^e mod n
C=Memodn。
RSA非对称加密算法的解密的步骤:计算
M
=
C
d
m
o
d
n
M=C^d mod n
M=Cdmodn。
例如:已知明文 M=8,e=3,n=15,采用 RSA非对称加密算法进行加密。
*解:由题设可知
C
=
M
e
m
o
d
n
=
8
3
m
o
d
15
=
2
C=M^e mod n=8^3 mod 15=2
C=Memodn=83mod15=2*.
已知密文 C=2,d=3,n=15,采用 RSA非对称解密算法进行解密。
*解:由题设可知
M
=
C
d
m
o
d
n
=
2
3
m
o
d
15
=
8
M=C^d mod n=2^3 mod 15=8
M=Cdmodn=23mod15=8*.
解密结果等于明文,加解密成功。此例中,公钥 KU={3,15},私钥 KR={3,15},(p=5,q=3)。
14.ECC公钥密码算法:①比特币和中国的二代身份证都使用了256bit的椭圆曲线密码算法。
15.SM2公钥密码算法:①以椭圆曲线及相关运算为基础;②为国家密码管理局公布的公钥算法,其加密强度为256位。
16.杂凑算法的基础是杂凑函数(或称HASH函数、散列函数),它是一种单向密码体制。其中,杂凑函数应满足以下条件:
①函数的输入可以是任意长。
②函数的输出是固定长。
③已知x,求H(x)较为容易,可用硬件或软件实现。
④已知h,求使得H(x)=h的x在计算上是不可行的,这一性质称为函数的单向性,称H(x)为单项杂凑函数。
⑤已知x,找出y,使得H(y)=H(x)在计算上是不可行的,若单项杂凑函数满足这一性质,称其为弱单项杂凑函数。
⑥找出任意两个不同的输入x、y,使得H(y)=H(x)在计算上是不可行的。若单项杂凑函数满足这一性质,称其为强单项杂凑函数。
17.SHA-1是一种数据加密算法,它可以输入最大长度为
2
64
2^{64}
264比特的消息,以512比特的数据块为处理单位,输出160bit的消息摘要。在进行散列值计算之前,先要对需要加密的数据进行预处理,分为消息填充、分割已填充消息、为散列值计算设置初始化值。
18.SM3杂凑算法是中国国家密码管理局公布的中国商用密码杂凑算法标准,适用于商用密码中的数字签名和验证、消息认证码的生成与验证、以及随机数的生成。SM3杂凑算法规定数据在内存中的表示为“左高右低”(即数的高阶字节放在存储器的低地址,数的低阶字节放在存储器的高地址)。消息分组长度为512位,摘要值长度为256位,整个算法的执行步骤大致分为四步:消息填充、消息扩展、迭代压缩、输出结果.
19.消息认证函数分为三类:
①消息加密函数:用整个消息的密文作为对消息进行认证的认证标识。
②消息认证码MAC:是以消息和密钥作为输入的公开函数,产生定长的输出,并以此输出值作为认证标识。
③杂凑函数:不需要密钥的公开函数,将任意长度的输入消息映射成一个固定长度的输出值,并以此值作为认证标识
20.基于消息认证码MAC的认证:消息被一密钥控制的公开函数作用后产生的、用作认证符的、固定长度的数值,也称为密码校验和。MAC=C(K,M),其中M是输入消息,C是MAC函数,K是共享密钥。需要通信双方A和B共享一密钥K,如果B收到的MAC与自己计算的MAC一致,则证明:①接收方相信发送方发来的消息未被篡改;②接收方相信发送方不是冒充的。
MAC有以下三种基本模式:
21.MAC函数与Hash函数(杂凑函数)的区别:MAC算法的输入包含密钥,而Hash不包含。
MAC函数与加密函数的区别:MAC算法不要求可逆,是单向函数;而加密算法必须可逆,是双向函数。
22.MAC的优点:①MAC将加密性与认证分离开来,可以满足只需要认证不需要加密的需求。同时MAC使得层次结构更加灵活,可以在传输的不同层次来分别完成加密和认证。②MAC不影响明文的读取,可以一直附在明文后面,在需要的时候灵活认证,可以延长对消息的保护时间,而不仅仅是在传输的时候。故而,上图中,b方案比C方案更好一些。
23.杂凑函数用来提供消息认证的基本使用方式(6种):
(1)消息与杂凑码连接后,用对称密码体制加密,即A→B:
E
K
[
M
∣
∣
H
(
M
)
]
E_K[M||H(M)]
EK[M∣∣H(M)] 。由于所用密钥只有双方共享,因此可保证消息的确来自A,提供了身份认证,同时由于消息和杂凑码都被加密,也提供了保密性。
(2)消息与使用对称密码体制加密后的杂凑码连接,即A→B:
M
∣
∣
E
K
[
H
(
M
)
]
M||E_K[H(M)]
M∣∣EK[H(M)]。由于消息M以明文的方式传输,因此只提供了身份认证,不提供保密性。可用于不要求保密的情况,减少处理负担。
(3)消息与使用公钥密码体制加密后的杂凑码连接,即A→B:
M
∣
∣
E
K
R
A
[
H
(
M
)
]
M||E_{KR_A}[H(M)]
M∣∣EKRA[H(M)]。由于A发送的是用A的私钥加密的杂凑码,因此提供了身份认证和数字签名的作用,但消息是以明文传输,不提供保密性。
(4)消息与使用公钥密码体制加密后的杂凑码连接,再用对称密码体制加密,即A→B:
E
K
[
M
∣
∣
E
K
R
A
[
H
(
M
)
]
]
E_K[M||E_{KR_A}[H(M)]]
EK[M∣∣EKRA[H(M)]]。由于A使用自己的私钥对杂凑码进行加密,因此提供了数字签名和身份认证的作用,然后用对称密码加密消息和加密后的杂凑码,提供了保密性。在实际中较为常见。
(5)双方共享一个秘密值S,计算消息与该秘密值连接后生成的杂凑码,再与消息连接,即A→B:
M
∣
∣
H
(
M
∣
∣
S
)
M||H(M||S)
M∣∣H(M∣∣S)。由于秘密值S只有双方知道,接收方可用发送方传输的消息M与S生成杂凑码进行对比,因此实现身份认证,但不提供保密性。这种方法可以保证攻击者无法伪造消息。
(6)双方共享一个秘密值S,计算消息与该秘密值连接后生成的杂凑码,与消息连接,再使用对称密码体制进行加密,即A→B:
E
K
[
M
∣
∣
H
(
M
∣
∣
S
)
]
E_K[M||H(M||S)]
EK[M∣∣H(M∣∣S)]。由于使用对称密码体制对消息M和杂凑码进行加密,故既实现了身份认证,又实现了保密性。
24.数字签名是由需签名的消息和签名者的私钥按特定规则计算而产生的。
25.数字签名和消息认证的区别:
①数字签名的涵盖范围大于消息认证。消息认证是确保接收方知道发送方的消息完整性,而数字签名除此之外,还可证明消息的确是由发送方发出的,提供了身份认证。
②数字签名用的是一对公私钥对(非对称密码体制),多用于一对多的场合;消息认证往往用的是同一个密钥(对称密码体制),一般在一对一场合使用。
26.DSA可以进行数字签名,但不能进行加密,因为它是单向函数。非对称密码体制都可以进行数字签名和数据加密。
27.DSA进行数字签名的过程:① 使用消息摘要算法将要发送数据加密生成信息摘要。② 发送方用自己的DSA私钥对信息摘要再加密,形成数字签名。③ 将原报文和加密后的数字签名一并通过互联网传给接收方。④接收方用发送方的公钥对数字签名进行解密,同时对收到的数据用消息摘要算法产生同一信息摘要。⑤ 将解密后的信息摘要和收到的数据在接收方重新加密产生的摘要进行比对校验,如果两者一致,则说明在传送过程中信息没有破坏和篡改;否则,则说明信息已经失去安全性和保密性。
28.DSA签名过程:
(1)选择一个素数p,两个随机数q和g,其中,q与p-1互质,
g
=
h
p
−
1
q
m
o
d
p
g=h^{\frac{p-1}{q}}mod\ p
g=hqp−1mod p,
h
∈
Z
,
1
<
h
<
p
−
1
且
(
h
p
−
1
q
m
o
d
p
)
1
h∈Z,1<h<p-1且(h^{\frac{p-1}{q}}mod\ p)>1
h∈Z,1<h<p−1且(hqp−1mod p)>1.
(2)用户私有密钥x,x∈Z且0<x<q.
(3)用户公开密钥
y
=
g
x
m
o
d
p
y=g^xmod\ p
y=gxmod p.
(4)用户随机选取k,要求0<k<q;计算
r
=
(
g
k
m
o
d
p
)
m
o
d
q
r=(g^kmod\ p)mod\ q
r=(gkmod p)mod q,
s
=
[
k
−
1
(
H
(
M
)
x
r
)
]
m
o
d
q
s=[k^{-1}(H(M)+xr)]mod\ q
s=[k−1(H(M)+xr)]mod q,其中,
k
−
1
k^{-1}
k−1表示k关于某个模数的逆元,H(M)表示明文M的hash值;
(5)最终签名(r,s),和M一起发送到验证方。
(6)接收者收到M,r,s后,先验证0<r<q,0<s<q;
(7)计算
w
=
s
−
1
m
o
d
q
w=s^{-1}mod \ q
w=s−1mod q,
u
1
=
[
H
给大家的福利
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
网络安全面试题
绿盟护网行动
还有大家最喜欢的黑客技术
网络安全源码合集+工具包
所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
表示明文M的hash值;
(5)最终签名(r,s),和M一起发送到验证方。
(6)接收者收到M,r,s后,先验证0<r<q,0<s<q;
(7)计算
w
=
s
−
1
m
o
d
q
w=s^{-1}mod \ q
w=s−1mod q,
u
1
=
[
H
给大家的福利
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
网络安全面试题
绿盟护网行动
还有大家最喜欢的黑客技术
网络安全源码合集+工具包
所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
[外链图片转存中…(img-x3ifYir9-1713193420776)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!