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 概要 ...
随机推荐
- Codeforces Round #685 (Div. 2)
待补 A #include <bits/stdc++.h> using namespace std; int n; int main() { int __; scanf("%d& ...
- Java学习历程记录(一)
一.类与对象 1.创建类 创建一个学生类.并且创造成员变量和方法 public class student{ String name: int age: public void study(参数列表) ...
- malloc和free解析
malloc和free都是库函数,调用系统函数sbrk()来分配内存.除了分配可使用的内存以外,还分配了"控制"信息,这有点像内存池常用的手段.并且,分配的内存是连续的. 1. m ...
- P1426 小鱼会有危险吗(JAVA语言)
题目描述 有一次,小鱼要从A处沿直线往右边游,小鱼第一秒可以游7米,从第二秒开始每秒游的距离只有前一秒的98%.有个极其邪恶的猎人在距离A处右边s米的地方,安装了一个隐蔽的探测器,探测器左右x米之内是 ...
- Web 前端 - 浅谈外部手动控制 Promise 状态
前言 当有多个共享资源.协同操作的时候,往往需要根据动态亦或是复杂的条件以控制和调用程序逻辑. 还是那句话,懂的人自然懂,不懂的人也搜不到这个随笔. 设计 PendingPromise<T> ...
- 自动获取IMC系统所有网络设备资产信息
1 #coding=utf8 2 3 """ 4 CMDB接口调用 5 """ 6 import csv 7 import json 8 i ...
- 敏捷史话(十一):敏捷宣言“间谍”——Steve Mellor
Steve Mellor 是敏捷宣言的签署人之一,他自称是作为" 间谍"去参加雪鸟会议的. 起初收到会议邀请时,Steve 非常惊讶,因为他所做的工作一直都是关于建模方面的,很少将 ...
- C++并发与多线程学习笔记--互斥量、用法、死锁概念
互斥量(mutex)的基本概念 互斥量的用法 lock(), unlock() std::lock_guard类模板 死锁 死锁演示 死锁的一般解决方案 std::lock()函数模板 std::lo ...
- 201871010110-李华 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客链接 班级博客 这个作业要求链接 作业要求 我的课程学习目标 (1)理解并掌握代码风格及设计规范:(2)通过任务3进行协作开发,尝试进行代码复审,在进行同伴复审的过程中体会结对 ...
- 软工2021个人阅读作业#2——构建之法和CI/CD的运用
项目 内容 这个作业属于哪个课程 2021学年春季软件工程(罗杰 任健) 这个作业的要求在哪里 2021年软工-热身阅读作业#2 我在这个课程的目标是 了解和掌握现代软件开发和项目管理技术,锻炼在大规 ...