IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> HTTPS详解 -> 正文阅读

[网络协议]HTTPS详解

HTTPS是什么

HTTPS是 HTTP + Secure,简单讲是HTTP的安全版,即HTTP下加入TLS/SSL层。

Cookie

Cookie是什么?

HTTP是无状态的,不保存之前的信息,当用户在各种页面跳转时,其本质就是进行各种HTTP请求,那么如何让网站照样认识我呢?

Cookie就是帮助我们解决网络资源获取的问题。

Cookie是一种保存在客户端的小型文本文件,用于保存服务器通过Set-Cookie字段返回的数据,一旦Cookie被设置好,之后对该网站发起的任何请求,都会自动在request中携带Cookie信息。是HTTP进行客户端状态维护的一种方式。

存在的问题

Cookie保存在客户端的,如果别人盗取了我们的Cookie文件,别人就可以以我们的身份进行认证访问特定的资源,如果保存的是我们的用户名密码,那就会更糟糕!

所以单纯的使用Cookie是具有一定的安全隐患的,解决这个问题的核心思路就是:将用户的私密信息保存在服务器端!——通过Session解决

Session

Session的原理

提供了一种将用户的私密信息保存在服务器端的技术,当用户通过HTTP请求访问特定服务器时,服务器会把用户的私密信息以一个session文件的形式保存下来,返回响应时,通过Set-Cookie字段,返回给用户一个对应该session文件的唯一的session_id,在之后对服务器的每一个请求中,Cookie字段中放的是session_id,服务器通过识别session_id,读取对应的session文件,从而拿到用户的私密信息,同样达到了保持会话的功能。

虽然现在仍然存在Cookie文件被盗取的风险,但Cookie文件中的数据不在重要,即使别人拿着我们的session_id去访问服务器,服务器也会有一些防御策略。如通过IP地址判断,是否是一个安全的请求。

背景知识

加密方式

对称加密:密钥只有一个,可以用该密钥对数据加密,但只能使用该密钥解密。

非对称加密:有一对密钥,公钥和私钥。可以用公钥加密,但只能使用私钥解密。或者使用私钥加密,只能使用公钥解密。

一般而言,公钥是全世界公开的,私钥是自己进行私有保存的。

数字签名

将数据通过Hash散列得到一个固定长度,唯一的字符序列(称为数据摘要或数据指纹),再对其用密钥进行加密,得到的结果就称为数字签名。

发送端发送数据时,将数据明文与数字签名一起发送给接受端。

接收端通过对数据明文使用相同的Hash散列,得到数据摘要,再对数字签名进行解密,同样得到一份数据摘要,如果两份数据摘要相同,则说明数据没有被篡改,若不同则被篡改,让发送端重发。

CA证书

● CA证书是由CA机构颁发给合法服务器的;

● 一个服务器商向CA机构提交的证书申请中,会包含企业的基本信息,域名,还有公钥等信息。CA机构会根据这些信息,构建一个基本信息的数字签名。然后将这些信息与数字签名放在一起,构建一个CA证书颁发给服务器商;

● 只要一个服务器商,经过CA机构(或其它权威机构)的认证,该服务器商就是合法的;

HTTPS的加密与认证过程

有了CA证书,即使在协商密钥阶段被中间人攻击,中间人也无法做出任何有害的举动。就算中间人也是一个合法的服务方,当我们收到发来的证书时,也会对请求网站与证书中的网址进行确认。

加密过程

客户端在浏览器中输入一个https网址,然后连接到server的443端口 采用https协议的server必须有一套数字证书(一套公钥和密钥) 首先server将证书(公钥)传送到客户端 客户端解析证书,验证成功,则生成一个随机数(私钥),并用证书将该随机数加密后传回server server用密钥解密后,获得这个随机值,然后将要传输的信息和私钥通过某种算法混合在一起(加密)传到客户端 客户端用之前的生成的随机数(私钥)解密服务器端传来的信息

认证过程

首先浏览器会从内置的证书列表中索引,找到服务器下发证书对应的机构,如果没有找到,此时就会提示用户该证书是不是由权威机构颁发,是不可信任的。如果查到了对应的机构,则取出该机构颁发的公钥。

用机构的证书公钥解密得到证书的内容和证书签名,内容包括网站的网址、网站的公钥、证书的有效期等。浏览器会先验证证书签名的合法性。签名通过后,浏览器验证证书记录的网址是否和当前网址是一致的,不一致会提示用户。如果网址一致会检查证书有效期,证书过期了也会提示用户。这些都通过认证时,浏览器就可以安全使用证书中的网站公钥了。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:52:32  更:2022-09-13 11:55:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:47:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码