HTTPS和HTTP(加密知识)
什么是HTTPS?
基于安全套接字层的超文本传输协议(HTTP over SSL),一个Netscape开发的Web协议。HTTPS在HTTP应用层的基础上使用安全套接字层(或者升级版传输层安全,Transport layer Security)作为子层。
为什么需要HTTPS?
HTTP(效率高)以明文方式发送内容,三大风险:1.窃听,2.篡改,3.冒充。
两者异同?
同:同一基础协议。
异:1.URL开头不同。2.HTTP标准80端口,工作与应用层;HTTPS标准443,工作在传输层。3.HTTP无加密和证书,HTTPS反之(免费证书少,需要一定费用)。
如何工作?
使用HTTPS连接时,服务器响应初始连接并提供它支持的加密方法。作为回应,客户端选择一个连接方法,两者交换证书验证身份。确保相同秘钥后传输加密信息,关闭连接。

SSL动作:1.验证服务器端,2.允许client和server选择加密算法和秘钥,确保双方支持。3.验证客户端。4.用公钥加密生成共享加密数据,5.创建加密的SSL连接。6.基于SSL连接传递HTTP请求。
如果用非对称加密,只能保证单项数据传输的安全性(公钥公开,可解私钥加密的数据)。
一、公钥如何获取
证书:网站的身份证(里面包含公钥),在用户访问时发给用户,让他们用里面的公钥加密数据。
CA:只有少数是权威公正的,比如VeriSign
所以企业也加入了对称秘钥提高安全性(也能节约时间,每一次session用session key加密运算非常快,降低公钥加密耗时)。那可能存在的问题就在证书上:1.证书伪造。2.证书篡改。
那么在了解证书格式时,数字签名和摘要(对传输内容hash——>摘要,再通过CA私钥加密——>数字签名)是有利的防伪武器。
着重关注证书4点内容:1.机构名字CA,2.数字签名,3.证书持有者公钥,4.签名用到hash算法。
完全伪造证书:1.浏览器内嵌CA根证书,不认识直接认为危险证书。2.根据存在的CA名找到内置根证书和公钥对伪造的摘要解密,失败被认为危险证书。
篡改证书:一般是代理拿到证书后用公钥修改成自己的。1.根据证书的CA找到CA根证书和公钥对数字签名解密得到证书摘要。2.根据使用hash计算证书摘要。3.对比不一致则是危险证书。
HTTPS和HTTP(加密知识)的更多相关文章
- 网络协议 13 - HTTPS 协议:加密路上无尽头
系列文章传送门: 网络协议 1 - 概述 网络协议 2 - IP 是怎么来,又是怎么没的? 网络协议 3 - 从物理层到 MAC 层 网络协议 4 - 交换机与 VLAN:办公室太复杂,我要回学校 网 ...
- 【转】Https内部机制基础知识
互联网权威机构 - CA 机构,又称为证书授权 (Certificate Authority) 机构,浏览器会内置这些"受信任的根证书颁发机构" (即 CA). 数字证书 提及 H ...
- HTTPS中的加密验证部分理论
为了加深自己对于https加密这一块的映象,决定写出来试试 就是在http层下面加了一个ssl层, 服务器将自己的公钥发送给证书机构,申请证书,证书机构首先会验证个服务器是否合法,线上或者线下,然后用 ...
- ESP32的Flash加密知识
一.Flash 加密功能用于加密与 ESP32-S2 搭载使用的 SPI Flash 中的内容.启用 Flash 加密功能后,物理读取 SPI Flash 便无法恢复大部分 Flash 内容.通过明文 ...
- selenium 对https网站(加密证书)进行自动化测试
由于公司需要,被测网站有证书加密,由于在selenium启动firefox的时候,它会重新建一个profile作为启动的profile,所以无论你怎么把站点设为可信任站点,在selenium启动的fi ...
- https验证新发现-老知识
HttpsURLConnection.setDefaultHostnameVerifier(hostnameVerifier); 可以设置https全局的域名校验规则 HttpsURLConnecti ...
- 非对称加密与HTTPS(转)
序:HTTPS更安全,为什么? 因为HTTP协议本身毫无安全性可言. 当你访问一个纯HTTP的网站(以及与这个网站有任何网络交互)时,你发出去一个请求.在这个请求到达网站服务器的路途上,不管是你家的路 ...
- HTTPS学习(一):准备知识
div.example { background-color: rgba(229, 236, 243, 1); color: rgba(0, 0, 0, 1); padding: 0.5em; mar ...
- HTTPS加密原理(转)
Header HTTP.HTTPS在我们日常开发中是经常会接触到的. 我们也都知道,一般 Android 应用开发,在请求 API 网络接口的时候,很多使用的都是 HTTP 协议:使用浏览器打开网页, ...
随机推荐
- ANG通证是什么?有关ANG通证的干货都在这里
什么是ANG通证?▲▲▲ 通证也叫代币,是一个虚拟账户名称,是电子卡的虚拟货币.举个简单的例子,腾讯的Q币就是一种通证,我们用货币购换数个Q币,代以购买腾讯游戏里的装备等. 目前,随着加密数字通证的发 ...
- 小白的python之路11/3内存 进程 二进制软件包 rpm yum
一 分区 查看swap分区 swapon -s mkswap /dev/sdb8 激活 swapon -a /dev/sdb8 swapon -s (sdb8进入了文件中) 提供内存服务 free ( ...
- Python用起来极度舒适的强大背后
当你使用len(a)获取a的长度,使用obj[key]获取一个key的值时的畅快和舒适,在于Python庞大的设计思想(Pythonic). 而obj[key]背后其实是__getitem__方法,P ...
- 文件属性和ls -lhi
第1章 无法上网及拍错过程 远程连接拍错过程 1. 查看路是否通畅 2. 是否有拦击 iptables(防火墙) selinux 3. 查看是否有条件 ...
- JS案例五:设置全选、全不选以及反选
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- python 使用selenium模块实现自动搜索百度百科词条(模拟人工搜索)
目标:模拟人工搜索百度百科词条,爬取相关信息,自动删除上一个关键词,输入新关键词,继续搜索,直到循环结束. 代码: from selenium import webdriver from seleni ...
- 掩码图制作----c语言贴图
1.首先你得有一张图,比如这样的: 2.用PS打开他... 3.左边工具栏里(快速选择工具W),选想显示的部分 4.ctrl+c复制一下,新建一张黑底图粘贴上去或者白底图时选中显示区即花瓣右键反向右键 ...
- 理解UDP协议的首部校验和校验和
reference: https://blog.csdn.net/qiuchangyong/article/details/79945630 https://seanwangjs.github.io/ ...
- MyBatis-day1
Tips: 1, SQLSession通过SQLSessionFactory获得, SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得.有两种配 ...
- python2入门(3)
六.python列表(List) python最常见的序列类型python列表List使用[]表示,元素之间以逗号分隔,元素类型不需要相同 内置操作: list = [1,2,3,'four'] li ...