https为什么能保证安全性

更新日期: 2019-11-20阅读: 2.2k标签: https

http传输如下:


此时信息是明文传输,如果信息被人截获,则能看到里面的内容,极不安全

那就需要对内容加密,过程如下:

  1. 浏览器生成一个秘钥
  2. 浏览器向服务器请求公钥
  3. 服务器向浏览器发送它的公钥
  4. 浏览器接收服务器发送的公钥,并使用公钥加密随机生成的对称密钥,发送给服务器
  5. 服务器接收浏览器发送的数据,用自身私钥,得到对称加密密钥
  6. 最后,浏览器和服务器可以使用对称密钥加密内容进行通信

但此方案仍会存在安全隐患,在第三步和第四步之间,如果被一个中间人获取到它的公钥,浏览器使用中间人的公钥加密对称密钥,发送给服务器,中间人再次截获数据,获取其中的对称密钥。浏览器和服务器在双方数据都不知情的情况下,数据内容被窥探。

问题的重点在于,第三步浏览器无法得到公钥的来源的合法性,这就需要数字证书了。这就是https的解决方案 
服务端单单发送公钥,而是发送包含公钥的数字证书。 
数字证书由第三方机构颁发,浏览器已经维护了所有知名的第三方机构。


浏览器如何确定公钥的合法性?

  1. 在接收数字证书时,查看证书的有效期
  2. 根据数字证书的第三方机构名称,找到对应的公钥,解密数字签字,得到hash1
  3. 根据服务端网址等信息,使用签名算法,生成hash2
  4. 如果hash1等于hash2,则公钥合法



公钥和私钥的相关知识 
公钥和私钥是一对密钥对,它们可以互解密。使用公钥加密,私钥解密。能有效保证数据的安全性。但是如果使用私钥加密,公钥解密呢,则可以确定来源的合法性。因为只有知道私钥才能加密,如果我们能使用公钥解密得到正常内容(内容是否正确就是比较hash1和hash2),那么对方一定是拥有私钥的主机,而私钥是由第三方颁发给服务器的,这就是数字签名。


OSI七层 
物理层->数据链路层->网络层->传输层->会话层->表示层->应用层 
https的ssl位于传输层和应用层之间

链接: https://fly63.com/article/detial/6962

https的设置

现有如下的web架构(简化之后的),需要把原来的http访问修改到https访问!haproxy的认证有两种方式:第一种:haproxy提供ssl证书,后面的nginx访问使用正常的http。第二种:haproxy做正常的代理,后面的nginx提供ssl证书!

HTTPS流量解密

对已抓取的HTTPS流量数据包,如果对其进行解密,需要满足以下几个前提:1、在SSL/TLS协商阶段,被选中的加密套件使用的密钥交换方式为RSA,2、已经获取RSA证书的私钥。

在Nginx下部署SSL证书并重定向至HTTPS

步骤一:下载 Nginx 版证书文件,解压以后可以看到一个 .key 文件和 .crt/.pem 文件,步骤二:上传证书。把上面的 .key 文件和 .crt/.pem 文件上传到 /root 目录中,命名为 ssl.crt/ssl.pem 和 ssl.key,步骤三:LNMP 一键安装包的 Nginx 配置在 /usr/local/nginx/conf/vhost/ 目录中

使用acme.sh撸一个免费且自动更新的HTTPS证书

发现了 acme.sh 这个库,这个是用Shell脚本编写的,不需要安装其他东西,比较纯净。准备工作:一个已解析好的域名(可以用http来访问)。开启服务器的443端口防火墙。

网站提示https证书风险是什么原因?怎么解决?

有时候使用电脑浏览器遇到网站安全https证书风险的时候,浏览器提示证书风险怎么办呢?下面来教大家几个方法:

网站https安全证书过期怎么办?

当前电脑系统时间错误,所有的http安全证书都有颁发日期和截止日期,电脑系统时间在证书有效时间区间之外有可能导致浏览器提示网站https安全证书已过期或还未生效,网站的https安全证书确实已经过期

Apache环境强制跳转到https

这里用的是集成开发环境XAMPP,假设已经配置好ssl证书,不知如何申请ssl证书者请自行百度。修改Apache相关配置文件,强制所有http跳转到https,假设网站域名为xxx.com。

快速实现本地 https 预览

一般我们本地预览的时候,一般就用 localhost + 端口 就行了,再有需要的话,会类似修改 Hosts ,然后进行域名的绑定,这样我们可以借助本地 hosts 来实现对域名访问本地的服务。

深入理解 HTTPS 原理、过程与实践

HTTP是不安全的,我们的页面也被运营商插入过小黄图广告(数据被篡改),对于HTTP来说,再简单不过,只需要设定相应的DNS,做一个中间人攻击,再将修改后的数据返回,这一方面可能泄露用户隐私数据

HTTPS 为什么更安全,先看这些

HTTPS 是建立在密码学基础之上的一种安全通信协议,严格来说是基于 HTTP 协议和 SSL/TLS 的组合。理解 HTTPS 之前有必要弄清楚一些密码学的相关基础概念,比如:明文、密文、密码、密钥、对称加密、非对称加密

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!