摘要
- 计算机网络安全概述
- 信息加密技术
- Internet 中的安全协议
- 防火墙技术
一、计算机网络安全概述
什么是计算机网络安全?
计算机网络安全是一门涉及计算机科学、通信技术、密码技术、应用数学和信息论等多门类知识的综合性学科。利用管理控制和技术措施,保证在计算机网络环境中,数据信息的机密性、完整性和可用性受到保护。计算机网络安全的目标是什么?
机密性、完整性、可用性、不可抵赖性、可控性。网络安全的主要技术有哪些?
1) 加密技术:是基于密码学理论的一种技术,将明文利用密钥,通过加密算法交换成密文,从而在网络中进行保密传输。
2)鉴别技术:对于网络中各种不安全因素,如攻击、窃取和篡改等行为,以及病毒、蠕虫、木马等恶意代码,及时准确地进行判断和识别。
3)防火墙技术:是一种将内部网络和外部网络分开的方法,主要用于限制被保护的内部网络与外部网络之间的信息交互。
4)访问控制技术:计算机网络管理者对网络中的用户和用户组赋予不同的权限,来对网络中的文件、目录和设备资源进行不同的操作。
5)防病毒技术:对计算机病毒、蠕虫、木马和逻辑炸弹等恶意程序进行预防、监测和消除。
6)监控审计技术:对用户使用计算机网络的各种活动进行检测,记录系统产生的各种事件,可以为系统出现问题时提供重要依据。
7)备份技术:为了防止各种网络安全威胁带来的破坏,要对计算机网络中的信息和数据进行有效的备份,以便发生故障时尽快地全面恢复。
- 常用的计算机网络安全措施有哪些?
1)物理隔离:只在单机或小范围局域网内进行数据通信。
2)逻辑隔离:采用软件或硬件方式,在逻辑上对某些网络业务或应用进行控制和阻隔,主要方法是使用防火墙。
3)加密通信:将明文转换成密文传输。
4)采用专用网或虚拟专用网:专用网是指租用电信公司的通信线路专门为某个机构或组织提供服务,优点是安全程度高,缺点是费用高;虚拟专用网(VPN)是利用公用的Internet 作为某个机构或组织网络之间的数据传输通道,利用IP隧道技术和加密技术在逻辑上实现特定网络的数据业务。
5)病毒防御:在网络中的服务器和客户端中安装杀毒软件,对网络进行病毒防御。
6)身份认证:对于不同身份,授予相应的系统使用权限,并通过用户账户的设置和管理,进行用户身份的认证。
7)网络管理和审计:通过对网络流量、业务类型和访问时间等信息的统计分析,可以了解网络运行的负载、用户的需求和兴趣,以及网络的异常和危险,从而及时采用相应的措施。
二、信息加密技术
2.1 信息加密概述
信息加密是利用密码学的原理和方法对数据传输提供保护的手段。信息加密的一般模型如下图所示。
其中明文是输入的原始信息,密文是明文经过加密变换后的结果,密钥是参与密码变换的参数,加密算法是将明文变换为密文的变换函数,变换过程称为加密;解密算法是将密文恢复到明文的变换函数,变换过程称为解密。信息加密的要求满足:
即用加密算法得到的密文总是能用一定的解密算法恢复出原始的明文来。
2.2 密码体制分类
密码体制根据加密原理的不同可以分为 对称密钥密码体制 和 非对称密钥密码体制 两种类型。
1. 对称密钥密码体制
又称为单密钥密码体制,是指加密密钥和解密密钥相同的密码体制。对称密钥密码体制的保密性取决于对密钥的保密,其加密和解密算法是公开的。在加密前,先产生一个密钥,该密钥或由信息发送方产生,然后通过保密的信道传递给接收方;或者由可信的第三方生成,然后通过保密的信道分别发送给发送方和接收方。
经典的加密算法是DES,其基本思想是:将明文分成若干个组,每个组是64位长的二进制数据,然后对每组64位二进制数据进行加密处理,产生一组64位的密文数据,各组密文数据构成整个的密文。采用64位二进制的密钥,其中有效密钥是56位,8位用于奇偶校验。共有种可能的密钥,随着计算机性能的不断提高,DES 56 位密钥已经不满足安全性要求,因此出现了使用 128 位密钥的加密算法 IDEA。
2. 非对称密钥密码体制
又称为双密钥密码体制,其特点是加密密钥和解密密钥不同。每次生成密钥时都生成一对不同的密钥,其中一个是加密密钥,向公众公开,称为公钥;另一个是解密密钥,对公众保密,称为私钥。
双密钥产生的原因是:一是为了解决对称密钥密码体制中的密钥管理和分配问题;二是为了满足对数字签名的需求。
基本过程:每个用户在获得自己的密钥对后,将加密密钥公开给网络中的其他用户,当其他用户需要给某个用户发送数据时,使用该用户公开的加密密钥进行加密,该用户收到密文后,用自己保存的解密密钥进行解密,还原出明文。
优点:公开加密密钥,大大简化了密钥的管理和传输。
最著名的非对称密钥密码体制是 RSA 密码体制。
2.3 密钥的分配
2.3.1 对称密钥的分配
假设网络有n个用户,其中的任意两个人要进行加密通信,且加密密钥和解密密钥相同,则一共需要 n(n-1) 个密钥。如果每两个用户共享一个密钥,则网络通信需要的密钥数为 n(n-1)/2 。为了管理大量的密钥,并且能安全地传递给通信的双方,需要在网络中设置一台专门的密钥分配服务器,称为 密钥分配中心 KDC 。KDC 的任务是为每次需要进行加密通信的用户分配一个只使用一次的密钥。网络中需要进行加密通信的用户都要在 KDC 服务器进行登记,并且获取一个用户与 KDC 服务器进行加密通信的密钥,称为 主密钥 。
密钥分配分为三个步骤,如下图所示。
1)用户A向 KDC服务器发送明文数据,表明想要同 B 进行加密通信。明文中包含 A 和 B 在 KDC 中所登记的身份。
2)KDC 服务器接到 A 的请求后,利用随机数产生一个供 A 和 B 加密通信使用的密钥 ,将 和一个被称为 “票据”(Ticket)的数据段打包,并且用 A 的主密钥加密一起发给A。票据中包含 A 和 B 在 KDC 中登记的身份和 ,并使用 B 的主密钥进行加密。
3)A 收到 KDC 发回的数据报文后,将票据转发给 B 。当 B 收到 A 转发来的票据后,使用自己的主密钥进行解密,得到了 A 和 B 在 KDC 中的登记身份,就知道 A 要同它进行通信,同时也知道了 KDC 为 A 和 B 通信所分配的密钥 。这样,A 就可以利用 与 B 进行加密通信了。
目前最出名的密钥分配协议是 Kerberos V5,是美国麻省理工学院(MIT)开发的。Kerberos 既是鉴别协议,同时也是 KDC,现在是互联网建议标准。Kerberos 使用 AES进行加密。大致工作过程如下图所示。
Kerberos 使用两个服务器:鉴别服务器 AS (Authentication Server)、票据授予服务器 TGS (Ticket-Granting Server)。Kerberos 只用于客户与服务器之间的鉴别,而不用于人对人的鉴别。上图中 A 是请求服务的客户,B 是被请求的服务器。Kerberos 经过六个步骤才向 A 和 B 分配会话使用的密钥。步骤如下。
1)A 用明文向鉴别服务器 AS 表明自己的身份。AS 就是 KDC,它掌握各实体登记的身份和相应的口令。AS 对 A 的身份进行验证。只有验证正确,才允许 A 和票据授权服务器 TGS 进行联系。
2)鉴别服务器 AS 向 A 发送用 A 的对称密钥 加密的报文,这个报文包含 A 和 TGS 通信的会话密钥 以及 AS 要发送给TGS的票据(这个票据是用TGS的对称密钥 加密的)。A 并不保存密钥 ,当这个报文到达 A 时,A 就输入其口令。若口令正确,则该口令和适当的算法一起就能生成密钥 。这个口令随即被销毁。密钥 用来对 AS 发送过来的报文进行解密。这样就取出会话密钥 (这是 A 和 TGS 通信要使用的)以及要转发给TGS的票据(这是用密钥 加密的)。
3)A 向 TGS 发送三项内容:
- 转发鉴别服务器 AS 发来的票据。
- 服务器B的名字。表明A请求B的服务。
- 用 加密的时间戳 T。它用来防止入侵者的重放攻击。
4)TGS 发送两个票据,每一个都包含A和B通信的会话密钥 。给A的票据用 加密;给B的票据用B的密钥 加密。现在入侵者不能提取 ,因为不知道 和 。入侵者也不能重放步骤3,因为入侵者不能把时间戳更换为一个新的(因为不知道 )。如果入侵者在时间戳到期之前,非常迅速地发送步骤3的报文,那么对TGS发送过来的两个票据仍然不能解密。
5)A 向B转发TGS发来的票据,同时发送用 加密的时间戳T。
6)B把时间戳T加 1 来证实收到了票据。B向A发送的报文用密钥 加密。
之后,A和B就使用会话密钥 进行通信。
2.3.2 非对称密钥(公钥)的分配
采用两个密钥,一个公钥作为加密密钥,一个私钥作为用户专有的解密密钥,通信双方不需要在网络中传递私钥。
如何保证公钥的真实性?
为了使网络中的所有用户都能够知道其他用户的真实公钥,必须要在网络中设置一个可信任的权威机构,称为认证中心CA。CA将用户的公钥与其真实身份的标识信息(如IP地址)进行绑定,每一个用户与其公钥的绑定称为证书。
CA认证的工作原理是什么?
假设用户A想同用户B进行加密通信,A将自己的证书发给B,证书中包括了A的身份和公钥;B需要确认A证书的真实性,就向证书的颁发者CA发送报文进行求证。CA根据B所发送证书中的公钥确定其拥有者的真实身份,并形成新的证书,利用CA的私钥对新证书加密后传输给B。由于CA的公钥是向用户公开的,则B收到CA发送回来的新证书后,使用CA的公钥进行解密,获得证书中的用户身份,从而对用户A的身份进行确认。
2.4 数字签名
用于计算机网络中表示文件真实性的技术称为数字签名技术。它实现3个功能:
- 接收者能够核实发送者对报文的签名。即接收者能够确信该报文的确是发送者发送的。这称为 报文鉴别 。
- 接收者确信收到的数据和发送者发送的完全一样而没有被篡改过。这称为 报文的完整性 。
- 发送者事后不能抵赖对报文的签名。这称为 不可否认 。
数字签名过程如下图所示。
其过程为:A用其私钥 对报文X进行D运算(此处运算不是解密,而是得到某个不可读的密文)。A把经过D运算得到的密文传送给B。B为了 核实签名 ,用A的公钥进行E运算,还原出明文X。
数字签名具有上面3个功能的原因:
1)报文鉴别: 因为除A外没有别人持有A的私钥 ,所以除A外没有别人能产生密文 。这样,B就相信报文X是A签名发送的。
2)报文的完整性: 其他人如果篡改过报文,但由于无法得到A的私钥
来对X进行加密,那么B对篡改过的报文进行解密后,将会得出不可读的明文,就知道收到的报文被篡改过。
3)不可否认: 若A要抵赖曾发送报文给B,B可以把X及 出示给进行公证的第三者。第三者很容易用 去证实A确实发送X给B。
但上述过程仅对报文进行了签名,对报文X本身却未保密。因为任何人只要拥有发送者的公钥 都能够得到明文X。下图可同时实现秘密通信和数字签名。图中 和 分别为A和B的私钥,而 和 分别为A和B的公钥。
2.5 鉴别技术
鉴别是指在通信过程中,参加通信的实体要验证通信的对方是自己所要通信的对象,而不是其他冒充者。最常用的鉴别技术是报文鉴别。
报文鉴别是指接收者在收到数据报文后,能够确认该报文是由发送者所发,而没有经过他人的篡改。进行数字签名是进行报文鉴别的主要手段,但对于很长的报文进行数字签名会大大加重计算机的负担,因此,当进行不需要加密报文的传送时,接收方应该能够用简单的方法进行报文的鉴别。
典型的报文鉴别方法是 报文摘要 (Message Digest,MD)。
报文摘要的基本思想
发送方A将要发送的较长的报文经过某种报文摘要运算后变成很短的报文摘要,然后用自己的私钥对报文摘要进行D运算,即进行数字签名。经过数字签名的报文摘要称为 报文鉴别码 (Message Authentication Code,MAC)。A将报文鉴别码MAC插入到原始报文之后一起发送给接收方B。B收到原始报文和报文鉴别码MAC之后,首先将原始报文与报文鉴别码MAC分离,然后利用A的公钥对报文鉴别码进行E运算,还原出报文摘要;再对原始报文进行报文摘要运算,将得到的结果与由MAC还原出的报文摘要进行比对。如果两者一致,则说明收到的报文是A发送的,否则,说明报文受到了其他用户的篡改。报文摘要的优点
1)对报文摘要进行数字签名比对整个报文进行数字签名简单得多。
2)将原始报文和报文鉴别码合在一起是不可伪造的。报文摘要算法的原理
利用 单向哈希函数 将任意长度的输入报文经过计算得出固定位数的输出。所谓单向,是指该算法是不可逆的,即从输出计算得到输入是不可实现的,而且要找到任意两个输入报文,使得它们具有相同的报文摘要也是不可能的。最常用的报文摘要算法是 MD5 算法 。
要根据MD5计算出的报文摘要还原出原始报文,其计算量的级数为 ,在实际情况中是不可能实现的。虽然有不少研究者证明MD5算法有漏洞,是可以被攻破的,但到目前为止仍然没有人能找到破解MD5算法的方法。除了MD5算法外,还有SHA算法,原理与MD5相似,采用的是160位的报文摘要。
三、Internet 中的安全协议
常用的Internet安全协议包括Internet安全协议(IPsec)、安全套接字层协议(Secure Socket Layer,SSL)和运输层安全协议(Transport Layer Security,TLS)等。
3.1 IPsec 协议
IPsec 工作在网络层,它不是一个单独的协议,而是一个协议组,包含多个协议。主要功能是对IP数据报进行加密,并且确保目的站点收到IP数据报时能够确信是从该IP数据报的源IP地址主机发送过来的。
在IPsec体系中,源主机和目的主机之间需要建立一条网络层的逻辑连接,称为安全关联SA。SA是一个单工连接,每个SA都有一个与之关联的安全标识符,在进行通信时,每个分组都携带相应的安全标识符,目的主机利用该安全标识符来查询数据报中的密钥和其他信息。
IPsec 体系有两种安全控制协议:鉴别首部 (Authentication Header,AH)协议和 封装安全有效载荷 (Encapsulation Security Payload,ESP)协议。AH 提供源站点的鉴别和数据完整性服务,但不能进行数据加密;而ESP除了提供源站点鉴别和数据完整性服务外,还提供数据加密服务。
IPsec 体系中包含两种工作模式:
- 传输模式:保护IP数据报的上层协议数据
- 隧道模式:对整个IP数据报进行保护
1. 鉴别首部协议(AH)
AH协议利用报文摘要对IP数据报进行验证,从而使得对IP数据报的篡改可以被检测出来。AH首部的报文结构如下图所示。
各字段含义:
1)下一个首部(8位):标志紧接着本首部的下一个首部类型(如TCP、UDP)。
2)有效载荷长度(8位):表示鉴别数据字段的长度。
3)保留(15位):用于今后使用。
4)安全参数索引SPI(32位):用于标识某一个安全关联 SA。
5)序号(32位):用于对一个SA上发送的所有分组进行编号。
6)报文鉴别码MAC(长度可变):必须时32bit的整数倍,包含了经数字签名的报文摘要,用来鉴别源主机和检查IP数据报的完整性。
AH 有两种工作模式:
传输模式: AH首部被插入到数据报中,紧跟在IP首部之后,位于需要保护的上层协议之前,如TCP或UDP首部,如下所示。
IP首部 | AH首部 | TCP首部 | 数据 |
---|
隧道模式: 它将所保护的数据报完全封装起来,在AH头之前另外添加一个新的IP首部。原IP首部包含了通信的原始信息,新添加的IP首部包含了通信两端的地址,如下所示。
新的IP首部 | AH首部 | 原IP首部 | TCP首部 | 数据 |
---|
2. 封装安全有效载荷协议(ESP)
ESP 协议除了提供数据源验证和完整性验证外,还提供数据报的加密服务。ESP 报文格式如下图所示。
其中SPI、序列号、下一个首部、报文鉴别码MAC与AH首部中相应字段含义相同,载荷数据是ESP需要加密的数据,填充字段是一个8bit字段,以字节位单位指示了填充字段的长度。其中,SPI和序列号构成ESP首部,填充、填充长度和下一个首部字段构成ESP尾部。
ESP有两种工作模式:
传输模式: 保护的是IP数据报的载荷,如TCP、UDP和ICMP等数据段,其格式如下所示。
原IP首部 | ESP首部 | TCP首部 | 数据 | ESP尾部 | ESP MAC |
---|
隧道模式: 保护的是整个IP数据报,其格式如下所示。
新IP首部 | ESP首部 | 原IP首部 | TCP首部 | 数据 | ESP尾部 | ESP MAC |
---|
ESP 对IP数据报进行加密和鉴别的过程:
1)将ESP尾部添加到IP数据报后面,按照安全关联SA指明的加密算法和密钥对有效载荷数据和ESP尾部一起进行加密。如果是传输模式,有效载荷包括TCP、UDP等数据报;如果是隧道模式,则有效载荷包括整个IP数据报。
2)在已经加密的报文部分前面添加ESP首部。如果是传输模式,则ESP首部前的原IP首部仍然保留;如果是隧道模式,需要在ESP首部前面加入新的IP首部。
3)按照SA指明的鉴别算法和密钥,对ESP首部、有效载荷和ESP尾部一起进行报文摘要运算,生成报文鉴别码MAC,并将MAC添加到ESP尾部后面。
3.2 安全套接字层协议(SSL)/ 传输层安全协议(TLS)
SSL/TLS 属于传输层的安全协议。SSL(Secure Socket Layer)最初是由Netscape 公司推出的安全传输协议,经过了SSL 1.0 、SSL 2.0 、SSL 3.0 ,后来由IETF正式接管,将SSL做了标准化并更名为TLS(Transport Layer Security),SSL/TLS 提供的安全服务主要包括:
- 认证性:借助数字证书认证服务器端和客户端身份,防止身份伪造。
- 机密性:借助加密防止第三方窃听。
- 完整性:借助消息认证码(MAC)保障数据完整性,防止消息篡改。
- 重放保护:通过使用隐式序列号防止重放攻击。
SSL/TLS 基本过程:
1)首先浏览器向服务器发出请求,询问对方支持的对称加密算法和公钥加密算法;服务器回应自己支持的算法。
2)浏览器选择双方都支持的加密算法,并请求服务器出示自己的证书;服务器回应自己的证书。
3)浏览器随机产生一个用于本次会话的对称加密密钥,并使用服务器证书中附带的公钥对该密钥进行加密后传递给服务器;服务器为本次会话保存该对称密钥。由于第三方不知道服务器的私钥,即使截获了数据也无法解密。
4)浏览器使用对称加密密钥对要发送的HTTP请求信息加密后传送给服务器,服务器使用该对称密钥进行解密;服务器使用对称密钥对HTTP响应消息加密后传送给浏览器,浏览器使用该对称密钥进行解密。
SSL 建立安全会话的过程如下图所示。
四、防火墙技术
防火墙技术的基本思想是将内部网络和外部网络进行有目的隔离和控制,保护内部网络不受外部网络的攻击。
根据工作原理的不同,防火墙技术可以分为包过滤技术、代理服务技术、状态监测技术和NAT技术等。
1. 包过滤技术
基本思想是对IP数据报进行检测,根据IP数据报的源地址、目的地址、源端口、目的端口及协议状态等信息进行选择,确定是否允许某个IP数据报通过防火墙。对IP数据报进行选择的依据称为过滤逻辑,防火墙中所保存的过滤逻辑集合称为访问控制列表(Access Control List,ACL)。采用包过滤技术的防火墙,每次接收到一个来自外网的IP数据报后,首先访问其ACL,读取其中第一条过滤逻辑,然后分析IP数据报中的各首部字段,包括IP、TCP和UDP等,判断是否允许该IP数据报通过,如果不允许则将IP数据报阻塞;如果允许,则读取ACL中的下一条过滤逻辑继续判断,直到所有过滤都通过,才将其送入内网。
优点:
逻辑简单、价格便宜、易于安装和使用。
缺点:
基于源IP地址和目的IP地址,因此IP地址容易被假冒;只能鉴别网络层和传输层的有线信息(首部),不能识别具体的应用程序。
2. 代理服务技术
当代理服务器得到一个客户端的连接请求时,它将核实该客户端请求,并用特定的代理程序来处理连接请求,并将处理后的连接请求发送给真实的服务器;当真实的服务器发回响应时,也是代理程序接收该响应,同样经过处理后传递给原客户端。代理服务技术工作在应用层,常见的采用代理服务技术的防火墙是 应用层网关防火墙 。
优点:
安全性比较高,因为每个内外网连接都要通过代理程序的检测和判断,同时还可以对流量进行记录和控制。
缺点:
因为要对应用层数据进行分析,故处理速度比较慢,而且对于用户是不透明的,需要用户在客户端进行相应的安装和配置操作。
3. 状态检测技术
也称为动态包过滤技术,其基本思想是在连接内网和外网的网关处设置一个执行网络安全策略的专门软件,称为检测引擎。检测引擎在不影响网络正常运行的情况下,采用抽取通过的数据的方法对网络通信的各个层次进行检测,并且将抽取的状态信息动态地保存起来作为执行安全策略的参考。状态检测防火墙监视和跟踪每一个连接的状态,并根据连接的状态信息决定是否允许数据报通过防火墙。
与包过滤技术的不同:包过滤只针对某个独立的数据报进行检测,不关心前后的情况,而状态检测技术将同属于一个连接的数据报作为一个整体的数据流看待,构成连接状态表。状态检测技术相比传统的包过滤技术,具有更好的灵活性和安全性。
4. NAT 技术
网络地址转换协议NAT是将内部私有IP地址转换成合法的公用IP地址,从而使网络内部使用私有IP地址的用户能够访问Internet。NAT本意是用于解决IP地址稀缺问题,但因为其可以将内部私有IP地址进行转换,防火墙可以利用NAT这个特性,使外部网络无法直接对内网的任何一台计算机发起攻击。目前大多数防火墙产品都具有NAT功能。
总结
介绍了网络安全的基本概念,网络安全有哪些主要技术及实现措施
信息加密技术的基本模型,对称密钥和非对称密钥的基本思想,以及密钥分配的方式,数字签名和鉴别技术的实现思路
Internet中常用的安全协议 IPsec、SSL/TLS基本原理
防火墙的作用及主要技术分类