【软考中级】网络工程师:8.网络安全

本章考察内容比较广泛,考题对知识点都会有所涉及。

8.1 网络安全的基本概念

8.1.1 网络安全威胁的类型

  1. 窃听

这种情况发生在广播式网络系统中,每个节点都可以读取数据,实现搭线窃听、安装通信监视器和读取网上的信息等。

  1. 假冒

当一个实体假扮成另一个实体进行网络活动时就发生了假冒。

  1. 重放

重复一份报文或报文的一部分,以便产生一个被授权效果。(例:随机数和时间戳)

  1. 流量分析

对网上信息流观察和分析推断出网上传输的有用信息。(Wireshark)

  1. 数据完整性破坏

有意或无意地修改或破坏信息系统,或者在非授权和不能监测的方式下对数据进行修改。

  1. 拒绝服务DoS

当一个授权实体不能获得应有的对网络资源的访问或紧急操作被延迟时,就发生了拒绝服务。

  1. 资源的非授权使用

即与所定义的安全策略不一致的使用。

  1. 陷门和特洛伊木马

通过替换系统合法程序,或者在合法程序里插入恶意代码,以实现非授权进程,从而达到某种特定的目的。

  1. 病毒

随着人们对计算机系统和网络依赖程度的增加,计算机病毒已经构成了对计算机系统和网络的严重威胁。

  1. 诽谤

利用计算机信息系统的广泛互联性和匿名性散布错误的信息,以达到诋毁某个对象的形象和知名度的目的。

8.1.2 网络安全漏洞

  1. 物理安全性

  2. 软件安全漏洞

  3. 不兼容使用安全漏洞

  4. 选择合适的安全哲理

8.1.3 网络攻击分类

被动攻击:攻击者通过监视所有信息流以获得某些秘密,典型代表有嗅探、监听和流量分析。可以基于网络或基于系统。这是最难被检测到的一种攻击,重点是预防。主要手段是加密。

主动攻击:攻击者试图突破网络的安全防线。这种攻击涉及数据流的修改或创建错误流,主要攻击形势有假冒、重放、欺骗、消息篡改和拒绝服务等,重点是检测而不是预防。手段有防火墙、IDS等技术。

物理临近攻击:防止外人随便出入机房。
内部人员攻击:词如其名
分发攻击:在软硬件开发出来后和安装前,将其篡改。

8.1.4安全措施的目标

  1. 访问控制:确保会话双方有权限做它所声称的事情

  2. 认证:确保双方掌握的资源与声称的一致,手段有身份认证、消息认证。

  3. 完整性:确保接收到的信息和发送的信息一致。

  4. 审计:确保任何发生的交易在事后可以被证实,不可抵赖。

  5. 保密:确保敏感信息不被窃听。

8.1.5 基本安全技术

  1. 数据加密:数据加密重组数据,确保收发者才能解码还原信息。

  2. 数字签名:数字签名可以证明消息确实是由发送者签发的,并保证数据/程序的完整性。

  3. 身份认证:密码、指纹识别、IC卡等

  4. 防火墙:屏障内部网络和外部网络

  5. 内容检查

8.2 现代加密技术

8.2.1 私钥密码/对称密码体制

密码分为私钥和公钥密码两种,而介于私钥和公钥之间的密码称为混合密码。

私钥密码:又称为对称密码,该体制的特点是加密和解密使用相同的密钥,消息的收发双方必须事先通过安全渠道交换密钥。

优点:加解密速度快、密文紧凑、使用长密钥时的难破解。
缺点:密钥分配问题、密钥管理问题、无法认证源。

常见的对称密钥加密算法:DES、3DES、AES、RC4/5、IDEA。

在这里插入图片描述

8.2.2 公钥密码/非对称密码体制

公钥密码又称为非对称加密,就是对数据加密和解密的密钥是不同的。

优点:密钥分发方便、密钥保管量少、支持数字签名。

缺点:加密速度慢(计算量大,不适合加密大数据)、数据膨胀率高。

每个实体有两个密钥:公钥公开,私钥自己保存。

公钥加密,私钥解密,可实现保密通信。

私钥加密,公钥解密,可实现数字签名。

常见的非对称加密算法如下:

RSA:512位(或1024位)密钥,计算量极大,难破解。

Elgamal、ECC(椭圆曲线算法)、背包算法、Rabin、DH等。

8.4.3 混合密码

混合密码:发送方用对称密钥加密需要发送的消息,再用接收方的公钥加密对称密钥,然后一起发送给接收方,接收方先用自己的私钥解密得到对称密钥,然后用对称密钥解密得到明文。

在这里插入图片描述

8.4.4 国产加密算法-SM系列

《中华人民共和国密码法》密码分为核心密码、普通密码和商用密码,实行分类管理。

  • 核心密码、普通密码用于保护国家秘密信息,属于国家秘密,由密码管理部门依法实行严格统一管理。
  • 商用密码用于保护不属于国家秘密的信息,公民、法人可用。

国产密码算法:是指由国家密码研究相关机构自主研发,具有相关知识产权的商用密码算法,目前,已经公布的国产密码算法如下:

在这里插入图片描述

8.3 Hash加密算法

8.3.1 概述

HASH函数,又称为杂凑函数、散列函数,其能够将任意长度的信息转换成固定长度的哈希值(数字摘要),并且任意不同消息或文件所生成的哈希值是不一样的。

设h表示hash函数,则它满足下列条件:

  1. h的输入可以是任意长度的消息或文件M。
  2. h的输出的长度是固定的。
  3. 给定h和M,计算h(M)是容易的。
  4. 给定h的描述,找两个不同的消息M1和M2,使h(M1)=h(M2)是计算上不可行的。

哈希函数的特性有三:

  1. 不可逆性
  2. 无碰撞性
  3. 雪崩效应

常见的Hash算法有:

  1. MD5:以512位数据块为单位来处理输入,产生128位的信息摘要,常用于校验文件完整性。
  2. SHA:以512位数据块为单位来处理输入,产生160位的哈希值,比MD5更安全。
  3. SM3国产算法:消息分组长度为512比特,输出256位的摘要。

8.3.2 Hash算法的应用

第一种,分别对重要文件校验,使用散列函数生成散列值,由于h和M给定,所以生成的值是固定的,如果变化了就说明不一致。
在这里插入图片描述
第二种,账号密码存储。生成哈希值时不只是用密码做材料,而是加入其他信息做材料,比如时钟时间,即“盐”。

在这里插入图片描述
第三种,用户身份认证。增加一个随机数R做哈希,MAC=Hash(密码+R),需要双方预先知道R值。

MAC:消除中间人攻击,源认证+完整性校验。

在这里插入图片描述

8.4 数字签名

8.4.1 概述

签名方用自己的私钥进行签名,对方收到后,用签名方的公钥进行验证。

数字签名算法(公钥加密算法):RSA、Rabin、ELGamal签名体制和DSS标准。

数据签名是用于确认发送者身份和消息完整性的一个加密消息摘要,具有如下特点:

  1. 可信性
  2. 不可伪造性
  3. 不可重新使用性
  4. 不可改变性
  5. 不可抵赖性
  6. 接受者能够核实发送者的身份。

8.4.2 数字签名及验证过程

在这里插入图片描述

在这里插入图片描述

8.5 数字证书与CA

8.5.1 概述

我们已经知道发送方A是使用了接收方B的公钥来进行加密,那么还需要一个步骤即确定接收方的公钥有效。此处使用的手段是获取接收方B的数字证书。

数字证书由CA这个机构颁发,主要内容是证书的用户公钥,防伪手段是CA的签名。

在X.509标准中,数字证书的一般格式包含的数据域如下:

  1. 版本号
  2. 序列号
  3. 签名算法
  4. 发行者
  5. 有效期
  6. 主体名
  7. 公钥
  8. 发行者ID
  9. 主体ID
  10. 扩展域
  11. 认证机构的签名

国密算法:

在这里插入图片描述

8.5.2 PKI体系结构

PKI(Public Key Infrastructure,公钥基础设施)

组成部分:

  1. 用户/终端实体:指将要向认证中心申请数字证书的客户,可以是个人,也可以是集团或团体、某政府机构等。
  2. 注册机构RA:负责受理用户申请证书,对申请人的合法性进行认证,并决定是批准或拒绝证书申请。注册机构并不给用户签发证书。
  3. 证书颁发机构CA:负责给用户颁发、管理和撤销证书。
  4. 证书发布系统:负责证书发放,如可以通过用户自己或是通过目录服务。
  5. CRL库:证书吊销列表,存放过期或者无效证书。
证书的吊销

用序列号来识别每个证书。CRL中的数据域包括发行者CA的名称、建立CRL的日期、计划公布下一CRL的日期以及每个被吊销的证书数据域(序列号+吊销日期)。

未到截止日期被吊销的证书可能是因为用户的私钥已经泄露,或者不再由CA来认证。

8.5.3 证书链

如果用户数量很多,通常由多个CA,每个CA为一部分用户发行和签署证书。

如果有两个CA,X1和X2,假设用户A从CA机构X1获得了证书,用户B从X2获得证书,如果两个证书发放机构X1和X2彼此间安全交换了公钥,彼此信任,那么他们的证书可以形成证书链。

A通过一个证书链来获取B的公钥,证书链表示为X1《X2》X2《B》
B也能通过相反的证书链;来获取A的公开密钥:X2《X1》X1《A》

8.6 IPsec原理

8.6.1 虚拟专用网基础

虚拟专用网(Virtual Privaye Network)是一种建立在公网上的,由某一组织或某一群用户专用的通信网络,企业在构建跨境网络的时候会经常用到这种技术。电信网中的VPN一般是指X.25,帧中继或ATM虚拟专用线路。

二层:L2TP和PPTP(基于PPP)
三层:IPsec和GRE(加密IP数据报等)
四层:SSL/TLS

实现虚拟专用网关键技术:

  1. 隧道技术(Tuneling)
  2. 加解密技术(Encryption&Decryption)
  3. 密钥管理技术(Key Management)
  4. 身份认证技术(Authentication)

这种技术一般有3种解决方案:

1.内联网VPN(Intranet VPN),企业所采用的内部虚拟专用网也叫内联网。传统的LAN互联采用租用专线的方式,而这种方式实现比较昂贵,大型企业才能负担起。

在这里插入图片描述

2.外联网VPN(Extranet VPN),企业外部虚拟专用网也叫外联网VPN,实现企业-用户的互联。通过这种方式访问企业的客户资源比WEB更快。

在这里插入图片描述

3.远程接入VPN(Access VPN),省去了NAS、调制解调器、长途电话费的成本,企业人员如果有远程办公的需要,亦或者商家如果希望提供B2C的安全访问服务,可以采用这种方式。

在这里插入图片描述

8.6.2 二层技术

PPP协议

PPP协议(Point-to-Point Protocol)可以在点对点链路上传输多种上层协议的数据包。PPP是数据链路层协议,最早是替代SLIP协议用来在同步链路上封装IP数据报的,后来可以承载DECnet、Novell IPX、Apple Talk等协议的分组。PPP是一组协议,包含封装协议、链路控制协议、网络控制协议三个部分。

PPP协议包含链路控制协议LCP和网络控制协议NCP。

PPP协议可以在点对点链路上传输多种上层协议的数据包,有校验位。

在这里插入图片描述

PPP拨号过程(三个阶段):

在这里插入图片描述

1.链路建立。这个阶段可以选择数据压缩、加密等通信方式。
2.用户认证。常常使用以下两种认证协议:PAP、CHAP。

口令认证协议(Password Authentication Protocol,PAP)是一种简单的明文认证方式。

用户向NAS提供用户名和口令,如认证成功,NAS返回应答信息,可能需要重复多次。不安全。

挑战-握手验证协议(Challenge Handshake Authentication Protocol,CHAP)是一种3次握手认证协议,并不传送用户密码,而是传送由这个密码生成的散列值。首先由NAS向远端用户发送一个挑战口令,包括会话ID和一个任意的挑战字串(防止重放攻击)。

客户端返回经过MD5加密的会话ID、挑战字符串和用户口令,用户名则以明文方式发送。

在这里插入图片描述
NAS根据认证服务器中的数据对收集到的用户数据进行有效性验证,如果认证成功,NAS返回肯定应答,从此连接建立。如果认证失败,连接终止。

后续的数据传送阶段,还可能随机地进行多次认证,以减少被攻击的时间。从方向上来看,这是种单项认证,但这种认证同样可以应用在双向认证中。

3.调用网络层协议。PPP在认证阶段完成后,将调用在链路建立阶段选定的网络控制协议。

完成后,PPP开始在连接双方之间转发数据,每个被传送的数据报都被封装在PPP包头内。如果在阶段1选择了数据压缩,数据将会在被传送之前进行压缩。如选择加密,则会在传送之前加密数据。

点对点隧道协议PPTP

PPTP(Point-to-Point Tunneling Protocol)是一种第二层隧道协议,定义了由PAC和PNS组成的客户端/服务器结构,从而把NAS的功能分解给这两个逻辑设备,从而支持虚拟专用网。

PAC:PPTP接入集中器(PPTP Access Concentrator,PAC)可以连接一或多条PSTN或ISDN拨号线路,能够进行PPP操作,并且能处理PPTP协议。它可以与一个或多个PNS实现TCP/IP通信,或者通过隧道传送其他协议的数据。

PNS:PPTP网络服务器(PPTP Network Server,PNS)是建立在通用服务器平台上的PPTP服务器,运行TCP/IP协议,可以使用任何LAN和WAN接口硬件实现。

PPP分组必须先经过GRE封装后才能在PAC-PNS之间的隧道中传送。GRE(Generic Routing Encapsulation)是在一种网络层协议上封装另外一种网络层协议的协议。其特点有封装数据经过加密处理,外部设备不能探测其中内容。

在这里插入图片描述
其中RRAS相当于PAC/PNS,PPP桩则是经过加密的PPP头,负载数据在本地和远程LAN中都是通过IP协议明文传送的,只有在VPN中进行了加密和封装。

PPTP协议的分组头:

在这里插入图片描述

第2层隧道协议

第2层隧道协议(Layer 2 Tunneling Protocol,L2TP)用于把各种拨号服务集成到ISP(互联网服务供应商,Internet Service Provider)的服务提供点。L2TP扩展了PPP模型,允许第二层连接端点和PPP会话端点驻在由分组交换网连接的不同设备中。

L2TP报文分为控制报文和数据报文,控制报文用于建立、维护和释放隧道和呼叫;数据报文用于封装PPP帧,以便在隧道中传送。控制报文使用了可靠的控制信道以保证提交,数据报文被丢失后不再重传。L2TP的分组头结构如图:

在这里插入图片描述
在这里插入图片描述
在IP网上使用UDP和一系列的L2TP消息对隧道进行维护,同时使用UDP将L2TP封装的PPP帧通过隧道发送,可以对封装的PPP帧中的负载数据进行加密或压缩。

图为传输之前组装一个L2TP数据报:

在这里插入图片描述

PPTP与L2TP的比较

小结:PPTP与L2TP都使用PPP协议对数据进行封装,然后添加附加包头用于数据在互联网络上的传输。

他们的不同点有下:

  1. PPTP要求使用IP网络,L2TP可以使用IP/PVCs/X.25虚电路(VCs)或ATM网络上使用。
  2. PPTP只能在两端点间建立单一隧道,L2TP支持在两端点间使用多个隧道。使用L2TP时用户可以创建不同的隧道。
  3. L2TP可以提供包头压缩,压缩时系统开销占用4字节,PPTP则占用6个。
  4. L2TP可以提供隧道验证,PPTP不支持隧道验证。但当他们与IPsec同时使用时,则可以由IPsec提供隧道验证。由此不需要第二层协议上(PPTP/L2TP)验证隧道。

8.7.3 IPSec

IPsec(IPsecurity)是IETF定义的一组用于加强IP网络的安全性的协议。它具有以下特点:

  1. 数据完整性(Data Integrity),防止未授权地操作数据。
  2. 认证(Authentication)保证接发的数据相同,保证实际发送者与声称一致。
  3. 保密性(Confidentiality),只有预定的接收者知悉内容。
  4. 应用透明的安全性(Application-transparent Security),IPsec的安全头插入在标准的IP头和上层协议(类如TCP)之间,任何网络服务和网络应用都可以不经修改地从标准IP转向IPSec,同时,IPSec通信也可以透明地通过现有的IP路由器。
功能

IPSec的功能可以划分为3部分:

  1. 认证头(Authentication Header,AH):用于数据完整性认证和数据源认证。但不提供数据保密服务,实现算法有MD5、SHA。
  2. 封装安全负荷(Encapsulating Security Payload,ESP):提供数据保密性和数据完整性认证,ESP也包括了防止重放攻击的顺序号。加密算法有DES、3DES、AES等。
  3. Internet密钥交换协议(Internet Key Exchange,IKE):用于生成和分发在ESP和AH中使用的密钥,IKE也对远程系统进行初始认证。代表协议有DH。
认证头

IPSec认证头支持HMAC-SHA1和HMAC-MD5两种认证算法,前者有128位密钥,而后者有160位密钥。

IPSec支持两种模式:传输模式和隧道模式,传输模式中,IPSec认证头插入原来的IP头之后,IP数据和IP头用来计算AH认证值。IP头中的变化字段(如跳步计数和TTL字段)在计算之前置为0,所以变化字段实际上没有被认证。

在这里插入图片描述

在隧道模式中,IPSec用新的IP头封装了原来的IP数据报(包括原来的IP头),原来IP数据报的所有字段都经过了认证。

在这里插入图片描述

封装安全负荷

IPSec封装安全负荷提供了数据加密功能,ESP利用对称密钥对IP数据(例如TCP包)进行加密,支持3种加密算法:

  1. DES-CBC(Data Encryption Standard Cipher Block Chaining Mode):56位密钥。
  2. 3DES-CBC(三重DES CBC):56位密钥。
  3. AES128-CBC(Advanced Encryption Standard CBC):128位密钥。

在传输模式IP头没有加密,只对IP数据进行了加密。

在这里插入图片描述
在隧道模式,IPSec对原来的IP数据报进行了封装和加密,加上了新的IP头,如果ESP用在网关中,外层的未加密头包含网关的IP地址,而内层加密了的IP头包含真实的源和目标地址,这样可以防止偷听者分析源和目标之间的通信量。

带认证的封装安全负荷

ESP加密算法本身没有提供认证功能,不能保证数据的完整性,但是带认证的ESP可以提供数据完整性服务,以下两种方法可以提供认证功能:

1.带认证的ESP。IPSec使用第一个对称密钥对负荷进行加密,然后使用第二个对称密钥对经过加密的数据计算认证值,并将其附加在分组之后:

在这里插入图片描述
2.在AH中嵌套ESP。ESP分组可以嵌套在AH分组中,例如一个3DES-CBC ESP分组可以嵌套在HMAC-MD5分组中,如图:

在这里插入图片描述

Internet密钥交换协议

IKE实际上是ISAKMP(Internet Security Association and Key Management Protocol)、Oakley和SKEME(Versatile Secure Key Exchange Mechanism fo Internet Protocol)这三个协议的混合体,提供了认证和密钥交换的框架。其中,Oakley描述了密钥交换的模式,而SKEME定义了密钥交换技术。

在密钥交换之前要先建立安全关联(Security Association,SA),SA是由一系列参数(例如加密算法、密钥和生命期等)定义的安全信道,ISAKMP中,通过两个协商阶段建立SA,这种方法杯称为Oakley模式。建立过程如下:

  1. ISAKMP第一阶段(Main Mode,MM)
    (1)协商和建立ISAKMP SA。两个系统根据D-H算法生成对称密钥,后续的IKE通信都使用该密钥加密。
    (2)验证远程系统的标识(初始认证)。

  2. ISAKMP第二阶段(Quick Mode,QM)
    使用由ISAKMP/MM SA提供的安全信道协商一个或多个用于IPSec通信(AH或ESP)的SA。通常在第二阶段至少要建立两条SA,一条用于发送数据,一条用于接收,如图:

在这里插入图片描述

8.6.4 安全套接层

安全套接层(Secure Socket Layer,SSL)是Netscape于1994年开发的传输层安全协议,用于实现Web安全通信。1996年,SSL3.0协议草案发布,成为事实上的一个Web安全标准。

SSL的基本目标是两个应用实体之间安全可靠的通信,它分为两层,底层是SSL记录协议,运行在传输层协议TCP之上,用于封装各种上层协议,有SSL握手协议,SSL改变密码协议,SSL警告协议,HTTP。服务器和客户端进行身份认证,协商通信中使用加密算法和密钥。

SSL协议栈如图:

在这里插入图片描述

SSL和IPSec的区别在于,IPSec工作在三层,即网络层建立安全隧道。而SSL通过应用层的安全隧道,适用于建立固定的虚拟专用网,而SSL的安全连接是通过应用层的Web连接建立的,更适合移动用户远程访问公司的虚拟专用网。这是因为,SSL不必下载到访问公司资源的设备上,也不需要端用户进行复杂的配置,只要有标准的Web浏览器就可以使用这个协议了。

HTTPS=HTTP+SSL/TLS,端口443。

会话和连接状态

SSL会话状态由下列成分决定:会话标识符、对方的X.509证书、数据压缩方法列表、密码列表、计算MAC的主密钥,以及用于说明是否可以启动另外一个会话的恢复标识。

SSL连接状态由以下成分决定:服务器和客户端的随机数序列、服务器/客户端的认证密钥、服务器/客户端的加/解密密钥、用于CBC加密的初始化矢量(IV),以及发送/接收报文的顺序号等。

记录协议

SSL记录层首先把上层的数据划分为 2 14 2^{14} 214字节的段,然后进行无损压缩(任选)、计算MAC并且进行加密,最后发送出去。

改变密码协议

由客户或服务器发送,用于通知对方后续的记录将采用新的密码列表。

警告协议

SSL记录层可以发出警告,使得当前的会话失效,避免产生新对话。警告分为关闭连接警告和错误警告。

握手协议

会话状态的密码参数是在SSL握手阶段产生的,当SSL客户端和服务器开始通信时,它们将先协商(协议版本、加密算法、认证方案、产生共享密钥的公钥加密技术):

在这里插入图片描述

密钥交换算法

通信中使用的加密和认证方案是由密码列表(cipher_suite)决定的,而密码列表则是由服务器通过hello报文进行选择的。

在握手协议中采用非对称算法来认证对方和生生成共享密钥,有RSA、Diffie-Hellman和Fortezza三种算法可以选用。

在使用RSA进行服务器和密钥交换时,由客户端生成48字节的前主密钥值(pre_master_secret),用服务器的公钥加密后发送出去。服务器用自己的私钥解密,得到前主密钥值,然后双方都把前主密钥值转换成主密钥(用于认证),并删去原来的前主密钥值。

Diffie-Hellman算法如图所示,服务器的数字证书中含有参数(p和g),协商的秘密值k作为前主密钥值,然后转换成主密钥:

在这里插入图片描述

8.7 应用层安全协议

8.7.1 S-HTTP

S-HTTP其实就是HTTPS。这也是老熟人,他与HTTP消息模型共存,或者集成,提供了HTTP的安全机制。S-HTTP对客户端和服务器是对称的,对于双方的请求和响应做同样的处理,保留HTTP的事务处理模型和实现特征。

S-HTTP对于HTTP的主要区别在于报文头,前者的报文体有加密过程。

在这里插入图片描述

S-HTTP的语法与HTTP一样,由请求行(Request Line)和状态行(Status Line)组成,后跟报文头和报文体(Message Body)。为了与HTTP报文区分,S-HTTP报文使用了协议指示器Secure-HTTP/1.4,这样S-HTTP报文可以与HTTP报文混合在同一个TCP(80)端口进行传输。

现在SSL的应用表现要好于HTTPS,大多数交易均采用传统的HTTP协议,并使用经过SSL加密的HTTP报文来传输交易信息。

8.7.2 PGP

PGP(Pretty Good Privacy)是一种完整的电子邮件加密软件包,提供数据加密和数字签名两种服务,采用RSA公钥证书进行身份验证,使用IDEA进行数据加密,使用MD5进行数据完整性验证。

PGP应用广泛的原因:

  1. 支持多平台(Windows,Linux,MacOS)上免费使用,得到许多厂商的支持。
  2. 基于比较安全的算法(RSA,IDEA,MD5)。
  3. 既可以加密文件和电子邮件,也可以用于个人通信,应用集成PGP。

在网络中部署PGP可分为以下3个步骤:

  1. 建立PGP证书管理中心
  2. 对文档和电子邮件进行PGP加密
  3. 在应用系统中集成PGP

8.7.3 Kerberos

Kerberos是一项认证服务,支持AAA:认证、授权和审计。

它要解决的问题是:在公开的分布式环境中,工作站上的用户希望访问分布在网络上的服务器,希望服务器能限制授权用户的访问,并能对服务请求进行认证。

这样可能存在这3种威胁:

  1. 用户伪装成另一个用户在操作站;
  2. 用户可能会更改工作站的网络地址,使从这个已更改的工作站发出的请求看似来自被伪装的工作站。
  3. 用户可能窃听交换中的报文,并使用重放攻击进入服务器或打断正在进行中的操作。

Kerberos可以防止偷听和重放攻击,保护数据的完整性。它的安全机制如下:

  • AS(Authentication Server):认证服务器,是为用户发放TGT的服务器。
  • TGS(Ticket Granting Server):票证授予服务器,负责发丧访问应用服务器时需要的票证,认证服务器和票据授予服务器组成密钥分发中心(Key Distribution Center,KDC)。
  • V:用户请求访问的应用服务器。
  • TGT(Ticket Granting Ticket):用户向TGS证明自己身份的初始票据,即 K T G S ( A , K S ) K_{TGS}(A,K_S) KTGS(A,KS)

在这里插入图片描述

  1. 用户向KDC申请初始票据。
  2. KDC向用户发放TGT会话票据。
  3. 用户向TGS请求会话票据。
  4. TGS验证用户身份后发放给用户会话票据 K A V K_{AV} KAV
  5. 用户向应用服务器请求登录。
  6. 应用服务器向用户验证时间戳。

时间戳t可以防止重放攻击。

8.7.4 其他应用层安全协议

  • S/MIME(Security/Multipurppose Internet Mail Extensions)提供电子邮件安全服务。(一定要加S才是安全服务的)
  • SET(Secure Eletronic Transation)安全的电子交易,用于保障电子商务安全。

8.8 防火墙与入侵检测

8.8.1 防火墙

防火墙可以实现内部网络信任网络和外部不可信任网络(Internet)之间或者是内部网络不同区域隔离与访问控制。

防火墙技术与分类:包过滤、状态化防火墙、应用层网关、应用层监测DPI。

在这里插入图片描述
防火墙可以依据源和目的IP地址、端口、IP协议号进行过滤,不能过滤负载内容,但软考虽然答案如此,现在的防火墙基本都支持应用层包检测(可以检测负载内容)。

8.8.2 防火墙区域划分

根据网络的安全信任程度和需要保护的对象,人为划分若干安全区域,包括:

  1. 本地区域(Local):防火墙本身。
  2. 信任区域(Trust):内部安全网络,如内部文件服务器、数据库服务器。
  3. 非信任区域(Untrust):外部网络,比如互联网、
  4. 军事缓冲区域(DMZ):内部网络和外部网络之间的网络,常放置公共服务设备,向外提供信息服务。

在这里插入图片描述

在这里插入图片描述
受信任程度:Local>Trust>DMZ>Untrust
Inbound:低安全级别→高安全级别,比如Untrust→Trust
Outbound:高安全级别→低安全级别,比如DMZ→Untrust

8.8.3 入侵检测

概述

入侵检测IDS是防火墙之后的第二道安全屏障,美国国防部提出公共入侵检测系统架构,其由4个模块组成。

在这里插入图片描述

  1. 事件产生器(Event generators,E-boxes),负责数据的采集,并将收集到的原始数据转换为事件,提供信息给其他模块。

  2. 事件分析器(Event Analyzers,A-boxes),接收事件信息并对其进行分析,使用以下三种分析方法:(1)模式匹配;(2)统计分析;(3)数据完整性分析。

  3. 事件数据库(Event Databases,D-boxes),存放有关事件的各种中间结果和最终数据的地方:数据库、文本文件等。

  4. 响应单元(Response units,R-boxes),根据报警信息做出各种反应。

分类

按信息来源分:HIDS、NIDS、DIDS(主机/网络/分布式)。

按响应方式分:实时检测和非实时检测。

按数据分析技术和处理方式分:异常检测、误用检测和混合检测。

异常检测:建立并不断更新和维护系统正常行为的轮廓,定义报警阈值,超过阈值则报警。
它能够检测从未出现的攻击,但误报率高。

误用检测:对已知的入侵行为特征进行提取,形成入侵模式库,匹配则进行报警。已知入侵检测准确率高,对于未知入侵检测准确率低,高度依赖特征库。检测技术:专家系统和模式匹配

入侵防御系统IPS

定义:入侵防御系统是一种抢先的网络安全检测和防御系统,能检测出攻击并积极响应。

IPS与IDS的不同在于部署位置和入侵响应能力的不同,IPS作为网络设备串接在网络中,IDS采用的则是旁路挂接方式。IDS的响应比较单一,即记录和警报,而IPS设备则可以主动防御,采取丢弃数据报、发送ICMP不可到达数据报,记录日志,动态生成防御规则等主动方式。

IPS采用的是主动的,全面的,深层次的防御。

在这里插入图片描述

8.9 计算机病毒基础

病毒的定义:指一段可执行的程序代码,通过对其他程序进行修改,可以感染这些程序使其含有该病毒程序的一个拷贝。

病毒的四个阶段:

  1. 潜伏阶段
  2. 繁殖阶段
  3. 触发阶段
  4. 执行阶段

病毒的命名规则:<病毒前缀>.<病毒名>.<病毒后缀>

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/271102.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

nodejs微信小程序+python+PHP的热带野生动物园景点预约订票系统的设计与实现-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

web前端项目-七彩夜空烟花【附源码】

web前端项目-七彩动态夜空烟花【附源码】 本项目仅使用了HTML&#xff0c;代码简单&#xff0c;实现效果绚丽&#xff0c;且本项目代码直接运行即可实现&#xff0c;无需图片素材&#xff0c;接下来让我们一起实现一场美丽的烟花秀叭 运行效果&#xff1a;鼠标点击和移动可控制…

Navicat误删除生产环境SQLServer2012单表数据后恢复单表数据

背景&#xff1a; 1-后端更新功能部署到客户生产环境时误将测试环境数据保留&#xff0c;项目负责人发现后告知后端。 2-后端登录客户生产数据库使用navicat删除一张表的单表数据时多删了几条数据&#xff0c;判断弄乱了客户生产环境下自己产生的单表数据。 思路&#xff…

基本路径覆盖测试设计-实验九例题

目录 基本路径法 计算环形复杂度需要画出程序的控制流图。控制流图中只有两种图形符号。 实验内容&#xff1a;针对下面的Java语言程序使用基本路径覆盖测试方法设计测试用例。 基本路径法 基本路径法是在程序控制流图的基础上&#xff0c;通过分析控制构造的环路复杂性&#x…

【C++】STL 容器 - list 双向链表容器 ① ( 容器特点 | 容器操作时间复杂度 | 构造函数 )

文章目录 一、 list 双向链表容器简介1、容器特点2、容器操作时间复杂度3、遍历访问5、头文件 二、 list 双向链表容器 构造函数1、默认无参构造函数2、创建包含 n 个相同元素的 list 双向链表3、使用初始化列表构造 list 双向链表4、使用另外一个 list 容器 构造 list 双向链表…

WizFi360-EVB-Pico评估版介绍

文章目录 1 概述2 硬件资源2.1 硬件规格2.2 引脚定义2.3 工作条件 3 参考资料3.1 Datasheet3.2 原理图3.3 尺寸图(单位 : mm) 3.4 参考例程 4 硬件协议栈优势 1 概述 WizFi360-EVB-Pico基于树莓派RP2040&#xff0c;并使用WizFi360增加Wi-Fi连接。它与树莓派Pico板引脚兼容&…

直排轮滑教程8

弧线滑行收腿练习 1&#xff0c;不同于直线&#xff0c;弧线滑行收腿&#xff0c;右腿要越过左脚&#xff0c;左腿收回要靠近右脚。 2&#xff0c;它是个越过动作&#xff0c;是个交叉动作。收腿当中&#xff0c;左右脚是不一样的。 3&#xff0c;收腿的基本理论就是&#x…

使用代码生成工具快速开发应用-结合后端Web API提供接口和前端页面快速生成,实现通用的业务编码规则管理

1、通用的业务编码规则的管理功能 在前面随笔我们介绍了一个通用的业务编码规则的管理功能&#xff0c;通过代码生成工具Database2Sharp一步步的生成相关的后端和Winform、WPF的界面&#xff0c;进行了整合&#xff0c;通过利用代码生成工具Database2sharp生成节省了常规功能的…

七、Class文件结构及深入字节码指

一、JVM语言的无关性与class类文件 不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码&#xff08;ByteCode&#xff09;是构成平台无关性的基石&#xff0c;也是语言无关性的基础。 Java 虚拟机不和任何语言绑定&#xff0c;它只与“Class 文件”这种特定的二进…

QT foreach

原型&#xff1a;foreach(variable, container) container&#xff1a;容器&#xff0c;即被遍历的对象 variable&#xff1a;当前元素&#xff0c;即遍历container过程中&#xff0c;当前的那个元素 代码&#xff1a; QStringList container { "1", "2&quo…

uni-app pages.json之globalStyle全局页面样式配置

锋哥原创的uni-app视频教程&#xff1a; 2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中...共计23条视频&#xff0c;包括&#xff1a;第1讲 uni…

电商数据分析-02-电商业务介绍及表结构

参考 电商业务简介 大数据项目之电商数仓、电商业务简介、电商业务流程、电商常识、业务数据介绍、电商业务表、后台管理系统 举个例子:&#x1f330; 1.1 电商业务流程 电商的业务流程可以以一个普通用户的浏览足迹为例进行说明&#xff0c;用户点开电商首页开始浏览&…

TYN-02A-Ⅱ 太阳能警示灯

应用范围: 可安装在电线杆&#xff0c;路灯&#xff0c;围挡&#xff0c;交 通护栏及各种杆式固体等场所起警示作用。 产品特点&#xff1a; 采用进口PS材质; 光控无开关&#xff0c;白天不闪&#xff0c;昏暗环境自动闪烁&#xff0c;无需手动操作&#xff0c;省时省事; …

shell 循环遍历的详细用法

简介 在 shell 脚本中&#xff0c;循环结构用于重复执行一组代码块&#xff0c;包括 for 循环、while 循环&#xff0c;可以用于遍历数字、字符串、数组、文件等。这篇文章会详细介绍这两种遍历方式&#xff0c;以及各种实例场景。 文章目录结构如下 1. 循环遍历的特点 2. 循…

VS Code插件开发初步

文章目录 上手入口函数contributes 上手 欲善其事必先利其器&#xff0c;无论做什么开发&#xff0c;第一步肯定是下载工具链。VS Code开发主要用到两个东西&#xff0c;一个是项目的手脚架工具Yeoman&#xff0c;可通过yo来安装&#xff1b;另一个是VS Code的扩展时生成器gen…

工具系列:TensorFlow决策森林_(5)使用文本和神经网络特征

文章目录 设置使用原始文本作为特征使用预训练的文本嵌入同时训练决策树和神经网络构建模型训练和评估模型 欢迎来到 TensorFlow决策森林&#xff08; TF-DF&#xff09;的 中级教程。 在本文中&#xff0c;您将学习有关 TF-DF的一些更高级的功能&#xff0c;包括如何处理自…

uniapp中如何使用image图片

当在UniApp中使用图片时&#xff0c;可以通过<image>标签将图片显示在页面上。这个标签可以指定src属性来引用图片&#xff0c;并且可以通过mode属性来设置图片的显示模式。除此之外&#xff0c;还可以利用click事件来实现图片的点击事件。在编写代码时&#xff0c;要注意…

shell 编程中内置的变量(冷门又好用)

简介 分别盘点一下 shell 中的内置变量&#xff0c;真的巨好用&#xff01;&#xff01;&#xff01;包括&#xff1a;环境变量类、shell 变量类、终端设置类和其他一些变量。 常用的内置变量目录如下 1. 环境变量类 $MACHTYPE&#xff1a;机器类型 $OSTYPE&#xff1a;操作…

超声系统前端理论与模拟仿真-续

作者&#xff1a;蒋志强 本人同意他人对我的文章引用&#xff0c;但请在引用时注明出处&#xff0c;谢谢&#xff0e;作者&#xff1a;蒋志强 前言 近期整理了一下彩超前端及波束合成相关的内容&#xff0c;很早以前已经有过一次&#xff0c;这次把其它的内容总结一下&#xf…

【自定义磨砂动态背景】前端及pyqt6实现

如何实现一个自定义的磨砂动态背景呢&#xff1f; 这种效果看起来特别的高端&#xff0c;很新颖美观。 具体的效果可以看这里的演示&#xff1a;https://www.bilibili.com/video/BV1zj411H7wd/ 其实原理就是底层有多个多彩多边形在移动&#xff0c;然后再盖上一层模糊滤镜。 前…