网络安全三要素

  • 机密性
  • 完整性
  • 可用性

image-20231120110334734

古典加密

替换:

摩斯密码,凯斯密码

移位:

栅栏密码

替换+移位:

凯撒+栅栏

近现代加密

流加密:

  • 将明文按字符逐位(逐比特)地、对应地进行加密。
  • 如RC系列

分组加密:

  • 将明文分成固定长度的分组,如64bit或128bit一组,用同一密钥和算法对每个分组加密。
  • 如DES、3DES、AES、IDEA

对称式加密

  • 对称加密是指通信双方对信息的加密和解密都使用相同的密钥
  • 对称加密机制的安全性取决于密钥的保密性,而不是算法的安全性。即便知道了密文以及加密算法的原理,也无法解密。
  • 不需要对算法保密,只需要对密钥进行保密
  • 对称式加密的优缺点:
    • 优点:效率高,适合对大数据块的加密
    • 缺点:密钥管理困难,密钥维护的工作量大

非对称式加密(公钥加密)

  • 每个用户拥有一对密钥:一个私钥和一个公钥
  • 私钥由用户严密保管,公钥发布出去,所以人都可以自由获得
  • 用公钥加密的信息只能用相应的私钥解密
  • 根据私钥,可以计算出公钥,但是根据公钥,却无法计算出私钥
  • 非对称式加密的优缺点:
    • 优点:密钥管理简单,密钥维护的工作量比较小
    • 缺点:加密效率不高,相比对称式加密要慢三个数量级,主要用于小数据块的加密。

image-20231120120915265

对称式加密与非对称式加密的结合使用

  • 数据加密采用对称式加密
  • 非对称式加密专用于传送对称加密的密钥

数字签名

认证

  • 身份认证,验证信息的发送者是真实的,而不是冒充的
  • 一致性验证,保证信息在传送过程中未被篡改或重放等。

数字签名是指发送方使用私钥加密要发送的数据,接受方使用发送方的公钥解密数据。

  • 通过数字签名可以使接收方确认发送方的身份
  • 发送方也不能对发送出去的数据抵赖
  • 在发送方用私钥将明文加密的操作称为签名
  • 在接收方,用公钥将密文解密的过程称为认证

非对称加密的主要用途:密钥交换、数字签名

消息摘要算法(Hash 算法、散列算法 )

Hash算法的特点:Message Digest

  • 定长输出,无论原始数据多大,其结果大小一样
  • 不可逆,加密后的数据无法被解密
  • 输入一样,输出必定一样
  • 雪崩效应,输入发生微小改变,将引起结果发生巨大改变

常用的Hash算法:MD5、SHA

  • md5sum /etc/passwd sha1sum /etc/passwd
  • openssl dgst -md5 /etc/passwd

Hash算法与数字签名的结合使用

  • Hash算法不适合数据加密,主要用于数据完整性校验和身份验证
  • 先用Hash算法对要进行数字签名的数据计算得到的Hash值,再用私钥对Hash值加密
  • 接收方先用公钥解密得到Hash值,然后对原始数据也进行同样的Hash运算,最终对结果进行比较
  • 通过这种方式还可以防止伪造Hash值,如果发送方不采用数字签名,那么如果数据在传输过程中被黑客截获,然后修改原始数据并生成新的Hash值再发送给接收方,这样对于接收方也无法判断数据所接收的数据和Hash值是否被篡改过。
  • 将数字签名与消息摘要结合使用,既可提高效率又可保证安全性。

利用Hash值存放密码

Hash算法还被用来对数据进行单向加密(Hash具有不可逆性)

  • 在Windows、Linux系统以及互联网的大多数应用中,都是采用了Hash算法对用户的密码进行加密之后再进行存储
  • 对于系统中存放的用户密码,只需验证其是否正确,而无需知道其明文是什么

安全技术综合应用

  • PGP(Pretty Good privacy)协议
  • 主要为电子邮件提供身份认证和机密性服务

发送方过程:

image-20231211092442639

接收方过程:

image-20231211092517195

数字证书和CA

  • 目前主要采用数字证书来分发公钥
  • 数字证书由可信任的第三方权威机构CA(Cerfiticate Authority)颁发,CA负责证书的有效性
  • CA负责注册证书、颁发证书,并当证书包含的信息变得无效之后撤销证书
  • 用户向CA出具公钥并得到证书,然后就可以公开这个证书。任何需要用户公钥的人都可以得到这个证书,并通过CA的签名来验证证书的有效性

数字证书的格式

  • 数字证书将用户身份信息与他的公钥绑定在一起,并要有CA的数字签名。
  • 数字证书要求具有统一的格式,目前所使用的证书大都遵循由国际电信联盟指定的x.509数字证书标准,符合该标准的证书主要包含以下内容:
    • 序号:由CA分配的本证书的唯一标识符
    • 签名算法:本证书所使的数字签名算法
    • 颁发者:CA的相关信息。
    • 有效期:证书的有效时间段
    • 使用者:证书拥有者的相关信息
    • 公钥:公钥信息以及所使用的加密算法
    • 指纹:CA的数字签名

image-20231211110611713

image-20231211112536278

CA认证中心

  • 通过CA来管理和确认公钥的合法性。自签发
  • CA必须要得到用户的信任。

在Windows或linux中会自带一些信任的CA证书

image-20231211120942985

公钥基础设施PKI

  • PKI(Public Key Infrastructure),主要由以下四部分组成:
    • 证书颁发机构CA,负责颁发证书
    • 证书注册机构RA,可以接受用户的证书注册申请
    • 证书吊销列表CRL,用于存放作废的证书
    • 证书存取库,用于存放证书,供用户获取
  • PKI所能提供的三大功能:加密、签名、认证
  • PKI中最基本的元素是数字证书,安全操作主要通过证书来实现
  • PKI中最重要得到设备是CA,负责颁发并管理证书
  • PKI的核心技术是公钥加密技术(非对称式加密)

SSL协议

  • SSL(Secure Sockets Layer,安全套接字层)协议,由Netscape公司研发,可以提供数据加密、数字签名、消息摘要等安全功能,被放置在应用层和传输层之间,可供应用层的程序任意调用。
  • HTTP和SSL结合在一起就称为HTTPS(基于SSL的HTTP)的协议,端口号也随之变成了TCP443。

image-20231211144940051

TLS协议

  • TLS(Transport Layer Security,传输层安全)协议,被视为SSL的升级版和继任者,由国际互联网工程任务组IETF仿照SSl开发
  • TLS和SSL,两种协议的运行基址基本相同,由于SSL协议不断曝出各种漏洞,因而TLS协议应用越来越广泛,逐渐成为事实标准。
  • OpenSSL是用于实现SSL/TLS协议的最知名得到开源软件

TLS和SSL像是一种理论,OpenSSL更像是一种实现理论的。