网络|计算机网络-网络安全

网络|计算机网络-网络安全
文章图片
网络安全 本文主要描述计算机网络的安全问题,不涉及主机安全
网络安全问题 计算机网络通信面临的两大类威胁,即被动攻击主动攻击
被动攻击指攻击者从网络上窃听他人的通信内容,也被称为截获。包含:

  • 流量分析。攻击者只是观察分析协议数据单元而不干扰信息流,从而了解所交换数据的某种特征。
主动攻击的常见方式:
  • 篡改。攻击者故意篡改网络上传送的报文。
  • 恶意程序,主要种类:
    • 计算机病毒(computer virus)。一种会“传染”其它程序的程序,传染是通过修改其它程序来把自身或自己的变种复制进去而完成的。
    • 计算机蠕虫(computer worm)。通过网络通信功能,将自身从一个节点发送到另一个节点并自动启动运行的程序。
    • 特洛伊木马(Trojan horse)。一种程序,它执行的功能并非它所声称的功能,而是某种恶意功能
    • 逻辑炸弹(logic bomb)。一种当运行环境满足某种特定条件时,执行其他特殊功能的程序。
    • 后门入侵(backdoor knocking)。利用系统实现过程中的漏洞通过网络入侵系统。
    • 流氓软件。一种未经客户允许就在用户计算机上安装运行损害用户利益的软件。
  • 拒绝服务Dos (Denial of Service)。指攻击者向互联网上的某台服务器不停的发送大量分组,使该服务器无法提供正常服务,甚至完全瘫痪。
    • 分布式拒绝服务 DDoS(Distributed Denial of Service)。从互联网上 N 个网站集中攻击一个网站
    • 交换机中毒。在使用以太网交换机的网络中,攻击者向某个交换机发送大量伪造的源 MAC 地址的帧,交换机的交换表因写入大量源 MAC 而存储不够用,导致交换机无法正常工作。
计算机的安全目标如下:
  1. 防止析出报文内容和流量分析
  2. 防止恶意程序
  3. 检测更改报文流和拒绝服务
安全的计算机网络 一个安全的计算机网络应设法达到以下四个目标:
  1. 保密性。信息的内容,仅有信息的发送方和接收方懂。
  2. 端点识别。能够鉴别发送方、接收方的真实身份。
  3. 信息的完整性。信息的内容未被人篡改过。
  4. 运行的安全性。计算机网络能够正常、安全的运行。
两类密码体制 对称密钥密码体制公钥密码体制
对称密钥密码体系
即加密密钥、解密密钥是使用相同的密码体制。
常用算法:
  • 数据加密标准 DES(Data Encryption Standard)
    • 保密性仅取决于对密钥的保密,算法公开。
  • 三重 DES,算法流程
    • 先用 KEY1 使用 DES 算法加密
    • 再用 KEY2 进行 DES 解密
    • 最后用 KEY1 进行 DES 加密,得到最终的秘文
  • 高级加密标准 AES(Advanced Encryption Standard)
公钥密码体制(public key crypto-system)
使用一对密钥,加密密钥向公众公开,解密密钥则是需要保密的。加密算法、解密算法也都是公开滴。
引入公钥密码体制的原因:
  • 对称密码体制密钥分配问题,分配的方式有:
    • 事先约定。这种方式,造成密钥的管理、更换极大的不便。
    • 信使传达。在高度自动化的计算机网络中,使用信息传达密钥明显不合适。
    • 使用高度安全的密钥分配中心 KDC(Key Distributed Center)。会使网络成本增加。
  • 数字签名的需求
算法实现:
  • RSA 算法
公钥密码体制的特点:
  • 密钥成对存在
  • 公钥加密,私钥解密
  • 私钥加密,公钥验签
数字签名 数字签名必须具备的能力:
  1. 报文鉴别。即接收者能够确信该报文的确是发送者发送的。
  2. 报文的完整性。接收者接收到的数据,与发送者发送的报文保持一致。
  3. 不可否认。发送着事后不能抵赖对报文的签名。
网络|计算机网络-网络安全
文章图片

数字签名的流程
D 运算:解密算法;
E 运算:加密算法
备注:RSA 的 E 运算、D 运算需要占用非常多的计算机的 CPU 时间。
鉴别
  • 报文鉴别,对每一个收到的报文都要鉴别报文的发送者。包含:
    • 端点鉴别。
    • 文件完整性鉴别。
  • 实体鉴别,在系统接入的全部时间内,对和自己通信的对方实体只需验证一次。
    • 实体可以是人、进程(客户或服务器),即端点鉴别
报文鉴别
密码散列函数 散列函数的特点:
  1. 输入可以很长,输出长度固定,并且较短。
  2. 不同的输入可以对应同一个输出。
密码学中使用的密码散列函数,最重要的一个特点:要找到不同的报文,具有同样的密码散列函数输出,在计算上是不可行的
实用的密码散列函数 MD5 和 SHA-1
  • 报文摘要 MD5(Message Digest)
  • 安全散列算法 SHA(Secure Hash Algorithm)
报文鉴别码 MAC(Message Authentication Code) 使用散列函数构建报文鉴别码
网络|计算机网络-网络安全
文章图片

用报文鉴别码 MAC鉴别报文
由于入侵者不掌握密钥 K,所以入侵者无法伪造 A 的报文鉴别码 MAC,因为无法伪造 A 发送的报文。这样就完成了对报文的鉴别。
注意:这里的密钥 K,可以是对称密钥体系,也可以公钥体系。所以在正式通信前,会有一次密钥交换过程。
实体鉴别 实体鉴别所面临的问题:
1. 重放攻击
  • 原理:
    • C 拦截到 A 向 B 发送报文
    • C 不破译秘文,直接将秘文发送给 B,
    • 使 B 误认为 C 就是 A,然后,B 将报文发回给伪装 A 的 B
  • 解决方案:
    • 使用不重数解决
    • 重要的理论依据是:A 和 B 对不同的会话使用不同的不重数集。
2. 中间人攻击(man-in-the-middle attack)
网络|计算机网络-网络安全
文章图片

即便使用公钥体系 + 不重数字中间人攻击依然可以使互相通信的 A 和 B 毫无察觉。这里需要确认你所收到的公钥真的是对方的公钥吗?所以,公钥的分配、以及认证公钥的真实性是一个非常重要的事情。
密钥分配 密钥分配的两种方式:
  • 网外分配。即派遣最可靠的信使携带密钥分配给互相通信的各用户。
  • 网内分配。即密钥自动分配。
对称密钥的分配
常用的方式是设立密钥分配中心 KDC(Key Distribution Center),它的特点是:
  • 大家信任的机构
  • 任务是,给需要进行秘密通信的用户临时分配一个会话密钥(仅在一次会话期间使用)
  • 客户 A、B,在 KDC 登记时,就在 KDC 服务器上,记录了与 KDC 通信的主密钥

图:KDC对会话密钥的分配
分配结束后,A 与 B 获得一个临时会话密钥 Kab,使用 Kab 进行加密通信。
公钥额分配
认证中心 CA(Certification Authority),特点:
  • 一般由政府出资建立
  • 能够将公钥与其对应的实体(人或机器)绑定
  • 每个实体都有 CA 发来的证书,证书里面有公钥及其拥有者的标识信息(人名或 IP 地址)
  • 此证书被 CA 进行了数字签名
  • 任何用户都可以从可信的地方(如代表政府的报纸)获得认证中心 CA 的公钥,此公钥用来验证某个公钥是否某个实体所拥有(通过向 CA 查询)
互联网使用的安全协议 网络层的安全协议
网络层使用 IPsec(IP security) 协议族,它不是一个单一协议,是一个框架,允许通信双方选择合适的算法和参数(例如,密钥长度)
运输层的安全协议
广泛使用的两种协议:
  • 安全套接字层 SSL(Secure Socket Layer)
  • 运输安全 TLS(Transport layer Security)
SSL 作用在端系统的应用层 HTTP 和运输层之间,在 TCP 之上建立一个安全通道,为通过 TCP 传输的应用层数据提供安全保障。
未使用 SSL 时,应用层的应用程序通过 TCP 套接字与运输层进行交互的。
应用层使用 SSL 最多的是 HTTP,但 SSL 并非仅用于 HTTP,而是可用于任何应用层的协议。比如:邮件 IMAP
【网络|计算机网络-网络安全】SSL 提供的安全服务可归纳为三种:
  1. SSL 服务器鉴别,允许用户证实服务器的身份。支持 SSL 的客户端通过验证来自服务器的证书,来鉴别服务器的真实身份、并获得服务器的公钥。
  2. SSL 客户鉴别,SSL 的可选安全服务,允许服务器证实客户的身份。即双向认证。
  3. 加密的 SSL 会话,对客户和服务器间发送的所有报文进行加密,并检测报文是否被篡改。
网络|计算机网络-网络安全
文章图片

SSL建立安全会话的简单过程
应用层的安全协议
  • 电子邮件的安全协议:PGP(Pretty Good Privacy) 协议
系统安全与入侵检测
  • 用户入侵行为:
    • 利用系统漏洞进行未授权登录
    • 已授权的用户非法获取更高级别的权限
  • 软件入侵行为:
    • 通过网络传播病毒、蠕虫、特洛伊木马
  • 拒绝服务攻击:阻止合法用户正常使用服务
事前可以采用防火墙技术防范,事中采用入侵检测系统防范。
防火墙(firewall)
防火墙作为一种访问控制技术,通过严格控制进出网络边界的分组,禁止不必要的通信,从而减少潜在入侵的发生。
防火墙是一种可特殊编程的路由器,安装在一个网点和网络的其余部分之间,目的是实施访问控制策略。
防火墙技术一般分为两类:
  1. 分组过滤路由器
    • 特点:
      • 具备分组过滤功能的路由器
      • 过滤规则基于分组的网络层、运输层的首部信息,如源/目的 IP 地址、源/目的端口、协议类型(TCP、UDP)等
    • 优缺点:
      • 简单高效,且对用户是透明的
      • 不能对高层数据进行过滤。比如:
        • 不能禁止某个用户对某个特定应用进行某个特定的操作
        • 不能支持应用层用户鉴别
  2. 应用网关,也称为代理服务器
    • 特点:
      • 它在应用层通信中扮演报文中继的角色
      • 一种网络应用需要一个应用网关
      • 基于应用层的数据过滤和高层用户鉴别
        • 所有进出网络的应用程序报文都必须通过应用网关
        • 网关对报文进行合法性检查,合法的报文才会转发给原始服务器,否则丢弃。例如,报文中敏感关键字检查
    • 优缺点:
      • 每种应用都需要不同的应用网关
      • 在应用层转发、处理报文,处理负担较重
      • 对应用程序不透明,需要在应用程序客户端配置应用网关地址
入侵检测系统 IDS
入侵检测方法一般分为基于特征的入侵检测基于异常的入侵检测
基于特征的入侵检测只能检测已知攻击,对未知攻击则束手无策,原理:
  1. 维护一个所有已知攻击标志性特征的数据库
  2. 每个特征是一个与某种入侵活动关联的规则集
  3. 当发现有与某种攻击特征匹配的分组、分组序列时,则认为发生入侵
基于异常的入侵检测,原理:观察正常运行的网络流量,学习正常流量的统计特征和规律,当检测到网络流量不符合正常情况时,则认为发生入侵
入侵检测系统中的漏报、误报,如果漏报率比较高,则仅能检测到少量的入侵,给人以安全的假象;误报率太大会导致大量的虚假报警。
文章关联:
  1. 概述
  2. 网络层
  3. 运输层
  4. 应用层
  5. 网络安全

    推荐阅读