网络安全 | 青训营笔记

73 阅读5分钟

一: 网络安全的三要素

HTTP协议存在多种不安全因素:

1.明文传输: HTTP协议采用的是明文传输, 由于是明文传输的, 这也就导致数据内容可以被窃听者轻易地截获和查看. 这意味着敏感信息通过HTTP协议传输的话是积极不安全的.

2.无法验证服务器身份: 在HTTP协议中, 服务器无法验证客户端的身份, 同样也无法验证服务器的身份. 无法验证身份就会导致攻击者可以很轻易的伪造一个身份欺骗用户输入比如密码等等的敏感信息

3.易受到拒绝服务攻击: 由于HTTP协议是一种无状态协议, 服务器对每个请求都需要进行处理, 因此攻击者可以通过发送大量请求, 使得服务器过载, 无法正常处理请求.

**因此: 网络安全的实现的显得尤为重要. **

1.1 机密性: 攻击者无法获知通信内容

加密分为对称加密和非对称加密

  • 对称加密:加密和解密使用同一个密钥的加密方式叫做对称加密

对称加密的优点:

  1. 加密解密速度快: 对称加密算法使用同一个密钥进行加密和解密, 因此加密解密速度非常快.
  2. 加密效率高: 由于效率突出, 这也就导致对称加密更加适合处理大量的数据.

缺点:

  1. 密钥管理问题:使用同一个密钥加密的加密方式对于密码的管理就需要极其谨慎, 因为密钥一旦丢失那么攻击者对加密内容就可以随意拦截查看和篡改.
  2. 安全性差: 对称加密算法的密钥在加密和解密的过程中都会暴露在网络中, 容易受到中间人攻击, 安全性不高.
  • 非对称加密: 加密和加密分别使用不同的密钥, 也就是公钥和私钥, 并且公钥加密的内容只能使用私钥进行解密, 同样的私钥加密的内容也只能使用公钥进行解密.

优点:

  1. 安全性高: 在非对称加密中, 公钥公开发布但是私钥只有密钥持有者才能知道, 因此非对称加密算法的安全性非常高.
  2. 密钥管理方便: 非对称加密算法使用不同的密钥进行加密和解密, 因此密钥的管理比对称加密算法方便.

缺点:

  1. 加密解密速度慢: 非对称加密算法使用不同的密钥进行加密和解密, 这也就导致加密解密速度相比较于对称加密算法会比较慢.
  2. 加密效率低: 效率相对于对称加密而言较低, 因此比较适合处理少量数据的加密.

补充: 密码散列函数(哈希函数)

密码散列函数可以对输入任意长度的内容都输出固定长度的哈希值.

性质: 找到不同的两个输入使之经过密码散列函数之后得到的哈希值在计算上是不可能的.

1.2 完整性: 攻击者对内容篡改时能被发现

完整性和身份验证的相互关联的. 实现完整性需要通过上文补充的哈希散列函数.

在哈希函数中是不可能找到两个不同输入得到相同的输出哈希值. 、、

基本的实现方式, 如果m是正确且完整的那么h'和h就是相同的,反之则是不同.

image-20230413193422148.png

但是这种方式显然存在漏洞,当中间人获取m+h之后,将m更改重新使用哈希函数得到新的h''随后m+h''发送至接受方接收方完全无法察觉内容已经被修改了.

由此,想要实现完整性,通信的双方必须需要现有密钥s才可:

image-20230413193456148.png

1.3 身份验证: 攻击者无法伪装成通信双方的任意一方与另外一方通信

使用数字签名完成身份验证,什么是数字签名?

image-20230413194059212.png

想要实现数字签名,首先通信双方必须具备秘密信息,也就是根证书中的公钥

二: HTTPS

所谓的HTTPS也就是HTTP+SSL/TLS,所谓的SSL/TLS也就是一种加密方式,通过加密的手段将HTTP明文内容更改成密文,最终在进行身份验证.

  • 将HTTP的明文转换成密文在进行身份验证,就是HTTPS
  • HTTPS = HTTP + TLS
  • TLS = 身份验证 + 加密/解密
  • 身份验证: 中文叫做公开密钥基础设施, (Public Key Infrastructure)(PKI)
  • 服务端身份验证靠PKI,客户端身份验证靠HTTP协议

总结

  • 网络安全三要素:机密性、完整性和身份验证

    • 机密性: 攻击者无法获知通信内容

    • 完整性: 攻击者对内容篡改时能被发现

    • 身份验证: 攻击者无法伪装成通信双方的任意一方与另外一方通信

  • 在没有提前交换秘密信息的前提下, 无法在不安全的信道交换秘密信息

    • 在不安全的信道中, 传输的信息可能会被窃听、篡改或伪造, 导致信息的机密性、完整性和身份验证等安全性无法得到保障. 因此, 在安全传输信息之前, 需要确保双方共享一个秘密或使用安全的加密算法来保障信息的安全性.
  • PKI保证了普通用户不需要”面对面"和根证书机构交换根证书

    • PKI用于管理数字证书、公钥和密钥等安全元素, 以确保网络通信的安全性. 在 PKI 中, 根证书机构是信任链的顶层, 其根证书被广泛信任, 并用于验证下级证书的合法性. PKI 系统可以为用户提供一种安全、便捷的证书管理方式, 从而保证用户的数字证书安全, 而且普通用户不需要 "面对面" 和根证书机构交换根证书.
  • HTTPS使用PKI完成了除客户端身份验证以外的特性,客户端身份验证靠HTTP协议实现