计算机网络|网络安全基础


文章目录

  • 一、网络安全概述
    • 1. 基本概念
    • 2. 网络安全威胁
  • 二、数据加密
    • 1. 基本概念
    • 2. 传统加密方式
    • 3. 对称密钥加密
    • 4. 非对称/公开密钥加密
  • 三、消息完整性与数字签名
    • 1. 消息完整性检测方法
    • 2. 报文认证
    • 3. 数字签名
  • 四、身份认证
  • 五、密钥分发中心与证书认证
    • 1. 密钥分发中心
    • 2. 证书认证机构
  • 六、防火墙入侵检测系统
    • 1. 防火墙基本概念
    • 2. 防火墙的分类
    • 3. 入侵检测系统IDS
  • 七、网络安全协议
    • 1. 安全电子邮件
    • 2. 安全套接字层SSL(TLS)
    • 3. 虚拟专用网VPN和IP安全协议IPSec

一、网络安全概述 1. 基本概念 网络安全通信所需要的基本属性:
  1. 机密性;
  2. 消息完整性;
  3. 可访问与可用性;
  4. 身份认证。
2. 网络安全威胁
  1. 窃听;
  2. 插入;
  3. 假冒;
  4. 劫持;
  5. 拒绝服务Dos和分布式拒绝服务DDos;
  6. 映射;
  7. 嗅探;
  8. IP欺骗。
二、数据加密 1. 基本概念 明文:未加密的消息。
密文:被加密的消息。
加密:伪装消息以隐藏消息的过程,即明文转变为密文的过程。
解密:密文转变为明文的过程。
2. 传统加密方式
  1. 替代密码
    用密文字母代替明文字母。
    计算机网络|网络安全基础
    文章图片

  2. 换位密码
    根据一定的规则重新排列明文。
3. 对称密钥加密 现代密码分类:
  • 对称密钥密码:加密密钥和解密密钥相同(密钥保密)。
  • 非对称密钥密码:加密密钥和解密密钥不同。
对称密钥密码分类:
  • 分组密码
    在加密前,先对整个明文进行分组。然后对每一组二进制数据进行加密处理,产生一组密文数据。最后将各组密文串接起来,即得出整个的密文。
    例如:DES、AES、IDEA等都属于分组密码。
    1. DES:56位密钥,64位分组。
    2. 三重DES:使用两个密钥(共112位),执行三次DES算法。
    3. AES:分组128位,密钥128/192/256位。
    4. IDEA:分组64位,密钥128位。
  • 流密码
    每次处理一位二进制数,挨个进行处理。
4. 非对称/公开密钥加密 密钥成对使用,其中一个用于加密,另一个用于解密,且加密密钥可以公开,也称公开密钥加密。
典型的公钥算法:Diffie-hellman算法、RSA算法。
计算机网络|网络安全基础
文章图片

三、消息完整性与数字签名 1. 消息完整性检测方法 密码散列函数:
  1. 特性:
    定长输出(当输入一组数据时,不管该组数据的长度是多少,都能输出固定长度结果,即固定长度的散列值);
    单向性(无法根据散列值逆推报文);
    抗碰撞性(无法找到具有相同散列值的两个报文)。
  2. 典型散列函数
    MD5:128位散列值
    SHA-1:160位散列值
2. 报文认证 报文认证是使消息的接收者能够检验收到的消息是否是真实(即来源真实、未被篡改)的认证方法。
报文认证的两种方法:
简单报文验证:仅使用报文摘要(即密码散列散列函数),可以防篡改,但不能防伪造,不能真正实现报文鉴别。
  • 散列函数问题
    计算机网络|网络安全基础
    文章图片

报文认证码:使用共享认证密码(即收发双方协商好一固定密钥),但无法防止接受防篡改。
3. 数字签名 数字签名的三个功能:
  1. 实体鉴别:证明来源。
  2. 报文鉴别:防篡改,保证完整性。
  3. 不可否认:防抵赖。
有两种签名方法:
  1. 简单数字签名:直接对报文签名
    通常使用公钥加密,但是直接加密报文所使用的计算量过大。
  2. 签名报文摘要
    计算机网络|网络安全基础
    文章图片

    上图展示了签名报文摘要的工作流程,Bob对报文m应用散列函数H生成报文摘要H(m),然后Bob通过其私钥KB+对报文摘要进行加密生成加密的报文摘要KB-(H(m)),将扩展报文(m,KB-(H(m))))发送给Alice。假设Alice收到报文以及加密的报文摘要(m,KB-(H(m)))),Alice利用Bob的公钥解密KB+解密KB-(H(m)),并检验KB+(KB-(H(m)))来证实报文是否是Bob签名的。如果KB+(KB-(H(m)))=H(m)成立,则签名报文的一定是Bob的私钥。
四、身份认证 常用的认证方法:
  1. 口令:会被窃听;
  2. 加密口令:可能遭受回放(重放)攻击;
    重放:攻击者截获加密口令,之后再把它重新发给认证服务器,这样即使攻击者不知道正确口令,也能通过认证。
  3. 加密一次性随机数:可能遭受中间人攻击。
    使用一次随机数的基本过程:
    计算机网络|网络安全基础
    文章图片

    1. Alice向Bob发送报文“我是Alice”
    2. Bob选择一个一次性随机数然后把这个值发送给Alice。
    3. Alice使用她与Bob共享的对称秘密密钥KA-B来加密这个一次性随机数,然后把加密的一次性随机数KA-B?发回给Bob。由于Alice知道KA-B并用它加密了R,就使得Bob知道收到的报文是由Alice产生的,于是,这个一次性随机数便可用于确定Alice是活跃的。
    4. Bob解密接收到的报文。如果解密得到的一次性随机数等于他发送给Alice的那个一次性随机数,则可确认Alice的身份。
    该方法的缺点是需要通信双方共享密钥,一个改进的方法是,在使用一次性随机数的基础上,再利用公钥加密技术:
    计算机网络|网络安全基础
    文章图片

    1. Alice向Bob发送报文“我是Alice”。
    2. Bob选择一个一次性随机数,然后把这个值发送给Alice。
    3. Alice使用她的私钥来加密R,然后把加密结果发回给Bob。
    4. Bob向Alice索要她的公钥。
    5. Alice向Bob发送自己的公钥。
    6. Bob用Alice的公钥解密收到的报文。如果解密得到的一次性随机数等于他发送给Alice的那个一次性随机数R则可确认Alice的身份。
    加密一次性随机数和公钥加密技术进行身份认证会遭受中间人攻击:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EnCyXzJq-1643292760594)(D:/llf/Snipaste/202201271901806.png)]
    Alice向Bob发送消息,但是发送的消息被中间人Trudy劫持;Trudy劫持消息后将其转发给Bob;Bob收到消息后向他认为的“Alice”发送一次性随机数同样被Trudy动持;Trudy将一次性随机数转发给Alice;Alice收到后,向她认为的“Bob”发送用自己私钥加密的一次性随机数;与此同时,Trudy也向Bob发送用自己私钥加密的一次性随机数,并向Alice索要Alice的公钥;Bob收到加密后的一次性随机数后,向“Alice”索要公钥;然后,Trudy成功获取了Alice发来的公钥KA,并将自己的公钥碍发送给Bob。至此,Trudy己经完全成为了“中间人”,Bob与Alice可以收到彼此发送的所有信息,但同时Trudy也收到了所有信息。再之后,Bob会用Trudy的公钥加密消息,而此时Trudy只需要使用自己的私钥解密,就可以获取信息。
    这中间最主要的问题是,公钥被替换,也就是无法确认一个公钥到底是谁的。
五、密钥分发中心与证书认证 1. 密钥分发中心 基于KDC的密钥生成和分发:
计算机网络|网络安全基础
文章图片

2. 证书认证机构 认证中心CA:将公钥与特定的实体绑定,为实体颁发数字证书。
数字证书是对公钥与其对应的实体 (人或机器) 进行绑定的一个证明。每个证书中写有公钥及其拥有者的标识信息(例如:人名、地址、电子邮件地址或IP地址等)。
注意:
  1. 证书中有A使用自己私钥的数字签名。
  2. 把CA的数字签名和未签名的B的证书放在一起,就最后构成了已签名的B的数字证书。
  3. 证书被CA进行了数字签名,是不可伪造的。
  4. 任何用户都可从可信任的地方(如代表政府的报纸)获得认证中心CA的公钥,以验证证书的真伪。数字证书是公开的,不需要加密。
分发数字证书的过程如下:
【计算机网络|网络安全基础】计算机网络|网络安全基础
文章图片

已签名的B的数字证书的生产过程:
计算机网络|网络安全基础
文章图片

核实数字证书的过程:
A拿到B的数字证书后,使用数字证书上给出的CA的公钥,对数字证书中CA的数字签名进行E运算(解密),得出一个数值。再对B的数字证书(CA数字签名除外的部分)进行散列运算,又得出一个数值。比较这两个数值。若一致,则数字证书是真的。
六、防火墙入侵检测系统 1. 防火墙基本概念 防火墙:能够隔离组织内部网络与公共互联网,允许某些分组通过,而阻止其他分组进入或离开内部网络的软件、硬件或者软件硬件结合的一种设施。只有符合安全规则的信息才能通过防火墙(从外部到内部或从内部到外部)。
前提:从外部到内部和从内部到外部的所有流量都经过防火墙。
2. 防火墙的分类
  1. 无状态分组过滤器
    基于特定的规则(不考虑通信状态,仅仅是通过IP地址或端口号来判断)对分组是通过还是丢弃进行决策。
    使用访问控制列表(ACL)实现防火墙规则。
  2. 有状态分组过滤器
    跟踪每个TCP连接建立、拆除,根据状态确定是否允许分组通过。
  3. 应用网关
    鉴别用户身份或针对授权用户开放特定服务。
3. 入侵检测系统IDS 入侵检测系统(IDS)是当观察到潜在的恶意流量时,能够产生警告的设备或系统。
七、网络安全协议 1. 安全电子邮件 电子邮件安全需求
  1. 机密性;
  2. 完整性;
  3. 身份认证性;
  4. 抗抵赖性。
安全电子邮件标准:PGP
2. 安全套接字层SSL(TLS)
  • SSL是介于应用层和传输层之间的安全协议。
  • SSL作用在TCP之上建立起一个安全通道,为通过TCP传输的应用层数据提供安全保障。
  • 1999年,IETF在SSL 3.0基础上设计了TLS 1.0,为所有基于TCP的网络应用提供安全数据传输服务。
  • TLS的位置
    计算机网络|网络安全基础
    文章图片

    在发送方,TLS接收应用层的数据,对数据进行加密孬然后把加密后的数据送往TCP套接字。
    在接收方,TSL从TCP套接字读取数据,解密后把数据交给应用层。
  • TLS建立安全会话的工作原理
    计算机网络|网络安全基础
    文章图片

    TLS的握手阶段:验证服务器,生成会话阶段所需的共享密钥
    1. 协商加密算法。①浏览器A向服务器B发送浏览器的TLS版本号和一些可 选的加密算法。②B从中选定自己所支持的算法(如RSA),告知A, 同时把自己的CA数字证书发送给A。
    2. 服务器鉴别。③客户A用数字证书中CA的公钥对数字证书进行验证鉴别。
    3. 生成主密钥。④客户A按照双方确定的密钥交换算法生成主密钥MS。⑤客户A用B的公钥PKB对主密钥MS加密,得出加密的主密钥PKB(MS),发送给服务器B。
    4. 服务器B用自己的私钥把主密钥解密出来。⑥:SKB(PKB(MS))=MS。这 样,客户A和服务器B都有了为后面数据传输使用的共同的主密钥MS。
    5. 生成会话密钥⑦和⑧。为了使双方的通信更加安全,客户A和服务器B最好使用不同的密钥。主密钥被分割成4个不同的密钥。每一方都拥有这样4个密钥(注意:这些都是对称密钥):
      • 客户A发送数据时使用的会话密钥KA
      • 客户A发送数据时使用的MAC密钥MA
      • 服务器B发送数据时使用的会话密钥KB
      • 服务器B发送数据时使用的MAC密钥MB
3. 虚拟专用网VPN和IP安全协议IPSec
  1. VPN
    建立在公共网络上的安全通道,实现远程用户、分支机构、业务伙伴等与机构总部网络的安全连接,从而构建针对特定组织机构的专用网络。
    关键技术:隧道技术,如IPSec。
  2. 典型的网络层安全协议一IPSec
    提供机密性、身份鉴别、数据完整性验证和防重放攻击服务。
    体系结构:认证头AH协议、封装安全载荷ESP协议。
    运行模式:传输模式(AH传输模式、ESP传输模式)、隧道模式(AH隧道模式、ESP隧道模式)。
参考视频:https://www.bilibili.com/video/BV1xJ41137Q3?p=45
参考资料:《计算机网络(第8版)》—— 谢希仁

    推荐阅读