终于弄懂了什么是PKI技术,非对称加解密,证书,数字签名

PKI技术

1.概述

名称:公钥基础设施技术Public Key Infrastructure

作用:保证信息安全,通过数字签名+加密技术

组成:公钥加密技术,数字证书,CA(证书办法机构),RA(相当于CA的分部)

这四个组成来完成加密和数字签名来完成公钥基础设计技术,保证信息安全

2.信息安全三要素

2.1 机密性

不被其他人知道内容

2.2 完整性

不被别人修改,破坏

2.3 身份验证

不被其他人伪装

哪些领域用到

3.常见使用 领域

  • SSL/HTTPS
  • VPN

4.公钥加密技术

作用:给信息加密、数字签名等做安全保障

4.1 加密算法

举例X+5=Y,这就是一个简单的算法,其中

X是原文

Y是密文

5就是密钥

简单说算法就是给了原文,密钥,可以得到密文的一种机算方法

1)对称加密算法

加解密的密钥一致(密钥容易丢失,加解密双方使用的是同一个密钥,在相互协定密钥值或者密钥传输时就可能被监听到密钥内容)

常见的有DES(基础加密算法),3DES,AES(高级加密算法)

2)非对称加密算法

需要四个密钥,

  • 通信加解密双方各自需要(一对公私钥)
  • 双方各自交换公钥
  • 公钥和私钥为互相加解密的配对关系:用公钥加密的必须用私钥才能解开,用私钥加密的必须用公钥解开
  • 公私钥虽然时一对的,但是不能互相逆推(好神奇,但是不知道为什么)

常见的有RSA(比如https就是),DH算法

5.非对称加密算法原理

5.1 只能保证机密性的方案

  • 加解密双方互相持有对方的公钥。加密者用解密者公钥加密,并发送给解密者,解密者用自己的私钥解密即可

image-20230907175541531

5.2 能保证完整性的方案

这里的加密信息传递流程如上图

1.AB互相交换公钥,且约定用RSA加解密

2.A想给B发送一个信息,用B的公钥加密,得到密文文件

3.不直接密文文件发给B,而是将密文文件进行hash,得到一个数字签名,再用自己的私钥对数字签名加密

4.将密文文件和数字签名密文一起发给B

5.B收到后解密,先拿到密文签名,发现可以用A发送给自己的公钥解开,证明这个人是可信的

6.解析密文,将密文hash,发现得到的hash与收到的hash(这个hash是a用私钥加密过再用a的公钥解开的)一致。说明这个密文文件没有被篡改过

7.B放心的用自己的私钥解密,得到了明文信息

5.3 补充:hash算法

hash算法可以将无论多大的数据得到一个唯一的值,比如一个100G的文件,用hash之后,就得到一串唯一的字符串。hash值也叫摘要,且是不可逆算法,所以hash的作用只有一个就是验证完整性。比如很多大型文件下载的最后会做校验,这样如果有数据损坏了,会提示出来

最常用的hash算法有md5,sha,sha-128,sha-256,后面的数字是不同的长度

用md5sum +文件名,可以查看文件的md5值,要确定同名文件是不是同一个文件,可以用md5值进行比较,相同,则是同一个文件

md5sum ~/.bashrc   # linux查看文件md5值
certtuil -hashfile xxx.txt  md5    # win查看文件的md5值

image-20230907201911097

hash算法得到的值就是文件的数字签名,在加密内容里经常放在密文文件头里,做完整性校验

5.4 可能被拦截冒充

Q问题

如果在A,B交换公钥的时候,有一个人C,拦截了A的公钥,发送的是自己的公钥,那B就没办法知道了,这样就有了漏洞

等B收到信息的时候,发现用A的公钥yyy可以解密,他以为是A,因为信息是A的私钥加密的,殊不知,他最开始收到的就不是A的公钥,错误从一开始就埋下了!

image-20230907204441579

5.5 CA机构辅助身份验证

为了解决这个问题,就需要有一个第三方来证明发送消息的的确是A,这个机构就是CA

image-20230907213012847

流程如下:

1、A和B都信任CA这个证书颁发机构,在他们的电脑上有信任的机构列表

2、A要给B发信息了,先从CA注册申请一个证书,CA把A的信息,比如ip,公钥,姓名等收集起来,并且用自己的私钥999加密就得到了数字签名,把这个数字签名和信息放在一起,并且盖个章,说这个证书我公证过了,把证书颁发给A

3、A发送信息的时候,把公钥和这个证书一起发送给B,试图让B相信自己就是A,而不是别人冒充的

4、B收到信息之后,核对A的信息,拿到证书,去自己电脑看这个机构是不是合法的,然后用这个机构的公钥解开了信息,得到了 公钥,与A发过来的公钥一样,说明 A就是A,不是别人冒充,在AB双方信任的基础上,使用非对称加密的方式,再用公私钥,hash等保证数据的秘密性,完整性

5.6 补充:数字签名

image-20230907220256442

数字签名简单理解就是用自己的私钥加密,拥有自己的独有气息

高亮部分就是签名的过程,就是用自己的私钥加密某个信息,对方可以用我发过去的公钥解开,那这个签名就没有问题,现在的数字签名一般都是对摘要签名,也就是hash值。因为如果对原文加密,可能会导致签名太大,摘要就很小了

5.7 补充:证书

证书就是保证公钥的合法性,数字证书必须由权威的第三方机构即CA颁发

证书格式遵循X.509标准,不论那个CA的证书,全球 标准统一

包含的信息:

  • 使用者的公钥
  • 使用者的标识信息(比如名称,email)
  • 有效期
  • 颁发者标识(CA的名字)
  • 颁发者数字签名
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值