密码学、电子签名、电子信封以及密钥安全等
作者:互联网
密码学、电子签名、电子信封以及密钥安全等知识点
一、密码学基础
1. 密码学基本概念
密码学基本模型:
2. 密码技术的主要用途
数据保密
认证技术
信息技术的完整性
抗抵赖
二、密码算法
1. 密码算法的安全性
如果破译算法的代价大于加密数据本身的价值,或者在信息
的生命期内无法破解,那么你的算法可能是安全的。
一个算法被称为是计算上安全的,如果一个算法用可得到的
资源不能破解。
处理复杂性:计算量,CPU时间
数据复杂性:所需输入数据量
存储复杂性:计算所需的存储空间
2. base64
3. 密码算法体制
对称密钥算法
- 分组密码
3DES
AES DES替代者
RC2 RC5
BLOWFISH TWOFISH
- 序列密码
对称密钥算法
加密Key=解密key
常用算法包括DES3 DES AES RC4SM1SM4(国产)
- 优点
加密速度快,便于硬件实现和大规模生产 - 缺点
需要保障密钥安全
无法用来签名和抗抵赖
非对称密钥算法
数字摘要HASH
4. 算法模式
- 电子密码本( Eletronic Cood Book,ECB)
电子密码本模式
优点:
- 简单
- 有利于并行计算;
- 误差不会被传送;(算错了重新算就可以了)
缺点:
- 不能隐藏明文的模式;
- 可能对明文进行主动攻击;
- 密码分组链( Cipher Block Chaining,CBC)
优点:
- 不容易主动攻击安全性好于ECB适台传输长度长的报文是SSL、 IPSec的标准。
缺点:
-
不利于并行计算;
-
误差传递;
-
需要初始化向量Ⅳ
-
密文反馈( Cipher FeedBack,CFB)
-
输出反馈( Output FeedBack,OFB)
-
流密码模式(现在用的很少)
三、对称密钥与非对称密钥算法
1. 对称密钥加密算法
常见的对称密钥加密算法有:
DES、3DES、RC2、RC5、AES、SM1(国产,硬件)、SM4(国产)等
对称密钥的管理问题:
- 产生
- 分发
- 保存
- 更新
(密码算法是公开的,密钥是私密的)
2. 对称密钥管理方案:
三级密钥体系(银行用的比较多)
3. 非对称密钥算法
非对称密码体制也叫公开密钥密码体制、双密钥密码体制。其原理是加密密钥与解密密钥不同,形成一个密钥对,用其中一个密钥加密的结果,可以用另一个密钥来解密。
目前音遍使用的非对称加密算法主要有RSA、 Elgamal(离散对数)、ECC(椭圆曲线)等
-
特点
加密和解密使用不同的密钥
一个密钥公开,称公钥
一个密钥保密,称私钥(一对密钥)
常用算法: RSA ECC
也称公开密钥算法
-
优点
密钥分配,不必保持信道的保密性
可以用来签名和防抵赖
数字签名:
4. RSA与ECC算法的区别
-
都是国际主流算法
-
数学基础不同
-
密钥的产生过程不同
-
ECC密钥短、速度更快
- 更适应于短数据的加密,物联网环境下使用更多
-
RSA发展历史长,成熟,已实现的加速产品众多
5. 对称加密算法与非对称加密算法的区别
(非对称加密算法更复杂一些)
6. 对称密钥与非对称密钥算法的组合应用
- 随机产生一个对称加密密钥A
- 用对称加密密钥算法加密文件D得到D′
- 用非对称密钥的公钥P1加密对称加密密钥A称为A′
- 用非对称密钥的私钥P2解密A′得到A
- 用A解密D′得到D
四、HASH算法
1. 特点:
- 没有密钥的加密算法
- 输出长度为定值:输入空间无穷无尽,输出空间有限
- 唯一性:相同的输入,相同的输出
- 随机性:不同的原文,完全不同的输出。即使原文只相差一点点,输出也会完全不同
- 不可逆:不能从摘要反推原文
- 碰撞:一定有,但难以寻找–稳定可到的抚到碰撞的方法就是破解方法
2. 用途
-
数据指纹
- 用来防止数据被改,例如文档、程序从网站下载,同时发布文件指纹(校验码)
-
数据脱敏
- 电话号码、身份证号码,需要核对,但又不愿意公开提交,可以用其哈希值来比对
-
登录校验
- 登录囗令的 shadow
-
比特币
- 比特币挖矿,挖的就是哈希值
3. 常见HASH算法
- MD5 128Bit
- Sha-1 160Bit
- SHA-224,SHA256,SHA-384和SHA-512
4. 对称加密算法与非对称加密算法、哈希算法的区别
五、密钥安全
1. 对密码的攻击
-
攻击密钥
- 窃取明文密钥,从文件、内存、网络流量等
- 窃取被保护的密钥:攻击加密芯片,切片,功率谱分析,电磁辐射等
-
攻击算法
- 王小云破解哈希算法
- RSA2048以下破解
- DES等算法破解
-
攻击协议
- 电子密码本方式的明文密文对照分析
- CBC模式的|V
-
攻击应用
- 重放攻击
绝大多数攻击针对密钥,HASH算法除外,HASH算法没有密钥,针对算法。(最安全的方法放到芯片里,不是放在硬件里面的都认为不安全)
2. 密钥的安全性
-
对称密钥
- 产生、分发、保存、更新
- 安全性:多一个人知道,安全性下降一半;双方谁泄露,说不清;对方有无泄露,不知道;
- 成本:与用户规模相关,分发成本高、保存成本高
- 使用限制:不能用于抗抵赖防篡改
-
非对称密钥
- 产生、分发、保存、更新
- 安全性:私钥只与自己相关;谁泄露谁担责;公钥完全公开,无需保密
- 成本:单个私钥,容易管理和保存
3. 密钥的保存及使用方案
-
磁盘文件,使用时调入内存
- 系统不安全,则不安全
- 系统文件被盗取、内存中被盗取
-
加密的磁盘文件,使用时调入內存解密使用
- 系统不安全,则存在风险
- 存在被盗取和暴力破解可能,且难以发现–不能防复制
- 内存中被盗取
-
内存动态存储
- 内存攻击、线程攻击可能造成泄露
-
每次使用时人工输入
- 记忆困难
- 不能自动化、高性能应用
- 内存中被盗取
-
使专业的加密硬件
-
分段分散分布式保存
4. 密码硬件与密钥安全性
- 把密钥放进专业的密码硬件里
- 密钥一辈子都在硬件里,不能拷贝出来
- 密钥运算在硬件里,外面看不到密钥
- 密钥的使用需要口令(PIN),控制了访问权限
5. 沙米尔门限方案
- 密钥被分成N份
- 其中任意M个可以拼接成完整的密钥
- N大于等于M
- 国内一般要求NM为5-3
- 密钥备份常常采用沙米尔方案,分段备份到C卡中
- 重要设备的操作授权经常采用沙米尔方案
6. 分布式密钥安全方案
- 面向移动平台
- 密钥被分成N份
- 所有N份均提供后可以拼接成完整的密钥
- 密钥运算并不需要将所有密钥片段收集到一起迸行,而是分布式进行,并将结果汇总后再组成最终结果。最终结果与使用完整密钥运算结果相同。
- 一般可能划分为以下部分
- 服务端(云端)存储部分
- 客户端(手机端)存储部分
- 用户输入部分(可选)
7. 如何保障公钥安全
-
找一个公认可靠的人
-
大家都认识他、相信他
-
由他来公开每个公钥,且同时公布这个公钥是属于谁他认识每个被他公布了公钥的人,掌握他们的信息
-
这个公认可靠的人,对一个包含人名和公钥的文件签字
-
这个文件就是我们获得的他人的公钥信息
证明公钥的真实性:CA(有效期三年)
8. CA证书
- 个人信息
- 证书版本号(如X.509V3)
- 序列号SN
- 有效期
- 证书唯一名称DN
- 公钥
- 密钥用法
- 签名
9.数字证书基础(X.509V3)
数字证书的格式普遍采用的是X.509V3国际标准,一个标准的X.509数字证书包含以下一些内容:
证书的版本信息;
证书的序列号,每个证书都有一个唯一的证书序列号;证书所使用的签名算法;
证书的发行机构名称,命名规则一般采用X.500格式;
证书的有效期,通用的证书一般采用UTC时间格式, 它的计时范围为1950-2049;
证书所有人的名称,命名规则一般采用X.500格式;
证书所有人的公开密钥;
证书发行者对证书的签名。
10. 验证证书的流程
-
先验证签名证书有效性
- CA公钥
- CA公钥验证证书签名
- 证书有效期
- 证书作废状态
- 证书密钥限制
-
用签名证书公钥完成数据签名验证
六、电子签名
1. 电子标签的目标
-
目标:防篡改,数据生成以后难以篡改,篡改必能发现
-
目标:抗抵赖,谁产生的数据不能抵赖,抵赖也没有用
-
目标:较高的运算效率
-
应用:审计(查看有没有出格的操作)
-
应用:证据
-
应用:合同
2. 数字信封
1)数字信封的目标
-
数据的保密传输
-
确保非接收各方或非使用者不能査看到明文
-
较高的加密解密效率
2)数字信封的传输过程
-
加密
- 产生消息加密所用的对称密钥
- 用对称密钥加密消息明文获得消息密文
- 用接收方公钥加密对称密钥获得密钥密文
-
传输
-
解密
- 用接收方私钥解密密钥密文获得对称密钥(大多是一次更新一次密钥)
- 用对称密钥解密消息密文获得消息明文
七、PKI公钥基础设施
CA体系:
1. PKI组成
- CA证书颁发机构
- RA证书注册中心
- 密钥管理中心
- 证书存储系统
- 证书发布系统
- 证书吊销作废
2. PKI系统组成
3. CA证书颁发机构
- 证书颁发
- 证书更新
- 证书撤销
- 证书和证书撤销列表(CRL)的公布
- 证书状态的在线查询
- 证书认证
- 制定政策等。
4. 证书发布系统
发布:
数字证书
证书撤消列表(CRLs)
发布方式:
特殊用途的数据库
LDAP 目录服务
5. NetSign的基本架构
应用场景:
支持网银、二代支付、票交、二代征信、TIPS、二代反洗钱、ACS、网银等
标签:公钥,加密,证书,电子签名,算法,密钥,非对称,密码学 来源: https://blog.csdn.net/bluepangzi/article/details/118099290