很乱~~~
什么是PKI
名称:Public Key Infra… 公钥基础设施
作用:通过加密技术和数字签名保证信息的安全
组成:公钥加密技术,数字证书,CA,RA
信息安全三要素:
机密性(Integrity)
完整性(Confidentiality)
身份验证(Authentication)确保是可信的源发送了这些信息,而不是其他伪装源发的)
操作的不可否认性(Nonrepudiation)不能事后否认发送过这个信息
哪些IT领域用到KPI:
1:SSL/HTTPS
SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。
2:IPsecVPN
3:部分远程访问VPN
公钥加密技术
作用:实现对信息加密 数字签名等安全保障
加密算法:
1: 对称加密算法
加解密的密钥一致!
优点:速度快,安全,紧凑(加密后数据不会变得过大)
缺点:明文传输共享密钥,容易被中途劫持窃听等;
主流的对称加密算法:
DES 3
DES
AES
RC4
2:非对称加密算法
*通信双方各自产生公私钥。
*双方各自交换公钥
*公钥和私钥为互相加解密关系
缺点:加密速度慢
密文边长
非对称密钥算法的主流协议:
RSA
DH
ECC
散列函数
散列函数也叫HASH函数,它的主要任务是验证数据的完整性。通过散列函数计算得到的结果叫做
散列值,这个散列值有时也被称为数据的指纹
常用的散列算法
MD5
SHA-1 SHA-2等
散列函数四大特点
1:固定大小:输出固定大小的散列值
2:雪崩效应:原始数据一改变,计算的散列值会发生巨大变化
3:单向:只可能从原始数据计算得到散列值,不可能从散列值恢复哪怕一个bit的原始数据
4:冲突避免(唯一性)几乎不能找到另外一个数据和当前数据计算的散列值相同
理想的加密方案:
1.该解决方案必须是安全的。
2.加密的速度必须快。
3.加密得到的密文必须紧凑。
4.该解决方案必须能够适应参与者数目很多的情况。
5.该解决方案必须能够抗密钥窃听攻击。
6.该解决方案一定不能要求事先在参与者之间建立某种关系。
7.该解决方案必须支持数字签名和不可否认性。
数字签名(非对称密钥算法)
简单的说:用自己的私钥对摘要加密得出的密文就是数字签名
对重要的数据进行HASH,相当于散列值1,通过签名者的私钥,得到加密的散列值1,然后将数据传输给对方 如图1:
然后再进行一个HASH,得到散列值二,再利用签名者的公钥进行解密和散列值二进行对比,数据相同则说明没有被串改过
数字签名的问题:
·数字签名能够帮我们实现两个功能:
-数据完整性验证;(因为有对数据进行HASH)
-源认证;(通过私钥进行加密,需要公钥解)
·我们能够确认,这一事件是由公钥的持有者来实现的,但公钥的持有者是谁?也就是我们能通过签名知道发送者是没问题的,可是这个公钥和哪个人有关联呢?
·密钥自身是不能说明它的持有者是谁,所以我们需要数字证书技术帮我们解决,“这个公钥的持有者到底是谁”的问题。
公钥分发问题:
1. 在使用任何基于RSA的服务之前,一个实体需要获取其它实体的公钥。(加密和签名都要预先接到别人的公钥)
2.安全的公钥交换:
-避免中间人攻击;
-公钥不能被中途劫持,并且在密钥交换期间被更改。
3.传统的方法都没有扩展性:
-带外传输;
-带外传输使用散列值进行校验。
4.实体和实体间的密钥交换,没有高扩展性
-(N* (N – 1)/2)复杂的密钥交换
-由最终用户来验证所有的密钥(非常的危险)
5.可信任的第三方加密协议是一个很好的解决方案。
数字证书里面有的重要信息
CA是权威证书颁发机构,为了公正“公钥”的合法性!
机密性:使用对方的公钥加密!
身份验证/数字签名:使用自己的私钥!