关于数字证书,数字签名,CA证书,Https都在这里了

Http协议大家都不陌生了,但是http的请求内容都是明文的内容,如果被拦截了请求,就能看到你的请求内容,比如账号密码之类的,这样的话就是不安全的,

关于数字证书,数字签名,CA证书,Https都在这里了_第1张图片

然后就有了http+SSL/TLS =https ,在http的基础之上对内容进行加密,这样就能保证内容的安全性,但是如何加密呢?

关于数字证书,数字签名,CA证书,Https都在这里了_第2张图片

加密大致可分为两种对称加密和非对称加密:

对称加密:加密的时候用密钥A,解密的时候还是需要密钥A

非对称加密:这个是一堆密钥对,比如公钥和私钥,公钥加密的内容只能私钥解密,私钥加密的内容只能公钥解密

对称密钥加密流程

关于数字证书,数字签名,CA证书,Https都在这里了_第3张图片

我们考虑一下如果我们选择对称加密,这样好不好?当然不好了,你想一下在服务端能解密你客户端的加密内容的时候肯定要知道加密的密钥,那服务端怎么知道呢?当然是客户端要告诉服务端了呀,因为是对称加密,没有客户端加密的密钥,服务端是没法解密的,但是这就有问题了,只要服务端能接收到密钥,别人就有可能拦截到,拿到这个密钥,这样的话加密还有什么意义呢?

黑客入侵监听对称加密

关于数字证书,数字签名,CA证书,Https都在这里了_第4张图片

在第3步,服务端和黑客都能拿到你的对称密钥,然后在以后的流程中,所有的信息,黑客都能通过对称加密密钥解密。

我们考虑一下,最大的问题是对称密钥加密和解密是一样的,那如果我们的加密和解密密钥不一致呢?这样不就好了?也就是我们的非对称加密。

非对称密钥加密流程

关于数字证书,数字签名,CA证书,Https都在这里了_第5张图片

这就是使用非对称加密的大致流程,但是可能会有人问为什么要还要使用对称加密非对称加密不就行了?这个是因为对称加密的效率更高,所以使用非对称加密来确定对称加密的密钥,然后再通过对称加密的方式通讯。

到这里我们可以总结到: 

  1. http通讯是不安全的,存在信息劫持,篡改的风险。
  2. https是加密传输,是信息安全的,在介绍https加密的时候我们首先介绍的是对称加密,但是在对称加密的过程中容易出现加密密钥被劫持的风险,因此我们采用了非对称加密的算法解决上面存在的问题,
  3. 因此,https是集对称加密和非对称加密同时存在的一种加密通讯方式。

但是上面这种方式就是安全的??????如果你觉得是安全的那你指定不适合做一个很帅很酷很神秘的黑客。

黑客破解非对称加密通讯

关于数字证书,数字签名,CA证书,Https都在这里了_第6张图片

看到了嘛?像夫妻一样,如果有了小三可还行?

数字证书和数字签名

上面说到我们在进行服务器和客户端进行确定使用的非对称加密的时候,我们的密钥可能会被窃取,那如果我们避免直接两者通讯告知,而是找一个可信的第三者哪里去的到呢?这样不就行了?于是我们使用数字证书签发机构(CA)颁发的证书来保证非对称加密过程本身的安全,然后再通过非对称加密这样的机制协商出一个对称加密的算法,然后双方通过对称加密解密要传输的内容,从而解决了客户端和服务器端之间的通信安全问题。

数字签名和数字证书的区别是什么?数字证书是由权威机构CA证书授权中心发行的,能提供在Internet上进行身份验证的一种权威性电子文档。而数字签名是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。对于数字签名和数字证书的运用原理,相信有不少朋友还不清楚,下文将为大家解疑答惑。

数字签名和数字证书原理

1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥。

关于数字证书,数字签名,CA证书,Https都在这里了_第7张图片

 

2. 鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。

关于数字证书,数字签名,CA证书,Https都在这里了_第8张图片

 

3. 苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。

关于数字证书,数字签名,CA证书,Https都在这里了_第9张图片

 

4. 鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。

关于数字证书,数字签名,CA证书,Https都在这里了_第10张图片

 

5. 鲍勃给苏珊回信,决定采用“数字签名”。他写完后先用Hash函数,生成信件的摘要(digest)。

关于数字证书,数字签名,CA证书,Https都在这里了_第11张图片

 

6. 然后,鲍勃使用私钥,对这个摘要加密,生成“数字签名”(signature)。

关于数字证书,数字签名,CA证书,Https都在这里了_第12张图片

 

7. 鲍勃将这个签名,附在信件下面,一起发给苏珊。

关于数字证书,数字签名,CA证书,Https都在这里了_第13张图片

 

8. 苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。

关于数字证书,数字签名,CA证书,Https都在这里了_第14张图片

 

9. 苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过。

关于数字证书,数字签名,CA证书,Https都在这里了_第15张图片

 

10. 复杂的情况出现了。道格想欺骗苏珊,他偷偷使用了苏珊的电脑,用自己的公钥换走了鲍勃的公钥。此时,苏珊实际拥有的是道格的公钥,但是还以为这是鲍勃的公钥。因此,道格就可以冒充鲍勃,用自己的私钥做成“数字签名”,写信给苏珊,让苏珊用假的鲍勃公钥进行解密。

关于数字证书,数字签名,CA证书,Https都在这里了_第16张图片

 

11. 后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。她想到了一个办法,要求鲍勃去找“证书中心”(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥,对鲍勃的公钥和一些相关信息一起加密,生成“数字证书”(Digital Certificate)。

关于数字证书,数字签名,CA证书,Https都在这里了_第17张图片

 

12. 鲍勃拿到数字证书以后,就可以放心了。以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。

关于数字证书,数字签名,CA证书,Https都在这里了_第18张图片

 

13. 苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明“数字签名”是否真的是鲍勃签的。

关于数字证书,数字签名,CA证书,Https都在这里了_第19张图片

应用

下面,我们看一个应用"数字证书"的实例:https协议。这个协议主要用于网页加密。

 

1. 首先,客户端向服务器发出加密请求。

关于数字证书,数字签名,CA证书,Https都在这里了_第20张图片

 

2. 服务器用自己的私钥加密网页以后,连同本身的数字证书,一起发送给客户端。

关于数字证书,数字签名,CA证书,Https都在这里了_第21张图片

 

3. 客户端(浏览器)的“证书管理器”,有“受信任的根证书颁发机构”列表。客户端会根据这张列表,查看解开数字证书的公钥是否在列表之内。

关于数字证书,数字签名,CA证书,Https都在这里了_第22张图片

 

4. 如果数字证书记载的网址,与你正在浏览的网址不一致,就说明这张证书可能被冒用,浏览器会发出警告。

关于数字证书,数字签名,CA证书,Https都在这里了_第23张图片

 

5. 如果这张数字证书不是由受信任的机构颁发的,浏览器会发出另一种警告。

关于数字证书,数字签名,CA证书,Https都在这里了_第24张图片

 

6. 如果数字证书是可靠的,客户端就可以使用证书中的服务器公钥,对信息进行加密,然后与服务器交换加密信息。

关于数字证书,数字签名,CA证书,Https都在这里了_第25张图片

 

以上,是为大家分享的“数字签名和数字证书使用原理”的全部内容,如果用户遇到的问题不能解决,可通过wosign官网客服寻求帮助,凡是选择wosign ssl证书的网站用户,wosign可提供免费一对一的ssl证书技术部署支持,免除后顾之忧。

 

数字签名、数字证书、电子签名

➤  数字签名

数字签名是电子签名技术最底层的基础技术,基于非对称密钥加密技术与数字摘要技术生成。包含电子文件信息以及发送者身份的数字串,用于鉴别发送者身份以及发送信息是否被篡改。数字签名包含了电子文件数字摘要、发送者公钥和私钥三部分内容:数字摘要用于确定文件信息的完整性,公钥用于身份识别。

关于数字证书,数字签名,CA证书,Https都在这里了_第26张图片

关于数字签名的基本原理和流程见:《数字签名的基本原理》。

 

➤  数字证书

▌数字证书的作用:由权威的第三方CA机构颁发的网络身份证书。

在以上数字签名技术通过签署者公钥和私钥互相加解密来进行身份验证的,但其问题在于仅能验证公钥和私钥的拥有者为同一个人,但无法对互联网环境下拥有者的真实身份进行验证。而数字证书的作用就在于由权威的第三方机构(数字证书机构)对用户的真实身份信息审核后提供绑定证书持有者身份信息的公钥和私钥。用户可通过公开的数字证书查看公钥持有者身份。

▌数字证书的原理

关于数字证书,数字签名,CA证书,Https都在这里了_第27张图片

数字证书的生成其实也是基于数字签名技术,只是签署着由难以验证身份的个体变为权威的第三方CA机构。CA机构用其私钥对 “证书持有者信息+证书信息+证书持有者公钥”形成的数字摘要进行加密后生成数字证书。

也就是说在附加了数字证书之后的数字签名需要进行两次解密,接受者先通过CA机构提供证书公钥对解密,查看证书持有者的信息并获得数字签名持有者的公钥,再用该公钥对数字签名进行解密读取文件摘要。

 

➤  电子签名

电子签名并不是一个简单的符号或图章形式,更多情况下是一种法律概念,即只有满足一定条件形成数据电子文件才具有法律效益,成为可靠电子签名。可靠电子签名的实现依赖于数字签名技术和数字证书身份认证,但在以上条件下还需要辅助身份验证、时间戳认证等技术。关于什么是可靠电子签名及其构成要素见:《电子签名有效吗》。

总的来说,数字签名是实现文件加密和身份认证的一种最基础的技术手段;数字证书是在此基础上由第三方权威机构提供的用于网络用户身份认证的服务;电子签名才是最终的应用目的,基于数字签名和数字证书,再辅助身份验证手段和时间戳证书服务,最终成为被法律认可的等同于纸质签名的数据文件。

关于数字证书,数字签名,CA证书,Https都在这里了_第28张图片

了解了上面的基本概念之后,在这里汇总一下流程:

  1. 服务端向CA机构申请数字证书,CA机构签发证书,
    1. 证书持有者的个人信息+证书信息+证书持有者的公钥——>CA签发机构的私钥=数字证书
  2. 服务端再发送内容的时候,比如发送ABC
    1. Hash算法+ABC——>数字摘要+服务端的私钥——>数字签名
    2. 数字证书+数字签名+ABC——>发送内容
  3. 客户端接收到以后,
    1. 先去浏览器的CA证书列表验证数字证书的可用性,比如真伪,是否过期等
    2. 如果可信,就用对应的CA机构的公钥解密数字证书从而获取服务端的公钥,
    3. 然后通过服务端的公钥解密数字签名获取数字摘要,
    4. 然后通过相同的hash算法处理ABC得到数字摘要,
    5. 然后通过两个数字摘要进行对比就能确定内容是否被篡改过。

万事开头难,后面的内容就不用说了吧........

以上部分内容照抄如下:

http://www.chiefmore.com/dianzihetong/3148.jhtml

https://www.wosign.com/news/news_2018101101.htm

部分参考如下:

https://blog.51cto.com/11883699/2160032

https://blog.csdn.net/superviser3000/article/details/80812263

 

你可能感兴趣的:(网络常识)