首页 > 其他分享 >详解 HTTPS 概念

详解 HTTPS 概念

时间:2023-06-24 23:01:43浏览次数:41  
标签:私钥 证书 概念 详解 HTTPS 加密 服务端 客户端

我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。

HTTPS简介

HTTPS其实是有两部分组成:HTTP SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。具体是如何进行加密,解密,验证的,且看下图。

1. 客户端发起HTTPS请求

这个没什么好说的,就是用户在浏览器里输入一个https网址,然后连接到server的443端口。

2. 服务端的配置

采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面(startssl就是个不错的选择,有1年的免费服务)。这套证书其实就是一对公钥和私钥。如果对公钥和私钥不太理解,可以想象成一把钥匙和一个锁头,只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。

3. 传送证书

这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等等。

4. 客户端解析证书

这部分工作是有客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随即值。然后用证书对该随机值进行加密。就好像上面说的,把随机值用锁头锁起来,这样除非有钥匙,不然看不到被锁住的内容。

5. 传送加密信息

这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。

6. 服务段解密信息

服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容通过该值进行对称加密。所谓对称加密就是,将信息和私钥通过某种算法混合在一起,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全。

7. 传输加密后的信息

这部分信息是服务段用私钥加密后的信息,可以在客户端被还原

8. 客户端解密信息

客户端用之前生成的私钥解密服务段传过来的信息,于是获取了解密后的内容。整个过程第三方即使监听到了数据,也束手无策。

本文地址: https://www.linuxprobe.com/https-explain.html

标签:私钥,证书,概念,详解,HTTPS,加密,服务端,客户端
From: https://blog.51cto.com/u_12148962/6542198

相关文章

  • IIS 下实现http强装到https
    1、准备证书①打开IIS管理控制台,双击“服务器证书”。②在弹出的窗口中,单击右上角“导入”。③导入证书文件,注意申请证书时如果填写了密码,这里也要输入相关密码。2、绑定https,让站点可以接收http和https①右击网站站点,选择“编辑绑定”②在弹出的窗口中,单击“添加”按......
  • Android面试题合集大全(2023最新版),1600+面试题附答案详解,字节大佬力推
    接触Android已经3年,在工作中遇到疑难问题总是在网上(csdn大牛博客,stackoverflow等)搜索答案,各位大牛大神总是把自己的经验分享出来,帮助我们这些需要帮助的人,由此表示衷心感谢!然而现在自己细想了一下,自己也是时候把遇到的问题并把解决方案分享出来,希望能帮助到有需要的人。现在小公司......
  • 仙境传说脚本RO:NPC对话| mes/next/close函数用法详解
    仙境传说脚本RO:NPC对话|mes/next/close函数用法详解大家好,我是艾西,今天跟大家讲解下仙境传说mes/next/close函数,在游戏中所有的NPC对话都是用mes函数来创建的。我们先打开官方文档的script_commands.txt文件,搜索*messearch*mesmes"Hello,world!";注意:默认是没有关团或next按......
  • [QML]从零开始QML开发(二)QML开发,浅谈控件、槽函数、锚等基本概念。QML和C++怎么交互?贯
    [QML]从零开始QML开发(二)QML开发,浅谈控件、槽函数、锚等基本概念。QML和C++怎么交互?贯彻落实MVC原则先看代码:importQtQuick2.12importQtQuick.Window2.12importQtQuick.Controls2.5Window{visible:truewidth:320height:480title:qsTr("HelloW......
  • ElasticSearch-03-集群核心概念(Windows集群)
    Windows集群安装(es版本7.10.1)1.安装1,解压elasticsearch-7.10.1-windows-x86_64.zip,复制出3个文件夹,重命名为node01、node02、node032,修改配置文件elasticsearch.yml注意:7.10.1版本和之前集群配置不一样,在网上搜的可能是老版本配置会导致集群搭建失败node01:#集群名称,节点......
  • Android显示系统-基本概念梳理
    DisplayStatestructDisplayState{//这里定义了Display变更类型,说明Display可能发生的变化类型enum{eSurfaceChanged=0x01,eLayerStackChanged=0x02,eDisplayProjectionChanged=0x04,eDisplaySizeChanged=0x08,......
  • pg基本基本概念——模式、表、空间、用户间的关系
    表空间用于定义数据库对象在物理存储设备上的位置,不特定于某个单独的数据库。数据库是数据库对象的物理集合,而schema则是数据库内部用于组织管理数据库对象的逻辑集合,schema名字空间之下则是各种应用程序会接触到的对象,比如表、索引、数据类型、函数、操作符等。角色(用户)则是......
  • RPC接口与Https接口
    RPC(remoteprocedurecall)远程过程调用;Http:超文本传输协议。RPC是一种方法,http是一种协议。RPC服务主体要工作在tcp协议上,而http服务工作在http协议上,由于http协议基于tcp协议,所以rpc服务比http更轻量,效率更高RPC远程过程调用RPC效率优势明显,在实际开发中,客户端和服务端在技术......
  • 正交编码与正交沃尔什函数详解
    本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:<https://github.com/timerring/information-theory>】或者公众号【AIShareLab】回复信息论获取。正交编码正交编码的基本概念正交性若两个周期为T的模拟信号和......
  • Netstat查看端口状态,netstat命令详解
    概述netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat查看端口状态1、点击左下角的【开始】,找到运行,或是直接快捷键【win+R】打开运行窗口2、在运行窗口输入cmd,然后点击【确定】,这时就会进入MSDOS界面,......