信息安全技术

信息安全技术

三月 22, 2022

一、信息安全概述

二、加密技术

  1. 密码学发展

    1. 手工加密阶段
    2. 机械加密阶段
    3. 计算机加密阶段
  2. 密码学基本概念 & 术语

    1. 密码学分支:密码编码学(加密)、密码分析学(解密)
    2. 密码体制:{Sm、Sc、Sk、E、D}
      1. SM:明文
      2. Sc:密文
      3. Sk:密钥key
      4. E:加密算法
      5. D:解密算法
    3. 【密码算法安全评估原则】柯克霍夫原则(Kerckhoffs):密码系统的安全性取决于==密钥==,而不是密码算法,即密码算法要公开
  3. 古典密码

    1. 移位密码(典型:凯撒密码)
      • 设26字母按0,1,2,……,25
        1. 加密:c = m + k (mod 26)
        2. 解密:m = c -k (mod 26)
      • 数学形式化定义:略
    2. 仿射密码:明文、密文、移位空间相同
      1. 加密:c = (a*m + b) (mod 26)
      2. 解密:m = a^-1^ (c - b) (mod 26)
    3. 维吉利亚密码(Vigenere)【简单多表代换密码,使用一系列不同的凯撒密码组成密码字母表】
      • 把英文字母用数字代替进行运算,az 为 025
      • 引入了密钥的概念,设定一个参数n,按n个字母一组进行变换
      • 加解密步骤:
        1. 分:按照密钥长度对密文进行分组
        2. 转:az 转换为 025
        3. 算:(m+k) mod26 / (c-k) mod 26
        4. 转:c / m 转回英文
      1. 加密:c =(m + k) (mod 26)【密文 = (明文 + 密钥)mod 26】
      2. 解密:m =(c - k) (mod 26)【明文 = (密文 - 密钥)mod 26】
    4. 置换密码:将明文中各字符的==位置次序重新排列==得到密文
    • 古典密码不适合柯克霍夫原则,密码安全性基于算法的保密(现代密码学从1949年开始,由于计算机的出现算法的计算变得非常复杂,保密性不再依赖算法,而是密钥)
  4. 对称密码

    • 加解密算法互为逆运算,密钥相同,满足:M = Dk( C) = Dk(Ek(M))
    1. 序列密码:将明文划分成单个位(字节)作为加密单位产生明文序列,然后将其与密钥流序列逐位进行模2加运算,符号⊕(异或)
      • 分类:
        1. 同步序列密码:要求发生方和接受方同步,在同样的位置用同样的密钥才保证成功
        2. 自同步序列密码:密钥的产生与密钥和已产生的固定数量的密文位有关
      • 安全性:安全强度依赖于密钥流产生器所产生的密钥流序列的特性,关键是密钥生成器的设计及收发两端密钥流产生的同步技术
      • 实现要求:
        1. 伪随机序列:(良好密钥流序列:良好的伪随机性)
          1. 自然现象产生随机
          2. 使用软件以简单数学函数实现(如:线性同余法,线性反馈移位寄存器,非线性反馈移位寄存器,有限自动机和混沌密码)
        2. 线性反馈偏移寄存器
        3. RC4:(一种可变密钥长度、面向字节流的序列密码)以一个数据表为基础,对表进行非线性变换,从而产生密码流序列。
          1. 密钥调度算法(KSA, Key-Scheduling Algorithm):将一个随机密钥(大小为40~256位)变换成一个初始置换表S
          2. 伪随机生成算法(PRGA, Pseudo Random Generation Algorithm):从S表中随机选取元素,并产生密钥流
    2. 分组密码:将明文分成不同块(或小组)结构,分别对每个块进行加密或解密
    3. DES - 数据加密标准
  5. 非对称密码

    1. RSA 密码算法
    2. Diffie - Hellman 密钥交换算法
    3. ElGamal 加密算法
  6. 密码学应用

    1. 密码应用模式
      1. 电子密码本模式(ECB Electronic Code Book)
        • D(E(M)) = M
        • 分组长度为64位,每次加密独立,独立产生密文分组,每一组的加密结果不会影响其他分组。
      2. 密文链接模式(CBC Cipher Block Chaining)
        • D ( E (M) ) = M
        • 第一个明文分组先向初始向量作异或运算再加密,其他每个明文分组加密之前,必须与前一个密文分组做一次异或运算。
      3. 密文反馈模式
      4. 输出反馈模式
    2. 密码加密方式
      1. 节点加密
      2. 链路加密
      3. 端到端加密
    3. PGP软件的应用

      三、隐藏技术(“隐写术”)

  7. 传统隐藏技术发展

    • 密码术:将机密信息进行各种变换,使非法授权者无法理解(古代密码学 –> 现代密码学)
    • 隐写术:将机密信息隐藏起来,使非法授权者无法获取(古代隐写术 –> 信息隐藏、数字水印、隐通道、匿名通信)
      • 古代隐写术发展
        1. 技术性隐写术
        2. 语言学中的隐写术
        3. 用于版权保护的隐写术
  8. 数字信息隐藏技术发展

    1. 1992:国际上正式提出信息隐藏概念
    2. 1995:美国Digimarc公司开发了数字水印制作技术
    3. 1996:英国剑桥大学牛顿研究所召开第一届信息隐藏学术会议
    4. 1999:中国已召开六届信息隐藏学术研讨会
  9. 隐藏技术原理

    • 目的:把机密信息隐藏在可公开的信息载体中
    • “囚犯问题” :1983年,Simmons对隐蔽通信问题的描述
      1. 被动狱警问题:只检查传递信息有没有可疑
      2. 主动狱警问题:不破坏公开信息前提下,故意修改一些可能隐藏机密信息的地方(如同义词替换)
      3. 恶意狱警问题:彻底改变通信信息,或伪装成发送方/接收方隐藏伪造的机密信息
    • 信息隐藏相关概念
      • 秘密信息M(Secret Message)
      • 载体对象C(Cover Message):可公开传递的素材
      • 伪装对象C^1^:M根据C进行伪装
      • 伪装密钥k:信息隐藏的密钥
      • 信息隐藏涉及的算法:信息嵌入算法、信息提取算法
    • 信息隐藏分类
      1. 1999年Fabien信息隐藏四大类
        1. 隐通道
        2. 隐写术
        3. 匿名通信
        4. 版权识别
      2. 按密钥方案类型分类
        1. 无密钥的信息隐藏:只隐藏不加密,安全性完全依赖于隐藏算法和提取算法,一旦泄露,失去安全性
        2. 私钥信息隐藏:隐藏信息需要密钥交换,双方拥有一个唯一相同的伪装密钥
        3. 公钥信息隐藏:类似公钥密码【公钥用于信息嵌入,私钥用于信息提取】(安全性完全取决于公钥密码体制的安全性)
    • 信息隐藏特性
      • 安全性:信息隐藏算法有较强的抗攻击能力,能承受一定的人为攻击而使隐藏信息不被破坏
        • 攻破信息隐藏系统的三层次:证明信息存在、提取隐藏信息、破坏隐藏信息
      • 鲁棒性:抗恶意修改导致的隐藏信息能力丢失
      • 不可检测性:伪装对象和载体对象具有一致的特性
      • 透明性:经过隐藏处理,目标数据必须没有明显降质现象
      • 自恢复性:只从留下的片段数据,仍能恢复隐藏信号,且恢复过程不需要宿主信号
  10. 信息隐藏算法

    1. 图像:替换技术【采用秘密信息替代伪装载体中的冗余部分】
      1. 空间域算法:
        • 基于图像拉低字节对图像影响较小 原理
        • 健壮性较差,难以抵抗有损压缩、低通滤波等攻击
      2. 变换(频)域算法
        • 选择改变中频或低频分量(DCT变换除去直流分量)嵌入信息时,健壮性大大提高
        • 频域
  11. 数字水印

    • 数字水印基本原理:利用视觉和听觉的冗余特性(水印技术不能阻止盗版)
    • 通用水印算法组成:水印生成算法、水印嵌入和提取、检测
      • 预处理:(扩频、纠错编码、加密等)对水印的安全性考虑进行的处理【通过变频操作:DCT、DFT、小波变换、傅里叶-梅林变换等;变换操作组合;空操作】
      • 水印提取过程
  12. 隐通道技术

  13. 匿名通信技术

    四、消息认证技术

    五、数字签名技术

  14. 数字签名概念 & 原理

    1. 概念:通过一个单向函数对咬传送的报文(消息)进行处理,产生别人无法识别的一段数字串,数字串用来证明报文的来源并核实报文是否产生变化
    2. 基础:公钥密码学(密钥 = 公钥 + 私钥)
    3. 主要步骤:签名、验证
  15. RSA数字签名 & 加密

  16. Schnorr数字签名(ElGamal型变形)

  17. DSA数字签名【数字签名算法】(ElGamel和Schnorr变种)

    • 安全性基于离散对数难题,采用Schnorr系统中g为非本原元的做法,降低签名文件长度
  18. 特殊数字签名分类

    1. 盲签名:签名人不知道文件内容
    2. 代理签名:签名权委托代理人
    3. 签名加密:签名同时加密
    4. 多重签名:多人分别对同一文件进行签名
    5. 群签名:由个体代表群体执行的签名,验证者从签名不能判定签名者身份(能通过群管理员查出)
    6. 环签名:类似群签名,具有完全匿名性
    7. 前向安全签名:签名密钥按时间段不断更新,验证公钥保持不变(考虑密钥安全性)
    8. 双线性对技术:利用超奇异椭圆曲线中Weil对和Tate对所具有的双线性性质,构造各种性能良好的数字签名方案
    9. 门限共享、失败-停止签名、不可否认签名、零知识签名 等分支
  19. 数字签名应用

    六、网络安全协议

    七、攻击技术

  20. 信息收集

    1. 踩点
    2. 扫描
    3. 监听
  21. 攻击实施

    1. 社工
    2. 口令
    3. 漏洞
    4. 欺骗
    5. 拒绝服务
  22. 隐身技术

    1. 隐藏
      1. 进程隐藏
      2. 文件隐藏
        1. 伪装
        2. 隐藏木马文件自身:修改相关程序,过滤信息;指定特殊区域存放(标记扇区为坏区,隐藏其中)
      3. 网络连接隐藏
        1. 替换网络连接进程名
        2. 替换网络连接显示命令
        3. 替换网络连接管理员模块
    2. 代理
      1. snake:支持TCP/UDP代理,支持多跳板,代理方式为Socks,默认端口1813
    3. 清除日志
      1. IIS日志
      2. 主机日志
    4. 后门
      1. 添加管理员帐号
      2. 开启服务端口

        八、防御技术

        九、病毒