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

相关推荐

  • centos7 配置L2TP

    vpn搭建完毕,再windows中添加vpn ,填入vpn.sh中填入的信息 若vpn连接失败 修改添加的vpn属性,勾选选项。

    2023年4月27日
    30100
  • docker-compose部署zabbix

    我们直接利用docker环境安装compose功能。compose的安装很方式有多种,下面我们使用二进制方式进行安装。下载地址为https://github.com/docker/compose/releases 输入docker-compose可以显示帮助信息表示安装成功。 下面我们就可以通过编写docker-compose.yml文件来部署服务了。 接下…

    2023年3月21日
    18000
  • 如何优雅的关闭 Kubernetes 中运行的 Pod

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

    2023年7月18日
    5500
  • hosts.allow与hosts.deny的应用

    Linux系统服务器通过设置hosts.allow与hosts.deny这两个配置文件控制外部IP对本机服务的访问,hosts.allow控制可以访问本机的IP地址,hosts.deny控制禁止访问本机的IP。配置完成之后是实时生效的。这种方法是最简单的,但是有几率不成功,临时使用是可以的。长期的话建议还是使用iptables, 假设现在需要只允许192.1…

    2022年8月10日
    28100
  • 华为S5700忘记console密码

    1、进入BootROM主菜单 用串口线连接设备,然后重启。 当出现Press Ctrl+B to enter BootROM menu…(V200R002及V200R003版本)或者Press Ctrl+B or Ctrl+E to enter BootROM menu …(V200R005及以后发布的版本)打印信息时按下Ctrl+B或者Ctrl+E并键入密…

    2023年5月9日
    9300

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信