HTTPS为什么比HTTP更安全?

一、安全性

HTTP在通信中:

通信使用明文,不对内容进行加密,容易被窃听

不验证通信方的身份,内容可能被伪装分子窃取

HTTPS则解决了上述问题:

内容加密,建立一个信息安全通道,来保证数据传输的安全

身份认证,确认网站的真实性

数据完整性,防止内容被第三方冒充或者篡改

HTTPS=HTTP+SSL/TLS ,如今SSL已废弃,所以只关注HTTP+TLS,在开始传输数据之前,通过安全可靠的TLS协议进行加密,从而保证后续加密传输数据的安全性。

TLS协议:传输层安全性协议,目的是为了保证网络通信安全和数据完整性。

受TLS协议保护的通信过程:先对传输的数据进行加密(使用对称加密算法)。并且对称加密的密钥是为每一个连接唯一生成的(基于TLS握手阶段协商的加密算法和共享密钥),然后发送的每条消息都会通过消息验证码(Message authentication code, MAC),来进行消息完整性检查,最后还可以使用公钥对通信双方进行身份验证。

HTTPS为什么比HTTP更安全?

二、HTTPS如何实现安全性

HTTPS主要依赖与这几种手段

对称加密:   采用协商的密钥对数据加密

非对称加密:实现身份认证和密钥协商

摘要算法:    验证信息的完整性

数字签名:    身份验证

HTTPS为什么比HTTP更安全?

1、对称加密

对称加密指的是加密和解密使用的密钥都是同一个,是对称的。只需要保证密钥的安全,整个通信过程就有了机密性。

2、非对称加密

非对称加密,存在两个密钥,一个公钥,一个私钥。两个密钥是不同的,公钥可以公开给任何人,私钥则需要保密。公钥和私钥都可以用来加密解密,但公钥加密后只能用私钥解密,反过来私钥加密后也只能用公钥解密。

3、混合加密

在HTTPS通信中采用了混合加密:对称加密+非对称加密。

对称加密能够保证密钥的安全,整个通信过程具有机密性,而HTTPS采用非对称加密解决密钥交换的问题

具体做法 为:发送密文的一方使用对方的公钥进行加密处理“对称密钥”,任何对方用自己的私钥解密拿到的“对称密钥”,可以确保交换密钥是安全的前提下,使用对称加密方式进行通信。

4、摘要算法

实现传输数据的完整性:摘要算法,也就是常说的散列函数、哈希函数

可以理解为一种特殊的压缩算法,可以将任意长度的数据“压缩”成固定长度、且独一无二的“摘要”字符串,就好比生成这段数据的指纹。(收到数据后,再生成摘要,进行比对,便可知道数据是否一样,确保其完整性)

5、数字签名

数字签名能确定消息确实是由发送方签名并发送出来的,因为别人假冒不了发送方的签名

原理:私钥加密,公钥解密

签名和公钥一样完全公开,任何人都可以获取。但这个签名只有私钥对应的公钥才能解开,(私钥将数字摘要加密),拿到摘要后,使用对应公钥打开数字签名,再比对原文验证完整性,就像可以签署文件一样证明消息确实是你发的。和消息本身一样,因为谁都可以发布公钥,第三方(证书验证机构),可以判定公钥是你的公钥。

6、CA验证机构

数字认证机构处于客户端与服务器双方都可信赖的第三方的立场

CA对公钥的签名认证要求包括序列号、用途、颁发者、有效时间等等,把这些打成一个包再签名,完整地证明公钥关联的各种信息,形成“数字证书”

流程:

服务器的运营人员向数字认证机构提出公开密钥的申请

数字证书认证机构在判明提出申请者的身份之后,会对已申请的公开密钥做数字签名

然后分配这个已签名的公开密钥,并将该公开密钥放入公钥证书后绑定在一起

服务器会将这份数字证书认证机构颁发的数字证书发送给客户端,以进行非对称加密方式通信

接到证书的客户可使用数字证书认证机构的公开密钥,对那张证书上的数字签名进行验证,一旦通过,则证明:

认证服务器的公开密钥是真实有效的数字证书认证机构

服务器的公开密钥是值得信赖的

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/5944

(0)
郭靖的头像郭靖
上一篇 2022年8月17日 下午3:03
下一篇 2022年8月21日 下午1:35

相关推荐

  • Nmon使用方法

    一、简介 1、nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,它能在系统运行过程中实时地捕捉系统资源的使用情况,记录的信息比较全面, 并且能输出结果到文件中,然后通过nmon_analyzer工具产生数据文件与图形化结果。 2、nmon可监控的数据类型 内存使用情况 磁盘适配器 文件系统中的可用空间 CPU使用率 页面空间和页面速度…

    2022年8月23日
    1.4K00
  • 问题:HTTP 错误 401.2 – Unauthorized 由于身份验证头无效,您无权查看此页

    解决:“HTTP 错误 401.2 – Unauthorized 由于身份验证头无效,您无权查看此页”打开IIS管理器,操作如下:第一步 打开计算机管理-本地用户和组-新建网站用户 第二步 功能视图–身份验证–匿名身份验证–编辑–选择指定用户,启用匿名身份验证; 这边输入之前新建的网站用户,保存即可…

    2023年10月25日
    1.1K00
  • 如何优雅的关闭 Kubernetes 中运行的 Pod

    当我们使用命令 kubectl delete pod,Pod 就会被删除,端点控制器会从服务和 etcd 中移除其 IP 地址和端口(端点)。 你可以使用 kubectl describe service 命令来观察这个过程。 但这还不够! 有几个组件同步本地的端点列表: 对于 Ingress 控制器、Istio 等也是如此。 所有这些组件都会(最终)移除之…

    2023年7月18日
    64300
  • 如何通过宝塔面板配置ssl证书

    至于宝塔的安装以及如何安装环境搭建网站,大家可以看我们的另一篇文章: Centos7.6下宝塔安装及资产管理系统部署 基于宝塔面板配置网站ssl证书支持https访问其实很简单,不需要你懂什么技术知识。接下来你跟着我的步骤,就能成功配置网站ssl。 宝塔面板后台设置成功如图所示: 第一步:点击设置 第二步:点击右侧的SSL,选择宝塔SSL,点击申请证书 第三…

    2022年6月14日
    1.4K00
  • GPG入门教程

    一、什么是GPG GPG有许多用途,本文主要介绍文件加密。至于邮件的加密,不同的邮件客户端有不同的设置,请参考Ubuntu网站的介绍。 本文的使用环境为Linux命令行。 二、安装 GPG有两种安装方式。可以下载源码,自己编译安装。   ./configure  make  make install 也可以安装编译好的二进制包。   # Debian / U…

    2023年6月15日
    69800

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信