学习笔记网络安全基础知识总结
Posted HERODING23
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记网络安全基础知识总结相关的知识,希望对你有一定的参考价值。
网络安全基础知识总结
- 前言
- 一、网络安全概述
- 二、数论知识
- 三、网络安全进阶
- 四、学习总结
- 参考资料
前言
最近看了许多有关联邦学习、网络安全、数据加密相关的论文,其中涉及了大量数论、密码学知识,虽然两年前学习过,但是时间久远又模糊不清了,这让我在阅读过程中困惑不已,临时查阅知识又过于离散难以整合,故下定决心重新系统化学习一遍,并在博客中总结,以备日后复习方便查阅,也用于感兴趣的朋友了解相关知识,那么就让我们开始吧~
一、网络安全概述
1.1 引言
安全攻击分为主动攻击和被动攻击。
- 被动攻击包括非授权阅读消息、文件以及流量分析;
- 主动攻击包括对消息和文件的修改以及拒绝服务。
常见的被动攻击:
- 消息内容的泄露
- 流量分析
常见的主动攻击:
-
伪装
-
重放
-
拒绝服务
网络安全的实现离不开安全机制,安全机制是指用来用来检测、阻止攻击或者从攻击状态里恢复的过程,最重要的安全机制之一就是密码编码机制。
安全服务包括认证、访问控制、数据保密性、数据完整性、不可否认性以及可用性。
1.2 密码学的发展
发展:古代加密方法->古典密码->近代密码。
古典密码基于算法的保密(万变不离其宗),近代密码基于密钥的保密(密钥无穷无尽)。
编码的原则: 加密算法应建立在算法的公开不影响明文和密钥的安全性。
简单加密系统模型:
理论安全: 攻击者无论截获多少密文信息,都无法得到足够信息唯一决定明文。加密秘钥长度必须大于等于明文长度,并且一次一密,但是不实用。
实际安全: 在有限的资源范围内,攻击者都不能通过系统的分析破解系统。
密码体制作为加密系统的基本工作方式,基本要素是加密算法和密钥,并不是密文明文。
加密系统可以用数学符号描述:
S
=
P
,
C
,
K
,
E
,
D
S=P,C,K,E,D
S=P,C,K,E,D
- P:明文空间, P = D k ( C ) = D k ( E k ( P ) ) P=D_k(C)=D_k(E_k(P)) P=Dk(C)=Dk(Ek(P))
- C:密文空间, C = E k ( P ) C=E_k(P) C=Ek(P)
- K:密钥空间
- E:加密变换, E k = D k − 1 E_k=D_k^-1 Ek=Dk−1
- D:解密变换, D k = E k − 1 D_k=E_k^-1 Dk=Ek−1
对称密码体制和非对称密码体制: 前者加密密钥和解密密钥相同,开放性差,后者加密密钥和解密密钥不同,开放性好。
序列密码(流密码): 加密密文不仅与给定密码算法和密钥有关,同时也与明文位置有关。加密以明文比特为单位。
分组密码: 加密密文只与给定密码算法和密钥有关。
其他加密体制有确定型密码体制和概率密码体制。
- 确定型:明文密钥确定,密文唯一确定。
- 明文密钥确定,密文通过客观随机因素从一个密文集合中产生,密文形式不确定。
以及单向函数型密码体制和双向变换型密码体制。
- 单向函数型密码体制:适用于不需要解密的场合,如哈希函数(可以用作判断是否被篡改)。
- 双向变换型密码体制:可以进行可逆加密、解密变换。
Kerckhoff原则: 设计加密系统时,总是假定密码算法是可以公开的,需要保密的是密钥。
1.3 密码学基础
包括密码编码学和密码分析学,一个是寻找加密的方法,另一个是用作破解加密的方法。
密码编码系统分类三点依据:
- 明文转换为密文的操作类型:代换和置换。
- 使用密钥数量和方式:对称密码体制(单钥系统、秘密密钥系统)和非对称密码体制(双钥系统、公开密钥系统)。
- 明文处理方式:分组加密、流加密。
密码分析学:
- 密码分析:试图破译密文得到明文或者获取密钥的过程。
- 穷举攻击:对密文尝试所有可能的密钥,直到转换为可读的有意义的明文。至少尝试1/2可能的密钥。
对加密信息的攻击类型:
- 唯密文攻击:只知道密文进行攻击,该方法最为困难。
- 已知明文攻击:既知道明文又知道密文,该方法用于破解密钥。
- 选择明文攻击:选择明文获取密文,比已知明文攻击更强,用于攻击系统。
- 选择密文攻击:选择密文,获取对应的明文。
- 选择文本攻击:即可以选择明文也可以选择密文,获取对应的密文和明文。
Caesar密码(凯撒密码): 一种单表代换密码,过程如下图所示
对凯撒密码的攻击用穷举法的原因:
- 已知加密和解密算法。
- 密钥只有25个。
- 明文所用语言是已知的,且意义易于识别。
单表代换密码: 每个明文字母可以随机映射任意一个密文字母,有26!或大于4×1026种可能的密钥。但是! 仍然会受到穷举攻击,因为语言的规律性(由单词字母的频率判断)。
1.4 对称密码
对称算法的安全性依赖于密钥。
对称算法可分为流密码和分组密码。
许多分组密码采用Feistel结构。
Feistel 结构: 由许多相同的轮函数组成。每一轮里,对输入数据的一半进行代换,接着用一个置换来交换数据的两个部分,扩展初始的密钥使得每一轮使用不同的子密钥。
为了对付基于统计分析的密码破译,必须对明文作confusion(混淆) 和diffusion(扩散) 处理,以减少密文的统计特性,为统计分析制造障碍。
- diffusion:明文统计结构扩散消失到大批密文统计特性中,使明文和密文之间统计关系尽量复杂。
- confusion:使密文和加密密钥之间关系尽量复杂。
Feistel密码结构如下图所示,将输入分组成左右两个部分,左半部分实施多回合替换,右半部分和子密钥应用轮函数F,输出与左半做异或,并将左右两部分互换。
每一轮的加密:
L
i
=
R
i
−
1
;
R
i
=
L
i
−
1
⨁
F
(
K
i
,
R
i
−
1
)
L_i=R_i -1;R_i=L_i-1 \\bigoplus F(K_i,R_i-1)
Li=Ri−1;Ri=Li−1⨁F(Ki,Ri−1)
Feistel加密器设计原则:
- 分组长度越长越安全,但同时加解密速度越低,64位是很好的折中。
- 密钥长度越长越好,但是加解密速度会降低,128位常用。
- 迭代次数越多越好,通常16次。
- 解密算法以密文为输入,以相反的次序使用密钥。
1.4.1 数据加密标准DES
DES的基本结构。
DES加密过程:
DES的一轮迭代过程:
对每个过程的详解如下:
-
IP置换:目的是将输入的64位数据按位重新组合,并把输出分为L0、R0两部分,每部分各长32位。
-
扩充置换:将32位的 R i − 1 R_i-1 Ri−1扩充成48位,扩充置换E盒如下:
-
密钥置换:不考虑每个字节的第8位,DES的密钥由64位减至56位,每个字节的第8位作为奇偶校验位。在DES每一轮中,从56位密钥产生不同的48位子密钥(密钥等分的两部分左移得到)。
-
32位的右半扩展后与48位子密钥异或,输送到S盒中,得到32位结果。S盒有8个将6位数据映射成4位的盒子。注意每个盒子内部排列是不同的。
-
P盒置换:该置换把输入的每位映射到输出位。
-
最后, L i − 1 L_i-1 Li−1与 R i − 1 R_i-1 Ri−1变换后的结果进行异或,得到 R i R_i Ri。
DES看似破译很困难,密钥多大256之多,但在计算能力飞速发展的今天,不到10小时就可以破译。
二、数论知识
2.1 数论基础
欧几里得算法,又称辗转相除法,记为gcd(a,b),表示整数a,b的最大公因数,gcd(a,b)=gcd(b,a%b)
,最大公因数必须是正数。
模运算: 给定任意整数a和q,以q除a,余数是r,则可以表示为
a
=
s
q
+
r
,
0
≤
r
<
q
a=sq+r,0\\leq r<q
a=sq+r,0≤r<q,其中
s
=
[
a
/
q
]
s=[a/q]
s=[a/q],表示小于
a
/
q
a/q
a/q的最大整数。定义r为a mod q的剩余,记为
r
≡
a
m
o
d
q
r\\equiv a \\, mod\\, q
r≡amodq。若整数a和b有
(
a
m
o
d
q
)
=
(
b
m
o
d
q
)
(a \\, mod\\, q) =(b \\, mod\\, q)
(amodq)=(bmodq),则称a与b在mod q下同余。
若 a ≡ b ( m o d n ) a\\equiv b \\, (mod\\, n) a≡b(modn)看做a与b的二元关系,则它是一个等价关系,即满足:
- 自反性: a ≡ a ( m o d n ) a\\equiv a \\, (mod\\, n) a≡a(modn)
- 对等性:如果a mod n = b mod n,则 b ≡ a ( m o d n ) b\\equiv a \\, (mod\\, n) b≡a(modn)
- 对称性:若 a ≡ b ( m o d n ) a\\equiv b \\, (mod\\, n) a≡b(modn),则 b ≡ a ( m o d n ) b\\equiv a \\, (mod\\, n) b≡a(modn)
- 传递性:若 a ≡ b ( m o d n ) a\\equiv b \\, (mod\\, n) a≡b(modn), b ≡ c ( m o d n ) b\\equiv c \\, (mod\\, n) b≡c(modn),则 a ≡ c ( m o d n ) a\\equiv c \\, (mod\\, n) a≡c(modn)
定理(消去律): 对于
a
b
≡
a
c
(
m
o
d
m
)
ab\\equiv ac \\, (mod\\, m)
ab≡ac(modm),若gcd(a,m)=1,则
b
≡
c
(
m
o
d
n
)
b\\equiv c \\, (mod\\, n)
b≡c(modn)。
原因: 模m的乘法运算返回的结果是0到m-1之间的数,如果乘数a和模数m有除1以外的共同因子时将不会产生完整的余数集合。
2.2 有限域
结构代数: 从公理系统出发研究特定的代数系统,群、环、域等。
2.2.1 群
群
群的概念简而言之就是一个集合及定义在该集合上的二元运算,满足四条要求:
- 封闭性:对于所有集合中的a,b,运算结果a·b也在该集合中。
- 结合性:对于集合中a,b,c,等式
(a•b)•c=a•(b•c)
成立。 - 单位元:存在集合中的元素e,是的对于所有集合中的元素a,等式
e•a=a•e
成立。 - 逆元:对于每个集合中的a,存在元素b使得
a•b=b•e=e
,e是单位元。
交换群
又称阿贝尔群,在群的基础上,满足:
- 交换律:对于G中任意的元素a, b,都有
a•b=b•a
成立。
循环群
若由群G的一个生成元素g的幂次构成G群,即G=e,g,g2 ,…, gn则称G为循环群。元素g称为G的生成元素。 e=g0。
至于有限群和无限群,取决于群中的元素是否有限,此处不提。
2.2.2 环
环R, 由R, +, x表示, 是具有加法和乘法两个二元运算的元素的集合,对于环中的所有a, b, c, 都服从以下公理:
- 单位元是0,a的逆元是-a。
- 乘法封闭性:a和b属于R,则ab属于R。
- 乘法结合律:对于R中任意a, b, c有a(bc)=(ab)c。
- 乘法结合律: a(b+c)=ab+ac or (a+b)c=ac+bc
- 乘法交换律:ab=ba,交换环。
- 乘法单位元:R中存在元素1使得所有a1=1a。
- 无零因子:R中有a,b且ab=0,则a=0或者b=0。
满足交换律的是交换环,满足最后两条的是整环。
2.2.3 域
域F, 可以记为F, +, x, 是有加法和乘法的两个二元运算的元素的集合,对于F中的任意元素a, b, c, 满足以下公理:
- F是一个整环。
- 乘法逆元,对于F中任意元素a(除0之外),F中都存在一个元素a-1,使得aa-1=a-1a=1。
有理数集合、实数集合和复数集合都是域,整数集合不是域,因为除了1和-1有乘法逆元,其他元素都没有。
2.3 数论入门
入门部分的关键知识点包括:素数,费马定理和欧拉定理,离散对数。
2.3.1 素数
素数的因子是1和其自身。 以上是关于学习笔记网络安全基础知识总结的主要内容,如果未能解决你的问题,请参考以下文章
算数基本定理: 任意整数a>1
都可以唯一地因子分解为
a
=
p
1
a
1