信息安全技术
三月 22, 2022
一、信息安全概述
二、加密技术
密码学发展
- 手工加密阶段
- 机械加密阶段
- 计算机加密阶段
密码学基本概念 & 术语
- 密码学分支:密码编码学(加密)、密码分析学(解密)
- 密码体制:{Sm、Sc、Sk、E、D}
- S
M:明文 - S
c:密文 - S
k:密钥key - E:加密算法
- D:解密算法
- S
- 【密码算法安全评估原则】柯克霍夫原则(Kerckhoffs):密码系统的安全性取决于==密钥==,而不是密码算法,即密码算法要公开
古典密码
- 移位密码(典型:凯撒密码)
- 设26字母按0,1,2,……,25
- 加密:c = m + k (mod 26)
- 解密:m = c -k (mod 26)
- 数学形式化定义:略
- 设26字母按0,1,2,……,25
- 仿射密码:明文、密文、移位空间相同
- 加密:c = (a*m + b) (mod 26)
- 解密:m = a^-1^ (c - b) (mod 26)
- 维吉利亚密码(Vigenere)【简单多表代换密码,使用一系列不同的凯撒密码组成密码字母表】
- 把英文字母用数字代替进行运算,a
z 为 025 - 引入了密钥的概念,设定一个参数n,按n个字母一组进行变换
- 加解密步骤:
- 分:按照密钥长度对密文进行分组
- 转:a
z 转换为 025 - 算:(m+k) mod26 / (c-k) mod 26
- 转:c / m 转回英文
- 加密:c =(m + k) (mod 26)【密文 = (明文 + 密钥)mod 26】
- 解密:m =(c - k) (mod 26)【明文 = (密文 - 密钥)mod 26】
- 把英文字母用数字代替进行运算,a
- 置换密码:将明文中各字符的==位置次序重新排列==得到密文
- 古典密码不适合柯克霍夫原则,密码安全性基于算法的保密(现代密码学从1949年开始,由于计算机的出现算法的计算变得非常复杂,保密性不再依赖算法,而是密钥)
对称密码
- 加解密算法互为逆运算,密钥相同,满足:M = D
k( C) = Dk(Ek(M))
- 序列密码:将明文划分成单个位(字节)作为加密单位产生明文序列,然后将其与密钥流序列逐位进行模2加运算,符号⊕(异或)
- 分类:
- 同步序列密码:要求发生方和接受方同步,在同样的位置用同样的密钥才保证成功
- 自同步序列密码:密钥的产生与密钥和已产生的固定数量的密文位有关
- 安全性:安全强度依赖于密钥流产生器所产生的密钥流序列的特性,关键是密钥生成器的设计及收发两端密钥流产生的同步技术
- 实现要求:
- 伪随机序列:(良好密钥流序列:良好的伪随机性)
- 自然现象产生随机
- 使用软件以简单数学函数实现(如:线性同余法,线性反馈移位寄存器,非线性反馈移位寄存器,有限自动机和混沌密码)
- 线性反馈偏移寄存器
- RC4:(一种可变密钥长度、面向字节流的序列密码)以一个数据表为基础,对表进行非线性变换,从而产生密码流序列。
- 密钥调度算法(KSA, Key-Scheduling Algorithm):将一个随机密钥(大小为40~256位)变换成一个初始置换表S
- 伪随机生成算法(PRGA, Pseudo Random Generation Algorithm):从S表中随机选取元素,并产生密钥流
- 伪随机序列:(良好密钥流序列:良好的伪随机性)
- 分类:
- 分组密码:将明文分成不同块(或小组)结构,分别对每个块进行加密或解密
- DES - 数据加密标准
非对称密码
- RSA 密码算法
- Diffie - Hellman 密钥交换算法
- ElGamal 加密算法
密码学应用
传统隐藏技术发展
- 密码术:将机密信息进行各种变换,使非法授权者无法理解(古代密码学 –> 现代密码学)
- 隐写术:将机密信息隐藏起来,使非法授权者无法获取(古代隐写术 –> 信息隐藏、数字水印、隐通道、匿名通信)
- 古代隐写术发展
- 技术性隐写术
- 语言学中的隐写术
- 用于版权保护的隐写术
- 古代隐写术发展
数字信息隐藏技术发展
- 1992:国际上正式提出信息隐藏概念
- 1995:美国Digimarc公司开发了数字水印制作技术
- 1996:英国剑桥大学牛顿研究所召开第一届信息隐藏学术会议
- 1999:中国已召开六届信息隐藏学术研讨会
隐藏技术原理
- 目的:把机密信息隐藏在可公开的信息载体中
- “囚犯问题” :1983年,Simmons对隐蔽通信问题的描述
- 被动狱警问题:只检查传递信息有没有可疑
- 主动狱警问题:不破坏公开信息前提下,故意修改一些可能隐藏机密信息的地方(如同义词替换)
- 恶意狱警问题:彻底改变通信信息,或伪装成发送方/接收方隐藏伪造的机密信息
- 信息隐藏相关概念
- 秘密信息M(Secret Message)
- 载体对象C(Cover Message):可公开传递的素材
- 伪装对象C^1^:M根据C进行伪装
- 伪装密钥k:信息隐藏的密钥
- 信息隐藏涉及的算法:信息嵌入算法、信息提取算法
- 信息隐藏分类
- 1999年Fabien信息隐藏四大类
- 隐通道
- 隐写术
- 匿名通信
- 版权识别
- 按密钥方案类型分类
- 无密钥的信息隐藏:只隐藏不加密,安全性完全依赖于隐藏算法和提取算法,一旦泄露,失去安全性
- 私钥信息隐藏:隐藏信息需要密钥交换,双方拥有一个唯一相同的伪装密钥
- 公钥信息隐藏:类似公钥密码【公钥用于信息嵌入,私钥用于信息提取】(安全性完全取决于公钥密码体制的安全性)
- 1999年Fabien信息隐藏四大类
- 信息隐藏特性
- 安全性:信息隐藏算法有较强的抗攻击能力,能承受一定的人为攻击而使隐藏信息不被破坏
- 攻破信息隐藏系统的三层次:证明信息存在、提取隐藏信息、破坏隐藏信息
- 鲁棒性:抗恶意修改导致的隐藏信息能力丢失
- 不可检测性:伪装对象和载体对象具有一致的特性
- 透明性:经过隐藏处理,目标数据必须没有明显降质现象
- 自恢复性:只从留下的片段数据,仍能恢复隐藏信号,且恢复过程不需要宿主信号
- 安全性:信息隐藏算法有较强的抗攻击能力,能承受一定的人为攻击而使隐藏信息不被破坏
信息隐藏算法
- 图像:替换技术【采用秘密信息替代伪装载体中的冗余部分】
- 空间域算法:
- 基于图像拉低字节对图像影响较小 原理
- 健壮性较差,难以抵抗有损压缩、低通滤波等攻击
- 变换(频)域算法
- 选择改变中频或低频分量(DCT变换除去直流分量)嵌入信息时,健壮性大大提高
- 频域
- 空间域算法:
数字水印
- 数字水印基本原理:利用视觉和听觉的冗余特性(水印技术不能阻止盗版)
- 通用水印算法组成:水印生成算法、水印嵌入和提取、检测
- 预处理:(扩频、纠错编码、加密等)对水印的安全性考虑进行的处理【通过变频操作:DCT、DFT、小波变换、傅里叶-梅林变换等;变换操作组合;空操作】
- 水印提取过程
隐通道技术
匿名通信技术
四、消息认证技术
五、数字签名技术
数字签名概念 & 原理
- 概念:通过一个单向函数对咬传送的报文(消息)进行处理,产生别人无法识别的一段数字串,数字串用来证明报文的来源并核实报文是否产生变化
- 基础:公钥密码学(密钥 = 公钥 + 私钥)
- 主要步骤:签名、验证
RSA数字签名 & 加密
Schnorr数字签名(ElGamal型变形)
DSA数字签名【数字签名算法】(ElGamel和Schnorr变种)
- 安全性基于离散对数难题,采用Schnorr系统中g为非本原元的做法,降低签名文件长度
特殊数字签名分类
- 盲签名:签名人不知道文件内容
- 代理签名:签名权委托代理人
- 签名加密:签名同时加密
- 多重签名:多人分别对同一文件进行签名
- 群签名:由个体代表群体执行的签名,验证者从签名不能判定签名者身份(能通过群管理员查出)
- 环签名:类似群签名,具有完全匿名性
- 前向安全签名:签名密钥按时间段不断更新,验证公钥保持不变(考虑密钥安全性)
- 双线性对技术:利用超奇异椭圆曲线中Weil对和Tate对所具有的双线性性质,构造各种性能良好的数字签名方案
- 门限共享、失败-停止签名、不可否认签名、零知识签名 等分支
数字签名应用
六、网络安全协议
七、攻击技术
信息收集
- 踩点
- 扫描
- 监听
攻击实施
- 社工
- 口令
- 漏洞
- 欺骗
- 拒绝服务
隐身技术
查看评论