2020软考-信息安全工程师第二版学习总结一
2020软考 信息安全工程师(第二版)学习总结【一】
第一章 网络信息安全概述
网络信息安全基本属性
- 机密性 : 不被泄露
- 完整性 : 不被篡改
- 可用性
- 抗抵赖性
- 可控性
网络信息安全现状与问题
- 网络信息安全状况:环境/攻击类型复杂,APT常态化
- 网络信息安全问题:十二方面
网络信息安全基本功能
- 网络信息安全防御
- 网络信息安全监测
- 网络信息安全应急
- 网络信息安全恢复
网络信息安全基本技术需求
- 物理环境安全:环境、设备、存储介质安全
- 网络信息安全认证:实现网络资源访问控制的前提和依据
- 网络信息访问控制:有效保护网络管理对象
- 网络信息安全保密:目的就是防止非授权用户访问
- 网络信息安全漏洞扫描
- 恶意代码防护: 病毒、蠕虫、特洛伊木马
- 网络信息内容安全:数据符合法律法规要求
- 网络信息安全检测与预警
- 网络信息安全应急响应
网络信息安全管理内容与方法
- 网络信息安全管理目标: 通过适当的安全防范措施,以保障网络的运行安全和信息安全,满足网上业务开展的安全要求
- 管理对象:主要包括网络设备、网络通信协议、网络操作系统、网络服务、安全网络管理等 所有支持网络系统运行的软、硬件总和
- 管理要素:由 网络管理对象、网络威胁、网络脆弱性、网络风险、网络保护措施 组成
- 管理依据:网络安全法律法律、相关政策文件,国内主要依据《网络安全法》、《密码法》、GB17859、GB/T22080、等保
- 管理方法:风险管理、等级保护、纵深防御、层次化保护、应急响应以及PDCA(Plan-Do-Check-Act)方法
- 管理流程:
- 管理工具:网络安全管理平台(SOC)、IT资产管理系统、网络安全态势感知系统、网络安全漏洞扫描器、网络安全协议分析器、上网行为管理
网络信息安全法律与政策文件
- 国家网络空间安全战略
- 网络信息安全基本法律:《国家安全法》
- 网络安全等级保护: 定级、备案、建设整改、等级测评、运营维护
- 国家密码管理制度
- 网络产品和服务审查:机构– 中国网络安全审查技术与认证中心(CCRC)
- 互联网域名安全管理:政府网站域名正常访问很重要!
- 工业控制信息安全制度
- 个人信息和重要数据保护制度
- 网络安全标准规范与测评: 全国信息安全标准化技术委员会
- 网络安全事件与应急响应制度: 国家互联网应急中心(CNCERT)
网络信息安全科技信息获取
- 安全会议:“四大”顶级学术会议
- 安全期刊
- 安全网站
- 安全术语
第二章 网络攻击原理与常用方法
网络攻击概述
- 网络攻击概念:损害网络系统安全属性的危害行为
- 信息泄露攻击
- 完整性破坏攻击
- 拒绝服务攻击
- 非法使用攻击
- 模型
- 攻击树模型:起源于故障树分析法
- MITRE ATT&CK模型:根据真实的网络攻击数据提炼形成矩阵攻击模型
- 网络杀伤链(Kill Chain)模型:7个阶段
- 发展演变
- 网络攻击工具智能化、自动化
- 网络攻击者群体普适化
- 网络攻击目标多样化和隐蔽性
- 网络攻击计算资源获取方便
- 网络攻击活动持续性强化
- 网络攻击速度加快
- 网络攻击影响扩大
- 网络攻击主体组织化
网络攻击的一般过程
- 隐藏攻击源:隐藏黑客主机位置使其无法追踪
- 收集攻击目标信息:收集目标系统资产
- 挖掘漏洞信息:提取可使用的漏洞信息
- 获取目标访问权限:getshell,获取普通或特权账户的权限
- 隐蔽攻击行为:隐蔽在目标系统中的操作
- 实施攻击:进行破坏活动
- 开辟后门:留后门持续控制目标系统
- 清除攻击痕迹:避免安全管理员的发现
网络攻击常见技术方法
- 端口扫描:基于TCP/UDP协议进行不同类型的扫描
- 完全连接
- 半连接
- SYN扫描
- ID头信息扫描
- SYN|ACK扫描
- 隐蔽扫描
- FIN扫描
- ACK扫描
- NULL扫描
- 口令破解
- 缓冲区溢出
- 恶意代码:计算机病毒、网络蠕虫、特洛伊木马、后门、僵尸网络
- 拒绝服务:SYN Flood、UDP Flood、Smurf攻击、垃圾邮件等
- 网络钓鱼
- 网络窃听
- SQL注入
- 社交工程:社交软件中泄露个人隐私信息
- 电子监听
- 会话劫持:TCP会话劫持
- 漏洞扫描:web漏扫
- 代理技术:使用代理服务器隐藏攻击者
- 数据加密:攻击数据进行加密
黑客常用工具
- 扫描器:nmap、Nessus、AWVS、xray、goby
- 远程监控:冰河、网络精灵、Netcat
- 密码破解:John the Ripper(Linux系统弱口令)、LOphtCrack (Windows)
- 网络嗅探:Wireshark、Tcpdump
- 安全渗透工具箱:Metaspolit、kali
网络攻击案例
- DDos攻击
- W32.Blaster.Worm:DCOM RPC漏洞传播的网络蠕虫
- 乌克兰停电事件
第三章 密码学基本理论
密码学概况
- 密码学发展简况
密码学是研究信息安全保护的科学,以实现信息的保密性、完整性、可用性及抗抵赖性。
密码学主要由密码编码和密码分析两个部分组成。密码编码学研究信息等变换处理以实现信息等安全保护,密码分析学研究通过密文获取对应的明文信息。 简单来说就是密码编码研究加密技术,密码分析研究如何破解密码。
2005年4月1日 《中华人民共和国电子签名法》
2006公布我国商用密码
2019年 《中华人民共和国密码法》草案发布
- 密码学基本概念
密码系统(Crypto system)由以下五个部分组成
明文空间 M:需要采用密码技术进行保护的消息
密文空间 C:用密码技术处理过的明文的结果
密钥空间 K:K=<
K e K_e
K
e
,
K d K_d
K
d
,每个K由加密密钥
K e K_e
K
e
和解密密钥
K d K_d
K
d
组成
加密算法 E:将明文变换成密文所使用的组操作运算规则
解密算法 D:将密文恢复成明文所使用的组操作运算规则
- 密码安全性分析
唯密文攻击: 密码分析者只拥有一个或多个用同一个密钥加密的密文
已知明文攻击: 密码分析者进知道当前密钥下的一些明文及所对应的密文
选择明文攻击: 密码分析者能够得到当前密钥下自己选定的明文对应的密文
密文验证攻击: 密码分析者可以判断任何选定的密文的“合法性”
选择密文攻击: 密码分析者能够得到任何选定的密文所对应的明文
密码体制分类
显然,若
K d
K e K_d=K_e
K
d
=
K
e
,称为 单密钥密码体制 或者 对称密码体制 或者 传统密码体制 。否则为 双密钥体制 ,进而,若
K d K_d
K
d
不能由
K e K_e
K
e
推出,就可将
K e K_e
K
e
公开且不会损害
K d K_d
K
d
的安全,这种密码体制称为 公开密钥密码体制 ,简称 公钥密码体制
对称密码体制
对称密码体制(私钥密码体制) :对信息进行明/密文变换时,加解和解密使用相同密钥的密码体制
安全性依赖于:
1、加密算法的安全性
2、密钥的秘密性
优点:效率高,算法简单,加密速度快,适合大量数量的加密
缺点:
消息的发送者和接收者必须事先通过安全渠道交换密钥
n个使用者,就需要
n ( n − 1 ) / 2 n(n-1)/2
n
(
n
−
1
)
/
2 个密钥,密钥管理困难
无法认证消息源,无法进行数字签名
用途:信息量大的加密需求
典型代表算法:DES算法、IDEA算法、AES算法等
非对称密码体制
非对称密码体制(公钥密码体制) :对信息进行明/密文变换时,加密和解密密钥不相同的密码体制。
在非对称密码体制中,每个用户都具有一对密钥,一个用于加密,一个用于解密,其中加密密钥可以公开,称之为公钥,解密密钥属于秘密,称之为私钥,只有用户本人知道。
优点:
- 密钥分发方便
- 密钥保管量少
- 支持数字签名
缺点:实现速度慢,不适合信息量大的加密情况
用途:适用于加密关键性的、核心的机密数据
代表算法:RSA算法、ElGamal算法、椭圆曲线加密算法
混合加密体制
混合加密体制 :同时使用对称密码和非对称密码的体制。
对称加密的一个很大问题就是通信双方如何将密钥传输给对方,安全起见一般采取带外传输,也就是说如果加密通信是在网络,那么密钥的传输需要通过其他途径,如短信,即使如此,也很难保证密钥传输的安全性。再就是为了安全密钥也应该定期更换,这更加重了密钥分发和管理的难度。
而非对称加密加解最大的优点是事先不需要传输密钥,但速度慢。
因此实际应用中,经常采取混合密码体制。
假设Harden与James要实现保密通信,工作过程如下:
1、消息发送者Harden用 对称密钥 把需要发送的消息加密
2、Harden用 James的公钥 将 对称密钥 加密,形成数字信封
3、Harden将加密消息和数字信封一起传送给James
4、James收到Harden的加密消息和数字信封后,先用 自己的私钥 将数字信封解开获取 对称密钥
5、James使用 对称密钥 把加密消息解开
常用密码算法
DES
DES(Data Encryption Standard)是数据加密标准的简称, 支持64位的明文加密,密钥长度为56位 。随着科技发展,DES被攻破,使用TDEA作为过渡算法,并开始征集AES算法
IDEA
IDEA(International Data Encryption Algorithm)是国际数据加密算法的简记,是一个分组加密处理算法。 其明文和密文分组都是64位,密钥长度128位
AES
1997年美国国家标准技术研究所(NIST)发起征集AES(Advanced Encryption Standard)算法的活动,成立AES小组
RSA
相关数学基础
欧拉函数:对于一个正整数n,小于n且与n互素的正整数的个数,记为φ(n)。
对于一个素数n,可知φ(n) = n-1 对于两个素数p和q,它们的乘积满足n = p * q,则可知φ(n) = (p-1) * (q-1)
欧几里得算法:gcd(a,b)表示a和b的最大公约数
gcd(a,b) = 1,表示a,b最大公约数为1,说明a和b互质
同余:
两个整数a,b,若它们除以整数m所得的余数相等,则称a与b对于模m同余,或a同余b模m,记作
a ≡ b ( m o d m ) a \equiv b(mod;m)
a
≡
b
(
m
o
d
m
)
RSA密码体制参数的定义
随机选择两个大素数p和q (保密)
计算n = p * q (n公开)
计算φ(n) = (p-1) * (q-1) (φ(n)保密)
随机选取一个正整数e,且满足1 < e < φ(n),并且gcd(e,φ(n)) = 1 (e公开)
根据
e ∗ d
1 m o d φ ( n ) e*d=1;mod;φ(n)
e
∗
d
=
1
m
o
d
φ
(
n
) ,求出d (d保密)
加密运算
C
M e m o d n C=M^e;mod;n
C
=
M
e
m
o
d
n 解密运算
M
C d m o d n M=C^d;mod;n
M
=
C
d
m
o
d
n
RSA密码公开的加密钥
K e K_e
K
e
=<n,e>,保密的解密钥
K d K_d
K
d
=<p,q,d,φ(n)>
RSA密码的特点
- RSA算法具有加解密算法的可逆性,加密和解密运算可交换,可同时确保数据的秘密性和数据的真实性
- RSA密码的核心运算是模幂运算,实现效率高
RSA密码的安全性
- 保证选取的素数p和q足够大,使得给定n的情况下分解n在计算上不可行,应采用足够大的整数n,一般n至少取1024位,通常是2048位
国产密码算法
国产密码算法是指由国家密码研究相关机构自主研发,具有相关知识产权的商用密码算法。目前已公布的国产密码算法如下图
Hash函数与数字签名
Hash函数
散列函数 也称为Hash函数,它能够对不同长度的输入信息,产生固定长度的输出。
固定长度的输出称为原消息的散列或者 消息摘要 ,消息摘要长度固定且比原始信息小得多,一般情况下,消息摘要是不可逆的,即从消息摘要无法还原原文。
令h表示Hash函数,h满足下列条件:
1、输入长度是任意的,输出是固定的
2、对每一个给定的h和M,计算h(M)是容易的
3、给定h,找到两个不同的M1、M2,使得h(M1)=h(M2)在计算上不可行
常见的散列算法:、MD5、SHA、SM3、SHA-1
Hash算法
算法名称 | 算法特征描述 |
---|---|
MD5算法 | 输入512位,产生128位消息摘要(哈希值),常用于文件完整性检查 |
SHA算法 | 输入512位,产生160位消息摘要,比MD5更安全,已有版本SHA-2,SHA-3 |
SM3国产算法 | 输入512位,产生256位消息摘要 |
数字签名
数字签名是指发送方以电子形式签名一个消息或文件,签名后的消息或文件能在网络中传输,并表示签名人对该消息或文件的内容负有责任。
数字签名综合使用了 消息摘要 和 非对称加密 技术。
数字签名满足以下三个条件:
1、不可抵赖。签名者事后不能否认自己的签名
2、真实性。接收者能验证签名,其他任何人都不能伪造签名
3、可鉴别性。当双方关于签名真伪发生争执,第三方能解决双方的争执
假设Harden需要签名发送一份电子合同文件给James。
Harden数字签名的示意图:
1、Harden使用Hash函数将电子合同文件生成一个消息摘要
2、Harden使用自己的私钥,将消息摘要加密形成一个数字签名
3、Harden把电子合同文件和数字签名一同发送给James
James收到Harden发送的电子合同文件及数字签名后,验证数字签名过程如下:
1、James使用与Harden相同的Hash函数,计算收到的电子合同的消息摘要
2、James使用Harden的公钥,解密来自Harden的数字签名,恢复Harden的消息摘要
3、James比较自己计算得到的消息摘要和恢复Harden的消息摘要异同,若摘要相同,则说明电子合同文件来自Harden,否则表明电子合同文件已被篡改
密码管理与数字证书
密码管理
- 密钥管理:围绕密钥的生命周期进行
- 密钥生成
- 密钥存储
- 密钥分发
- 密钥使用
- 密钥更新
- 密钥撤销
- 密钥备份
- 密钥恢复
- 密钥销毁
- 密钥审计
- 密码管理政策
- 《商用密码管理条例》
- 《中华人民共和国密码法》
- 密码测评
- 设立商用密码检测中心对密码产品进行安全评估
- 密钥管理:围绕密钥的生命周期进行
数字证书
数字证书也称为公钥证书,是一种权威的电子文档,由证书认证机构(CA)签名的包含公开密钥拥有者信息、公开密钥、签发者信息、有效期以及扩展信息的一种数据结构。
数字证书的格式按照《信息安全技术 公钥基础设施 数字证书格式》要求:
CA提供数字证书的 申请、审核、签发、查询、发布以及证书吊销 等全生命周期的管理服务
数字证书认证系统主要由目录服务器、OCSP服务器、注册服务器、签发服务器组成
数字证书种类:
- 按类别
- 个人证书
- 机构证书
- 设备证书
- 按用途
- 签名证书:用于证明签名公钥的数字证书
- 加密证书:用于证明加密公钥的数字证书
- 按类别
安全协议
Diffie-Hellman密钥交换协议
一种共享秘密的方案,简称Diffie-Hellman密钥交换协议,基于求解离散对数问题的困难性,对于下述等式
c d
M m o d P c^d=M;mod;P
c
d
=
M
m
o
d
P
操作步骤:
A与B确定一个素数p和整数a,并使a是p的原根,a,p可公开
A秘密选取整数
a A a_A
a
A
,计算
y A
a a A m o d ( p ) y_A=a^{a_A};mod;(p)
y
A
=
a
a
A
m
o
d
(
p
) ,并把
y A y_A
y
A
发送给B
B密码选取整数
a B a_B
a
B
,计算
y B
a a B m o d ( p ) y_B=a^{a_B}mod(p)
y
B
=
a
a
B
m
o
d
(
p
) ,并把
y B y_B
y
B
发送给A,
y A y_A
y
A
和
y B y_B
y
B
即公开值
A和B双方分别计算出共享密钥K,即
A:
K
( y B ) a A m o d p K=(y_B)^{a_A};mod;p
K
=
(
y
B
)
a
A
m
o
d
p
B:
K
( y A ) a B m o d p K=(y_A)^{a_B};mod;p
K
=
(
y
A
)
a
B
m
o
d
p
即A的K与B的K是相同的,推导如下图,就实现了密钥的交换
SSH
SSH是Secure Shell的缩写,基于公钥的安全应用协议。
组成: SSH传输层协议、SSH用户认证协议和SSH连接协议 三个子协议。
- SSH传输层协议:提供算法协商和密钥交换。实现服务器认证,形成加密全连接
- SSH用户认证协议:利用传输层的服务建立连接,使用多种认证机制认证用户
- SSH连接协议:利用已建立的认证连接,将其分解为多种不同的并发逻辑通道,支持注册会话隧道和TCP转发。
SSH工作机制7个步骤:
认证服务器的公钥真实性:
- 随身携带含有服务器公钥的拷贝,进行密钥交换前,读入客户端
- 从公开信道下载公钥和指纹,通过电话验证公钥指纹的真实性,用HASH软件生成公钥指纹,进行比较
- 通过PKI技术来验证服务器