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

相关推荐

  • Nginx升级版本

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

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

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

    2022年8月10日
    55900
  • nmap详细使用教程

    nmap简单使用 语法格式 例如,下面扫描的是www.baidu.com,输出的是基本信息及开放的TCP端口的列表: 以上显示,端口80和443在目标主机上开放。 获得更详细的扫描中间过程输出,可以使用-v或-vv 选项: 执行以下命令可扫描目标主机的TCP端口: 其中,-sT选项代表扫描TCP端口, -p-扫描所有端口(65535个)。…

    2023年2月15日
    50200
  • 网络总是宕机,这个绝招必须收藏!

    下午好,我的网工朋友。 众所周知,后台服务可以划分为两类,有状态和无状态。 高可用对于无状态的应用来说是比较简单的,无状态的应用,只需要通过 F5 或者任何代理的方式就可以很好的解决。 而本篇文章描述的主要是针对有状态的服务进行分析。 服务端进行状态维护主要是通过磁盘或内存进行保存,比如 MySQL 数据库,redis 等内存数据库。 除了这两种类型的维护方…

    2024年1月9日
    20400
  • 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日
    70600

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信