HTTPS协议工作原理(SSL数字证书)
目录
HTTPS
我们都知道HTTP协议是明文传输的,并且不能验证对方的身份,而且不能保证数据的完整性。而当我们在网络上进行购物电子交易时,电子网银转账时,这种方式就显得很不安全了。如果黑客截取了我们和服务器端的通信数据,那么黑客就能获取我们的一些敏感信息了。所以,HTTPS应运而生!
HTTPS是在HTTP协议的基础上加入了SSL协议,SSL协议加在了传输层和应用层之间。在加入了SSL协议后,HTTPS相比HTTP更加的安全,其对数据的传输进行了加密处理,并且能验证通信双方的身份,还保证了数据传输过程的完整性。这样,即使黑客截取了我们和服务器之间的通信数据,它也获取不到任何有用的信息。
需要说明的是,SSL协议是独立于 HTTP 的协议,所以不光是 HTTP 协议,其他运行在应用层的 SMTP和 Telnet 等协议均可配合 SSL 协议使用。可以说 SSL 是当今世界上应用最为广泛的网络安全技术。
SSL协议的工作过程
那么SSL协议是如何工作的呢?
首先,这需要服务器拥有SSL证书,SSL证书是需要向第三方CA机构申请的,现在大部分的SSL证书都是要付费申请的。
我们拿 baidu.com为例:百度首先利用公钥密码体制生成一对公私钥,私钥自己保存着,然后将公钥和baidu.com的一些身份信息发送给第三方可信任CA机构,CA机构收到百度的申请之后,将执行一些必要的步骤,以确信请求确实由百度发送而来,并且这些信息是正确的。然后,认证中心对百度发来的公钥和百度的身份信息进行数字签名,生成数字证书,然后发送给百度。数字证书里面包含了百度的公钥、百度的身份信息 和 第三方CA机构的数字签名。
那么百度拥有了SSL数字证书之后,我们和百度之间是如何工作的呢?
- 客户端访问 https://www.baidu.com ,要求与百度Web服务器建立SSL连接
- 百度Web服务器接收到客户端请求后,会将网站的证书信息发送给客户端
- 客户端收到百度的证书信息后,通过证书上第三方可信任机构CA的签名,验证证书的真假。
- 验证真实性之后,客户端的浏览器与百度Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
- 客户端的浏览器根据双方同意的安全等级,建立会话密钥对,然后利用网站证书中的公钥将会话密钥对的公钥进行加密,并发送给百度Web服务器
- 百度Web服务器利用自己的私钥解密出会话密钥对的公钥。所以现在我们有了百度的公钥,百度也有了我们浏览器会话密钥对的公钥
- 浏览器和百度Web服务器分别利用对方的公钥对数据进行加密传输。
SSL数字证书的查看
浏览器工具->Internet选项->内容->证书,就可以看到我们浏览器上的数字证书了。所谓证书,其实是对公钥的封装,在公钥的基础上添加了诸如颁发者之类的信息。
HTTPS协议工作原理(SSL数字证书)的更多相关文章
- 一文读懂Https的安全性原理、数字证书、单项认证、双项认证等
本文引用了作者Smily(博客:blog.csdn.net/qq_20521573)的文章内容,感谢无私分享. 1.前言 目前苹果公司已经强制iOS应用必须使用HTTPS协议开发(详见<苹果即将 ...
- HTTPS加密通信原理及数字证书系统
https加密通信原理: 公钥私钥成对,公钥公之于众,私钥只有自己知道. 用公钥加密的信息只能由与之相对应的私钥解密. 甲给乙发送数据时,甲先用乙的公钥加密这段数据,再用自己的私钥对这段数据的特征数据 ...
- 通俗理解数字签名,ssl数字证书和https
前言 最近在开发关于PDF合同文档电子签章的功能,大概意思就是在一份PDF合同上签名,盖章,使其具有法律效应.签章有法律效应必须满足两个条件: 能够证明签名,盖章者是谁,无法抵赖 PDF合同在签章后不 ...
- [转]浅谈https\ssl\数字证书
浅谈https\ssl\数字证书 http://www.cnblogs.com/P_Chou/archive/2010/12/27/https-ssl-certification.html 全球可信的 ...
- 浅谈https\ssl\数字证书
全球可信的SSL数字证书申请:http://www.shuzizhengshu.com 在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了.本文追本溯源围绕 ...
- https证书/即SSL数字证书申请途径和流程
国际CA机构GlobalSign中国 数字证书颁发中心网站:http://cn.globalsign.com https证书即SSL数字证书,是广泛用 于网站通讯加密传输的解决方案,是提供通信保 ...
- 【转】浅谈https\ssl\数字证书
转载请注明出处:http://www.cnblogs.com/P_Chou/archive/2010/12/27/https-ssl-certification.html 全球可信的SSL数字证书申请 ...
- 转 关于Https协议中的ssl加密解密流程
关于Https协议中的ssl加密解密流程 2016年09月28日 09:51:15 阅读数:14809 转载自:http://www.cnblogs.com/P_Chou/archive/2010/1 ...
- TCP/IP协议工作原理简述
TCP/IP协议工作原理简述 // */ // ]]> TCP/IP协议工作原理简述 Table of Contents 1 概要 2 应用层 3 传输层 4 网络层 5 链路层 1 概要 ...
随机推荐
- linux 设置系统时间
第一种: 服务器date时间不准: root@mdy-zabbix2:~# date Fri Sep 28 09:58:56 UTC 2018 实际是下午6点 第一步:执行tzselect 第二步: ...
- Windows-Redis占用C盘系统空间
发现redis在电脑死机蓝屏的情况下,就是非正常退出redis会导致redis的缓存文件不会回收,占用系统空间, 下次在启动的时候,会再次创建一个10G多的缓存文件,极度占用磁盘空间. 现说明解决办法 ...
- 提升Idea启动速度与Tomcat日志乱码问题
提升Idea启动速度与Tomcat日志乱码问题 前言 由于重装了一次Idea,所以有些设置时间就忘了,在此做个记录,以便以后忘记后可以来翻阅 Idea启动速度 一.将Idea所在的 安装文件夹 在wi ...
- React实用技巧
取消请求 React 中当前正在发出请求的组件从页面上卸载了,理想情况下这个请求也应该取消掉,那么如何把请求的取消和页面的卸载关联在一起呢? 这里要考虑利用 useEffect 传入函数的返回值: u ...
- ASP.NET Core扩展库之实体映射
在分层设计模式中,各层之间的数据通常通过数据传输对象(DTO)来进行数据的传递,而大多数情况下,各层数据的定义结构大同小异,如何在这些定义结构中相互转换,之前我们通过使用AutoMapper库,但Au ...
- JavaWeb开发中的分层思想(一)
JavaWeb开发分层思想(一) 一.认识DAO.Service.Controller层 DAO(Data Access Object) 1.直接看英文意思就是"数据访问对象",也 ...
- WERTYU_键盘错位(JAVA语言)
package 第三章; import java.util.Scanner; /* * 把手放在键盘上时,稍不注意就会往右错一位.这样,输入Q会变成输入W,输入J会变成输入K等. 输 ...
- InfluxDB、Grafana等开源软件的监控后门
在使用手机APP的过程中,用户信息会不知不觉的被APP悄无声息的收集到云端,然后进行各种用户行为分析以及智能推荐,这是众所周知但秘而不宣的事. 在使用开源软件时,也存在悄悄收集用户使用信息,并且上报到 ...
- Azure App Service(一)利用Azure DevOps Pipeline 构建镜像,部署应用程序
一,引言 起因是前两天项目上做测试,需要我把写好的基于.NET 5 的 Web 测试程序作成 Docker 镜像.当我在本地验证完功能后,准备利用 Docker 构建应用程序镜像的时候,发现系统不支持 ...
- Spring Cloud:面向应用层的云架构解决方案
Spring Cloud:面向应用层的云架构解决方案 上期文章我们介绍了混合云,以及在实际操作中我们常见的几种混合云模式.今天我们来聊一聊Spring Cloud如何解决应用层的云架构问题. 对于Sp ...