【软考中级】网络工程师: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. 执行阶段

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

caffe网络结构图绘制

绘制网络图通常有两种方法&#xff1a; 一种是利用python自带的draw_net.py&#xff0c;首先安装两个库&#xff1a; sudo apt-get install graphviz sudo pip install pydot 接下来就可以用python自带的draw_net.py文件来绘制网络图了。 draw_net.py执行时带三个参数&…

理解Caffe的网络模型

目录 1. 初见LeNet原始模型2. Caffe LeNet的网络结构3. 逐层理解Caffe LeNet 3.1 Data Layer3.2 Conv1 Layer3.3 Pool1 Layer3.4 Conv2 Layer3.5 Pool2 Layer3.6 Ip1 Layer3.7 Relu1 Layer3.8 Ip2 Layer3.9 Loss Layer 1. 初见LeNet原始模型 Fig.1. Architecture of original …

caffe开始训练自己的模型(转载并验证过)

学习caffe中踩了不少坑&#xff0c;这里我参考了此博主的文章&#xff0c;并体会到了如何训练自己的模型&#xff1a;http://www.cnblogs.com/denny402/p/5083300.html 学习caffe的目的&#xff0c;不是简单的做几个练习&#xff0c;最终还是要用到自己的实际项目或科研中。因…

图像拼接(一):柱面投影+模板匹配+渐入渐出融合

这种拼接方法的假设前提是&#xff1a;待拼接的两幅图像之间的变换模型是平移模型&#xff0c;即两幅图像同名点位置之间只相差两个未知量&#xff1a;ΔxΔx 和ΔyΔy&#xff0c;自由度为2&#xff0c;模型收得最紧。所以只有所有图像都是用同一水平线或者同一已知倾斜角的摄…

图像拼接(二):OpenCV同时打开两个摄像头捕获视频

使用OpenCV实现同时打开两个USB摄像头&#xff0c;并实时显示视频。如果未检测有两个摄像头&#xff0c;程序会结束并发出“摄像头未安装好”的警告。这里推荐一个小巧的摄像头视频捕捉软件&#xff1a;amcap&#xff0c;使用它可以方便的检查每个摄像头是否能正常工作。 捕获…

elasticsearch的Linux下安装报错问题解决

1.启动报错如下: vim /etc/security/limits.conf 然后修改如下 * soft nofile 65536 * hard nofile 65536sudo vi /etc/pam.d/common-session 添加 session required pam_limits.so sudo vi /etc/pam.d/common-session-noninteractive 添加 session required pam_limits.so…

Fiddler抓包工具使用

先下载Fiddler 欢迎关注我的新微信公众号 ipgame&#xff0c;有什么问题可以提供交流的平台&#xff0c;欢迎大家讨论。 电脑最好是笔记本&#xff0c;这样能和手机保持统一局域网内&#xff1b;其他不多说&#xff0c;直接说步骤了。 一.对PC&#xff08;笔记本&#xff0…

Tensorboard--模型可视化工具

Tensorboard1.tensorboard in tensorflow1.1 tensorboard的启动过程1.2 tf.summary 可视化类型1.3 tf.summary 使用demo2.tensorboard in pytorch2.1 SummaryWriter 使用demo12.2 tSummaryWriter 使用demo22.3 tensorboard 数据再读取tensorboard in tensorflow &#xff1a;te…

opencv findContours 报错_acrt_first_block == header

报错_acrt_first_block header 之前一直使用OpenCV3.3VS2015 void AOIAlgorithm::findUnits(Mat& blkGray, vector<vector<cv::Point>> & blkContours) {Mat blkOBW;blur(blkGray, blkGray, cv::Size(5, 5));threshold(blkGray, blkOBW, 0, 255, CV_THR…

TensorFlow(2)-训练数据载入

tensorflow 训练数据载入1. tf.data.Dataset2. dataset 创建数据集的方式2.1 tf.data.Dataset.from_tensor_slices()2.2 tf.data.TextLineDataset()2.3 tf.data.FixedLengthRecordDataset()2.4 tf.data.TFRecordDataset()3. dateset 迭代操作iterator3.1 make_one_shot_iterato…

leetcode14. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar",&quo…

Android在子线程里使用Toast报错Can't toast on a thread that has not called Looper.prepare()

在接android SDK的时候有时候为了方便debug调试查看&#xff0c;通过Toast输出相关信息&#xff0c; 实际上这个是在子线程中输出的&#xff0c;在logcat里查看有如下报错java.lang.RuntimeException: Cant toast on a thread that has not called Looper.prepare()。 解决办法…

虚拟机安装windows2012和虚拟机安装国产系统deepin

虚拟机安装windows2012和虚拟机安装国产系统deepin 一.安装windows20121.安装VMWare虚拟机2.1.注意点一&#xff1a;VMWare虚拟网卡2.2.注意点二&#xff1a;配置虚拟网络编辑器3.安装配置Windows Server 2012 R2 二.虚拟机安装deepin1.deepin官网下载ios镜像2.deepin下载合适的…

leetcode876 链表中间的结点

给定一个带有头结点 head 的非空单链表&#xff0c;返回链表的中间结点。 如果有两个中间结点&#xff0c;则返回第二个中间结点。 示例 1&#xff1a; 输入&#xff1a;[1,2,3,4,5] 输出&#xff1a;此列表中的结点 3 (序列化形式&#xff1a;[3,4,5]) 返回的结点值为 3 。 …

PlayFab(二)如何通过Demo应用来进一步熟悉Playfab

有时候刚开始接触新的平台会两眼一麻黑,不过这个文章希望能给读者一些启示,Playfab默认会给开发者提供一个应用,这里我暂且叫他”我的游戏“; 我通过官网提供的DEMO测试地址: https://www.vanguardoutrider.com/#/ 来为该应用配置服务器。 如果你是第一次进入这个页面想为…

leetcode718 最长重复子数组

给两个整数数组 A 和 B &#xff0c;返回两个数组中公共的、长度最长的子数组的长度。 示例 1: 输入: A: [1,2,3,2,1] B: [3,2,1,4,7] 输出: 3 解释: 长度最长的公共子数组是 [3, 2, 1]。 说明: 1 < len(A), len(B) < 1000 0 < A[i], B[i] < 100 思路&#xf…

leetcode108 将有序数组转换为二叉搜索树

将一个按照升序排列的有序数组&#xff0c;转换为一棵高度平衡二叉搜索树。 本题中&#xff0c;一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是&#xff1a;[0,-3,9,-10,null,…

MachineLearning(12)- RNN-LSTM-tf.nn.rnn_cell

RNN-LSTM1.RNN2.LSTM3. tensorflow 中的RNN-LSTM3.1 tf.nn.rnn_cell.BasicRNNCell()3.2 tf.nn.rnn_cell.BasicLSTMCell()3.3 tf.nn.dynamic_rnn()--多步执行循环神经网络1.RNN RNN-Recurrent Neural Network-循环神经网络 RNN用来处理序列数据。多层感知机MLP层间节点全联接&…

AWS的VPC使用经验(二)

上文说了如何创建自定义VPC网络的EC2实例&#xff0c;这节说如何在多个VPC之间创建对等连接。 这里分别填写自己的VPC和对方的VPC的ID信息&#xff0c;然后在对方的VPC里就能看到有连接请求&#xff0c;在对方的连接请求里选择 “操作”->接受。 到这里已经快要收尾了&…

ubuntu nginx配置负载均衡篇(一)

Nginx 代理服务的配置说明 1、设置 404 页面导向地址 error_page 404 https://www.runnob.com; #错误页 proxy_intercept_errors on; #如果被代理服务器返回的状态码为400或者大于400,设置的error_page配置起作用。默认为off。 2、如果我们的代理只允许接受get,post请求…