网络底层原理之网络安全

2021-05-28  本文已影响0人  甲乙飞鱼

网络通讯中面临的四种安全威胁

网络层ARP欺骗

  1. 可让攻击者获取局域网上的数据包甚至可篡改数据包
  2. 可让网络上特定电脑之间无法正常通信(例如网络执法官这样的软件)
  3. 让送至特定IP地址的流量被错误送到攻击者所取代的地方

ARP欺骗核心步骤举例

ARP欺骗核心步骤.png

ARP欺骗防护

  1. DHCP Snooping
    网络设备可借由DHCP保留网络上各电脑的MAC地址,在伪造的ARP数据包发出时即可侦测到
  2. 利用一些软件监听ARP的不正常变动

DOS DDOS

  1. 使目标电脑的网络或系统资源耗尽,使服务暂时中断或停止,导致其正常用户无法访问
  1. 黑客使用网络上两个或以上被攻陷的电脑作为“僵尸”向特定的目标发动DoS攻击
  2. 2018年3月,GitHub遭到迄今为止规模最大的DDoS攻击
    DoS攻击可以分为2大类

带宽消耗型:UDP洪水攻击、ICMP洪水攻击
资源消耗型:SYN洪水攻击、LAND攻击

DoS、DDoS防御

  1. 堵塞网络带宽的流量将被过滤,而正常的流量可正常通过
  1. 防火墙可以设置规则,例如允许或拒绝特定通讯协议,端口或IP地址
  2. 当攻击从少数不正常的IP地址发出时,可以简单的使用拒绝规则阻止一切从攻击源IP发出的通信
  3. 复杂攻击难以用简单规则来阻止,例如80端口遭受攻击时不可能拒绝端口所有的通信,因为同时会阻止合法流量
  4. 防火墙可能处于网络架构中过后的位置,路由器可能在恶意流量达到防火墙前即被攻击影响
  1. 当流量被送到DDoS防护清洗中心时,通过采用抗DDoS软件处理,将正常流量和恶意流量区分
  2. 正常的流量则回注回客户网站

传输层 - SYN洪水攻击(SYN flooding attack)

攻击方法:

  1. 跳过发送最后的ACK信息
  2. 修改源IP地址,让目标送SYN-ACK到伪造的IP地址,因此目标永不可能收到ACK(第3次握手)

传输层 - LAND攻击

  1. 通过持续发送相同源地址和目标地址的欺骗数据包,使目标试图与自己建立连接,消耗系统资源直至崩溃
  2. 有些系统存在设计上的缺陷,允许设备接受并响应来自网络、却宣称来自于设备自身的数据包,导致循环应答
    防护
  3. 大多数防火墙都能拦截类似的攻击包,以保护系统
  4. 部分操作系统通过发布安全补丁修复了这一漏洞
  5. 路由器应同时配置上行与下行筛选器,屏蔽所有源地址与目标地址相同的数据包

应用层 - DNS劫持、HTTP劫持

  1. 攻击者篡改了某个域名的解析结果,使得指向该域名的IP变成了另一个IP
  2. 导致对相应网址的访问被劫持到另一个不可达的或者假冒的网址
  3. 从而实现非法窃取用户信息或者破坏正常网络服务的目的
  1. 比如你访问某些网站时,在右下角多了个莫名其妙的弹窗广告

HTTP协议的安全问题

  1. 常见的提高安全性的方法是:对通信内容进行加密后,再进行传输
  1. 单向散列函数:MD5、SHA等
  1. 对称加密:DES、3DES、AES等
  2. 非对称加密:RSA等
  1. 混合密码系统
  2. 数字签名
  3. 证书

单项散列函数 (One-way hash function)

  1. 根据任意长度的消息,计算出固定长度的散列值
  2. 计算速度快,能快速计算出散列值
  3. 具备单向性


    单向散列函数的单向性.png
  1. MD4,MD5
    产生128bit的散列值,MD就是Message Digest的缩写
  2. SHA-1
    产生160bit的散列值
  3. SHA-2
  4. SHA-256,SHA-384,SHA-512,散列值长度分别是256bit,384bit,512bit
  5. SHA-3
    全新标准

单向散列函数 - 防止数据被篡改

一般方式防止数据篡改.png

例如 RealVNC 下载界面
官方给处一串 SHA-256,用于检验下载后的文件是否被篡改。

官方给处一串 SHA-256.png 检验篡改.png

单向散列函数 - 密码加密

现在数据库不会直接存储密码明文,存储的都是加密过后的值。(所以现在的找回密码也无法看到原密码,只能重置成新密码


密码加密.png

对称加密

对称加密.png
  1. DES
  2. 3DES
  3. AES

DES(Data Encryption Standard)

DES.png
  1. DES 是一种将 64bit 明文加密成 64bit 密文的对称加密算法,密钥长度是 56bit
  2. 规格上来说,密钥长度是 64bit,但每隔 7bit 会设置一个用于错误检查的 ,因此密钥长度实质上是 56bit
  3. 由于DES 每次只能加密 64bit 的数据,遇到比较大的数据,需要对 DES 加密进行迭代(反复)
  4. 目前已经可以在短时间内被破解,所以不建议使用

3DES(Triple Data Encryption Algorithm)

AES(Advanced Encryption Standard)

密钥配送问题(可以用非对称加密解决)

在使用对称加密时,一定会遇到密钥配送问题
如果 Alice 将使用对称加密过的消息发给了 Bob

  1. 事先共享密钥(比如私下共享)
  2. 密钥分配中心(Key Distribution Center,简称 KDC)
  3. Diffie-Hellman 密钥交换
  4. 非对称加密

非对称加密

  1. 公钥和私钥是一一对应的,不能单独生成
    一对公钥和私钥统称为密钥对(key pair)
  2. 由公钥加密的密文,必须使用与该公钥对应的私钥才能解密
    由私钥加密的密文,必须使用与该私钥对应的公钥才能解密

解决密钥配送问题

  1. 由消息的接收者,生成一对公钥、私钥
  2. 将公钥发给消息的发送者
  3. 消息的发送者使用公钥加密消息

混合密码系统(Hybrid Cryptosystem) - 加密、解密

混合密码的加密

  1. 为本次通信随机生成的临时密钥
  2. 作为对称加密的密钥,用于加密消息,提高速度

混合密码的解密

解密步骤(收到消息)
① 消息接收者用自己的私钥解密出会话密钥
② 再用第①步解密出来的会话密钥,解密消息


混合解密.png

数字签名

想象以下场景:


数字签名场景.png
数字签名的过程
数字签名过程.png
数字签名改进.jpg
  1. 签名验证失败,证明内容被篡改了
  1. 数字签名的作用不是为了保证机密性,仅仅是为了能够识别内容有没有被篡改
  1. 确认消息的完整性
  2. 识别消息是否被篡改
  3. 防止消息发送人否认

非对称加密 - 公钥、私钥的数据加密与数字签名总结

数据加密与数字签名.png

证书(Certificate)

说到证书

密码学中的证书,全称叫公钥证书 (Public-key Certificate,PKC),跟驾驶证类似

CA 就是能够认定 “公钥确实属于此人” 并能够生成数字签名的个人或者组织

证书的使用
证书的使用.png
证书 - 注册和下载
证书 - 注册和下载.png
上一篇下一篇

猜你喜欢

热点阅读