学习笔记网络安全基础知识总结

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=Dk1
  • D:解密变换, D k = E k − 1 D_k=E_k^-1 Dk=Ek1

对称密码体制非对称密码体制: 前者加密密钥和解密密钥相同,开放性差,后者加密密钥和解密密钥不同,开放性好。

序列密码(流密码): 加密密文不仅与给定密码算法和密钥有关,同时也与明文位置有关。加密以明文比特为单位。
分组密码: 加密密文只与给定密码算法和密钥有关。
其他加密体制有确定型密码体制概率密码体制

  • 确定型:明文密钥确定,密文唯一确定。
  • 明文密钥确定,密文通过客观随机因素从一个密文集合中产生,密文形式不确定。

以及单向函数型密码体制双向变换型密码体制

  • 单向函数型密码体制:适用于不需要解密的场合,如哈希函数(可以用作判断是否被篡改)。
  • 双向变换型密码体制:可以进行可逆加密、解密变换。

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=Ri1;Ri=Li1F(Ki,Ri1)

Feistel加密器设计原则:

  • 分组长度越长越安全,但同时加解密速度越低,64位是很好的折中。
  • 密钥长度越长越好,但是加解密速度会降低,128位常用。
  • 迭代次数越多越好,通常16次。
  • 解密算法以密文为输入,以相反的次序使用密钥。

1.4.1 数据加密标准DES

DES的基本结构。

DES加密过程:

DES的一轮迭代过程:

对每个过程的详解如下:

  • IP置换:目的是将输入的64位数据按位重新组合,并把输出分为L0、R0两部分,每部分各长32位。

  • 扩充置换:将32位的 R i − 1 R_i-1 Ri1扩充成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 Li1 R i − 1 R_i-1 Ri1变换后的结果进行异或,得到 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,0r<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 ramodq。若整数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) ab(modn)看做a与b的二元关系,则它是一个等价关系,即满足:

  • 自反性: a ≡ a   ( m o d   n ) a\\equiv a \\, (mod\\, n) aa(modn)
  • 对等性:如果a mod n = b mod n,则 b ≡ a   ( m o d   n ) b\\equiv a \\, (mod\\, n) ba(modn)
  • 对称性:若 a ≡ b   ( m o d   n ) a\\equiv b \\, (mod\\, n) ab(modn),则 b ≡ a   ( m o d   n ) b\\equiv a \\, (mod\\, n) ba(modn)
  • 传递性:若 a ≡ b   ( m o d   n ) a\\equiv b \\, (mod\\, n) ab(modn) b ≡ c   ( m o d   n ) b\\equiv c \\, (mod\\, n) bc(modn),则 a ≡ c   ( m o d   n ) a\\equiv c \\, (mod\\, n) ac(modn)

定理(消去律): 对于 a b ≡ a c   ( m o d   m ) ab\\equiv ac \\, (mod\\, m) abac(modm),若gcd(a,m)=1,则 b ≡ c   ( m o d   n ) b\\equiv c \\, (mod\\, n) bc(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

以上是关于学习笔记网络安全基础知识总结的主要内容,如果未能解决你的问题,请参考以下文章

浅谈基本的网络安全

我是土堆 - Pytorch教程 知识点 学习总结笔记

Linux运维学习笔记-网络技术知识体系总结

《Web安全渗透全套教程(40集)》学习笔记 | SQL注入攻击及防御

算法学习笔记--余数定理

2018-2019-1 20165327 《信息安全系统设计基础》第二周学习总结