HTTP与HTTPS的区别及HTTPS如何安全的传输数据

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 在Https传输过程中,客户端和服务端使用非对称加密生成对称加密的密钥,然后用对称加密传输网络中的数据。这就是最优解。

首先要先了解几个基本概念

HTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。 简单来说就是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。

HTTP默认是工作在TCP协议80端口,用户访问网站 http:// 打头的都是标准 HTTP 服务。

HTTP协议以明文的形式发送内容,不对数据进行任何加密,容易受到攻击拦截获取到信息,因此HTTP不适合传输敏感信息,比如信用卡号,密码等支付信息。

HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。

HTTPS默认工作在TCP协议443端口,它的工作流程一般如下:

1、TCP 三次同步握手
2、客户端验证服务器数字证书
3、DH 算法协商对称加密算法的密钥、hash 算法的密钥
4、SSL 安全加密隧道协商完成
5、网页以加密的方式传输,用协商的对称加密算法和密钥加密,保证数据机密性;用协商的hash算法进行数据完整性保护,保证数据不被篡改。
对称加密:用同一把钥匙进行加密和解密;

非对称加密:两把不同的钥匙,一把公钥,一把私钥,用公钥来加密明文,用私钥来解密密文;

这里要说一下这两种加密方式的优缺点

column1 非对称机密 对称加密
速度
效率
安全性
常见算法 RSA\DH AES\DES\IDEA

从表格中我们可以看出,非对称机密虽然安全性高,但是速度慢、效率低;而对称加密安全性低,却速度快,效率高,那如何选择使用,才是一种最优做法呢?

答案就是两者结合,在Https传输过程中,客户端和服务端使用非对称加密生成对称加密的密钥,然后用对称加密传输网络中的数据。这就是最优解。

那么钥匙哪里来的呢?从CA(数字证书认证机构)机构来,正规的Https都是需要从CA机构那边申请获取证书的,当然是要收钱的,也可以自己本地生成,区别在于自己制作的证书需要客户端验证通过才能继续访问。

那证书到底是什么,其实证书就是一对公钥跟密钥,可以理解证书就是你去商店买的一把锁,你买的锁肯定是一套的,一个锁头,一把钥匙,你可以用锁头锁上你所要锁上的东西,但是钥匙只有一把啊,就在你手上,只有你一个人能打开锁拿出东西,所以公钥就是锁头,可以锁住https传输过程中的数据,确保安全,而私钥就是要解开这把锁拿到数据的钥匙。

还有一点需要知道的是,这个证书本身是包含很多信息,比如颁发机构,可以理解为生产这个锁的地方,还有过期时间,每个东西都有保质期的嘛,还有一起其他的信息等。

接下来就是我们本篇文章的重点,Https在传输过程中,是如果结合对称加密和非对称加密,然后进行数据安全传输的。

非对称加密的公钥跟私钥我们已经有了,就是证书,是服务器去向CA机构申请获取的。

第一步,客户端去请求Https的时候,可以获取到证书,也就是非对称加密的公钥跟私钥,这部分工作是通过客户端的TLS来完成的,首先会去验证公钥是否有效,比如颁发机构,过期时间等,如果发现异常,则会弹出一个警告框,提示证书存在问题;(这个跟我们平时访问一些小网站是同个道理 😏);如果证书没有问题,那么就会生成一个随机值,注意了,这个随机值其实就是对称加密的钥匙,用证书对这个随机值进行加密得到密文,也就是用公钥对随机值进行加密,只有私钥才能解密获取随机值。

第二步,数据传输到服务器,服务器获取密文后,用证书中的私钥对密文进行解密,这样服务器就已经获取到了随机值,也就是对称加密的钥匙,这样子客户端拥有对称加密的钥匙,服务端也有了同样一把钥匙,后面传输数据就可以通过这个随机值(钥匙)来进行加解密了。

第三步,服务端传输数据给客户端,用的是第二步获取到的随机值(钥匙)对数据进行对称加密,数据到达客户端之后,客户端也要随机值(钥匙,与服务端同一把)解密,如此来进行通信。

通过上面可以得出,第一、二步主要是利用非对称加密的安全性来传输对称加密的钥匙,当客户端跟服务端都拥有同一把对称加密的钥匙之后呢,再通过这把钥匙来进行通信,也就是其实通信用的是对称加密的方式,所以效率高,速度快。

以上就是https传输数据中对称加密与非对称加密结合起来的使用详情,既安全又高效

相关文章
|
13天前
|
应用服务中间件 Linux 网络安全
nginx安装部署ssl证书,同时支持http与https方式访问
为了使HTTP服务支持HTTPS访问,需生成并安装SSL证书,并确保Nginx支持SSL模块。首先,在`/usr/local/nginx`目录下生成RSA密钥、证书申请文件及自签名证书。接着,确认Nginx已安装SSL模块,若未安装则重新编译Nginx加入该模块。最后,编辑`nginx.conf`配置文件,启用并配置HTTPS服务器部分,指定证书路径和监听端口(如20000),保存后重启Nginx完成部署。
206 7
|
17天前
|
安全 算法 网络安全
HTTP和HTTPS的区别
本文介绍HTTP与HTTPS的区别、HTTPS链接建立过程及常见加密算法。HTTP为明文传输,易被窃听;HTTPS通过SSL/TLS协议加密,确保数据安全。HTTPS使用端口443,提供认证机制。文中还详细讲解了对称加密(如AES、DES)和非对称加密(如RSA、ECC)算法的特点及应用场景。
|
2月前
|
存储 XML 自然语言处理
信息检索和信息提取的区别 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/331046
提取的意思是 “取出”,检索的意思是 “取回”。信息检索是返回与用户特定查询或兴趣领域相关的信息。而信息提取则更多地是从一组文档或信息中提取一般知识(或关系)。信息提取是获取数据并从中提取结构化信息的标准过程,以便将其用于各种目的,其中一个目的可能是搜索引擎。
79 24
|
23天前
|
安全 网络安全 数据安全/隐私保护
第六问:http和https区别与联系
HTTP 和 HTTPS 是现代网络通信中的两种重要协议。HTTP 是明文传输协议,无加密功能;HTTPS 在 HTTP 基础上加入 SSL/TLS 加密层,提供数据加密、身份验证和数据完整性保障。HTTP 适用于非敏感信息传输,如新闻网站;HTTPS 适用于在线支付、账户登录等需要保护用户数据的场景。
34 0
|
8月前
|
缓存 安全 网络协议
一起深入了解http和https的区别
HTTP适合于非敏感信息的传输,而HTTPS则是在要求安全性、隐私保护及信任机制的现代互联网环境中不可或缺的标准配置。随着网络安全意识的提高和技术的发展,越来越多的网站和服务都转向使用HTTPS,力求在提供便捷服务的同时保障用户数据的安全。HTTPS将成为未来的基本选择。
171 0
一起深入了解http和https的区别
|
8月前
|
安全 网络协议 算法
http和https的区别有哪些
http和https的区别有哪些
|
3月前
|
缓存 安全 网络协议
HTTP和HTTPS的区别有哪些?
本文简要总结了 HTTP 和 HTTPS 的区别,从概念、端口、连接方式、使用场景、安全性等多个角度进行了对比。HTTP 是无状态的、无连接的应用层协议,适用于一般性网站和性能要求较高的应用;HTTPS 则通过 SSL/TLS 层提供加密、认证和完整性保护,适用于涉及敏感信息和高安全性的场景。文章还讨论了两者在性能上的差异,包括握手和加密开销、缓存效果以及 HTTP/2 的多路复用技术。最终,根据具体需求选择合适的协议能够更好地平衡安全性和性能。
532 2
HTTP和HTTPS的区别有哪些?
|
7月前
|
安全 网络协议 网络安全
IP代理的三大协议:HTTP、HTTPS与SOCKS5的区别
**HTTP代理**适用于基本网页浏览,简单但不安全;**HTTPS代理**提供加密,适合保护隐私;**SOCKS5代理**灵活强大,支持TCP/UDP及认证,适用于绕过限制。选择代理协议应考虑安全、效率及匿名需求。
|
4月前
|
安全 网络安全 数据安全/隐私保护
HTTP与HTTPS协议区别及应用场景
在互联网高速发展的今天,HTTP与HTTPS作为数据传输的基石,作用至关重要。HTTP允许客户端与服务器间传输超文本文档,但其数据传输过程未加密,存在安全隐患;HTTPS则在此基础上加入了SSL/TLS协议,实现了数据加密传输,增强了安全性,广泛应用于电子商务、网上银行、政府网站及社交媒体平台等涉及敏感信息传输的领域,有效保护了用户隐私和数据安全。随着网络安全意识提升,HTTPS正逐渐成为主流。
|
6月前
|
安全 程序员 网络安全
HTTP和HTTPS的区别,你真的了解吗?
大家好,我是你们的技术小伙伴小米!今天我们来聊聊HTTP和HTTPS的区别以及HTTPS链接的建立过程,同时了解两种常见的加密算法——对称加密和非对称加密。通过这篇文章,你将深入理解这些网络基础知识,为网站安全保驾护航!
133 7
下一篇
开通oss服务