【相关博客链接】
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(1. 网络安全概述)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(2. 恶意代码)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(3. ARP攻击)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(4. 拒绝服务攻击)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(5. DNS安全)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(6. 网络安全扫描)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(7. 防火墙)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(8. 入侵检测系统)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(10. 应用安全PGP)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(11. 社会工程学)
9. 虚拟专用网络(VPN)
-
VPN提出----端到端数据安全性
-
拨入时窃听-> 网络中链路上窃听-> 数据在安全网关中是明文的,网关管理员可以直接查看机密数据-> 内部段中内部员工可以窃听
-
VPN要解决的问题
- 在端到端的数据通路上随处都有可能发生数据的泄漏,包括
- 拨入段链路上
- ISP接入设备上
- 在因特网
- 在安全网关上
- 在企业内部网上
- 能否提供一个综合一致的解决方案,它不仅能提供端到端的数据保护,同时也能提供逐段的数据保护呢
- 在端到端的数据通路上随处都有可能发生数据的泄漏,包括
-
VPN:virtual private network,虚拟专用
- VPN的定义:是指依靠ISP或其他NSP(Network Server Provider,网络服务提供商)在公用网络基础设施之上构建的专用的数据通信网络,这里所指的公用网络有多种,包括IP网络、帧中继网络和 ATM网络。
- 虚拟
- 专用网:封闭的用户群、安全性高、服务质量保证
-
VPN的构成: VPN服务器<->VPN连接<->VPN客户机
-
VPN技术
- 隧道技术(答三点: 公共上专用, 封装,三种协议)
- 隧道是在公共通信网络上构建的一条数据路径,可以提供与专用通信线路等同的连接特性
- 隧道使用隧道协议来封装数据。一种协议X的数据报被封装在协议Y中,可以实现协议X在公共网络的透明传输。这里协议X称作被封装协议,协议Y称为封装协议。隧道的一般封装格式为(协议Y(隧道头(协议X)))
- 隧道协议
- 第二层隧道:以PPTP((Point to Point Tunneling Protocol),即点对点隧道协议),L2TP(Layer 2 Tunneling Protocol,二层隧道协议)为代表
- 第三层隧道:IPSec
- 隧道技术(答三点: 公共上专用, 封装,三种协议)
-
隧道的相关知识
- 隧道的定义:实质上是一种封装,将一种协议(协议X)封装在另一种协议(协议Y)中传输,从而实现协议X对公用传输网络(采用协议Y)的透明性
- 隧道协议内包括以下三种协议
- 乘客协议(Passenger Protocol)
- 封装协议(Encapsulating Protocol)
- 运载协议(Carrier Protocol)
- 隧道协议例子
-
VPN分类
- 按VPN业务类型划分:
- Intranet VPN(内部公文流转)(内联网)
- Access VPN(远程拨号VPN)
- Extranet VPN(各分支机构互联)
- 按VPN发起主体划分:
- 客户发起,也称基于客户的VPN
- 服务器发起,也称客户透明方式或基于网络的VPN
- 按隧道协议层次划分
- 二层隧道协议: l2f/l2tp, PPTP
- 三层隧道协议: GRE(Generic Routing Encapsulation通用路由封装协议), IPSec
- 介于2,3层间的隧道协议: MPLS
- 基于SOCKS v5的VPN
- 按VPN业务类型划分:
-
VPN功能: 数据机密性保护 l 数据完整性保护 l 数据源身份认证 l 重放攻击保护
9.1. VPN应用类型
9.2. IPSec
-
基于IPSec的VPN解决方案
9.3. 安全联盟数据库(SADB)
- SA(Security Association)是两个IPSec通信实体之间经协商建立起来的一种共同协定,它规定了通信双方使用哪种IPSec协议保护数据安全、应用的算法标识、加密和验证的密钥取值以及密钥的生存周期等等安全属性值
- 安全联盟常用参数
- 加密及验证密钥
- 密码算法在系统中的标识
- 生存周期
9.4. IPSec流程——数据包输出处理
- 数据包被从网络设备发送出去之前,截取到IP包,然后从中提取选择符信息,依据之搜索SPD(安全策略数据库),产生如下可能结果
- SP决定丢弃此包,于是直接丢弃,或者还可以向源主机发送ICMP信息
- SP决定通过此包,直接将数据包投放到网络设备的发送队列
- SP决定应用IPSec,
- 此时SP要么指向一个SA,可以根据它进行安全处理,
- 要么需要的SA不存在,则触发IKE模块协商建立SA,协商周期内数据包进入等待队列等待协商完成,若协商超时,也会丢弃该包
9.5. IPSec流程——数据包输入处理
- 系统收到IP包后,判断如果是IPSec包,则从头部取到<src_ip,protocol,SPI>,搜索SADB
- 若找不到SA,丢弃包
- 若找到,
- 根据其进行解封装,得到去通道化后的原始IP 包,
- 再从原始IP包中提取选择符,搜索到SPD中某一条目,检查收到包的安全处理是否符合描述规则,不符合则丢弃包,符合则转入系统IP协议栈进行后继处理
9.6. IKE基本情况
- 用IPSec保护数据包,必须首先建立一个IPSec的安全联盟,这个安全联盟可以手工建立,也可以动态由特定进程来创建。这个特定的进程就是Internet Key Exchange,即IKE。IKE的用途就是在IPSec通信双方之间通过协商建立起共享安全参数及验证过的密钥,也就是建立安全联盟
9.7. 密钥交换的两个阶段
- 阶段一交换
- 双方会建立一对ISAKMP安全联盟
- 以用身份保护模式(也叫主模式)或野蛮模式
- 阶段二交换
- 在阶段一建立起来的安全信道中,为某种进程协商和产生需要的密钥材料和安全参数
- 在VPN实现中,就是建立IPSec安全联盟
- 快速模式交换
9.8. IKE阶段一
-
主模式交换: 主模式交换提供了身份保护机制,经过三个步骤,共交换了六条消息。三个步骤分别是策略协商交换、Diffie Hellman共享值、nonce交换以及身份验证交换
-
野蛮模式交换也分为三个步骤,但只交换三条消息:头两条消息协商策略,交换Diffie Hellman公开值必需的辅助数据以及身份信息;第二条消息认证响应方;第三条消息认证发起方,并为发起方提供在场的证据
-
阶段2工作原理,关键在文字说明 注意这里是3个包
9.9. 传输层安全------ssl
- SSL: Secure Socket Layer 安全套接字层
- 协议的设计目标
- 为两个通讯个体之间提供保密性和完整性(身份认证)
- 互操作性、可扩展性、相对效率
- 为上层协议提的供安全性
- 保密性
- 身份认证和数据完整性
9.10. SSL协议体系
-
SSL被设计用来使用 TCP提供一个可靠的端到端安全服务
-
协议分为两层
- 底层:SSL记录协议
- 上层:SSL握手协议、 SSL密码变化协议、SSL 警告协议
-
SSL记录协议(位置,功能)
- 建立在可靠的传输协议(如TCP)之上,为更高层提供基本安全服务。特别是HTTP,它提供了Web的client/server交互的传输服务,可以构造在SSL 之上
- 它提供连接安全性,有两个特点
- 保密性,使用了对称加密算法
- 完整性,使用HMAC算法
- 用来封装高层的协议
-
SSL Handshake Protocol, SSLChange Cipher Spec Protocol, SSL Alert Protocol是SSL的高层协议,用于管理SSL交换
9.11. 两个重要概念
- SSL连接(connection)
- 一个连接是一个提供一种合适类型服务的传输(OSI分层的定义)
- SSL的连接是点对点的关系
- 连接是暂时的,每一个连接和一个会话关联
- SSL会话(session)
- 一个SSL会话是在客户与服务器之间的一个关联。会话由 Handshake Protocol创建。
- 会话定义了一组可供多个连接共享的加密安全参数
- 会话用以避免为每一个连接提供新的安全参数所需昂贵的谈判代价
9.12. SSL记录层协议
- 记录层数据封装过程: 分段->压缩->认证->加密->添加ssl记录头
9.13. SSL高层协议
- 握手协议
- 密码变化协议(Change Cipher Spec Protocol)
- 警告协议(Alert Protocol)
9.14. SSL密钥交换——协议整体情况
- 功能
- 客户和服务器之间相互认证
- 协商加密算法和密钥
- 它提供连接安全性,有三个特点
- 身份认证,至少对一方实现认证,也可以是双向认证
- 协商得到的共享密钥是安全的,中间人不能够知
- 协商过程是可靠的
9.15. 整体流程(握手协议的四个阶段)
-
交换Hello消息,对于算法、交换随机值等协商一致
-
交换必要的密码参数,以便双方得到统一的premaster secret
-
交换证书和相应的密码信息,以便进行身份认证
-
产生master secret
-
把安全参数提供给TLS记录层
-
检验双方是否已经获得同样的安全参数
-
阶段功能
- 启动逻辑连接,建立这个连接的安全能力
- 服务器鉴别与密钥交换
- 客户机鉴别与密钥交换
- 第四阶段交互: -建立起一个安全连接