什么是https?
很久之前注意到了https这个新出来的协议,当时感觉到只是一个加密的协议,然后没有什么关注,只知道他和http的区别就在于加密,最近突然很多人问起了这个https到底是什么?于是上网查了查资料,总结之。
Https是以安全为目标的Http通道,也就是说是http的安全版,在http之下加入了SSL层,也就是说https的安全是基于SSL的,Https协议内容基本和http一致,不过使用了不同的端口号而且在Http和TCP之间加入了加密层。
首先https的端口号是443,而且这个协议并不是最近才出现的协议,而是早在网景还在的时候就出现了。
https在具体的通信的时候的过程是这个样子:
1 客户机向服务器发送一个开始信息开始新的会话链接
2.服务器根据客户机信息生成一个秘钥,如果需要服务器相应客户的信息的时候生成主秘钥的信息。
3.客户根据服务器信息生成主秘钥,使用服务器的公开秘钥加密信息后给服务器。
4.服务器恢复主秘钥,返回给客户一个主秘钥认证信息,客户机认证服务器。
TLS握手
TLS是在TCP上建立的安全层,所以是建立咋TCP协议之后的,TLS的握手前一定会发生TCP的三次握手。
首先,执行TCP的三次握手。
1.客户机向接收机发送一个SYN。→_→
2.服务器向客户机发送一个SYN和ACK,完成第二次握手,实际上第二次握手的时候链接已经建立,服务器已经开始给访问分配资源了。←
3.但是TCP还会发送第三次握手确定客户机收到了这个消息,客户机此时在TCP中会再次发送一个ACK,当然这里是TLS的握手,所以在TLS握手为了节约链接的时间,在TLS握手中,会在TCP的第三次握手中向客户机发送一些规格说明(TLS版本,支持的加密套件,以及另外一些TLS选项)。→_→
4.之后开始第四次过程服务器取得客户端发送的信息,并从客户端给服务器的加密套件中选择一个,同时服务器也给客户端的自己的信息及证书。←
5.两端最后协定好了共同的加密套件,客户机把自己证书给服务器。客户端生成一个对称秘钥,用服务器的秘钥来加密,并发送给服务器→_→
6.服务器解密出客户端发来的对称秘钥,并通过MAC验证之后发送一个加密的结束消息。←
7.客户机用之前的对称秘钥解密过来的消息,验证MAC,如果顺利,则建立通信发送数据。→_→
8. 。。。应用数据←
这里可以看出,其实https降低了访问的效率,但是目前https越来越多的使用了,原因就在于各个运营商对流量的劫持,然而https是不会被劫持的,所以为了不被劫持,很多网站成了https,而且目前谷歌chrome会将大多数http的网站认为其不安全,调到不安全页面。
什么是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 ...
随机推荐
- Ceph monitor故障恢复探讨
1 问题 一般来说,在实际运行中,ceph monitor的个数是2n+1(n>=0)个,在线上至少3个,只要正常的节点数>=n+1,ceph的paxos算法能保证系统的正常运行.所以,对 ...
- android通话时第二通电话呼叫等待提示音音量大小
callnotifier.java public void run() { ...... switch (mToneId) { case TO ...
- Mac OS 中设置VPN(pptp连接方式)
第一步:点击系统设置(如图) 第二步:点击网络,进入网络设置(如图) 第三步:点击+号-创建新服务,创建新的VPN网络连接(如图) 第四步:接口-中选-VPN, VPN类型-中选-PPTP,服务名称- ...
- Linux--U盘安装Ubuntu12.04
前言 最近一直在研究Android内核驱动开发的相关事宜,使用VMware虚拟机虽然可以更方便的开发,但是对于开发环境硬件的要求还是比较高的,若用于开发,效率太低了,所以考虑使用单独PC去装载Linu ...
- 用ASP.NET Core 1.0中实现邮件发送功能-阿里云邮件推送篇
在上篇中用MailKit实现了Asp.net core 邮件发送功能,但一直未解决阿里云邮件推送问题,提交工单一开始的回复不尽如人意,比如您的网络问题,您的用户名密码不正确等,但继续沟通下阿里云客户还 ...
- 美行Thinkpad八通道快捷入口
美行Thinkpad八通道快捷入口 链接: http://shop.lenovo.com/perksoffer/us/en/laptops/thinkpad/?__followRobots=true打 ...
- 加快Bitmap的访问速度
引言 在对Bitmap图片操作的时候,有时需要用到获取或设置像素颜色方法:GetPixel 和 SetPixel, 如果直接对这两个方法进行操作的话速度很慢,这里我们可以通过把数据提取出来操作,然后操 ...
- ABAP程序中关于长文本的处理方法
现象描述 长文本在SAP的运用主要体现在一些notes的记录,或者一些比较长的文本的存取,比如工作流的审批意见,采购申请和采购订单的附加说明等等.如下图: 处理过程 1:SAP中所有的长文本都存在两张 ...
- 2015 年 JavaScript 开发者调查报告
你写什么类型的 JavaScript? 97.4% 的受访者写 JavaScript 的 Web 浏览器,其中有 37% 写移动 Web 应用. 一些参与者回复,他们会在其他地方用 JavaScrip ...
- Ubunbu新建的用户使用SecureCrt无法Table补全、无法高亮
Check 两个地方: 1. 确保/etc/passwd中配置有/bin/bash (这个是用来控制补全). 2. 在~/.bashrc中配置, export TERM=linux (这个是用来控制 ...