HTTPS原理及流程
HTTPS为什么更安全:数据对称加密传出,对称密钥使用非对称加密协商。
HTTPS就一定安全吗:不一定,如果用户在浏览器端执意访问证书可疑或过期的站点,就存在安全隐患。
---
HTTPS实现原理:https连接可以分为三个阶段:
1、证书校验:当浏览器向服务器发送请求时,服务器会将包含服务器公钥的证书返回给浏览器,浏览器得到证书后会对证书中的信息进行一系列的验证,包括验证域名、是否过期、签发机构等信息。
2、对称密钥协商:证书验证通过后,浏览器在本地生成并缓存一个随机串,用服务器的公钥将这个随机串加密并传递给服务器,服务器以自己本地的私钥解密这个随机串,然后以解密出来的随机串作为对称密钥,至此就完成了对称密钥的协商。
3、业务数据传输:完成对称密钥协商后,后续业务数据的传输两端都使用这个对称密钥加解密。
为什么使用非对称方式来协商密钥:因为整个过程中非对称密钥的的公钥是可以公开的,对称密钥则不能公开。非对称密钥也就可以通过网络自由分发了,所以利用非对称密钥来传递对称密钥能保证对称密钥的安全性。同时整个过程中只是用了一套非对称密钥,实现成本得到了控制。
为什么不是用非对称密钥来加密数:这是应为非对称加密的效率远低于对称加密,所以对于大量业务数据的传输,对称密钥更适合。
中间人攻击:是指攻击者利用DNS劫持等手段将用户请求引导到恶意的中间代理上,使用户与一个假冒的站点通信,用户将数据发送到假的站点后,攻击者就可解密获得用户真实数据,然后拿着这些用户数据到合法网站冒充用户操作。
为什么证书需要CA机构签发:首先CA机构是被业界认可的权威机构,这些机构会为他们签发的证书负责,从而避免中间人攻击,CA证书就是用来给浏览器判定网站合法性的。CA机构根证书在计算机本地都有缓存,浏览器收到业务服务器的证书后,可以利用本地缓存的根证书对服务器证书进行校验。
HTTPS原理及流程的更多相关文章
- HTTPS原理以及流程
一.HTTP和HTTPS的区别 HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全. HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网 ...
- HTTPS 原理解析
一 前言 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议.HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全.为了保证 ...
- HTTPS 原理解析(转)
一 前言 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议.HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全.为了保证 ...
- HTTPS 原理浅析及其在 Android 中的使用
作者:曹丰斌 本文首先分析HTTP协议在安全性上的不足,进而阐述HTTPS实现安全通信的关键技术点和原理.然后通过抓包分析HTTPS协议的握手以及通信过程.最后总结一下自己在开发过程中遇到的HTT ...
- Tengine HTTPS原理解析、实践与调试【转】
本文邀请阿里云CDN HTTPS技术专家金九,分享Tengine的一些HTTPS实践经验.内容主要有四个方面:HTTPS趋势.HTTPS基础.HTTPS实践.HTTPS调试. 一.HTTPS趋势 这一 ...
- [转帖]HTTPS系列干货(一):HTTPS 原理详解
HTTPS系列干货(一):HTTPS 原理详解 https://tech.upyun.com/article/192/HTTPS%E7%B3%BB%E5%88%97%E5%B9%B2%E8%B4%A7 ...
- HTTPS原理解析-转
这篇文章关于Https的讲解真的是太透彻了,转过来备忘. 来源:腾讯bugly 另附两个SSL/TLS的交互详解:一.二 基于此文章的学习总结:下一篇文章 1.HTTPS 基础 HTTPS(Secur ...
- 转: https 加密通信流程
https 加密通信流程当用户在浏览器中输入一个以https开头的网址时,便开启了浏览器与被访问站点之间的加密通信.下面我们以一个用户访问https://qbox.me为例,给读者展现一下SSL/TL ...
- 【转】HTTPS系列干货(一):HTTPS 原理详解
HTTPS系列干货(一):HTTPS 原理详解 前言 HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer),其实 HTTPS 并 ...
随机推荐
- Codeforces Round #615 (Div. 3) 题解
A - Collecting Coins 题意: 给你四个数a,b,c,d,n.问你是否能将n拆成三个数A,B,C,使得A+a=B+b=C+c. 思路: 先计算三个数的差值的绝对值abs,如果abs大 ...
- .net core mysql CodeFirst
创建两个项目 1.网站 2.Model层 引用DLL Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.Design Micros ...
- PHP——数组
数组的定义 数组能够在单个变量中存储多个值. 创建空数组: $arr = array();//表示创建一个空数组,并把创建的空数组赋值给变量$arr 数值数组 自动分配 ID 键(ID 键总是从 0 ...
- python 获取一个网页里的a 标签
#!/usr/bin/python # -*- coding: utf-8 -*- #encoding=utf-8 #Filename:urllib2-header.py import re impo ...
- 剑指Offer对答如流系列 - 重建二叉树
面试题6:重建二叉树 题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8} ...
- Java之路——初识Eclipse
零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...
- Python 入门基本知识
编码:是把机器语言翻译成人能看懂的语言 美国信息互换标准代码<<ASSIC>>这张表就是相当于语法表随着发展后面又出现了:gb2312 ——到—— gbk18030 AS ...
- centos6安装lamp
1.安装Apache [root@localhost ~]# yum -y install httpd 设置开启自启动 [root@localhost ~]# chkconfig httpd on 启 ...
- tmobst6an
(单选题)Oracle数据库中,在SQL语句中连接字符串的方法是:(). A)CAT B)CONCAT C)JOIN D)UNION 解析:Oracle可以使用CONCAT关键字或"||&q ...
- 从Libra看区块链的机遇
一番码客 : 挖掘你关心的亮点.http://www.efonmark.com 关于未来的思考 记得去年扎克伯格搞Libra的时候,引起了世界的关注.但随着美国国会听证会的阻力,渐渐很少听见Libra ...