当前位置: 首页 > news >正文

课程笔记 # 网络安全

Ch0 绪论

0.1 课程主要内容及安排

网络基础知识、Internet协议、安全协议的密码学基础、基本安全协议、抗攻击的安全协议、实际使用的安全协议(一共30学时,一周4个学时,7.5周课,考试)

0.2 参考资料

【很好的一本经典书籍】(美)Bruce Schneier著,吴世忠等译。应用密码学,协议、算法与C语言程序,机械工业出版社。2000年。


其他的书:《网络安全协议理论与技术》作者:范明钰著、《安全协议》作者:卿斯汉(非常专业和深入)

0.3 考核方式

开卷考试,查论文有演讲环节

  • 作业(含编程、读书报告、半期):30%
  • 考试(期末):70%

大作业
分组做,找一篇比较好的文章,中英文都可以。中文比较好的期刊有:《计算机研究与发展》、《软件学报》。精读一篇比较好的文章。
文章的质量判断:好的期刊的文章一般好;有实验;关键字查询是一个不断的细化、不断的细化的过程;
论文无外乎几个方面:目的、研究问题、技术方案、实验验证、结论与进一步工作
第六周末交电子稿 PPT+原文;

0.4 课程特点和学习方法

  • 实践性强;网络文章多、名词混乱;
  • 学习方法:理论+实践;

Ch1 基础知识

回顾网络安全相关知识,了解计算机系统所面临的安全问题,理解网络安全体系结构网络安全协议体系的基本内容。

重点:网络协议、网络安全的概念及其重要性

1.1 网络

定义:网络

网络是由两台以上计算机连在一起组成的“计算机群”,再加上相应“通信设备”组成的综合系统。网络带来的好处主要体现在资源共享信息交换及时传递两个方面。

议:第一个能把最重要的东西表达出来,表示清楚,而且进行数学模型和软件化就是很了不起的创新。概念模型很重要。


网络带来的好处:资源共享(包括打印机、硬盘、光盘、绘图仪、扫描仪、应用软件、资料);信息交换和信息的集中与分散处理;提高可靠性、分担负荷和实现实时管理。

对网络很重要的三要素:message、service、protocol

网络的分类



按网络的规模和地理位置,网络可分为:

  • 局域网(Local Area Network,LAN)
  • 介于局域网和广域网之间的网络(又称“区域网”)
    • 企业内部网(Intranet)
    • 园区网/校园网(Campus networks)
    • 城域网(Metropolitan Area Network,MAN)
  • 广域网(Wide Area Network,WAN)
    按照拓扑结构,网络可以分为:总线型、星型、环形

按传输介质,网络可以分为:

  • 有线网/光纤网/无线网

1.2 网络协议

  • 重要性:在网络中,除了网络操作系统外,最重要的就是各种各样的网络协议。
  • 作用:通讯协议是网络社会中信息在网络的计算机之间、网络设备之间及其相互之间"通行"的交通规则。
  • 基本功能:保证网络上信息能畅通无阻、准确无误地被传输到目的地。

协议组成语义语法时序三部分;语义规定通信双方彼此“讲什么”(含义),语法规定“如何讲”(格式),时序关系则规定了信息交流的次序(顺序)。

协议的多样性:理论上,只要有一套协议即可,但由于网络技术在不断发展,应用领域在不断拓宽,加上历史的原因,所以目前尚无一套统一可用的网络协议。

eg. 通信举例


协议在设计的时候是分层设计的。

OSI七层参考模型

研究网络首先需要设计协议



工业物联网层次更少,数据特点是短帧、短包

为什么链路层不单有头还要有尾呢?
因为数据链路层需要抽象成数据帧

1.3 网络的发展

  • 发展历程:具有通信功能的单机系统、具有通信功能的多机系统、网络三个阶段。
    自上世纪80年代末以来,网络技术进入新的发展阶段:moderm -> 综合业务数字网(ISDN)->DDN->Internet->光纤通信网->多媒体网络->人工智能网络
  • 应用发展:资源共享、信息传输与集中处理、均衡负荷与分布处理、综合信息服务
  • 计算机信息系统发展:单价->局域网->广域网
  • 提供服务:远程登陆、电子邮件、数据交换、联机会议

1.4 网络安全的概念及其重要性

网络安全的含义

  • 从用户(个人、企业等)的角度
  • 从网络运行和管理者角度
  • 对安全保密部门来说
  • 从社会教育和意识形态角度来讲

从本质上来讲,网络安全就是网络上信息的安全,是指网络系统的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。广义来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论都是网络安全所要研究的领域。

不同环境和应用中的网络安全

  • 网络系统信息的安全
  • 网络信息传播安全
  • 网络信息内容的安全

案例

1996年初,据美国旧金山的计算机安全协会与联邦调查局的一次联合调查统计,有53%的企业受到过计算机病毒的侵害,42%的企业的计算机系统在过去的12个月被非法使用过。而五角大楼的一个研究小组称美国一年中遭受的攻击就达25万次之多。
根据美国FBI的调查,美国每年因为网络安全造成的经济损失超过1,70亿美元。75%的公司报告财政损失是由于计算机系统的安全问题造成的。超过50%的安全威胁来自内部;只有17%的公司愿意报告黑客入侵,其他的由于担心负面影响而未声张。59%的损失可以定量估算。平均每个组织损失USD$402,000。

据公安部的资料,1998年中国共破获电脑黑客案件近百起,利用计算机网络进行的各类违法行为在中国以每年30%的速度递增。黑客的攻击方法已超过计算机病毒的种类,总数达近千种。
黑客的威胁见诸报道的已经屡见不鲜,内部工作人员的不小心甚至充当间谍。由于内部工作人员能较多地接触内部信息,工作中的任何不小心都可能给信息安全带来危险。

1.5 关于安全的权衡

安全,就是确保不发生有危害的事情。 但实际上,对于安全的含义,有非常复杂的解释,对它们进行剖析有助于理解安全的真正含义。通常情况下,某些经验的方法比较适用于安全这个概念。

首先,安全总是和效率有关
其次,安全与危险是共存的
第三,必须从整个系统的角度去考虑安全问题。
第四,实施安全的措施必须简单。
第五,安全的实现必须注意性能价格比。
最后一点也是很重要的一点,就是安全措施必须尽可能简单

1.X 习题与思考题

网络的基本构成及相互之间的联系。
网络在不同标准下的分类。
网络的发展。
论述并分析造成网络不安全的主要原因。
网络安全的基本内容。
试述网络安全的重要性。
密码学与协议攻击之间的联系


Ch2 Internet的协议

主要回顾Internet协议相关知识,了解Internet中与安全密切相关的协议,理解网络层安全协议IPSec的基本内容。

重点: Internet的协议、Internet的安全

2.1 Internet协议基础

所有网络协议体系均包括下述基本组件:
协议堆栈——由相互间通信、高效率传输数据包的各层构成。
定址系统——提供独一无二标识一个目的地(目标主机)的能力。为了实现大范围内的通信,有必要将通信实体唯一地标识出来。
路由(选择)——决定一个特定数据包的传送路径,令其最终抵达目的地,这就是所谓的“路由选择(Routing)”:

2.1.1 协议堆栈

Internet的基石是TCP/IP协议,该协议在实现上力求简单高效
TCP/IP协议堆栈由4个层构成。堆栈中的每个层都有明确定义的功能及用途。每一层都能导出经准确定义的接口,在它上面或下面的层可通过该接口与之通信。这种分层结构具有多方面的优点。除了能简化协议堆栈的设计之外,还能简化它的使用。

2.1.2 数据流分析(从发送源到接受目的地的数据流)

  • 路由器是一个网络层的设备

2.1.3 网络层和传送层

在传送层,TCP/IP协议套件实现了两种协议—传输控制协议(TCP)以及用户数据报协议(UDP)
TCP是一种“面向连接”的协议,可确保数据包的发送顺序,以及保证它们的正确投递。其内建的机制可向应用层提供这些服务。除此以外,TCP也实现了像“流控制”这样的机制,可确保目标主机不至于受到大量数据包的“狂轰滥炸”。
UDP则是一种“无连接”的协议,既不能担保数据包投递的顺序,也不支持流控制。至于到底选用TCP还是UDP,则完全由应用(程序)决定。

2.1.4 定址

IPv4

IPv4(互联网协议第4版)是当今最流行的一种网络层协议。它采用一种简单的定址方案,并提供了“无连接”服务。IPv4是一种颇为成熟的路由框架
IP地址由两部分构成—一个网络ID以及一个主机ID。其中,网络ID从逻辑意义上将一系列IP地址组合到一起。之所以要进行这样的分组,是为了便于提供有效的路由选择以及其他服务,比如IP广播等等。

IPv4的头结构

IPv6
IPv4将地址空间限制在了32位以内。为避免地址资源全面用完的尴尬局面,IETF早就开始了下一版IP协议的研究,名为IPv6。IPv6的一个主要优点是将地址空间从32位提升到了128位(16个字节)。
不再为通过路由器的数据包提供分段支持。现在要由端主机自己来执行PMTU(path MTU)。(Maximum Transmission Unit,MTU)
支持更丰富的选项。各选项现在以独立的头的形式存在,而不是成为IP头的一部分,显得更加灵活。我们称之为“头链接”。在这种情况下,IP扩展头(选项)要插入IP头与传送层头之间

域名系统
域名系统(DNS)是Internet中一种简单和易于扩展的目录系统。它最重要的功用是将采用www.xyz.com这种形式的一个机器名称翻译成数字形式的IP地址。
对普通人来说,显然不可能记住大量地址,特别是当地址没有语义上的关联时。此外,IP地址大多是动态分配的,IP地址的记忆通常是件没有意义的事情。但在另一方面,网络层能够识别和处理的只能是这种形式的地址。因此,有必要设置一个易于伸缩的系统,将一个名字动态地翻译成IP地址。

2.1.5 路由

2.1.5.1 分段

所谓“分段(Fragmentation)”,是指在源主机或者路由器处,将一个IP包分割为多个IP包的一种过程。经过分段后,每个包都单独传送,并在目的地(目标主机)处重新装配。
网络层数据包亦有可能在路由器处进行分段处理,因为两个物理层之间可能出现数据包允许的最大长度不相符的情况。

2.2 Internet中与安全相关的协议(重点)

导致Internet不安全的原因
Internet的基石是TCP/IP协议,该协议在实现上力求简单高效,没有考虑安全因素。所以TCP/IP本身在设计上就是不安全的。 容易被窃听和欺骗、脆弱的TCP/IP服务、 缺乏安全策略、 配置的复杂性。

2.2.1 实施安全保护的层次

决定到底在堆栈的什么地方应用安全措施时,要依赖于应用(程序)对安全保密的要求,以及用户自己的一些需要。但无论在堆栈的什么地方采取安全措施,下面这些基本服务都是必须要提供的:

  • 密钥管理
  • 机密性
  • 不可抵赖
  • 完整性/身份验证
  • 授权

2.2.2 应用层

在应用层提供安全保障有下述几方面的优点:

  • 由于是以用户为背景执行,所以更容易访问用户凭据,比如私人密钥等。
  • 对用户想保护的数据具有完整的访问权。这便简化了提供一些特殊的服务的任务,比如不可抵赖。
  • 一个应用可自由扩展,不必依赖操作系统来提供这些服务。通常,应用程序对于操作系统上实施的东西没什么控制权。
  • 应用程序对数据有着充分的理解,可据此采取相应的安全措施。

几种运行于应用层上的安全协议:

  • SSH(Secure Shell),是一种远程登录的安全协议。
  • SET(Secure Electronic Transaction),是一个基于可信的第三方认证中心并以此实现网上交易的模型和规范。
  • S-HTTP(Secure Hypertext Transfer Protocol),是一个Web安全协议。
  • PEM(Privacy Enhanced Mail),是Internet上最初的加密邮件协议。
  • S/MIME(Secure/Multipurpose Internet Mail Extension),是一个电子邮件安全协议。

2.2.3 传输层/传送层

与应用层安全相比,在传送层提供安全服务具有一些明显的好处,因为它不会强制要求每个应用都在安全方面作出相应的改进。即使现有的应用本身没有提供安全服务,也能自然、“无缝”地获得安全服务。
具体的传送层安全措施要取决于具体的协议。

几种运行于传送层上的安全协议:

  • SSL(Secure Sockets Layer Protocol),是一个用于在Internet上进行保密通信的安全协议。
  • TLS(Transport Layer Security),其实质是将SSL通用化了的安全协议。
  • SOCKSv5,是防火墙及VPN用的数据加密及认证的安全协议。

2.2.4 网络层

在这一层实现安全服务具有多方面的优点:

  • 首先,密钥协商的开销被大大地削减了。
  • 其次,假如安全服务在较低层实现,那么需要改动的应用程序便要少得多。通过它,我们不必集中在较高的层实现大量安全协议。
  • 网络层安全最有用的一项特性是能够构建VPN和内联网(Intranet)

在网络层提供安全服务的缺点是很难解决像数据的“不可抵赖”之类的问题。

2.2.5 数据链路层

假定两个主机或路由器之间存在一条专用通信链路,而且为避免有人“窥视”,所有通信都需加密,便可用硬件设备来进行数据加密。这样做最大的好处在于速度
该方案的缺点是不易扩展,而且仅在专用链路上才能很好地工作。另外,进行通信的两个实体必须在物理上连接到一起。

几种运行于数据链路层上的安全协议:

  • PPTP(Point to Point Tunneling Protocol),是以IP协议封装PPP帧,通过在IP网上建立隧道来透明传送PPP帧的隧道化协议。
  • L2F(Layer2 Forwarding),是一种允许高层协议的链路层隧道技术,用于建立跨越公共网络(如因特网)的安全隧道来将 ISP POP 连接到企业内部网关。
  • L2TP(Layer2 Tunneling Protocol),是把链路层PPP帧封装在公共网络设施如IP、ATM、帧中继中进行隧道传输的封装协议,它结合了PPTP和L2F的优点,可以使用户从客户端或访问服务器端发起VPN连接。

2.3 网络层的安全协议IPSec (重点)

IPSec是IETFIPSec工作组以RFC形式公布的一组安全IP协议集,是在IP包级为IP业务提供保护的安全协议标准。

IPSec在IPv6中是必须支持的,而在IPv4中可选。

IPSec是一个工业标准网络安全协议,它主要由三个基本部分组成:认证头部AH,封装安全净荷ESP,以及密钥交换IKE。

2.3.1 IPSec的体系结构


IPSec的体系结构
*DOI (domain of interpretation)解释域

2.3.2 安全关联和安全策略

1.安全关联(SA)
SA通过一个三元组唯一的标识。该三元组包括:

  • 安全参数索引(Security Parameters Index,SPI),SPI是安全关联SA与IPSec安全协议的惟一接口。安全协议通过SPI查找对应的SA,并使用SA中的对应安全参数对通信进行保护。
  • 源或目的IP地址:表示对方IP地址。对于外出数据包,指目的IP地址;对于进入数据包,指源IP地址。
  • 一个特定的IPSec协议:采用AH协议或者ESP协议。

2.安全关联数据库(SAD)

  • SAD(Security Association Database,安全关联数据库)并不是通常意义上的“数据库”,而是将所有的SA以某种数据结构集中存储的一个列表。
  • SAD条目包含下面的域:序列号计数器、序列号溢出标志、抗重放窗口、AH认证密码算法和所需要的密钥、ESP认证密码算法和所需要的密钥、ESP加密算法、密钥、初始化向量(IV)和IV模式、IPSec协议操作模式、路径最大传输单元(PMTU)和SA生存期。

3.安全策略(SP)

  • 安全策略(Security Policy,下简称SP)是IPSec结构中非常重要的组件,它定义了两个实体之间的安全通信。指示是否对IP数据包进行安全保护,以及使用什么样的安全保护。SP主要根据源IP地址、目的IP地址、进入数据还是外出数据等来标识。
  • IPSec还定义了用户能以何种粒度来设定自己的安全策略,由“选择符”来控制粒度的大小,不仅可以控制到IP地址,还可以控制到传输层或者TCP/UDP端口等。

4.安全策略数据库

  • SPD(Security Policy Database,安全策略数据库)也不是通常意义上的“数据库”,而是将所有的SP以某种数据结构集中存储的一个列表。
  • 通常IPSec协议要求在所有数据包(通信流)进行处理的过程中都必须查询SPD,不管是进入的还是外出的。SPD中包含一个策略条目的有序列表。通过使用一个或者多个选择子来确定每一个条目。IPSec当前允许的选择子有:目的IP地址、源IP地址、传输层协议、系统名和用户ID。

2.3.3 IPSec协议的运行模式

IPSec隧道模式
IPSec传输模式

2.3.4 AH协议

  • 认证头格式
    AH由5个固定长度域和1个变长的认证数据域组成。

2.3.5 ESP协议


2.X

网络协议体系的构成。
简述IPv4、IPv6的定址方法。
现存TCP/IP协议的安全缺陷有哪些。
通过对各层安全协议的了解,举例说明密码算法在协议的安全性上所起的重要作用。
IP层的安全体系结构(IPsec)包含哪些安全服务,其实现的基础是什么?
说明IP认证头AH的作用和格式。
说明封装安全负荷协议ESP的作用和格式


相关文章:

  • @vue/cli 3.x+引入jQuery
  • Vue引用图片的三种方式
  • vue中以this.$xx的属性详解
  • vue中使用normalize.css重设css样式
  • fixed布局内部元素错位
  • 无法引入umi/link
  • Ubuntu用户提权到Root
  • session和cookie自动登录机制
  • 2019MSSCSTC赛前培训 # web方向
  • 基于区块链的去中心化交易系统
  • 电子商务创新
  • 基于区块链的数字版权保护介绍
  • 基于区块链的价值交易和管理系统
  • 区块链:去中心化的交易所方向
  • 星际文件存储IPFS是如何颠覆云存储的?
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Android系统模拟器绘制实现概述
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • Javascript Math对象和Date对象常用方法详解
  • JavaScript设计模式系列一:工厂模式
  • Odoo domain写法及运用
  • python docx文档转html页面
  • React Transition Group -- Transition 组件
  • text-decoration与color属性
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • Zepto.js源码学习之二
  • 代理模式
  • 当SetTimeout遇到了字符串
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 为什么要用IPython/Jupyter?
  • 一些css基础学习笔记
  • nb
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • 带你开发类似Pokemon Go的AR游戏
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​用户画像从0到100的构建思路
  • (1)(1.9) MSP (version 4.2)
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (二)hibernate配置管理
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (四)鸿鹄云架构一服务注册中心
  • (一)Java算法:二分查找
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .net专家(高海东的专栏)
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法