1.  HTTP存在的安全性风险:

1) 通信过程使用明文,容易被窃听

2) 不验证通信方的身份,可能遭遇伪装

3) 不验证通信数据包的完整性,可能遭遇篡改

2. HTTP+加密+认证+完整性保护=HTTPS

HTTPS的缺点:

比HTTP慢 2-100倍

主要是两点:

1)采用SSL进行通信,简历连接比TCP建立连接要慢很多,比企鹅增加了通信的数据量,会变慢

2)应用端和客户端需要进行加解密处理,增加了负载,会变慢.

证书需要费用..

HTTPS的简单说明:

1 HTTPS使用SSL进行传输 不是一个新的协议,只不过HTTP直接使用TCP连接, HTTPS使用SSL SSL再进行TCP的连接处理.

2.非对称加密发送对称秘钥,对称秘钥(客户端与服务器端协商使用的密码)进行通信过程的加密

RSA算法以及ECC椭圆曲线算法 作为 非对称加密算法的两种典型(比特币用了ECC)

但是非对称加密算法有较高的性能损耗,所以加密古城中使用对称加密算法进行加密 解密 提高性能.

3. 证书来进行公开秘钥准确,以及确认客户端和服务器端的身份.

浏览器都会预制很多 可信任的根证书颁发机构.

证书的验证方式

需要证明自己的服务器加自己的公钥发送给受客户端信任的CA机构

CA机构用自己的私钥进行加密, 以及增加上公钥申请者的信息.制作成为服务器的证书信息

客户端获取到证书之后 使用浏览器内置的受新人的CA证书公钥进行解密证书, 验证证书与服务器信息是否匹配一致, 如果一致就是可以确认的服务器端

客户端使用上一步解密出来的服务器的公钥进行加密通信,发送到服务器端

服务器端使用自己的私钥进行解密,确认客户端发送过来的信息.

4. 自签名证书

这里一直有一点疑问,我自签名证书已经将独立CA的证书放到了服务器的受信任的根证书颁发机构中去了,但是依旧会提示我证书有问题.

之前使用OPENSSL生成过证书, 但是一直不太理解其中的含义.

[书摘]HTTPS--From图解HTTP的更多相关文章

  1. 一篇读懂HTTPS:加密原理、安全逻辑、数字证书等

    1.引言 HTTPS(全称: Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.本文,就来深入介绍下其 ...

  2. Https 单向验证 双向验证

    通讯原理 participant Client participant Server Client->>Server: 以明文传输数据,主要有客户端支持的SSL版本等客户端支持的加密信息 ...

  3. https笔记【转】

    图解HTTPS 我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取.所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议. HTTPS简介 HTTPS其实是有两部分组成:HT ...

  4. HTTPS握手

    作用 内容加密 建立一个信息安全通道,来保证数据传输的安全: 身份认证 确认网站的真实性 数据完整性 防止内容被第三方冒充或者篡改 https的采用了对称加密和非对称加密.握手过程中采用非对称加密,得 ...

  5. 简单地理解HTTPS 转

    原文地址:http://www.nowamagic.net/librarys/veda/detail/2394 我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取.所以很多银行网站或电子邮箱等 ...

  6. 证书锁定SSL/TLS Pinning

    前言 APP端抓包中, 设置抓包代理后会发现部分APP(如app store.Facebook)直接无法访问,其他部分app又功能正常,为什么呢?这涉及 ssl-pinning,证书锁定. 证书锁定( ...

  7. 《图解HTTP》书摘

    图解HTTP 上野宣.于均良 1.3 网络基础 TCP/IP 2016-03-03 相互通信,双方就必须基于相同的方法.比如,如何探测到通信目标.由哪一边先发起通信.使用哪种语言进行通信.怎样结束通信 ...

  8. 图解HTTP之HTTPS详解

    背景:随着越来越多的主流网站已经使用了HTTPS,作为服务器端开发者,就必须了解HTTPS的优势与劣势. 在HTTP协议中有可能存在信息窃听或身份伪装等问题,而使用HTTPS通信机制可以有效地防止这些 ...

  9. 图解 HTTP, 图解 HTTPS, 图解 HTTP/2, 图解 HTTP/3, 图解 QUIC

    图解 HTTP, 图解 HTTPS, 图解 HTTP/2, 图解 HTTP/3, 图解 QUIC HTTP https://en.wikipedia.org/wiki/Hypertext_Transf ...

  10. 图解HTTPS

    看到一篇讲解HTTPS交互的文章,讲得很清楚,备忘一下 来自无网不剩的博客 我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取.所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTP ...

随机推荐

  1. 水题,P1789 【Mc生存】插火把 (暴力即可)

    #include<cstdio> #define maxn int(1e4) bool dp[maxn][maxn]; int n; void f1(int x, int y) { dp[ ...

  2. for-in和for-of,forEach和Map

    for-in和for-of 1. for-in循环实际是为循环”enumerable“对象而设计的,是用来循环带有字符串key的对象的. 使用for in会遍历数组所有的可枚举属性,包括原型.所以fo ...

  3. python3 用户登录 day01

    '''用户登录作业需求:1. 三次重试机会2. 每次输错误时显示剩余错误次数'''num = 1while num <= 3: username = input("请输入用户名:&qu ...

  4. find,xargs,tar有选择打包

    find ./ -mtime 83 -exec sz {} \; find . -type f -exec ls -l {} \; \;表达 -exec 的结束. ================== ...

  5. 理解Path对路径进行操作的API

    阅读目录 一:理解normalize方法 二:理解join方法 三:理解dirname方法 四:理解basename方法 五:理解extname方法 回到顶部 一:理解normalize方法 该方法将 ...

  6. JS常见的小代码

    一:去掉数组里面的重复项. 比如 如下一个数组:var arr = [1,2,4,3,4,3]; 我想要得到数组 [1,2,4,3].为这样的 写一个函数去掉重复的项. var unique = fu ...

  7. 【Codeforces 464D】World of Darkraft - 2

    Codeforces 464 D 首先我们知道这K个装备是互不干扰的,就是说如果一个装备升级了或者卖掉了,不会对其它装备的挣到的钱产生任何影响.所以我们就考虑单独处理某一个装备挣到的钱. 那么就设\( ...

  8. MySQL(十)操纵表及全文本搜索

    一.创建表 MySQL不仅用于表数据操作,还可以用来执行数据库和表的所有操作,包括表本身的创建和处理. 创建表一般有如下两种方式: ①使用具有交互式创建和管理表的工具: ②直接使用MySQL语句操纵表 ...

  9. jquery中的选择器:has和:not的用法

    这两个选择器可以帮助我们在选择父级和子孙之间关系的dom更从容~ <div><p><span>Hello</span></p></di ...

  10. 【转】Java生成图片验证码

    原文转自:http://blog.csdn.net/ruixue0117/article/details/22829557 看了挺多图片验证码的代码,感觉没什么长的好看点的,就自己动手写了个,写完发现 ...