软考:网络安全
考点分析:上午5-6分,下午10分
高频考点:加密解密、算法、hash、数字签名、数字证书、ipsec/SSL/HTTPS
网络安全基础
网络安全威胁
窃听:搭线窃听、安装通信监视器和读取网上信息等。
假冒:当一个实体假扮另一个实体进行网络活动时就发生了假冒。
重放:重复发一送份报文或报文的一部分,以便产生一个被授权效果。
流量分析:对网上的信息流观察和分析推断出网上传输的有用信息。
数据完整性破坏:有意或无意破信息系统,或者在非授权和不能监测的方式下对数据进行修改。
拒绝服务Dos:当一个授权实体不能获得应有的对网络资源的访问。SYN-Flooding
资源的非授权使用:即与所定义的策略不一致的使用。
陷门和特洛伊木马:通过替代合法系统程序,或则在合法程序里插入恶意代码。
病毒:随着人们对计算机的依赖,计算机病毒已经构成了对计算机系统和网络严重威胁。
诽谤:利用计算机信息系统的广泛互连性和匿名性散步错误的信息,以达到诋毁某个对象的形象和知名度的目的。
网络攻击分类
被动攻击:典型代表嗅探、监听、流量分析,最难被检测,重点是预防,主要手段是加密。(主要)
主动攻击:假冒、重放、欺骗、消息篡改、拒绝服务等技术
物理临近攻击:防止外人进入机房
内部人员攻击:内鬼参透、恶意报复
分发攻击:软件开发出来在未安装之前,被篡改。
安全目标与技术
安全目标
访问控制
认证:身份认证、消息认证
完整性:确保接收到的信息与发送的信息一致
审计:不可抵赖
保密:确保敏感信息不被泄露
基本安全技术:数据加密、数字签名、身份认证、防火墙、入侵检测、内容检查
现代加密技术
私钥密码/对称密码体制
密码分为私钥和公钥密码两种,而介于私钥和公钥之间的密码称为混合密码。
私钥密码又称对称密码,该体制的特点是加密和解密使用相同的密钥。消息的收发双方必须事先通过安全渠道交换密钥。
优点:加解密速度快、密文紧凌、使用长密钥时的难破解。
缺点:密钥分配问题、密钥管理问题、无法认证源。
常见的对称密钥加密算法如下:DES、3DES、AES、RC4/5、IDEA。
对称加密算法总结
算法 | 解释 | 特点 |
DES | 数据加密标准,分组加密算法采用移位+替换,速度快,密钥易产生 | 分组长度64位,密钥长度64位,有效密钥长度是56位(考试以选56为准) |
3DES | 使用DES对明文进行“加密-解密-加密”,1、3是相同的密钥 | 密钥长度112位 |
IDEA | 国际数据加密算法,分组加密算法 | 明文、密文分组都是64位,密钥长度128位 |
AES | 高级加密标准,可以通过硬件实现,速度快,像3DES一样安全 | 分组长度128位,支持128、192、256三种密钥长度 |
RC4/5 | 流加密算法,用于WiFi,加密速度快,可达到DES的10倍 | 分组和密钥长度可变 |
公钥密码/非对称密码
公钥密码又称为非对称加密,就是对数据加密和解密的密钥是不同的
优点:密钥分发方便、密钥保管量少、支持数字签名
缺点:加密速度慢 (计算量大,不适合加密大数据)数据膨胀率高
每个实体有两个密钥:公钥公开,私钥自己保存
公钥加密,私钥解密,可实现保密通信
私钥加密,公钥解密,可实现数字签名
常见的非对称加密算法如下
RSA: 512位 (或1024位)密钥,计算量极大,难破解。
Elgamal、ECC (椭圆曲线算法)、背包算法、Rabin、DH等.
混合密码
混合密码:发送方用对称密钥加密需要发送的消息,再用接收方的公钥加密对称密钥,然后一起发送给接收方;接收方先用自己的私钥解密得到对称密钥,然后用对称密钥解密得到明文。
例:有一个明文,需要A发送给B。
第一步需要先用A的私钥(对称密钥)加密明文消息,假设A的私钥是1997。
第二步再用接收方B的公钥(非对称密钥)去加密A的私钥(对称密钥),也就是去加密1997生成一个数字信封
第三步把加密的明文消息和利用B公钥加密A私钥的数字信封一起发送给接收方B。
第四步B接收到后,用自己的私钥(非对称密钥)解密数字信封,因为数字信封是利用自己的公钥加密的,解密后会得到A的私钥1997。
第五步,用得到的1997去解密加过密的明文。
国产加密算法-SM系列
《中华人民共和国密码法》密码分为核心密码、普通密码和商用密码,实行分类管理.
核心密码、普通密码用于保护国家秘密信息,属于国家秘密,由密码管理部门依法实行严格统一管理。
商用密码用于保护不属于国家秘密的信息,公民、法人可用。
国产密码算法:是指由国家密码研究相关机构自主研发,具有相关知识产权的商用密码算法,目前已经公布的国产密码算法如下:
算法名称 | 算法特征描述 |
SM1 | 对称加密,分组长度和密钥长度都为128比特 |
SM2 | 非对称加密,用于公钥加密算法、密钥交换协议、数字签名算法 |
SM3 | 杂凑算法(哈希),分组512位,输出杂凑值长度为256位 |
SM4 | 对称算法,分组长度和密钥长度都为128比特 |
SM9 | 标识密码算法,支持公钥加密、密钥交换、数字签名等安全功能 |
Hash哈希算法
HASH函数,又称为杂凑函数、散列函数,它能够将任意长度的信息转换成固定长度的哈希值 (数字摘要),并且任意不同消息或文件所生成的哈希值是不一样的。
h表示hash函数,则h满足下列条件:
(1) h的输入可以是任意长度的消息或文件M。
(2) h的输出的长度是固定的
(3) 给定h和M,计算h (M) 是容易的
(4) 给定h的描述,找两个不同的消息M1和M2,使得h (M1) =h (M2) 是计算上不可行的.
哈希函数特性: 不可逆性 (单向)、无碰撞性 、雪崩效应
常见的Hash算法有:
(1) MD5算法: 以512位数据块为单位来处理输入,产生128位的信息摘要。常用于文件校验
(2) SHA算法: 以512位数据块为单位来处理输入,产生160位的哈希值,具有比MD5更强的安全性.
(3) SM3国产算法: 消息分组长度为512比特,输出256位摘要。
Hash哈希算法应用场景
用在文件校验上,比如银行的软件或文件,放在官网上的带有哈希值,下载下来生成的哈希对比是否一样,以防被篡改过
用于账号密码存储,由于通过哈希值是反推不出来明文是什么,但是固定的明文生成的哈希值是一样的,比如123456,所以简易的密码是可以被彩虹表攻击破解的,可以通过加上时间戳或随机数生成哈希值防范。
用于用户身份认证,比如PPP认证中的CHAP就是通过哈希对比,PPPOE服务器数据库中存有用户的账号密码,当客户端用户发起认证时,服务器会发送一个随机数给客户端,客户端用随机数+密码生成一个哈希值(HMAC)传给服务器,服务器是知道随机数的,将用户的密码取出来+随机数生成哈希值,然后和客户端发过来的哈希值对比,如果一样就证明这个用户是知道密码的避免了密码在网络中传输。
数字签名
签名方用自己的私钥进行签名,对方收到后,用签名方的公钥进行验证
数字签名算法(公钥加密算法) : RSA、Rabin、ELGamal签名体制和DSS标准
数据签名是用于确认发送者身份和消息完整性的一个加密消息摘要,具有如下特点:
数字签名是可信的。
数字签名不可伪造。
数字签名不能重新使用。
签名文件是不能改变的。
数字签名不能抵赖。
接收者能够核实发送者身份。
数字签名过程
例:
电子合同==》通过哈希生成消息摘要==》用发送者的私钥签名==》生成了代签名的电子合同。
接受者收到了带签名的电子合同,拆分两步
1.拆分出电子合同==》通过哈希生成消息摘要
2.拆分出签名==》用发送者的公钥解密==》拿到消息摘要
最后把1、2的消息摘要对比是否一样
数字证书与CA
证书里面包含认证机构、公钥、签名、签名算法等信息
证书链
如果用户数量很多,通常由多个CA,每个CA为一部分用户发行和签署证书
如果有两个CA,X1和X2,假设用户A从CA机构X1获得了证书,用户B从X2获得证书,如果两个证书发放机构X1和X2彼此间安全交换了公钥,彼此信任,那么他们的证书可以形成证书链。
A通过一个证书链来获取B的公钥,证书链表示为:X1《X2》X2《B》
B也能通过相反的证书链来获取A的公开密钥: X2《X1》X1《A》
IPsec原理
虚拟专用网基础
虚拟专用网(Virtual Private Network)
一种建立在公网上的,由某一组织或某一群用户专用的通信网络
二层: L2TP和PPTP(基于PPP)
三层:IPSec和GRE
四层: SSL/TLS
除了L2TP和GRE不加密其他都可以加密
PPP认证方式:PAP和CHAP
PAP:两次握手验证协议,口令以明文传送,被验证方首先发起气球。
CHAP:三次握手,认证过程不传送认证口令,传送HMAC散列值。
IPsec基础
IPsec是IETF定义的一组协议,用于增强网络的安全性。
提供以下安全服务:
数据完整性
认证
保密性
应用透明安全性
IPsec原理
IPSec功能分为三类: 认证头(AH) 、封装安全负荷(ESP) 、Internet密钥交换协议 (IKE)
认证头 (AH): 提供数据完整性和数据源认证,但不提供数据保密服务,实现算法有MD5、SHA。
封装安全负荷 (ESP): 提供数据加密功能,加密算法有DES、3DES、AES等
Internet密钥交换协议 (IKE) :用于生成和分发在ESP和AH中使用的密钥
IPSec协议 | 功能 | 代表协议 |
AH | 数据完整性和源认证 | MD5、SHA |
ESP | 数据加密 | DES、3DES、AES |
IKE | 密钥生成和分发 | DH |
SSL/TLS、HTTPS
HTTPS=HTTP+SSL/TLS
PGP、Kerberos(用于进行身份认证的安全协议,支持AAA:认证、授权、审计)、PKI、S/MIME
知识点较少且都是常识,每次考的的几乎都是原题不用花时间,做几套历史考卷就可以不丢分了。
防火墙/入侵检测/计算机病毒
防火墙可以实现内部网络信任网络与外部不可信任网络 (Internet)之间或是内部网络不同区域隔离与访问控制。
防火墙技术与分类: 包过滤、状态化防火墙、应用层网关、应用层检测DPI
防火墙区域划分
本地区域(local):防火墙本身
信任区域(trust):内部安全网络,如内部文件、数据库服务器
非信任区域(untrust):外部网络,互联网
军事缓冲区域(dmz):内部网络和外部网络之间的网络,常放置公共服务设备,向外提供信息服务。
安全区域 | 安全级别 | 说明 |
local | 100 | 设备本身,包括设备的的各接口本身 |
trust | 85 | 定义内网终端用户所在区域 |
dmz | 50 | 定义内网服务器所在区域 |
untrust | 5 | 定义外网/不安全的网络区域 |
入侵检测IDS
入侵检测IDS是防火墙之后的第二道安全屏障
入侵检测分类
按信息来源分:HIDS、NIDS、DIDS (主机/网络/分布式)
按响应方式分:实时检测和非实时检测
按数据分析技术和处理方式分:异常检测、误用检测和混合检测
入侵防御系统IPS
定义:入侵防御系统是一种抢先的网络安全检测和防御系统,能检测出攻击并积极响应
IPS不仅具有入侵检测系统检测攻击行为的能力,而且具有拦截攻击并阻断攻击的功能
IPS不是IDS和防火墙功能的简单组合,IPS在攻击响应上采取的是主动的全面深层次的防御
入侵防御系统IPS对比入侵检测系统IDS
部署位置不同: IPS一般串行部署,IDS一般旁路部署
入侵响应能力不同: IPS能检测入侵,并能主动防御,IDS只能检测记录日志,发出警报
计算机病毒基础
病毒:指一段可执行的程序代码,通过对其他程序进行修改,可以感染这些程序使其含有该病毒程序的一个拷贝。
病毒四个阶段:
潜伏阶段 (震网病毒)
繁殖阶段 (勒索病毒)
触发阶段 (震网病毒)
执行阶段
病毒命名规则: <病毒前缀>.<病毒名>.<病毒后缀>
历年真题
下列网络攻击行为中,属于Dos攻击的是( 1 )。
A.特洛伊木马攻击 B.SYN Flooding C.端口欺骗攻击 D.IP欺骗攻击
攻击者通过发送一个目的主机已经接收过的报文来达到攻击目的,这种攻击方式属于( 2 )攻击。
A.重放 B.拒绝服务 C.数据截获 D.数据流分析
Kerberos系统中可通过在报文中加入( 3 )来防止重放攻击。
A.会话秘钥 B.时间戳 C.用户ID D.私有秘钥
可以加入随机数和时间戳来防止
非对称加密算法中,加密和解密使用不同的密钥,下面的加密算法中( 4 )属于非对称加密算法。若甲、乙采用非对称密钥体系进行保密通信,甲用乙的公钥加密数据文件,乙使用( 5 )来对数据文件进行解密。
4:A.AES B.RSA C.IDEA D.DES
5:A.甲的公钥 B.甲的私钥 C.乙的公钥 D.乙的私钥
用公钥加密就用私钥解密、用私钥加密就用公钥解密
以下关于三重DES加密算法的描述中,正确的是( 6 )
A.三重DES加密使用两个不同秘钥进行三次加密
B.三重DES加密使用三个不同秘钥进行三次加密
C.三重DES加密的密钥长度是DES密钥长度的三倍
.D三重DES加密使用一个密钥进行三次加密
以下关于AES加密算法的描述中,错误的是( 7 )。
A.AES的分组长度可以是257比特
B.AES的密钥长度可以是128比特
C.AES所用S盒的输入为8比特
D.AES是一种确定性的加密算法
注:区分问的是分组还是密钥长度
AES是一种( 8 )。
A.公钥加密算法 B.流密码算法 C.分组加密算法 D.消息摘要算法
在我国自主研发的商用密码标准算法中,用于分组加密的是( 9 )。
PGP是一种用于电子邮件加密的工具,可提供数据加密和数字签名服务,使用( 10 )进行数据加密,使用( 11 )进行数据完整性验证。
10:A.RSA B.IDEA C.MD5 D.SHA-1
11:A.RSA B.IDEA C.MD5 D.SHA-1
数据加密那么后续肯定需要解密的,哈希算法下的MD5、SHA直接排除掉,RSA是非对称算法具有膨胀性选IDEA对称算法
MD5是( 12 )算法,对任意长度的输入计算得到结果为( 13 )位。
12:A.路由选择 B.摘要 C.共享秘钥 D.公开密钥
13:A.56 B.128 C.140 D.160
哈希算法也叫摘要算法
SHA-256是( 14 )算法。
A.加密 B.数字签名 C.认证 D.报文摘要
在安全通信中,A将发送的信息使用( 15 )进行数字签名,B收到该消息后可利用( 16 )验证该消息的真实性。
15:A.A的公钥 B.A的私钥 C.B的公钥 D.B的私钥
16:A.A的公钥 B.A的私钥 C.B的公钥 D.B的私钥
数字签名中,用谁的私钥加密就用谁的公钥解密
用户B收到经A数字签名后的消息M,为验证消息的真实性,首先需要从CA获取用户A的数字证书,该数字证书中包含( 17 ),可利用( 18 )验证该证书的真伪,然后利用( 19 )验证M的真实性。
17:A.A的公钥 B.A的私钥 C.B的公钥 D.B的私钥
18:A.CA的公钥 B.B的私钥 C.A的公钥 D.B的私钥
19:A.CA的公钥 B.B的私钥 C.A的公钥 D.B的私钥
第一空用户证书里面包含的肯定是公钥,私钥只有自己有不会发送给外人,要么用来签名
第二空验证的是证书的真伪不是用户,所以用证书机构的公钥(CA)
第三空验证的是消息的真实性,通过用户A的签名所以用A的公钥验证
用户A和B要进行安全通信,通信过程需要确认双方身份和消息不可否认。A、B通信时可使用( 20 )来对用户的身份进行认证;使用( 21 )确保消息不可否认。
20:A.数字证书 B.消息加密 C.用户私钥 D.数字签名
21:A.数字签名 B.消息加密 C.用户私钥 D.数字签名
A从证书颁发机构X1获得证书,B从证书颁发机构X2获得证书。假设使用的是X509证书,X2《X1》表示X2签署的X1的证书,A可以使用证书链来获取B的公钥,则该链的正确顺序是 ( 22 )。
A.X2 《X1》X1 《B》C.x1 《x2》X2《B》
B.X2《X1》X2 《A》D.X1 《X2》X2 《A》
答案:1.B、2.A、3.B、4.B、5.D、6.A、7.A、8.C、9.C、10.B、11.C、12.B、13.B、14.D、15.B、16.A、17.A、18.A、19.C、20.A、21.D、21.C
评论区