通信加密和解密,公钥,私钥,CA

通信加密和解密,公钥,私钥,CA本文深入探讨了网络安全中的加密通信 特别是 HTTP 与 HTTPS 的区别以及 SSL TLS 协议的作用

大家好,欢迎来到IT知识分享网。

一个主机与另外主机进程通信过程:
客户端应用层进程本身负责封装应用层的报文,包括添加应用层首部等。
不是所有进程都可以
wget就是可以网络通信的程序
都需要处理应用层的处理



文本编码是没有多余的功能,流视化 可加密对方可还原

不具备加解密的http服务应该怎么办呢?

通信加密和解密

在这里插入图片描述

只要调用了这个库就是 ssl 安全套接字层

开发程序的程序员只要开发的时候调用了这个库,这个库自身可以帮我们完成加解密功能以及密钥分发功能。

因此http调用ssl库--->https

增加了很多cpu压力  但是是值得的

安全的目标:
  保密性,完整性,可用性

攻击类型:
在这里插入图片描述但是密码如何实现密钥的传送呢?  密钥算法和协议就是为了解决  DH算法--专门交换的
在这里插入图片描述
Linux系统为了实现上述目标需要一些服务:
在这里插入图片描述



密钥长度多了一倍 安全强度不止一倍为止

在这里插入图片描述服务器和1000个人通信 因此需要1000个密码  因为如果使用同一个 那么a就可以看到b的数据

密钥分发--DH算法 看到你俩眉来眼去 也不知道真实的数据

公钥加密比私钥加密慢得多

完整性,可用性,保密性 一起

alice使用单项加密算法加密数据得到特征码,然后把这个特征码使用自己的私钥加密生成数字签名附加在数据后面,alice生成临时的对称密钥。并使用对称密钥加密整段数据。为了保证bib解蜜,alice机组使用bob公钥继续加密临时的对称加密密钥 附加在后面 一并发送过去

之所以使用对称加密算法是因为通信过程中如果一直使用公钥加密会造成资源浪费等。

bob私钥解蜜 得到对称加密的密码 也就是密钥交换 解蜜数据后 得到数据和特征码 用alice的公钥验证特征码的签名看是否是alice发送的 使用单项加密加密数据 和特征码比较 如果一样 说明没有被篡改

bob无法验证那个人不是alice

因此这个时候需要一个机构CA 保证可靠的获取到对方的公钥 设立的第三方可信机构

在这里插入图片描述bob把公钥给ca ca经过签名后把证书给bob 所以alice之后通信bob就发证书过去 alice认证证书 才会确认是bob本人

如何验证CA呢?

证书:拥有者名称,公钥,证书有效期限,ca私钥加密特征码

如何可靠的获得ca的证书?

根ca下面有很多机构 可以传递

微软系统会内置ca证书 不用再通过互联网获取了

如果盗版系统就不一定了

bob私钥丢失了,要立即向ca申请撤销

谁签证?区公安局 发身份证 全国认可

吊销列表:xx公司章子已作废

证书存取库:证书签发机构的在自己的机构还有一个存储的证书 用户可以下载查看

证书组织结构:
在这里插入图片描述

客户端和服务器基于ssl是如何通信的呢?

双向认证 SSL 协议的具体过程

① 浏览器发送一个连接请求给安全服务器。

② 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。

④ 接着客户浏览器比较证书里的消息,例如域名和公钥,与服务器刚刚发送的相关消息是否一致,如果是一致的,客户浏览器认可这个服务器的合法身份。

⑤ 服务器要求客户发送客户自己的证书。收到后,服务器验证客户的证书,如果没有通过验证,拒绝连接;如果通过验证,服务器获得用户的公钥。

⑥ 客户浏览器告诉服务器自己所能够支持的通讯对称密码方案。

⑦ 服务器从客户发送过来的密码方案中,选择一种加密程度最高的密码方案,用客户的公钥加过密后通知浏览器。

⑧ 浏览器针对这个密码方案,选择一个通话密钥,接着用服务器的公钥加过密后发送给服务器。

⑨ 服务器接收到浏览器送过来的消息,用自己的私钥解密,获得通话密钥。

⑩ 服务器、浏览器接下来的通讯都是用对称密码方案,对称密钥是加过密的。

上面所述的是双向认证 SSL 协议的具体通讯过程,这种情况要求服务器和用户双方都有证书。

数据特征码取处来,私钥加密。即数字签名。bob对整个数据加密(对称加密算法-临时密钥)使用对方公钥加密临时的对称密钥然后附加在数据后面一起发送过去。 结果发送给alice alice使用私钥解蜜得到对称密钥。解蜜数据得到数字签名和数据。因此使用对方公钥解蜜特征码,解密成功验证身份成功。然后计算数据特征码对比解蜜后得到的特征码,数据完整性得到验证。然后确定是对方了就可以通信了。

以上依赖用户写的软件自行完成的

很多协议没这种功能。

出现了ssl协议

http依赖ssl/tls去完成

任何一种协议的实现都需要程序

比如http协议就是httpd

在这里插入图片描述
以https为例子
客户端向网页发起请求

ssl会话详细版本:

浏览器向服务器发起clienthello请求:主要是发送自己支持的协议版本,客户端生成随机数,支持的加密算法,压缩算法

在这里插入图片描述
以上只是握手

后续就是根据生成的会话密钥进行通信加密了

在这里插入图片描述

在这里插入图片描述
具体的加密实现方式可以借助openssl 支持各种加密的

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
openssl 加密
enc加密
-e加密
-des3加密算法
-a bash64编码格式
-salt 随机数
-in加密的文件
-out输出的文件







在这里插入图片描述手动加解密的认证

在这里插入图片描述

在这里插入图片描述可以发现直接使用md5sum和openssl dgst计算的结果一样

68 openssl未完 1:00

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/105818.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信