计算机网络面临的安全性威胁
- 计算机网络的通信面临的两大威胁
-
- 被动攻击:被动攻击指的是从网络上窃听他人的通信内容。通常把这类攻击称之为截获,在被动攻击中,攻击者只是观察或分析某一个协议数据单元PDU()而不干扰信息流。即使这些数据对攻击者来说是不容易理解的,他也可以通过观察PDU的协议控制信息部分,了解正在通信的协议实体的地址和身份。这种被动攻击又称之为流量分析,在战争时期,通过分析某处大量出现异常的通信量,往往可以发现地方指挥所的位置。
- 主动攻击,常见的主动攻击有:
- 篡改:攻击者故意篡改网络上传输的报文,这里与包括彻底中断传送的报文,这种方式又称之为更该报文流。
-
恶意程序:对网络安全威胁较大的有:
- 计算机病毒
- 计算机蠕虫
- 木马
- 逻辑炸弹
- 后门入侵
- 流氓软件
- 拒绝服务Dos(Denial of Service):指攻击者向互联网上的某个服务器不停的发送大量分组,,使该服务器无法提供正常的工作,甚至是瘫痪。若从互联网上的成百上千个网站集中攻击一个网站,则称之为分布式拒绝服务DDOS(Distributed Denial of Service),有时候也成这种攻击为网络带宽攻击或者连通性攻击。
- 还有一些其他类似的网络安全,例如,在使用以太网交换机的网络中,攻击者向某个以太网交换机发送大量的伪造源MAC地址的帧,以太网交换机收到这样的帧,就把这个假的源MAC地址写入交换表中(因为表中没有这个地址)由于这种伪造的地址数量太大,因此很快就会把交换表填满,导致交换机无法正常工作(又称之为交换机中毒)。
- 对于主动攻击,可以采取适当的检测措施,但对于被动攻击,通常是检测不出来的,根据这些特点,可得出计算机网络通信安全目标如下:
- 防止析出报文内容和流量分析。
- 防止恶意程序。
- 检测更改报文流和拒绝服务。
-
安全的计算机网络
- 一个安全的计算机网络应该达到以下4个目标:
- 保密性:保密性指的是只有信息的发送方和接受方才能懂得所发送信息的内容,而信息的截获者则看不懂所截获的信息,显然,保密性是网络安全通信最基本的要求想,也是对付被动攻击所必备的功能,为了使网络具有保密性,我们需要使用各种密码技术。
- 端点鉴别:安全的计算机网络必须能够鉴别信息的发送方个接收方的真实身份,端点鉴别在对付主动攻击是非常重要的。
- 信息的完整性:即使确认发送方的身份是真实的,并且所发送的信息都是经过加密的,我们依然不能认为网络是安全的,还必须确保确认所接收到的信息是完整的,也就是信息的内容是没有被人篡改过的。
- 运行的安全性:访问控制对计算机系统的安全性非常重要,必须要对访问网络权限加以控制, 并规定每个用户的访问权限,尤其在安全要求更高的多级安全情况下更是如此。
- 数据加密模型
- 一般的数据加密模型如图所示:用户A向B发送明文X,但通过加密算法E运算后,就得到密文Y
- 如图所示的加密和解密用户秘钥K(Key),是一串秘密的字符串(即比特字符串),公式就是明文通过加密算法变成密文的一般方法。
- 在传送过程中可能会遇到密文的截取者(攻击者,入侵者),下图公式表示接收端在利用解密算法运算和解密秘钥K,先解出明文X,解密算法是加密算法的逆运算。在进行解密运算时,如果不事先约定好的秘钥就无法解出明文。
两种密码学体制
-
对称秘钥密码体制
- 所谓对称秘钥密码体制,即加密秘钥与解密秘钥是使用相同的密码体制。
- 数据加密标准DES属于对称秘钥密码体制,DES是一种分组密码。在加密前,先对整个明文进行分组。每一组为64位长的二进制数据,然后对每一个64进制的数据进行加密处理,产生一组64位密文数据、最后将各组密文串接起来,即得出整个的密文,使用的秘钥占64位(实际秘钥长度为56位,加上8位用于奇偶校验)。
- DES的保密性仅取决于对秘钥的保密,而算法是公开的。但是随着技术的发展,56位的DES已不再被认为是安全的。
- 对于56位的DES秘钥问题,学者们提出了三重DES(3DES)方案:把一个64位明文用一个秘钥加密,然后再用另一个秘钥解密,再使用第一个秘钥加密:在这里X是明文,首先使用K1进行加密,然后使用K2进行解密,再使用K1进行加密。
-
公钥密码体制
-
公钥密码体制使用不同的加密秘钥和解密秘钥。
-
公钥秘钥产生的两个方面
- 由于对称秘钥体制的秘钥分配问题。
- 对数字签名的需求。
-
在对称秘钥体制中,加解密双方使用的都是相同的秘钥,但是这种情况下无论是事先约定好使用什么使用什么密文还是使用信使派送,都不妥当。
-
在公开密钥体系中,加密秘钥PK(public key)即公钥是向公众公开的,而解密秘钥SK是需要保密的,加密算法E和解密算法D也都是公开的。
-
公钥密码体系的加密和解密过程有如下特点
- 秘钥对产生器产生出接受者B的一对秘钥:加密秘钥PKB和解密秘钥SKB。发送者A所用的加密秘钥PKB就是接受者B的公钥,它向公众公开,而B使用的解密秘钥SKB就是接受者B的私钥,对其他人都要保密。
- 发送者A用B的公钥PKB通过E运算对明文X加密,得到密文Y,发送给B。
- B用自己的私钥SKB通过D运算进行解密,恢复出明文,即:
- 虽然在计算机上可以容易的产生PKB和SKB,但从已知的PKB实际上不可能推导出SKB,即从PKB到SKB是计算不可能的。
- 虽然公钥PKB可以用来加密,但是不能用来解密,即:
-
(C:\Users\sheny\AppData\Roaming\Typora\typora-user-images\image-20210914004021178.png) - 先后对X进行D运算和E运算或者进行E运算和D运算,结果都是一样的。即:
- 如图给出了公钥密码体制中进行加密的过程:
-
任何加密方式的安全性取决于秘钥的长度,以及攻破密文所需的计算量。
-
数字签名
- 数字签名必须保证能够实现以下3点:
- 接受者能够核实发送这对报文的签名。这叫报文鉴别。
- 接受者确信所收到的数据和发送者发送的数据完全一样,没有被篡改过。这叫报文的完整性。
- 发送者事后不能抵赖对报文的签名,这叫不可否认。
- 数字签名实现
- 为了进行签名,A用其私钥SKA对报文X进行D运算,A再把经过D运算的运算后的得到的密文传给B,B为了核实签名,用A的公钥进行E运算,还原出明文X。
- 数字签名为什么具有上述的上述的三个功能点?因为除了A之外没有人能产生密文SDKA(X)。这样,B就相信报文X就是A签名发送的,这就是报文鉴别的原理。同理,如果对篡改过后的报文进行解密后,将会得出不可读的明文,就知道收到的报文被篡改过。这样就可以保证报文的完整性。若A要抵赖曾经发送报文给B,B可以把X以及DSKA(X)出示给进行公证的第三者,第三者很容易的用PKA去证实A确实发送X给B,这就是不可否认的功能。这三项的关键都是没有其他人能够持有A的私钥SKA。
- 但上述的过程仅仅只是对报文进行了签名,对报文X还未保密,
鉴别
- 鉴别是要验证通信的对方确认是自己所要进行通信的对象,而不是其他的冒充者,并且所传送的报文是完整的,没有被他人篡改过。
- 鉴别与授权是不同的,授权涉及的问题是:所进行的过程是否被允许(例如是否对某一个文件能够进行读或者写)。
- 鉴别可以分为
- 报文鉴别
- 密码散列函数:密码散列函数是一种单项函数。
- 如果我们固定长度的散列H(X)被网络拦截了,那么截获者也无法伪造出另一个明文Y,使得H(Y)=H(X),散列H(X)可以保证明文X的完整性。
- 实用的密码散列函数
- MD5
- 先把任意长的报文按模2^64计算其余数(64位),追加在报文后面。
- 在报文和余数之间填充1-512位,使得填充后的总长度是512的整数倍。填充的首位是1,后面是0。
- 把追加和填充后的报文分割为512位的数据块,每个512位的数据块再分成4个128位的数据库再依次送到不同的散列函数进行4轮运算,每一轮又按32位但是小数据块进行复杂运算。一直到最后计算出MD5报文摘要代码。
- SHA-1
- 和MD5相似,但码长为160位。
- MD5
- 报文鉴别
网络安全协议
- 网络层的安全运输协议
- IPsec(IP Security)协议族概述;能够在IP层提供互联网通信安全的协议族,IPsec是一个框架,它允许通信双方选择合适的参数和算法。
- IPsec分为以下三个部分
- IP安全数据格式的两个协议
- 鉴别首部AH协议
- 封装安全有效载荷ESP协议
- 有关加密算法的三个协议
- 互联网秘钥交换IKE(Internet Key Exchange)协议
- IP安全数据格式的两个协议
- IP安全数据报有以下两种工作方式:
- 运输方式(transport mode):运输方式是在整个运输层报文段的前后分别添加若干控制信息,再加上IP首部,构成IP安全数据报。
- 隧道方式(tunnel mode):隧道方式是在原始的IP数据报的前后分别添加若干控制信息,再加上新的IP地址首部,构成一个IP安全数据报。
- 无论使用哪种控制方式,最后得到的IP安全数据报的IP首部都是不加密的。只有使用不加密的IP首部,互联网中的各个路由器才能识别IP首部的有关信息。所谓的安全数据报指的是数据报的数据部分是经过加密的,并且能够倍鉴别。通常把数据报的数据部分称之为数据报的有效载荷。目前使用最多的是隧道方式。
- 安全关联
- 在发送IP安全数据报之前,在源实体和目的实体之间必须建立一条网络层的逻辑连接,即安全关联SA(Security Associtaion)。这样,传统的互联网中无连接状态的网络层就成为了具有逻辑连接的一个层。安全关联是从源点到终点的单向连接,它能够提供安全服务,如果要进行双向通信,则两个方向都要进行安全连接。在这些安全关联上传送的IP数据报就是IP安全数据报。
- 运输层安全协议
- 现在使用比较广泛的两个协议
- 安全套接字SSL(Secure Socket Layer)
- SSL作用在端系统应用层的HTTP和运输层至之间,在TCP之上建立一条安全通道,为通过TCP连接的应用数据提供安全保证。
- 运输层安全TLS(Transport Layer Security)
- 在SSL 3.0的基础上设计了TLS,为所有基于TCP的网络应用
- 安全套接字SSL(Secure Socket Layer)
- SSL提供的安全服务可以归纳为以下几种
- SSL服务器鉴别,允许用户证实服务器的身份。支持SSL的客户端通过验证来自服务器的证书,来鉴别服务器的正式身份并获取服务器的公钥。
- SSL客户鉴别,SSL的可选安全服务,允许服务器证实客户的身份,
- 加密的SSL会话:对客户和服务器之间发送的所有报文进行加密,并检测报文是否被篡改。
- 现在使用比较广泛的两个协议
防火墙
- 防火墙(firewall)是一种访问控制技术,通过严格控制进出网络边界的分组,禁止任何不必要的通信,从而减少潜在入侵的发生,作为系统的第二道防线,入侵检测系统IDS通过对进入网络的分组进行深度分析和检测发现意思入侵行为的网络活动,并通过报警以便采取相应措施。
- 防火墙是一种特殊编程的路由器,安装在一个网点和网络的其余部分之间,目的是实施访问控制策略、一般把防火墙里面的网络称之为可信的网络,而把防火墙外面的网络称之为不可信的网络
- 防火墙技术一般分为以下两类
- 分组过滤路由器:是一个具有分组过滤功能的路由器,它根据过滤规则对进出内部网络的分组进行转发或者丢弃(过滤)。
- 应用网关(代理服务器):所有进出网络的应用程序报文都必须经过网关。当某应用客户进程向服务器发送一个请求报文时,先发送给应用网关,应用网关在应用层打开该报文,查看该请求是否合法,如果合法,应用网关以客户进程的身份请求报文转发给原始服务器。如果不合法,报文则丢弃。
入侵检测系统IDS
- 入侵检测系统IDS对进入网络的分组进行深度分组检查,当检查到可疑分组的时候,向网络管理员发出警告或执行阻断操作(由于IDS误报率比较高,通常不会自动执行)。
- IDS一般可分为两种检测
- 基于特征的入侵检测:基于特征的IDS维护一个所有已知攻击标志性特征的数据库,当发现有与某种攻击特征匹配的分组或者分组序列的时候,则认为可能检测到某种入侵行为。
- 基于异常的入侵检测:基于异常的IDS通过观察运行的网络流量,学习正常流量的统计特性和规律,当检测到网络中流量的某种统计规律不符合正常情况时,则认为可能发生了入侵行为。