《计算机网络安全技术》复习笔记

  很遗憾,只有前半学期真的在听这门课,后来就基本是去教室做别的作业或者边听边摸鱼了……

  这门课是十六周周三考试,今天已经是十五周周六了,还没怎么复习,事情怎么会发展成这样!这课作业占40分,还有5分附加题,虽然我把附加题都做了,但可能做的过于敷衍,加上非附加题做错了一点,总之现在作业恰好得了40分;据说不调分,所以现在需要好好复习啦。

  打引号的部分是从github上那版笔记那里copy的。

一 基础概念(Why Learn Network Security)

1.无处不在的通信

  通信是人类的基本需求,通信的基本要素:信源、信道、信宿。

  一个多世纪前,电信网出现;半个多世纪前,计算机网络出现;此外还存在单向广播式网络---有线电视网。

  “三网合一”指的是电信网、计算机网络和有线电视网。

  电报:电报信息通过专用的交换线路以电信号的方式发送出去;电信号用编码代替文字和数字,通常使用的是摩尔斯电码。

  摩斯电码:·读“滴”,—读“嗒”;间隔时间:滴=1t,嗒=3t,滴嗒间=1t,字符间=3t,单词间=7t.

  1946年,世界上第一台电子计算机问世。

  无线电话:

    载波是传送信息(话音和数据)的物理基础和承载工具。

    蜂窝移动通信系统主要是由交换网路子系统(NSS)、无线基站子系统(BSS)和移动台(MS)三大部分组成。

    4G最重要的特征就是更快的无线通信速度。

  计算机网络发展:

    第一代计算机网络:主机--通信线路--终端,多个用户可以共享资源服务

    arpanet:提出分组交换的概念,形成了资源子网通信子网的网络结构;传送方法是存储转发

    Internet:采用标准统一的TCP/IP协议,标志着互联网Internet的诞生(只要支持TCP/IP协议,网络就可以互联)

  计算机网络:

    由地理位置分散、具有独立功能的多个计算机系统,利用通信设备和传输介质互相连接。实现数据通信和资源共享的系统。

    从物理连接上看,由计算机系统、通信链路和网络节点组成。

    逻辑功能上分为资源子网(计算机系统进行各种数据处理)和通信子网(通信链路和网络节点提供通信功能);

2.无处不在的网络安全

  核心技术难题:路由劫持、路由泄露、源地址伪造。

  窃取途径:网络传输过程中,存储在自身系统中,存储在网络系统上,用户被钓鱼;

  先空着,我猜后面应该有细讲,如果没有再复习这部分的概论吧(好像真的没有啊

  攻击技术:

    蛮力破解:猜;通过字典文件探测常用密码,可以提高攻击成功率;撞库:用之前获取的用户名密码去尝试其他系统。

    中间人攻击:在受害者网络链路中间进行数据监听数据篡改

    拒绝服务攻击:通过把计算机用崩溃来组织它提供服务,一般针对大型网站。如SYN洪泛,UDP洪泛,DNS反射;

    病毒:在用户系统上运行恶意软件。

  防护技术:

    加解密、访问控制和身份认证、防火墙、防病毒技术、补丁技术。

3.Enigma

  是一种转轮式密码机,使用代换密码算法。

  转轮机:自动转动替换对应密码,使单表代换密码变成多表代换密码,增加强度。

  反射器:一个键被按下后先经过三个转轮,然后经过反射器再回到三个转轮,最后到达屏幕。并不会让密码变得更复杂,但使译码和编码的过程完全一样,提高可用性。

  注意根据课件的说法,如果一开始的转轮是N0,那么在按下第一个键的时候就会先转,即第一个字符就要用N1进行加密!然后另外两个转轮和反射器都是 不 动 的!

  自由度:转轮的初始方向 $26^3$ ,转轮的顺序可以自己改,可以自由交换6对字母(进入转轮前就换);共有大约一亿亿种可能性。

  注意反射器本身是一个 $\phi^2 = I$ 的映射。

 

二 密码学基础

1.基础

  密码:将正常可识别的信息变成无法识别的。密码≠隐藏,密码≠访问控制。

  两种加密方式:传统加密(对称加密、单钥加密),现代加密(非对称加密、公钥加密)。

  定义m为明文message,c为密码cipher,则密码算法是一对用于加密解密的数学函数。

    $c=E(m),m=D(c),D(E(m))=m$

  密钥:密码算法中的一个变量;

    $c=E_{Ke}(m),m=D_{Kd}(c),D_{Kd}(E_{Ke}(m))=m$

  密码编码学的三个独立特征:

  1.转换明文为密文的运算类型:

    置换(重排)、代换(映射);不允许丢失信息,都是可逆的。

  2.所用的密钥数:

    发送方和接收方使用相同的密钥则为对称加密;否则是非对称加密。

  3.处理明文的方法:

    分组密码:每次处理一个输入分组,相应输出一个分组;

    流密码:连续地处理元素,每次输出一个元素;

  无条件安全:即使有无限的计算能力也无法破译,比如一次一密;

  计算安全:破译的代价>数据本身的价值,或者破译密码的时间超过了密文信息的生命期。

  古典密码与现代密码的分界线;安全性是依赖于算法的保密,还是密钥的保密。

2.古典密码

  代换技术:将明文信息进行替换。

  单表代换密码:

    Caesar密码:对字母表中每个字母c替换成(c+m)%26;很好破译,因为只需要枚举m试试。

    密码词密码:放一个密码词在前面,后面的字母按顺序,作为置换表;

    以上两种都是单表代换,还保留着原始字母的统计学特征,容易被攻破。

    代换密码必须考虑明文的结构有多少在密文中依旧保留!

  多表代换密码:

    Playfair:基于一个5*5的矩阵;

      首先把密钥词填进去,然后剩下的依次填(左到右,上到下),i/j占一个格子。

      一次加密两个字母:如果两个字母相同,则添加一个填充字x把两者隔开;balloon->ba lx lo on;

      如果两个在同一行,则分别换成对应右边的字母;

      如果两个在同一列,则分别换成对应下面的字母;

      其余情况下,字母保持行不变,列改成另一个字母的列,得到对应的字母;

    Hill:将m个连续字母换成m个密文字母;

      C=KM(每个位置分别模26)

      K是一个m*m的方阵,解密需要用到K的逆,所以K需要是可逆矩阵。m越大,隐藏的信息就越多(指字母组的频率)

    Vigenere:多表代换;

      先弄一个密码词,然后首位相接不断延续如THUCSTHUCSTHUCS……

      明文就根据对应位置的密码词选择一行置换进行凯撒密码加密;

      如ABC;A对应密码词T,就A换成T;B对应密码词H,就换成I;

      如果能做到一次一密就是无条件安全啦。

  置换技术:通过置换形成新的排列,比如消息按行写入矩形块,再按列读出,同时把列的顺序打乱;此时列的顺序就是密钥。

      

  破译方法:

    穷举法、频率分析法。

    比如英语中e最常出现,the是最常出现的词组,q后面多半是u等。

3.对称密码

  加密解密使用相同的密钥:$K_E=K_D$,所以密钥必须使用保密的信道分配。

  常用的对称加密算法:DES,IDEA,RC2,RC4,RC5,AES,CAST-128,Blowfish。

  简化DES(S-DES):

    考的话应该会给方法,注意S盒的使用方法要记一下。然后每个格子都要运算,别漏了。

      

  

  Feistel密码结构:

    将一个明文组作为整体加密并且得到的是与之等长的密文组。

    建议交替使用混淆扩散乘积密码(乘积密码是指依次使用多个密码来提高强度)。

    扩散:让每个明文字母尽可能影响多个密文,使统计特征消散;

    混淆:使密文和密钥间的统计关系更复杂,防止推导出密钥。

    Feistel密码结构:输入是长度为2w位的明文组和密钥K;将明文组分成两个部分L0,R0,经过n轮迭代后组合成密文组。第i轮迭代的输入来自于上一轮迭代的输出;子密钥Ki由整个密钥推导得出,互不相同。每轮迭代的结构相似。

    参数:

      分组长度和密钥长度:越长越安全,但加解密会变慢;

      迭代轮数:轮数加大会更安全;

      子密钥生成算法:子密钥产生越复杂,就越难攻击;

      轮函数:越复杂越难攻击;

  DES:密钥长度56bit(加上奇偶校验是64bit),分组长度是64bit.

    加密过程是先把明文分成64bit的块,每块进行初始置换-16轮迭代-末尾置换;16轮迭代用的就是Feistel结构。

    解密过程的结构是类似的。

    具体过程巨大复杂,不写了。E盒将R从32位扩展到48位,目的是让输出对输入的依赖传播得更快,密文每一位都依赖明文每一位。

  3-DES:三重DES加密,密钥长度为112bit,目前破译代价巨大无法实现。但其实只有两个密钥。

  Blowfish:分组长度64bit,密钥长度32-448.特点是每轮都对左右两半同时运算+子密钥和S盒也用Blowfish生成,所以更安全。

  RC5:迭代轮数和密钥长度可变,由w(分组长度),r(迭代次数),b(密钥K的8位字节数)决定。

  AES:分组长度128,密钥长度128.每轮都并行使用代换和置换处理整个分组,所以不是Feistel结构

4.非对称密码

  算法原理:基于数学函数而不是代换和置换。

  对称密码的缺陷:密钥必须经过安全的信道分配,无法用于数字签名,密钥管理复杂。

  公钥密码体制由明文、加密算法、公钥、私钥、密文、解密算法构成。

  会话秘钥 $K_s$,用户A的公钥 $KUa$ ,用户A的私钥 $KRa$.

  每个用户产生一对密钥用于加密解密,一个是公钥(公开,用于加密和验证签名)一个是私钥(保密,用于解密和签名);

  原理:

    加密:如B给A发消息,就用A的公钥加密,A再用自己的私钥解密,就很安全。

    签名:A向B发消息,用A的私钥加密;B收到后用A的公钥解密。

  对称密钥算法:

    使用对话密钥 $Ks$, 加解密都用这个密钥(?那不就成对称密码,哦,确实,否则为何叫对称密钥

  公钥算法:

    $A(KUa, KRa) -> B(KUb, KRb)$

    加密:$C=E_{KUb}(M)$; 解密:$M=D_{KRb}(C)$

    签名:$E_{KRa}(M)$; 验证签名:$D_{KUa}(C)$

  签名和加密同时使用:先用私钥加密(签名),再用对方的公钥加密;解密时先用自己的私钥解密,再用对方的公钥解密;

  单向陷门函数:给定x计算f(x)容易;给定x计算$f^{-1}(x)$很难;但如果知道附加信息 $\delta$,则计算 $f^{-1}(x)$ 会容易;$\delta$ 称为陷门信息;

  

   一些分析:也可能被穷举攻击,方法是使用长密钥,一般仅用于密钥管理和数字签名。

  非对称vs对称的误解:

    1.非对称更安全:密码是否安全主要取决于密钥长度+破译难度,很难说谁更安全;

    2.传统密码已经过时:公钥很麻烦,所以各有用处吧;

    3.公钥实现密钥分配比传统方法简单:总之就是没有更简单。

  如果pq都是质数,则 $\varphi(pq)=(p-1)(q-1)$

  欧拉定理:$m^{\varphi(n)+1}=m(\% n)$

  推论:如果pq是质数,$n=pq, m<n$,则任取k,有 $m^{k\varphi(n)+1}=m(\% n)$

  关于RSA:

    RSA体制是一种分组密码,其明文和密文都是0~n-1之间的整 数,通常n的大小为1024位二进制数或者309位十进制数。

    首先取两个大质数p,q,保密;

    计算 n=pq,公开;

    任取一个与 $\varphi(n)$ 互素的小整数 e;

    寻找 $d<\varphi(n)$,使得 $de=1(\% \varphi(n))$

    公开$(e,n)$作为公钥,保密$(d,n)$作为私钥;丢弃pq

  加密:将信息分成k比特的小组,$k<=\log_2n$,将小组记为 $M$,即 $C=M^e  \%  n$

  解密:$M=C^d \% n$

  安全性:蛮力攻击、数学攻击、计时攻击(看看解密要多久)  

5.密钥分配

  DH密钥交换算法:基本就是用来交换密钥的。

  有效性在于计算离散对数很难。

  即对于已知的整数b,质数p,质数p的一个本原根a,求 $b=a^i(\% p)$ 的i,这样的i在 0<=i<=p-1 的情况下是唯一的。

  

  很神奇的!这样两边算出来的K是一样的(懒得看为什么了,但确实是对的

  还有一些其他的公钥密码算法,如DSA(只能用于数字签名,比较慢等劣势),椭圆曲线密码系统(挺好的),但RSA是事实上的标准。

  密码功能的设置:关键是加密什么在哪里加密

    两种方法:链路加密,端到端加密;

  密钥分配:

  1.传统的对称密码分配:

    如果两人直接传递密钥或者第三方帮忙传递,则适用于链路加密;

    对于端到端加密需要密钥分配中心。

    每个用户与密钥分配中心KDC共享唯一的一个主密钥,A有一个除了自己只有KDC知道的主密钥Ka,B有一个除了自己只有KDC知道的主密钥Kb.分配时,A先向KDC请求一个密钥,KDC用Ka加密以下信息(Ks,以及用Kb加密的Ks),A将后者发给B,则B也有了Ks.

    在网络规模很大的时候,密钥的分配功能不限定在单个的KDC上面,而是使用层次式的KDC.

  2.非传统密码中的公钥分配:

    公开发布,公开可访问目录,公钥授权,公钥证书。

    证书包含公钥和其它一些信息,由证书管理员产生,并发给拥有相应私钥的通讯方。通信一方通过传递证书将密钥信息传递给另外一方,其它通信各方可以验证该证书确实是由证书管理员发出的。

  3.公钥密码用于传统密码体制的密钥分配:

    公钥很慢,但用来分配传统密码很好。

    简单分配:B产生密码,用A公钥加密再发给A;问题是容易被主动攻击(不知道你是不是B?

      

三 认证技术

  认证=比较

1.消息认证

  泄密:将信息透露给没有合法密钥的接收方。

  几种攻击方式:内容修改、顺序修改、计时修改、发送方否认、接收方否认。

  消息认证就是验证收到的消息确实是来自真正的发送方,且未被修改的消息。数字签名用来抗击发送方否认。

  消息认证可以看做两层:下层有一个产生认证符的函数,上层协议使用这个函数,使接收方可以验证消息的真实性。

  认证函数:

    消息加密:整个消息的密文作为认证符;

    消息认证码MAC:MAC是消息和密钥的公开函数,它产生定长的值,该值作为认证符。

    Hash函数:将任意长的消息映射为定长的hash值的公开函数,hash值作为认证符。

  消息加密:

    使用AB共享的密钥K进行加密,加密前对每个消息附加一个错误检测码,也称为帧检测序列FCS或校验和。注意是先加上FCS再加密,这样才能提供验证。

    例子:TCP协议,可以对除了IP报头以外的内容加密。

    公钥加密:只提供保密性,不提供认证。如果想要提供验证就需要先用私钥签名。

  消息认证码MAC:

    MAC是消息和密钥的函数:$MAC=C_{k}(M)$,但MAC与加密不同,不需要可逆性。

    明文有关的认证:先将消息作为输入计算MAC,附加在消息后,再对整个消息加密。

    密文有关的认证:先加密消息,再用密文计算MAC,附加在密文后。

    好处是分开了认证和保密性,有一些神秘的好处,比如更灵活,或者快,或者有应用真的不在乎保密性。

  Hash函数:

    hash的特性是和密钥无关,他只是输入函数的摘要。

    把hash用于认证的方法很多,比如 消息|hash 拼起来然后用对称密码加密,只对hash加密(相当于mac),用公钥密码和私钥对hash加密(可以签名),用私钥加密hash,拼起来再用对称密码加密(又认证又签名又保密);通信双方共享秘密值S,计算hash(M|S)拼在后面(可以认证),对整个消息和hash一起加密(又认证又保密)。

    如果不需要保密,那就可以不加密,因为加密很麻烦。

    对hash的要求:单向性(不好求逆),抗弱碰撞(找到hash和指定明文一样的在计算上不可能),抗强碰撞(找到两个hash一样的都计算上不可能)。

  Hash的一般结构和常用Hash:

    一般会有一个n位的初始值V,每次拿一个长度为b的分组Y,计算f(V,Y),f的结果又是n位,然后不断添加分组迭代。

    f称为压缩函数,如果f有抗碰撞性,则hash也具有抗碰撞性。

    常用Hash:MD族,SHA族,HAVAL,GOST。

  MD5:

    输入任意长度,按照512分组,输出为128位。

    需要先进行填充,然后补充一个len(64bit)在后面,再迭代压缩。

    MD4类似,但是少一轮。

  SHA-1:

    和MD4类似。但输出为160位。

    也是先填充,补一个len,初始化缓存,分组处理,输出。(注意它和MD5补完len后都应当是512的倍数长度)

  RIPEMD-160:甚至也是512分组,输出160位,估计主要是f不同。

  比较:

    不能考这个吧!不能吧不能吧!

    SHA比较短,所以稍微不安全一些,但是算的快;以及大家都是在32位机器上快点;SHA1是高位在前,别人都是低位在前。

    

 

  数字签名标准DSS:

    认证只防第三方,如果AB互相欺骗或者伪造对方的信息就寄了。

    直接数字签名(自己用私钥签,别人用公钥验,坏处是一旦私钥丢了就……);仲裁数字签名(每条签名消息都经过仲裁者A,A检验后加上日期)

    DSS使用SHA-1算法,给出一种数字签名算法DSA;

    DSS只能用于数字签名。

    具体流程是:先hash一下,拼一个随机数k,一起拿来签名。签名函数依赖发送方的私钥和通信团体共同拥有的全局公钥。签名包括s和r两部分。验证的时候就用验证函数(依赖全局公钥和发送方公钥),如果输出等于签名r,则有效。

    哦原来复习提纲甚至没提什么dss,笑死。

2.身份认证

  身份认证的过程中需要进行消息认证技术。

  网站系统分为:服务器端,客户端,通信协议。

  HTTP协议是基于TCP/IP的应用层协议,特点是面向一次连接且无状态。

  HTTP的Basic认证:

    每次发出HTTP请求的时候,明文附加用户的身份凭证,服务器与服务器端的用户凭证进行比较。

    用的是base64,虽然base64具有“不可读性”,但解码过于容易,所以没什么安全性。(容易被监听、盗取,效率低)

    改进:每次传输M||E_k(M),但无法预防重放攻击;使用MAC认证技术+挑战/响应技术,即服务器先给客户端发一个随机挑战码M,客户端返回 M||C_k(M) ,可以预防重放攻击。

  基于表单的身份认证:

    改进了Basic认证的各种问题。

    Web的Session机制:某个Session首次启用时,服务器发一个唯一标识符给客户端,客户端存下来。之后每次http请求都加上这个标识符;session结束后两边都销毁这个标识符。

    优点是方便,缺点是依旧不安全。

    改进:引入挑战响应,防止口令明文通过网络传输,还能避免重放攻击。或者是启用SSL,在传输层进行加密;

    如果账号口令,或加密后的账号口令直接存在客户端是非常不安全的,如果实在想要这样则加上时间戳。

  多因素认证:比如手机验证码,动态口令牌,基于时间的动态口令,USBkey等;

  数字证书:一个经证书授权中心数字签名的文件,数字证书拥有者对应的私钥应该另外妥善存储。

四 网络安全体系结构

1.安全目标CIA/安全服务/安全机制

  为了实现安全目标提供了一些安全服务,安全服务是由安全机制实现的(

  Confidentiality(保密性),Integrity(完整性),Availability(可用性)

  OSI安全框架(也叫X.800):主要关注安全服务,安全机制和安全攻击。

  提供了一些安全服务:认证服务,保密服务,数据完整性保护,访问控制服务,抗抵赖服务,可用性服务。

  安全机制:普通安全机制和特定安全机制。

  普通安全机制:不属于任何协议层或者安全服务的安全机制。

  特定安全机制:在特定的协议层实现的安全机制。

  

  安全性攻击分成两类,主动攻击:试图改变系统资源或者影响系统运行;被动攻击:试图了解或者利用系统的信息但不影响系统资源。

 

2.无线局域网WLAN

  要求:诞生与分类、WEP 和 WPA;

  计算机与移动通信技术的结合,世界上最早的无线电计算机通信网是ALOHA.

  安全威胁:无线电无法进行物理隔离。无线窃听、假冒攻击、信息篡改,重放、错误路由、删除消息,网络泛洪。

  加密认证技术:

    有线等效保密协议WEP,目的是为无线局域网提供与有线网络相同级别的安全保护,使用对称加密算法。需要在无线AP上启用WEP功能,创建密钥;在每个客户端启用WEP,并输入该密钥。共享同一个密钥,容易泄露;无法实现消息认证;容易被破译;无法抵抗重放攻击。

    WPA1:使用了TKIP协议,包含了帧计数器(抵抗重放攻击);

    WPA2:支持AES;

  WPA采用有效的密钥分发机制,不断转换密钥,使公共场所和学术环境安全地部署无线网络成为可能。

3.虚拟专用网VPN

  要求:基本原理,三个层次的解决方案;

  TCP/IP根本没有考虑安全问题,所以有很多安全问题。

  VPN:虚拟专用网,在公共网络上仿真一条点到点的私有连接,两点间没有端到端的物理链路。

  安全功能:数据机密性保护、完整性保护、源身份认证、重放攻击保护。

  链路层解决方案:L2TP、PPTP、L2F,在认证,完整性,密钥管理方面都有不足。

  网络层解决方案:IPsec/IKE,在IP层加密和/或认证所有流量,保证IP级的安全。

  传输层解决方案:SSL,不需要客户端,赢;一般和IPsec一起用,而且成本低。

五 网络层安全协议

  麻了,明天上午一定写完。

1.IPsec

  IPsec保障了IP级的安全性,包括认证、保密、密钥管理。

  IP协议是无状态无连接的,IP报文由20个字节的报头+来自传输层的数据构成。

  IPsec的原理在于可以在IP层加密和/或认证所有流量,提供了在局域网、广域网和互联网中安全通信的能力。

  IPsec的应用-VPN:[IP报头][IPsec报头][安全IP负载]

  主机上:保障端到端的安全,可以对最终用户透明。[应用层][传输层][网络层+IPSec][数据链路层]

  在防火墙上:[应用层][传输层][网络层][IPSec][数据链路层],为内部所有应用提供安全服务。

  体系结构:

    包认证和包加密都是在主IP 报头中使用了扩展报头实现安全特性。

    包认证的扩展报头称为认证头AH,包加密的扩展报头称为封装安全载荷ESP。

     

    以上是“IPSec文档的结构”。哈哈,越来越喜欢贴图了,很方便。

    解释域(DOI):其他文档需要的为了彼此间互相联系的一些值,包括经过检验的加密和认证算法的标识以及操作参数,比如密钥的生存期;没懂,可能是附录

  ESP可以分为支持/不支持认证两种。

    

  安全关联SA:

    是IPsec通信双方之间对某些要素的一种协商,一组安全信息参数集合;是发送方和接收方之间的单向关系;如果需要双方安全交换,则建立两个安全关联;安全服务可以由AH或者ESP提供,但不能两者都提供

    SA由三个参数确定:安全参数索引SPI,IP目的地址IPDA,安全协议标识(是AH还是ESP)。

    有一个安全关联数据库SADB,记录一条一条的SA。

    SADB如何使用:每次收到数据包,都解析三元组然后到数据库里找。

    SPDB:维护安全策略,如Discard(不让这个包进入或外发),bypass IPsec(不对进入或外发的数据包进行安全服务),apply IPsec(对外发的数据包提供安全服务,同时认为接收的数据包已经进行过安全服务)。

    所以就是SADB中存储着一些安全操作,而SPDB是把IP信息流与SA联系起来的手段,决定了对流入和流出的哪些数据包进行安全操作。

2.AH/ESP

  AH和ESP均支持两种模式:传输模式和隧道模式。

  传输模式(Transport Mode):

    主要为上层协议提供保护,同时增加了IP包载荷的保护。

    ESP加密和认证(可选)IP载荷,不包括报头;传输模式的AH认证IP载荷和报头的选中部分;

    传输模式:[IP头][AH/ESP][TCP/UDP头][数据]

  隧道模式:

    对整个IP包提供保护。

    新的IP数据包利用隧道在网络中传输,途中的路由器不能检查内部IP报头。

    ESP在隧道模式中加密和认证(可选)整个内部IP包,包括内部IP报头;AH在隧道模式中认证整个内部IP包和外部IP报头的选中部分。

    [新的IP头][AH/ESP][IP头][TCP/UDP头][数据][ESP尾][MAC]

  AH:

    数据完整性确保在包的传输过程中内容不可更改。

    认证基于MAC,双方共享一个公钥。

    每次在SA上发送一个包,序列号+1,到上限后协商新的SA,所以不会出现序列号相同的SA,所以可以防止重放攻击。因为IP是无连接的所以顺序不一定对,要维护一个滑动窗口。

    两种途径使用IPSec的认证服务:

      传输模式通常以端到端方式实现,不修改原IP头,直接添加AH头[IP头][AH][TCP/UDP头][数据]

      隧道模式通常在防火墙或者路由器上实现,把整个IP包作为数据,添加新的IP头,AH头。[新IP头][AH][旧IP头][TCP/UDP头][数据]

       

  ESP:

    保密,或保密+认证。

    报文内容保密和流量限制保密。

    载荷数据、填充数据、填充长度和邻接头域都在ESP中被加密。 可用加密算法有:3DES、RC5、IDEA、CAST、Blowfish

    传输模式:加密和认证(可选)直接由两个主机提供[IP头][ESP头][TCP/UDP头][数据][ESP尾][MAC]

    隧道模式:ESP用于加密整个IP包,可用于建设虚拟专用网[新IP头][ESP头][旧IP头][TCP/UDP头][数据][ESP尾][MAC] 

     

     

  IPsec安全关联组合:

    单个SA可以实现AH或者ESP,但是不能两者都实现。

    安全关联组合(安全关联束)是指提供特定的IPsec服务集所需的一个SA序列,

    传输邻接:在不使用隧道的情况下,对一个IP包使用多个安全协议;组合AH和ESP的方法仅允许一级组合。

    隧道迭代:指通过IP隧道应用多层安全协议;由于每个隧道可以在 路径上的不同IPsec节点起始和结束,因此该方法允许多层嵌套。

    

 

3.IKE

  为IPsec提供了自动协商交换密钥、建立安全关联SA的服务,简化了IPsec的使用和管理。

  IKE协议解决了在不安全的网络环境中安全地建立或更新共享密钥的问题。

  精髓在于:永远不在不安全的网络上直接传送密钥。(基于DH密钥交换算法)

  IKE不但可自动地为参与通信的实体协商安全关联SA,还可以维护安全关联数据库SADB。

  报文格式是ISAKMP报文,可以在任何传输层协议(UDP、TCP)或IP层上实现,利用UDP协议的端口500进行传输。

  有13种载荷,若干种Flag(目前只有前三位有定义)。

  两个阶段:

    1.协商建立IKE SA(主模式/积极模式)

    2.使用已建立的IKE SA建立IPSec SA(快速模式)

  主模式提供了对通信双方的身份保护;当身份保护不必要时,可以使用积极模式以减少信息传输的数量,提高协商效率

  麻了,工作流程要真考我就空着吧。

  工作模式:

    端到端模式:两个端节点均实现IPsec,通常使用传输模式;IP头与数据间插入IPsec头,用来保护数据载荷;

    隧道模式:网关到网关,端系统均不需要实现IPsec,由网络节点完成保护功能;通常采用隧道模式发送,内部IP头包含实际端节点的IP地址;

    IKE常见的工作模式是以上两者的嵌套组合。

  工作过程:

    以守护进程的方式在后台运行;

    两个守护进程通过UDP协议(端口500)来传递消息;

    IKE协议使用两个数据库: 安全关联数据库SADB和安全策略数据库SPDB,这两个数据库都保存在操作系统内核;

  但其实IKE很复杂,往返次数较多,容易受到各种攻击。有点坏。    

六 SSL+HTTPS

  SSL是传输层安全协议,HTTPS是应用层安全协议。

  哎,果然越到后面反而复习的越敷衍。

1.SSL

  要求:SSL体系结构、记录协议和握手协议的工作原理。

  专门用于保护基于WEB的通信,工作在TCP协议上,与应用层协议无关。

  为端到端的应用提供保密性、完整性、身份认证。“SSL协议可确保信息在传输过程中不被修改”

  “支持SSL的网站都以https开头。HTTP层先将用户需求翻译为http请求,然后SSL层协商出一个密钥加密http请求,TCP层传递SSL层处理之后的数据。”

  会话:“是客户端和服务器之间的一个关联,一个虚拟的连接。一个会话协商的信息可以由多个连接共享。(通过握手协议建立)”

  “连接connection: 特定的通信信道,通常映射成一个TCP连接。连接是短暂的,一次访问可能需要多个连接”

  体系结构:记录协议,握手协议,告警协议,修改密码规约协议。看起来前两个比较重要

  记录协议:

    提供保密性完整性。最后,形成SSL记录协议数据单元。

    

  握手协议:允许客户端和服务器端相互认证、协商加密和MAC算法,保护数据使用密钥通过SSL记录传送。

    功能:协商密码算法,协商主会话密钥,服务端客户端相互认证。

    握手协议由一系列在客户端和服务器之间交换的报文组成,完成认证、密钥和算法协商。

    有好多好多种报文!

    四个阶段:建立安全能力,服务器认证和密钥交换,客户认证和密钥交换、结束。

  SSL可以防范重放攻击,安全性建立在RSA等算法的安全性上,好好好。但对应用层不透明,所以多方电子交易就有点不方便。

 

2.HTTPS

  要求:基本工作原理,以及防范 ARP 欺骗、报文篡改的技术保障。

  WEB安全威胁:主动攻击/被动攻击,服务器安全/客户端安全/通信安全;

  安全方法:IP级(IPsec),TCP级(SSL/TLS),应用级(如SET);

  攻击举例:

    HTTP明文传输,无状态链接,所以……随便改吧。

    监听嗅探,篡改劫持,伪造服务器,中间人攻击(常用手段ARP欺骗)。

    地址解析服务ARP,工作在数据链路层,实现MAC-IP的映射,但攻击者可以发假的ARP报文,目标主机的网络通讯就全乱了。

    DNS欺骗

  

  使用HTTPS协议依旧无法避免ARP欺骗和嗅探攻击,但是由于HTTPS采用SSL加密传输,即时被嗅探到也无法得到明文信息。

  因为消息是密文,所以也不能篡改。

  HTTPS会有服务器认证,比较安全(证书)。

  但如果HTTPS的证书被恶意替换了,还是有危险的。或者有些网站只部分使用HTTPS,所以还是可以通过偷cookie进行劫持。

  真的安全吗?可以弄一个中间人,将用户的HTTPS链接都换成HTTP,假扮成用户和服务器再连HTTPS。(SSLStrip)

 

七 电子商务安全

  SET是应用层安全协议。

  要求:电子交易工作原理,双签名机制的设计目标和工作过程。

  电子商务安全要求:数据传输的安全性,完整性,身份认证,不可抵赖。

  电子商务安全:基本加密算法;以基本加密算法为基础的证书认证体系,以及数字签名等基本安全技术;以基本加密算法,安全技术,CA体系为基础的安全应用协议。

  SET是针对信用卡网上支付而设计的,不用卡的与SET无关。

  SET:保密、真实、隐私、实时。机密性,完整性,用户认证,商家认证。

  参与方:发卡行,持卡人,网上商家,支付网关,收款行,证书授权。

  SET协议采用电子证书来解决各参与方的身份认证问题。

  网络支付处理过程:(交易前完成认证)->购买请求->支付授权->支付获取

  比较重点的是双签名技术:

    

    H用的是SHA-1,E用的是RSA

    

  支付授权:商家通过支付网关、发卡行得到授权才能给用户发货。

  支付获取:商家通过支付获取,才能完成银行的转账业务。

  

结束了!希望别考太难。

  

考完后Update:

  真的非常逆天,50道选择+三个简答+两个计算。

  选择考点主打一个背PPT机器,明明是闭卷,感觉比往年开卷考题还细(

  比如WPA1和WPA2具体有什么区别(支持的网卡不同/协议细节不同/秘钥机制不同);IKE的具体工作流程;还有一堆序言部分的有的没的。

posted @ 2023-12-30 14:14  shzr  阅读(84)  评论(0编辑  收藏  举报