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

相关推荐

  • hosts.allow与hosts.deny的应用

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

    2022年8月10日
    8700
  • Centos7.6下SSH服务默认端口修改

    一般服务端的ssh端口默认是22,我们可以通过修改服务端的ssh配置文件,来修改ssh访问服务端的端口号 1、连接linux服务器 2、用编辑器(Vim,Emacs,Nano…)打开服务器上的/etc/ssh/sshd_config文件 vi /etc/ssh/sshd_config 2、修改对应位置的端口为你想要端口,修改完成后先按ESC键,再按shift…

    2022年6月8日
    15400
  • 如何用防火墙添加规则

    防火墙技术的功能主要在于及时发现并处理计算机网络运行时可能存在的安全风险、数据传输等问题,其中处理措施包括隔离与保护,同时可对计算机网络安全当中的各项操作实施记录与检测,以确保计算机网络运行的安全性,保障用户资料与信息的完整性,为用户提供更好、更安全的计算机网络使用体验。 系统版本:centos7.9,最好和我一样是centos7的版本,其他版本命令可能有偏…

    2022年8月10日
    8000
  • Nginx升级版本

    一:宝塔Nginx升级 在宝塔界面点击软件管理->运行环境->Nginx的设置 选择切换版本->选择想要升级的版本,点击切换等待安装成功 二:Linux下升级nginx版本(源码包方式) 方式:使用源码包的方式 老版本:nginx/1.13.0 新版本:nginx/1.22.0 一:下载源码包 wget http://nginx.org/d…

    2022年8月2日
    8400
  • 如何通过宝塔面板配置ssl证书

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

    2022年6月14日
    12300

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信