计算机网络-第七章网络安全阅读笔记

7.1 网络安全问题概述

计算机网络的通信面临两大类威胁,分为被动攻击和主动攻击。

被动攻击表现为截获

主动攻击表现为篡改、恶意程序(病毒,蠕虫,木马等)、拒绝服务

安全的网络需要满足的条件:保密性(使用各种密码技术)、端点鉴别(鉴别信息发送方和接收方的真实身份)、信息的完整性(既要鉴别端点的身份,又要鉴别信息的完整)、运行的安全性(对访问网络的权限加以控制,并规定每个用户的访问权限)

数据加密模型

加密算法加密密钥 将明文加密为密文,然后在接收端通过解密算法和解密密钥获取明文。密钥通常由密钥中心提供。

计算机网络-第七章网络安全阅读笔记_第1张图片

7.2两种密码体制

7.2.1 对称密钥密码体制

对称密钥体制,即加密密钥和解密密钥相同的密码体制。

典型是DES标准(数据加密标准)1977年提出、还有AES体制(高级加密标准)1997年

DES体制是一种分组密码,在加密前先将明文进行分组,每组为64位长的二进制数据,对每组数据进行加密,然后串起来获得整个密文。加密使用到的密钥占64位,其中实际密钥长度为56位,外加8位为奇偶校验

DES的保密是对密钥保密,但是算法是公开的,所以56位的密钥长度并不安全。

进而提出三重DES方案,将明文先用一个密钥进行加密,再用另一个密钥进行解密,然后要用第一个密钥进行加密。

7.2.2 公钥密码体制

对称密钥需要使用密钥分配中心(KDC),使得密钥事先约定好,加重了网络成本。

计算机网络-第七章网络安全阅读笔记_第2张图片

 公钥密码体制是指使用不同的加密密钥和解密密钥,其中加密密钥是公钥PK,对外公开,加密算法和解密算法也对外公开,解密密钥是私钥SK,对其他人保密。

典型体制是RAS体制

如上图所示,公钥密钥体制的过程有如下特点:

(1)密钥对产生器产生出接收者B的一对密钥:加密密钥PK和解密密钥SK,对外公开公钥;

(2)发送者用B的公钥对明文进行加密得到密文Y发送给B,B根据私钥SK进行解密运算,获得明文;

(3)从PK到SK是“计算上不可能的”,也就是从已知的PK不可能推导出SK;

(4)可以用公钥进行加密,但是不能继续用公钥进行解密;

(5)调换D运算和E运算顺序,结果是一样的都可以获得明文,(注意D对应私钥,E对应公钥)

对称密钥和公钥体制的不同点:

(1)在通信信道方面,对称密钥体制可以实现一对一双向保密通信,公钥体制可以实现多对一单向保密通信

(虽然调换D和E算法的顺序一样可以恢复明文,但是在B端利用密钥进行D运算,任何人都可以利用公开的公钥和E算法进行解密所以无法实现保密)

(2)对称密钥需要事先约定或可靠信使传送,前者需要密钥分配中心KDC网络成本高,后者不适用于高度自动化的计算机网络。

(3)公开密钥体制的加密算法开销较大

目前两种体制处于并存状态,因为加密方法的安全性取决于密钥的长度,以及攻破密文所需的计算量,而不是取决于简单的加密体制。

7.3数字签名

根据签名验证其真实性。数字签名的功能:

(1)接收者能够核实发送者对报文的签名,也就是接收者能够确信该报文的确是发送者发送的报文鉴别

(2)接收者确信所收到的数据没有被篡改过。保证报文的完整性。

(3)发送者时候不能抵赖对报文的签名。不可否认

公钥加密体制更加适合数字签名。当A向B发送信息,用A私钥进行加密(也就是签名,运行D运算),接收端B用A的公钥运行E算法进行解密(也就是核实签名)。整个过程是公钥加密体制的逆过程,要注意的是私钥适合D算法对应的,公钥是和E算法对应的。

数字签名由于任何人都可以知道公钥所以没有实现对数据的加密,同时使用B的公钥进行加密,就可以实现数字签名+加密传输

也就是说想用A的私钥进行D运算,在用B的公钥进行E运算,接收端先用B的私钥SK进行D运算,再用A的公钥PK进行E运算。

计算机网络-第七章网络安全阅读笔记_第3张图片

以上数字签名其实已经属于网络安全的第二点鉴别的范畴。

7.4鉴别

鉴别是和加密不同的概念,鉴别是要验证通信的对方的确是自己所要通信的人,而且报文完整没有被篡改。

因此鉴别涉及两个问题:一报文鉴别,即所收到的报文的确是报文发送方所发送的,而且报文没有被篡改过(也就是包含端点鉴别和报文的完整性鉴别);二实体鉴别即仅仅鉴别报文的发送实体。第二个实体鉴别和第一个报文鉴别中的端点鉴别的不同点是报文鉴别每收到一次报文就要鉴别一下报文的发送者,实体鉴别在系统接入的全部持续时间内只需鉴别一次

7.4.1报文鉴别

1、密码散列函数

前面的数字签名就是报文鉴别的一种,但是有个缺点就是对于较长的报文进行数字签名会非常耗时。

散列函数的特点

(1)输入长度随机,输出长度固定且较短;

(2)散列函数的输入和输出是多对一的关系。(即不同的输出对应不同的输入,但是不同的输入却可能对应同样的输出)

以上第二个特征需要保证在密码散列函数中,要找到两个不同的报文具有相同的散列函数输出在计算上是不可行的,保证密码散列函数是一种单向函数,也就是说入侵者无法根据截获的散列H(X)伪造出另一个明文Y,使得Y的输出和X相同

(首部检验和就是一种散列函数)

16位数

计算机网络-第七章网络安全阅读笔记_第4张图片

反码运算是指最后进行反,注意之前的运算要进行回卷(反码运算,将所有数求和,然后将和求反码)。

散列函数做报文鉴别

(1)A根据散列函数计算明文X的散列输出H

(2)然后将散列H拼接在X后面,生成扩展报文(X,H),发送给B;

(3)B收到报文,已知A的散列函数和散列长度,将报文分离分别得到明文和散列,如果能将明文根据A的散列函数获得散列H,说明明文是A发送过来的。

但是以上过程存在问题,入侵者如果有获取的散列函数,那么也可以像B发送报文,冒充A。

典型的散列函数:MD5和SHA-1

由于MD-5被证明不满足单向特点,因此以被SHA算法所取代。

2、报文鉴别码

针对以上的问题,综合前面加密的思想,对散列输出利用仅双方知道的密钥进行加密,获得报文鉴别码(MAC),由于散列输出的长度小于报文,所以不会消耗太多资源

例如采用公钥密码体制,报文鉴别码的使用过程:用户A先用私钥对散列输出H进行D运算,获得报文鉴别码,拼接发送,B收到后分离,然后用公钥运行E运算,获得H,在对X进行散列函数进行验证,由于其他用户不知道A的私钥所以不可以伪造。实现不可伪造不可否认

7.4.2实体鉴别

实体鉴别也就是要在正式传输数据前,先互相传输双方的身份,以及通信适用的密钥。

在实际运用中会出现,重放攻击问题,也就是截获A的身份信息,重复使用。解决思路:不重数,也就是一个不重复使用的大随机数。
第二个问题是“中间人攻击”,中间人冒充通信双方,但是替换了通信使用的密钥信息。

7.5密钥分配

上面提到的中间人攻击说明一个问题就是没有地方验证密钥和身份的对应关系。

密钥的管理:密钥的产生、分配、注入、验证和使用。其中密钥的分配是重要问题。

密钥的分配分为网外分配(利用信使)网内分配(自动分配)。

7.5.1对称密钥分配

对称密钥分配设立密钥分配中心KDC

实现过程:用户在KDC登记身份即各自的主密钥,KDC利用用户登记的主密钥验证用户的身份,也是说KDC利用用户的主密钥加密会话密钥KAB。

(1)A发送明文包含自己的身份和希望通信的对方的身份。

(2)KDC运用用随机数产生“一次一密”的会话密钥KAB供A和B这次会话使用,然后向A发送回答报文,报文运用A的密钥加密,报文中包含会话密钥KAB和请A转交给B的票据。票据包含A和B在KDC登记的身份和会话用的密钥。整个票据用B的密钥加密。

(3)B收到报文用解密后,知道了通信的对方是A,会话密钥是KAB。

目前使用较多的密钥分配协议是Kerbors,同时具备设置鉴别和密钥分配功能,还计入时间戳,设置鉴别服务器AS票据授予服务器TGS

7.5.2公钥分配

机构认证中心CA,将实体的公钥和身份进行绑定。

每个实体都可以向CA索取证书来验证某个公钥的拥有实体。查询信息通过CA的公钥进行加密,应答信息也就是证书被CA执行数字签名。

7.6互联网使用的安全协议

前面介绍的是安全原理,在互联网中的应用分为网络层安全协议、运输层安全协议和应用层安全协议。

1 广泛使用的运输层安全协议

安全套接字层SSL 和 运输层安全TLS。

这两个协议都是为通过TCP传输的应用层数据提供安全保障。

2作用位置

原本应用进程通过套接字和运输层进行狡猾,而使用安全运输的HTTP协议则将SSL驻留在应用层。在应用层下通过SSL套接字和SSL子层进行交互。

计算机网络-第七章网络安全阅读笔记_第5张图片

SSL可以作用于任何应用层协议,典型的是将SSL驻留在应用层的HTTPS协议、

3SSL提供的安全服务

(1)SSL服务器鉴别,支持SSL客户端通过验证来自服务器的证书,来鉴别服务器的身份和获取公钥。

(2)SSL客户鉴别,SSL的可选安全服务,服务器端可以鉴别证实客户的身份;

(3)加密SSL会话,对客户端和服务器端之间的报文进行加密,并检测报文是否被篡改。

4SSL工作过程

用户点击提供安全服务的网页

(1)TCP三次握手建立连接

(2)进行SSL握手协议,进行加密算法协商身份鉴别会话密钥传递

(3)开始数据加密传输

第2个步骤的具体内容是:

(1)协商加密算法:浏览器A向服务器B发送浏览器的SSL版本号和一些可选的加密算法

                                   服务器B从中选择自己支持的算法并告知A

(2)服务器鉴别:服务器B向浏览器A发送包含RSA算法公钥的数字证书(公钥密码体制的密钥分配

                               A使用CA认证机构公开发布的证书中的公钥对该证书进行验证。

(3)会话密钥计算:A随机产生一个随机数,(该随机数用会话密钥的生成)

                                   A用B的公钥将随机数加密发送给B

                                  双方根据协商的算法利用随机数产生共享的对称会话密钥(这里没有想到协商的算法还有这个用处,以为只是协商加密解密算法呢)

  (4)安全数据传输:双方利用会话密钥进行加密解密传输,并进行完整性验证。

整个就是在身份鉴别期间使用公钥密码体制,在会话期间使用对称密钥密码体制。

7.7系统安全:防火墙和入侵检测

加密技术无法阻止恶意用户或软件通过网络对计算机系统的入侵

防火墙作为一种访问控制技术,通过严格控制进出网络边界的分组,禁止任何不必要的通信,从而减少潜在入侵的发生。

而防火墙不能阻止的入侵行为,有入侵检测系统(IDS)通过对分组的深度分析和检测发现疑似入侵的行为,并进行警报以进一步采用操作。

7.7.1防火墙

1 定义:见上

2 工作方式

防火墙是一种特殊的路由器,安装在网点和其余网络之间,根据(防火墙单位制定的)安全策略实现访问控制。(可信网络和不可信网路)

计算机网络-第七章网络安全阅读笔记_第6张图片

3 防火墙技术分为:分组过滤路由器和应用网关

分组过滤服务器根据过滤规则对进出的分组值转发过丢弃(例如IP、端口、协议类型等)

(优点:对用户透明,简单高效,缺点:不能对高层数据进行过滤)

应用网关可以实现对应用层数据的过滤和高层用户的鉴别。(应用网关会在应用层打开报文,查看请求是否合法)

(优点:高层数据过滤鉴别,缺点:每个应用对应一个网关,对客户端不透明,客户端需要配置对应的网关地址;应用层转发和处理报文,处理负担较重)

7.7.2入侵检测(IDS)

入侵检测技术一般分为基于特征的入侵检测基于异常的入侵检测

基于特征的IDS需要维护一个所有已知攻击标志性特征的数据库。

基于异常IDS比较难以区分正常流和异常流的情况

不管什么检测技术都存在“漏报”和“误报”的情况,两者比率呈负相关。

 

你可能感兴趣的:(计算机网络阅读笔记)