网络安全实践

发布于:2024-12-07 ⋅ 阅读:(28) ⋅ 点赞:(0)

密码学概述

  • 通信中的参与者
    • 发送者(Alice,爱丽丝):在双方交互中合法的信息发送实体。
    • 接受者(Bob,鲍勃):在双方交互中合法的信息接受实体。
    • 分析者(Eve,伊夫):破坏接受和发送双方正常安全通信的其他实体。
  • 常见攻击形式:
    • 穷举攻击法
      • 穷举攻击,亦称“暴力破解”。对密码进行逐个推算,直到找出真正的密码为止的一种攻击方式。
      • 应用
        • 弱口令,压缩包密码破解
    • 频度分析
      • 通过对各个字母、字母组合进行频度分析,利用统计信息推断和预测密码
  • 常见编码
    • Unicode \u+4位16进制数
    • ASCII
    • Base64 将任意二进制数据映射为ASCII
    • Base32
    • 摩斯电码
    • 栅栏密码
      • 将明文交替分入N组,然后将每组的字母从左到右连接起来
      • CTFisfun => CFsu Tifn => CFsuTifn
  • 古典密码学
    • 古典密码体制的核心思想:
      • 字母的代换(代替、替换)
      • 顺序的置换
    • 古典密码学的代表密码体制:
      • 单表代替密码
      • 多表代替密码
      • 置换密码
    • 频度分析
      • E的概率大约为0.12
      • T, A, O, I, N, S, H, R的概率为0.06-0.09
      • D, L的概率大约为0.04
      • C, U, M, W, F, G, Y, P, B的概率为0.015-0.023
      • V, K, J, X, Q, Z的概率小于0.01
    • 常见的两字母组合
      • TH, HE, IN, ER, AN, RE, DE, ON, ES, ST, EN, AT, TO, NT, HA, ND, OU, EA, NG, AS, OR, TI, IS, ET, IT, AR, TE, SE, HI, OF
    • 常见的三字母组合
      • THE, ING, AND, HER, ERE, ENT, THA, NTH, WAS, ETH, FOR, DTH
  • 现代密码
    • 数据的安全基于密钥,算法公开
    • Hash函数(散列函数)
      • 优点:
        • 散列函数对于源数据的更改具有极高的敏感性——雪崩效应,即使是1bit的更改都会对最终的散列值造成很大的改变。
        • 散列函数逆向计算的难度远大于正向计算的难度,具有较高的安全性。
      • 缺点:
        • Hash函数实质是一种压缩映射(多对一映射),散列值的空间(密文空间)远小于输入的空间(明文空间),不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。(单向算法)
    • MD算法(MD5)
      • 一致性验证
      • 数字签名
      • 安全访问认证
    • AES算法
      • 对称加密,加密和解密使用同一个密钥
      • 对称加密的优点
        • 加密计算量小、速度快,适合对大量数据进行加密的场景。
      • 对称加密的两种常见的应用场景
        • 流密码(stream cipher):
          • 加密和解密双方使用相同伪随机加密数据流作为密钥,明文数据每次与密钥数据流顺次对应加密,得到密文数据流,主要应用在对链路的实时加密中
        • 分组密码(block cipher):
          • 将明文数字序列,划分成长度为n的组,每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列,主要应用在网络包交换加密过程中。
      • 对称加密的两大不足
        • 密钥传输问题:
          • 加密者如何把密钥安全的传递给解密者,就成了对称加密面临的关键问题
          • 实际中一般都是客户端向服务端请求对称加密的密钥,而且密钥还得用非对称加密加密后再传输。
        • 密钥管理问题:
          • 随着密钥数量的增多,密钥的管理问题会逐渐显现出来。
          • 不可能所有用户都用同一个密钥加密解密,一旦密钥泄漏,就相当于泄露了所有用户的信息。
          • 为每一个用户单独的生成一个密钥管理代价会非常大。
    • RSA算法(非对称加密)
      • 密文=明文^E mod N
      • 明文=密文^D mod N
      • 具体百度
      • 安全性
        • RSA的安全性就是源自没办法轻易的对大整数“因式分解”
        • 实际应用中,RSA密钥一般是1024位(安全),重要场合则为2048位(极其安全)。

网站公告

今日签到

点亮在社区的每一天
去签到