余晖落尽暮晚霞,黄昏迟暮远山寻
本站
当前位置:网站首页 > 编程知识 > 正文

关于HTTPS协议,你了解多少?(访问加密协议 https)

xiyangw 2022-11-24 16:27 103 浏览 0 评论

HTTPS协议是啥?有何特点?

HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS(传输加密协议)建立安全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私和完整性。HTTPS的特点包含以下几个方面:

① 内容加密:采用混合加密技术,通信报文全部为密文,即使抓包进行分析也很难进行破解。

② 验证身份:服务端和客户端进行双向认证时,双方通过数字证书认证机制相互校验对方的身份是否合法。

③ 保护数据完整性:通信过程中,采用签名机制,防止传输内容被中间人冒充和篡改。

HTTPS与HTTP协议的区别?

1、HTTP协议通过明文进行传输,可以通过抓包技术查看传输的内容。

2、HTTP连接很简单,是无状态的。

3、HTTPS协议是安全加密传输协议,使用前提,需要到合法的数字证书颁发机构申请证书才能应用。

4、HTTP和HTTPS使用的是完全不同的连接方式,HTTPS连接建立时会进行SSL握手、证书验证、加密密钥协商等过程。二者使用的端口也不一样,网站建设中,前者一般常用80端口,后者是一般常用443端口。

HTTPS协议是如何加密的?

在谈到如何加密之前,我们先来了解下常用的加密技术,常用的加密技术有对称加密、非对称加密。对称加密中,加密和解密使用的密钥是同一个;非对称加密中,有一个密钥对的概念,密钥对包含一个公钥,一个私钥。通常用公钥进行加密、私钥进行解密。有人会问,为啥不用私钥加密,公钥解密?这个问题可以这样回答,在非对称加密中私钥加密一般称作“签名”,公钥解密一般称作“验签”,为啥是这样,我在以后的文章中会陆续介绍基于PKI数字证书认证体系相关的知识,有兴趣的朋友可以加关注。

好了言归正传,我们回过头来看看HTTPS协议是如何进行通信的,通信过程中又是如何加密的?HTTPS是安全通信协议,通信过程是在SSL(Secure Sockets Layer)协议+HTTP协议的基础上完成的,HTTPS相比HTTP协议,多了一个SSL安全通道建立的过程,SSL的过程包含身份认证、秘钥协商、通信加密3个重要的子过程。下面分别逐一介绍这几个过程。

1.身份认证

身份认证分为单向认证和双向认证两种场景,单向认证是指客户端与服务器端通信过程中,客户端只校验服务端的身份;双向认证是指客户端即校验服务端的身份、服务端也校验客户端的身份。上面提到了身份校验,有人会问到身份校验是如何实现的呢?让我来告诉你,身份认证就是证书验证的过程,在上面提到的单向认证场景中,服务端会将自己的证书(你可以理解为身份证,由合法的证书颁发机构生成的根证书签发)发送给客户端,客户端拿到服务端的证书后,通过内置的根证书来验证其签名是否正确、有效性等。

2.秘钥协商

身份认证完成后,接下来就是秘钥协商的过程了,秘钥协商的过程比较复杂,涉及到密码学和算法相关的知识,这里不再详细介绍了,大家了解即可。秘钥协商的目的是为了协商出来一个临时会话秘钥,这个秘钥作为本次通信报文的加密密钥。

3. 通信加密

秘钥协商完成后,下面的过程就是对通信的报文进行加密,加密采取对称加密的方式,加密算法由客户端和服务端共同协商完成,服务端会把自己支持的加密算法发送给客户端,客户端在这些加密算法中找出自己所支持的一个算法进行加解密。

上面的讲解中提到了证书这个东西,什么是证书?证书怎么来?怎么签发?又是如何应用?都是由PKI体系来完成的,涉及到这一块的知识,我后面的文章会陆续分享给大家。

相关推荐

高效删除文件名中的指定内容,祛除烦恼

如何快速批量删除文件名中的指定字符?在电脑整理文件时,我们常常需要进行批量重命名操作。如果文件名中含有不必要或重复的字符,这将影响文件的识别和查找。因此,删除这些文字或字符是非常必要且有效的。本文将分...

你的手机是不是经常提示存储空间不足?Python帮你清理重复文件

  最近我的手机经常提示存储空间不足,主要是微信和QQ群里接收的文件太多了,平时也没怎么整理。我把这些文件从手机里拷出来,打算整理一下,把该删的文件都删掉,把要备份的文件分门别类存到电脑或网盘上。我突...

从零开始打造云端AI管理调度平台(四)如何设计主页_1

最近闲来无事,想着把自己工作正在做的一个项目做一个简单的分享与实战教程,该项目不困难但是由于涉及要素过多所以比较复杂。所以这里分享出来也是为了帮助新手小白能在实战当中快速了解python知识。主要内容...

「万能Python」-17-标准库OS_python2.7标准库

Python的库是指预先编写好的代码集合,可以用来处理特定的任务或实现特定的功能。Python的标准库提供了许多常用的标准库,无需安装引入使用。Python3的标准库提供了许多常用的功能,包括...

十多行代码生成原帖和临写对照图_几十行代码可以申请软著吗

介绍这个小工具把原帖和临写分解成多列对照的形式。输入原帖图片,和输入临写图片,生成对照图片。使用说明运行compare.py文件,输入参数为:原帖图片文件名,临写图片文件名,列数。python3co...

Python合集之目录操作(四)_python之文件操作大全

1.删除目录删除目录可以通过os模块提供的rmdir()函数实现。通过rmdir()函数删除目录时,只有当要删除的目录为空时才起作用。os.rmdir(path)path为要删除的目录,可以使用绝对路...

excel办公自动化,自动合并excel表格

平时时收到不同人反馈的excel表格,需要将其合并在一个excel中,每个excel打开复制粘贴会很慢,如下脚本可一键合并所有的exceldefauto_merge():try:print('...

批量打开一个文件夹下面所有的excel表格

如果现在有一个文件夹,名称叫做“练习表格”,路径名是'C:\Users\123\Desktop\练习表格',现在的要求是打开这个文件下面所有的excel表格,后缀名字为“xlsx”,我...

500行代码,教你用python写个微信飞机大战

这几天在重温微信小游戏的飞机大战,玩着玩着就在思考人生了,这飞机大战怎么就可以做的那么好,操作简单,简单上手。帮助蹲厕族、YP族、饭圈女孩在无聊之余可以有一样东西让他们振作起来!让他们的左手/右手...

python 日志写入_python日志文件写入

1.第一步,新建日志文件路径,如下图:2.日志模块封装,代码如下:importlogging,oslogs_path=os.path.join(os.path.dirname(__file...

Python os.path模块使用指南:轻松处理文件路径

前言在Python编程中,文件和目录的操作是非常重要的一部分。为了方便用户进行文件和目录的操作,Python标准库提供了os模块。其中,os.path子模块提供了一些处理文件路径的函数和方法。本文主要...

Python中获取当前路径之pathilb和os的区别

20230114星期六:1,直接在py脚本中,执行,没有区别;2,打包成exe文件以后,在本机执行,有区别,这时,不能使用os.path.dirname(__file__),只能使用pathlib.P...

Python(办公自动化编程系列)学习笔记1

1、获得当前程序工作目录importos#os.getcwd()函数可以取得当前工作路径的字符串print(os.getcwd())运行结果2、获得程序文件夹相对路径#相对路径都用/表示#../...

文件路径名Pathnames的操作_路径和文件名是什么意思

1.现象问题使用路径名来获取文件名,目录名,绝对路径等等2.原因分析无3.问题解决使用os.path模块中的函数来操作路径名importos.path#查看标准化的绝对路径print...

关于《Python入门:os常用函数》中复制文件(夹)函数从简到繁

基本考虑练习os模块及file读写操作:将给定的源路径的文件(夹)复制到目标路径简单实现#文件到文件的复制path_src='E:\src.txt'path_tar='D...

取消回复欢迎 发表评论: