`

HTTPS详解

    博客分类:
  • HTTP
 
阅读更多

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

HTTPS简介

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

Apache

1. 客户端发起HTTPS请求

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

2. 服务端的配置

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

3. 传送证书

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

4. 客户端解析证书

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

5. 传送加密信息

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

6. 服务段解密信息

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

7. 传输加密后的信息

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

8. 客户端解密信息

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

分享到:
评论

相关推荐

    密钥,密钥对,公钥,pfx,jks/https详解

    ### 密钥、密钥对、公钥、PFX、JKS及HTTPS详解 #### 一、密钥基本概念 **密钥(Key)**是用于加密和解密数据的一组数字,是实现信息安全传输的核心要素。根据密钥的不同类型,我们可以将其分为对称密钥和非对称密钥...

    https详解ppt.ppt

    HTTPS,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。本PPT主要HTTPS架构及详细介绍、HTTPS配置、HTTPS和HTTP的区别 等。

    HTTPS 详解一:附带最精美详尽的 HTTPS 原理图1

    HTTPS(HyperText Transfer Protocol Secure)是一种用于在互联网上传输数据的加密协议,它是HTTP(超文本传输协议)的安全版本。HTTPS的广泛应用源于其能够提供安全的数据传输,保护用户的隐私和信息安全,尤其是在...

    HTTP-HTTPS详解(最全).rar

    2、超文本传输协议”,它可以拆成三个部分,分别是:“超文本”“传输”和“协议”。... ...不过,协议又是什么呢?其实“协议”并不仅限于计算机世界,现实生活中也随处可见。例如,你在刚毕业时会签一个“三方协议”,找...

    PHP程序员玩转Linux系列 Nginx中的HTTPS详解

    ### PHP程序员玩转Linux系列:Nginx中的HTTPS详解 #### 概述 本文将详细介绍如何在Nginx中配置HTTPS服务,这对于保障网站的安全性至关重要。HTTPS(Hyper Text Transfer Protocol Secure)是一种加密传输协议,它...

    HTTPS协议详解(一):HTTPS基础知识1

    **HTTPS协议详解** HTTPS,全称为“Secure Hypertext Transfer Protocol”,即安全超文本传输协议,是一种在HTTP基础上加入SSL/TLS安全层的网络协议。它的主要目标是提供对网络通信的加密、服务器身份验证以及消息...

    ShaderGraph节点详解完整版20191221.pdf

    https://blog.csdn.net/nicepainkiller/article/details/104108444 ShaderGraph节点详解完整版 ShaderGraph节点详解完整版 https://blog.csdn.net/nicepainkiller/article/details/104108444

    https百科详解

    ### HTTPS百科详解 HTTPS,全称为Hypertext Transfer Protocol Secure,是HTTP协议的安全版本,旨在为数据传输提供安全通道。HTTPS的核心在于SSL(Secure Socket Layer)或TLS(Transport Layer Security)层,它在...

    phpcms支持https

    【PHPcms支持HTTPS详解】 PHPcms是一款流行的开源内容管理系统,被广泛用于构建各类网站。随着互联网安全性的不断提升,HTTPS已经成为网站必备的安全协议,为用户提供加密的传输和身份验证。本篇将详细介绍PHPcms...

    Android创意实例详解书籍源码

    4. **网络通信**:学习如何使用HTTP、HTTPS、WebSocket等协议进行数据交换,以及如何处理异步任务和网络异常,是Android开发中的重要环节。 5. **数据存储**:Android提供SQLite数据库、SharedPreferences、文件...

    faster-rcnn详解

    Faster RCNN 详解 Faster RCNN 是 Ross B. Girshick 在 2016 年提出的目标检测算法,继承了 RCNN 和 Fast RCNN 的优点,并将特征提取、proposal 生成、 bounding box 回归和分类整合到一个网络中,提高了检测速度和...

    Visual C++网络程序设计实例详解pdf+源代码

    书中的实例可能涵盖如何在Visual C++中实现安全的HTTPS连接。 8. **网络编程库**:除了Winsock,还有许多第三方库如ACE、Poco等可以简化网络编程。书中可能会提及这些库的使用和优势。 9. **源代码分析**:提供的...

    Web安全技术——HTTPS.pdf

    《Web安全技术——HTTPS详解》 HTTPS,全称HyperText Transfer Protocol Secure,是基于HTTP的安全协议,通过使用SSL/TLS协议来加密数据传输,确保网络通信的安全性。HTTPS的应用广泛,尤其是在互联网领域,如搜索...

    Git 原理详解及实用指南.zip

    Git 原理详解: 1. **数据模型**:Git 的核心是基于内容寻址的文件存储系统。每个文件被哈希计算成一个唯一的ID(SHA-1),这个ID代表了文件的内容。每次提交时,Git 创建一个包含所有文件哈希的新快照,并保存一个...

    was8.5.5配置https步骤.docx

    ### WebSphere Application Server 8.5.5 配置HTTPS详解 #### 一、引言 随着互联网技术的发展,网络安全成为越来越重要的议题。HTTPS作为HTTP的安全版本,通过SSL/TLS协议来加密数据传输,保障了数据的安全性。本文...

    openfiler 安装文档详解

    "Openfiler 安装与配置详解" Openfiler 是一个基于 Linux 的开源存储解决方案,提供了一个易于使用的图形用户界面,用于管理存储设备和 iSCSI_Targets。下面是 Openfiler 安装和配置的详细过程: 安装 Openfiler ...

    BIOS 设置详解

    BIOS 设置详解

    Tomcat与JavaWeb开发技术详解-随书源码

    4. **连接器与协议**:Tomcat提供了多种连接器(Coyote)来处理不同的网络协议,如HTTP、HTTPS等,确保了与Web客户端的通信。 5. **安全性**:Tomcat提供了基于角色的安全性管理,可以通过配置用户、角色和权限来...

    HttpServer.zip_http servlet server_httpclient_http服务器_java https

    《构建Java HTTP服务器:HttpServlet、HttpClient与HTTPS详解》 在IT行业中,HTTP服务器是互联网应用的核心组件之一,用于接收并响应HTTP请求。本项目"HttpServer.zip"提供了一个独特的实现,它是一个全网唯一的...

    Java Web开发详解案例

    你将学习如何使用HTTPS协议、SSL/TLS证书来保护数据传输,以及如何实现基于HTTP的认证机制,如Basic Auth和Form-Based Auth。 通过这个“Java Web开发详解案例”,你将有机会深入理解并实践这些关键概念和技术,...

Global site tag (gtag.js) - Google Analytics