一、准备

  1. 角色:小白、美美、小黑。

  2. 剧情:小白和美美在谈恋爱;小黑对美美求而不得、心生怨念,所以从中作梗。

  3. 需求:小白要与美美需通过网络进行通信,联络感情,所以必须保证通信的安全性。

二、由通信过程中可能出现的问题来引出公钥、私钥、对称加密、非对称加密、hash加密、数字签名、数字证书、CA认证、https的相关知识

  1. 场景1: 小白和美美在 http 协议下进行通信。

    1.1 能否完成通信:能。

    1.2 还可能出现其他问题:容易受到网络中间人攻击:在http协议下进行通信,信息是没有进行加密的,在透明的网络环境中,一旦信息被小黑截获,小黑可以查看、篡改信息内容,难以保证信息的安全。—— 问题所在:信息没加密。

    1.3 解决办法:引入“公钥、私钥”对信息进行加密,详情见“场景2”。

  2. 场景2: 小白和美美依旧是在 http 协议下进行通信,但小白先准备了一对秘钥(公钥+私钥),私钥由小白自己保管,公钥则交给了美美。通信时,小白先用“小白的私钥”对信息进行加密,然后再发送给美美;美美收到信息后,用“小白的公钥”进行解密,得到明文。美美要给小白发信息时,先用“小白的公钥”对信息进行加密,然后再发送给小白;小白收到回复后,用“小白的私钥”进行解密,得到明文。

    2.1 公钥、私钥

    (1)what:公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。

    (2)特性:通过这种算法得到的密钥对能保证在世界范围内是独一的。

    (3)作用:对信息进行加密。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密,比如:用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。

    2.2 能否解决“网络中间人攻击”问题:能。因为信息是用“小白的私钥/公钥”进行加密了,小黑即使截获了信息,但手上没有“小白的秘钥”来对信息进行解密,所以无法查看到明文。

    2.3 还可能出现其他问题:美美都无法保证自己收到的信息是否是完整的。—— 问题所在:信息完整性无法保证。

    2.4 解决办法:采用“数字签名”的方式来对信息的完整性进行确认,详情见“场景3”。

  3. 场景3: 小白和美美依旧是在 http 协议下进行通信;小白依旧持有“小白的私钥”,美美则持有“小白的公钥”。小白每发出一封信件,都会先用hash函数生成信件的摘要,再用“小白的私钥”对摘要进行加密得到数字签名,最后将数字签名附在已加密的信件后面一同发给美美。美美收到信息后用“小白的公钥”对信件和数字签名进行解密,得到信件明文和摘要,再将信件明文通过Hash函数得到的摘要,最后将这个摘要和上一步得到的摘要进行对比,如果两者一致,就证明这封信未被修改过,收到的信息是完整的。

    3.1 数字签名

    (1)what:用hash函数生成信件的摘要,再用用户的私钥进行加密;

    (2)作用: 确保信息的完整性和不可抵赖性;

    3.2 hash加密:是一种不可逆的加密方法,将一段明文进行加密, 对方得到密文后不可以得到明文。

    3.2 能否解决“信息完整性”问题:能。

    3.3 还可能出现其他问题:即使保证了收到的信息是完整的,但难以保证用户的身份:小黑可以冒充小白,去和美美进行通信。小黑自己生成了一对秘钥(小黑的公钥+小黑的私钥),再偷偷把美美电脑中保存的“小白的公钥”替换成“小黑的公钥”,并冒充小白的身份和美美进行通信。美美并不知道自己电脑中保存的公钥已经被人掉包了,所以一如既往地通过该公钥和“小白”通着信。——问题所在:用户的身份难以保证。

    2.4 解决办法:引入“CA认证”,对小白的身份进行确认,详情见“场景4”。

  4. 场景4: 小白和美美依旧是在 http 协议下进行通信,小白的那对秘钥,私钥依旧由自己保管,把公钥交给美美。除此之外,小白还把自己的公钥和一些必要信息打包后交由CA进行管理,CA会将小白提交的信息通过“CA的私钥”加密后形成数字证书。(CA有它自己的一对秘钥,且“CA的私钥”由CA自己管理,"CA的公钥"则发放给用户。)

    4.1 什么是CA认证CA认证,即电子认证服务,是指为电子签名相关各方提供真实性、可靠性验证的活动。证书颁发机构(CA, Certificate Authority)即颁发数字证书的机构。是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。

    4.2 数字证书

    (1)what:CA的私钥对客户端的公钥和信息进行加密后得到的文件;

    (2)作用:① 证明用户身份;② 拿到用户的公钥;

    4.3  能否解决“用户身份认证”问题:能。小白用“小白的私钥”对信息进行加密后发给美美,美美先通过CA获得“小白的公钥”,并用“小白的公钥”对小白发来的密文进行解密。因为CA是受信任的第三方,所以通过CA获得的“小白的公钥”也是可以信任的。既然能够通过从CA获得的“小白的公钥”来对小白发来的密文进行解密,那么自然小白的身份也得以确认了。

    4.4 还可能出现其他问题:美美可以通过CA拿到小白的数字证书,小黑也可以通过CA获取到小白的数字证书(这里要引出“非对称加密的概念”),这样一来小白发出的信息依旧是不安全的。—— 问题所在:采用非对称加密时,只要持有公钥就能对 同一对秘钥中的私钥加密的信息 进行解密。

    4.5 非对称加密:小白持有私钥,美美和小黑都持有公钥, 持有公钥的一方用公钥进行加密,那么这个内容就只有持有私钥的那一方可以看见。但是如果是用私钥进行加密,那么持有公钥的每一方都可以看见。

    4.6 解决办法:采用“对称加密”的方式来保证信息的安全,详情见“场景5”。

  5. 场景5: 小白和美美依旧是在 http 协议下进行通信,小白只生成一个对称加密的私钥(单钥),并将这个“小白的私钥”复制了一份给美美,小白和美美都用这把“小白的私钥”对信件进行加密和解密。

    5.1 对称加密:通信双方都持有同一把私钥, 双方都是用私钥进行加密和解密。也就是说在网络间传输的都是密文,然后拿到密文后用私钥进行解密就能得到明文。

    5.2 能否解决“采用非对称加密时,加密信息多人可见”问题:能。只要小白和美美手中持有的“小白的私钥”不外泄,那么他们之间的通信就能保证只有他们可见。

    5.3 还可能出现其他问题:小白如何把“小白的私钥”给美美?如果通过网络发给美美,就有可能被小黑截获(“私钥的保存、传输”就基本决定了这个保密的安全性)。

    5.4 解决办法:①当面交换; ②通过“非对称加密”的方式,详情见“场景6”。

  6. 场景6:小白和美美在 https 协议下进行通信。

    6.1 https

    (1)what:用的是“对称加密”和“非对称加密”这两种方法混合,目的在于建立一条加密的、安全的通信通道。

    (2)https协议有关“通过 非对称加密 实现对 对称加密的秘钥 的安全传输”的实现步骤:

      ①服务端有一对秘钥(私钥+公钥),私钥由服务端自行持有,公钥则发给各个客户端;

      ②客户端只生成一只对称加密的私钥(单钥);

      ③客户端用“服务端的公钥”对“客户端的私钥”进行加密,然后发送给服务端;

      ④服务端收到客服端发来的信息,用“服务端的私钥”对信息进行解密,得到“客户端的私钥”;

      ⑤服务端和客服端往后的通信过程中,信息都可以用“客户端的私钥”对来加、解密,只要这把“客户端的私钥”不泄露出去,别人即使截获了某一方发出的密文也无法进行解密。

    (3)图解 https

      

    (4)https 的作用:①内容加密;②身份认证;③信息完整性。

    (5)效率:“对称加密”比“非对称加密”快1000倍。

  至此,小白和美美的通信安全问题得以解决,可以安心谈他们的恋爱了,撒花~

探究公钥、私钥、对称加密、非对称加密、hash加密、数字签名、数字证书、CA认证、https它们究竟是什么,它们分别解决了通信过程的哪些问题。的更多相关文章

  1. 一篇读懂HTTPS:加密原理、安全逻辑、数字证书等

    1.引言 HTTPS(全称: Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.本文,就来深入介绍下其 ...

  2. RSA 非对称加密 数字签名 数字证书

    什么是RSA加密算法 RSA加密算法是一种非对称加密算法,算法的数学基础是极大数分解难题. RSA加密算法的强度也就是极大数分解的难度,目前700多位(二进制)的数字已经可以破解,1024位认为是比较 ...

  3. 大话https演化过程(对称加密、非对称加密、公钥、私钥、数字签名、数字证书)

    大话https演化过程(包括概念:对称加密.非对称加密.公钥.私钥.数字签名.数字证书.https访问全过程)   在网络上发送数据是非常不安全的,非常容易被劫持或是被篡改,所以每次定向发送数据你都可 ...

  4. 安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS【下】

    1.  HTTPS 1.1. 什么是HTTPS HTTPS(HypertextTransfer Protocol Secure)即安全的HTTP.HTTPS的安全基础是安全套接层(Secure Soc ...

  5. 公钥、私钥、数字签名、数字证书、对称与非对称算法、HTTPS

    作者: yoyoso https://my.oschina.net/ioslighter/blog/359207 对公钥和私钥有点稀里糊涂的,搜索了一些资料,作一些整理吧,先看这个: 加密--公钥 看 ...

  6. https原理及其中所包含的对称加密、非对称加密、数字证书、数字签名

    声明:本文章已授权公众号Hollis转载,如需转载请标明转载自https://www.cnblogs.com/wutianqi/p/10654245.html(安静的boy) 一.为什么要使用http ...

  7. SSL及其加密通信过程

    SSL及其加密通信过程 什么是SSL SSL英文全称Secure Socket Layer,安全套接层,是一种为网络通信提供安全以及数据完整性的安全协议,它在传输层对网络进行加密.它主要是分为两层: ...

  8. 转!!通俗理解数字加密,数字签名,数字证书和https

    原博文地址:https://www.jianshu.com/p/4932cb1499bf 前言 最近在开发关于PDF合同文档电子签章的功能,大概意思就是在一份PDF合同上签名,盖章,使其具有法律效应. ...

  9. 公钥、私钥、CA认证、数字签名、U盾

    感谢传智播客的方立勋老师,在一个教学视频上,他巧妙地以蒋介石给宋美龄写密信作为例子,生动地讲述了软件密码学知识. 加密分为对称加密和非对称加密,我们传统理解的,发送数据之前使用一个加密器加密,接到数据 ...

随机推荐

  1. 2019-1-16-git-subtree-pull-错误-Working-tree-has-modifications

    title author date CreateTime categories git subtree pull 错误 Working tree has modifications lindexi 2 ...

  2. svcs (service status) 和 svcadm (service administration) 使用

    1. svcs  显示服务实例的状态信息 svcs - report service status  显示服务状态命令 DESCRIPTION The svcs command displays in ...

  3. HDU 1024 Max Sum Plus Plus (动态规划 最大M字段和)

    Problem Description Now I think you have got an AC in Ignatius.L's "Max Sum" problem. To b ...

  4. H3C VLAN基本配置

  5. vue-learning:2 - template - directive

    指令 directive 在上一节我们知道,VUE的template模板通过VUE指令API实现与页面的视图层联系.所以本节将聚集在实现视图层交互的VUE指令系统directive的基础使用. 我们先 ...

  6. How to use code to exit the application in UWP

    I will tell you how to exit the application in UWP by the code. We can call some static method to he ...

  7. 小心Powershell的位数

    我们都知道64位的 Windows 中有两个Powershell,32位的 Windows Powershell(x86)和64位的 Windows Powershell.(当然,32位的Window ...

  8. 用postman验证接口是否可掉通

    1.结合fidder抓包工具 2.打开postman 3.点击Launchpad右边“+” 4.选择postman,url粘贴fidder抓出来的数据 5.Header中粘贴fidder抓出来的KEY ...

  9. iptables脚本封ip

    ##自动封IP:分析web或应用日志或者网络连接状态封掉垃圾IP #!/bin/sh /bin/netstat -na|grep ESTABLISHED|awk |grep -v -E '192.16 ...

  10. $CF938G\ Shortest\ Path\ Queries$ 线段树分治+线性基

    正解:线段树分治+线性基 解题报告: 传送门$QwQ$ 考虑如果只有操作3,就这题嘛$QwQ$ 欧克然后现在考虑加上了操作一操作二 于是就线段树分治鸭 首先线段树叶子节点是询问嘛这个不用说$QwQ$. ...