我所了解的https
http大家多少都有些了解,毕竟要上网的话是肯定会接触到它的。http有个很明显的缺点,就是传输是明文的,很不安全。针对这个情况,就推出了https,也就是http+ssl/tls。
对于明文不安全的问题,大家想到的肯定就是加密了。那么怎么加密呢?
第一种方法,采用对称加密。当客户端与服务器开始连接时,服务器向客户端先发送一个密钥,之后大家都用这个密钥进行加解密。这里会产生一个问题,就是服务器在发送密钥的时候,有可能会被中间人截获,那么加密也就没有意义了。
第二种方法,采用非对称加密对第一种方法的密钥进行一层额外的加密。当连接开始时,服务器向客户端发送一个公钥,要求客户端用此公钥加密要使用的对称密钥,服务端用私钥解密出来后,大家再一起愉快的使用对称密钥进行传输。那这样安全吗?也不。因为中间人也可以截获服务端发送的公钥(称为A),然后将自己生成的一个公钥(称为B)发送给客户端,那么当客户端发送用公钥B加密后的对称密钥时,中间人先用自己的私钥将对称密钥解出,再用公钥A加密发送给服务端,这样中间人也就顺利得到了对称密钥。那么这样也不安全。
这时候我们发现如果只有客户端与服务器两方的话,是无法完成安全的连接的。那么就引入权威的第三方,也就是我们常说的证书颁发机构。
证书颁发机构颁发的证书包含以下信息:
1.证书颁发机构
2.服务端网址
3.用证书颁发机构私钥加密后的服务端公钥
4.用证书颁发机构私钥加密后的证书签名
接下来说一下引入证书后的连接流程:
1.服务端要向机构递交自己的公钥,生成属于自己的证书。
2.客户端向服务端发起连接,服务端将证书发送给客户端。
3.客户端收到证书后,首先是要验证证书的真伪。因为各大浏览器和操作系统已经维护了所有权威证书机构的名称和公钥。所以只要知道是哪个机构颁发的证书,也就可以解密出证书签名和服务端公钥了。客户端按照签名的规则生成一个证书签名,看是否与发过来的一致,一致的话就可以放心的使用发过来的公钥了。
4.证书验证成功后,客户端使用传过来的公钥加密要使用的对称密钥,传回给服务端。
5.服务端将对称密钥解出,然后双方开始使用对称密钥加解密进行交互。
因为中间人没法得到机构的私钥,自然也就无法伪造证书,也就保证了安全。其实这也就是https的主体思想了,https在http协议的基础上加了ssl安全层, 以上所说的验证流程就是在ssl层中完成的。
我所了解的https的更多相关文章
- 【流量劫持】躲避 HSTS 的 HTTPS 劫持
前言 HSTS 的出现,对 HTTPS 劫持带来莫大的挑战. 不过,HSTS 也不是万能的,它只能解决 SSLStrip 这类劫持方式.但仔细想想,SSLStrip 这种算劫持吗? 劫持 vs 钓鱼 ...
- HTTPS 互联网世界的安全基础
近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...
- 7.让网站支持http和https的访问方式
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html#iis 怎么让网站在本地支持SSL?http://www.c ...
- HTTPS简介
一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...
- 猖獗的假新闻:2017年1月1日起iOS的APP必须使用HTTPS
一.假新闻如此猖獗 刚才一位老同事 打电话问:我们公司还是用的HTTP,马上就到2017年了,提交AppStore会被拒绝,怎么办? 公司里已经有很多人问过这个问题,回答一下: HTTP还是可以正常提 ...
- WebAPi之SelfHost自创建证书启动Https疑难解惑及无法正确返回结果
前言 话说又来需求了,之前对于在SelfHost中需要嵌套页面并操作为非正常需求,这回来正常需求了,客户端现在加了https,老大过来说WebAPi访问不了了,这是什么情况,我去试了试,还真是这个情况 ...
- 苹果强制使用HTTPS传输了怎么办?——关于HTTPS,APP开发者必须知道的事
WeTest 导读 2017年1月1日起,苹果公司将强制使用HTTPS协议传输.本文通过对HTTPS基础原理和通信过程内容的讲解,介绍APP开发者在这个背景下的应对办法. 几周前,我们在<htt ...
- 【原创】免费申请SSL证书【用于HTTPS,即是把网站从HTTP改为HTTPS,加密传输数据,保护敏感数据】
今天公司有个网站需要改用https访问,所以就用到SSL证书.由于沃通(以前我是在这里申请的)暂停了免费的SSL证书之后,其网站推荐了新的一个网站来申请证书,所以,今天因为刚好又要申请一个证书,所以, ...
- https 安全验证问题
最近为了满足苹果的 https 要求, 经过努力终于写出了方法 验证 SSL 证书是否满足 ATS 要求 nscurl --ats-diagnostics --verbose https://你的域名 ...
- Ubuntu下配置apache开启https
一.HTTPS简述随着网络的日常,信息安全越来越重要,传统的网站都是http协议明文传输,而HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,比http协议安全. 那ht ...
随机推荐
- orcal 根据打分时间计算打分情况
create or replace function F_GET_TEST(in_ny in date,in_project_id in number ) return number is sRetu ...
- leetcode 17电话号码的字母组合
与子集70?类似,子集每次两个分支,本题每次k个分支,子集是第一次不push第二次push元素,本题是每次都push元素,因此,本题答案的长度都为k,子集题目为各种组合: /** res,level, ...
- 【Python】格式化输出json
参考文档: Python JSON JSON 函数 使用 JSON 函数需要导入 json 库:import json. 函数 描述 json.dumps 将 Python 对象编码成 JSON 字 ...
- 第六章 SpringCloud之Ribbon负载均衡
###################使用默认的负载均衡(轮询)############################# 1.pom.xml <?xml version="1.0&q ...
- CentOS mysql安装
MySQL For Excel 1.3.5MySQL for Visual Studio 1.2.5MySQL Fabric 1.5.6 & MySQL Utilities 1.5.6Conn ...
- python3下import MySQLdb出错问题
原因:python2下是使用的MySQLdb,python3下用的是pymysql 安装 pip install pymysql
- Redis 5.0
1.概述默认端口号:6379 redis是一种nosql数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构(s ...
- CTF—攻防练习之ssh私钥泄露
攻防练习1 ssh私钥泄露 靶场镜像:链接: https://pan.baidu.com/s/1xfKILyIzELi_ZgUw4aXT7w 提取码: 59g0 首先安装打开靶场机 没办法登录,也没法 ...
- https原理以及golang基本实现
关于https 背景知识 密码学的一些基本知识 大致上分为两类,基于key的加密算法与不基于key的加密算法.现在的算法基本都是基于key的,key就以一串随机数数,更换了key之后,算法还可以继续使 ...
- XCode8.3真机调试设置
本文使用XCode8.3.3 首先XCode->Preferncs,进入下面的界面 点击左下角“+”号,并输入账号,然后点击Manage Certificates,左下角添加IOS develo ...