计算机网络

网络安全

Posted by Gavin on February 25, 2020

旧时王谢堂前燕

飞入寻常百姓家

网络安全问题概述

计算机网络发展的现在,网络安全问题的重要性日益凸显,尤其是网络通信中的数据安全问题,大量存储和传输在网络中的数据需要被保护。计算机网络通信面临两种不同的攻击——被动攻击主动攻击。被动攻击又叫截获,即攻击者只是观察和分析某一协议数据单元(PDU),而不干扰信息流,这样即便攻击者对于整体数据不能理解,却可以分析流量特征,从而达到目的(GFW)。主动攻击则又有以下形式:

  • 篡改(攻击者篡改网络上传送的报文,或者中断报文传输)
  • 恶意程序(病毒、蠕虫、木马等)
  • 拒绝服务(DoS、DDoS)[攻击者向某个服务器不停发送大量分组,使其失去提供服务的能力]

因此网络安全的目标即是:

  • 防止析出报文内容和流量分析
  • 防止恶意程序
  • 检测更改报文流和拒绝服务

一个安全的计算机网络需要需要能达到以下四个目标:

  • 保密性(只有信息发送、接收双方能够看懂信息——加密)
  • 端点鉴别(鉴别发送、接收双方身份)
  • 信息完整性
  • 运行安全性

数据加密模型

信息在发送或接收前,通过事先约定好的秘钥进行加密解密,达到保密的需求,因此诞生了两种不同的密码体制——对称秘钥密码体制公钥密码体制

  • 对称秘钥密码体制(DES)
    加密秘钥和解密秘钥使用相同的密码体制,DES是一种分组密码,加密前先对明文进行分组,每一组为64位长的二进制数据,之后对每一组进行加密,产生密文数据,最后将各组密文串接起来。

    PS:DES的保密性在于秘钥的保密,算法是公开的

  • 公钥密码体制
    加密秘钥和解密秘钥不同,目前采用最广泛的是RSA体制。在此体制中,加密秘钥(PK,公钥)是向公众公开的,解密秘钥(SK,私钥)是需要保密的

    PS:对称秘钥的通信信道相当于一对一的双向保密通信,而使用公开秘钥时,则相当于是多对一的单向保密通信

数字签名

数字签名需要满足三个特点:

  • 接受者能够核实发送者对报文的签名,即报文鉴别
  • 接受者得到的报文和发送者发送的完全一致,即报文的完整性
  • 发送者事后不能抵赖对报文的签名,即不可否认性

目前采用公钥机制实现,首先发送利用其私钥对签名进行加密运算,各接收者利用公开的公钥对密文进行解密即可。原因在于,发送者的私钥只有发送者保有,其他人无法伪造,而公钥是公开的,因此各接收者都可以利用公钥对签名进行解密,从而核实发送者身份。

因此衍生出秘钥的分配问题,人人都可以发布自己的公钥,宣称自己的身份,此时如何辨别真假?就需要引入权威机构为自己背书,即是认证中心(CA),CA为每个实体颁发证书,其中包含公钥拥有者的标识信息(人名或者IP),此证书被CA进行了数字签名,因此,任何用户都可以使用CA发布的公钥进行验证。

互联网使用的安全协议

  • 网络层安全协议
    • IPsec协议族
      • IP安全数据报:鉴别首部协议(AH)、封装安全有效载荷协议(ESP)
      • 三个加密算法有关协议
      • 互联网秘钥交换协议(IKE)

      IP安全数据报有两种工作方式:运输方式(在运输层报文段前后添加控制信息)隧道方式(在原始IP数据报前后添加控制信息),无论哪种方式,IP首部都不加密

  • 运输层安全协议
    • 安全套接字层(SSL)
      • 协商加密算法:浏览器向服务器发送浏览器的SSL版本号和一些可选的加密算法;服务器选定自己支持的RSA算法并告知;
      • 服务器鉴别:服务器向浏览器发送包含其RSA公钥的数字证书;浏览器利用CA公布的公钥进行验证
      • 会话秘钥计算:浏览器产生一个随机秘密数,用服务器提供的RSA公钥加密后发送给服务器;双方根据协商的算法产生共享的对称会话秘钥
      • 安全数据传输:双方利用秘钥进行通信
    • 运输层安全(TLS)
  • 应用层安全协议
    太多了,看情况而定,例如邮件方面的PGP协议