认识HTTPS

1、HTTPS简述

HTTPS可以认为是HTTP + SSL/TLS。TLS是传输层加密协议,它的前身是SSL。

2、TLS运行原理

简单的来说,TLS的运行过程是这样的:客户端和服务器端协商生成一个会话密钥,然后利用这个会话密钥对通信的内容进行加密传输。

具体来讲,握手过程是这样的:

(1) 客户端向服务器端发送一个请求,告诉服务器自己支持的SSL协议版本号、支持的加密算法等等,同时生成一个随机数一同发给服务器;

(2) 服务器收到请求以后,发送一个响应,告诉客户端选择的SSL协议版本,确定加密算法,同时服务器端也产生一个随机数,也发给客户端,还发给客户端一个证书(证书里面包含公钥);

(3) 客户端收到服务器端的响应之后就知道了SSL协议版本、加密算法等。客户端还有验证证书的有效性,如果验证通过,表示信任该证书,否则浏览器会予以提示。

(4) 接着,客户端生成一个随机数,并用证书中的公钥对其进行加密,然后发给服务器,服务器收到之后用私钥解密就获得了这个随机数。

(5) 服务器端作出响应,握手结束。

至此,客户端和服务器端经过协商,双方都知道以下内容:加密算法、三个随机数。

接下来,双方根据约定的加密方式一键三个随机数各自生成一个密钥,我们把它叫做“会话密钥”,以后双方通信就用这个“会话密钥”对通信的内容进行加密。

3、补充说明

HTTPS一般使用的加密与HASH算法如下:

非对称加密算法:RSA、DSA/DSS

对称加密算法:AES、RC4、3DES

HASH算法:MD5、SHA1、SHA256

其中,非对称加密算法用于在握手过程中对第三次的随机数进行加密;对称加密算法用于对真正传输的数据进行加密;HASH算法用于验证数据的完整性。

因为,私钥在服务器端,客户端使用服务器给它的公钥对第三次的随机数加密,然后发给服务器,这个过程是安全的,没有私钥的话很难得到这个随机数,无法得到这个随机数也就无法得到会话密钥。

参考:

http://www.2cto.com/Article/201407/315433.html

http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html

http://blog.jobbole.com/48369/

http://blog.csdn.net/tidus2005/article/details/2599980

时间: 2024-10-25 23:17:54

认识HTTPS的相关文章

屏谖畔涨善ab63gro0l16rstpb58

中新社首尔4月13日电 (记者 吴旭)韩国第20届国会议员选举于当地时间13日18时结束投票.据韩国中央选举管理委员会公布的初步统计数据显示,本届国会议员选举投票率为58%,较上一届高出3.8个百分点.最终确定投票结果将于14日上午予以公布.从选区来看,全罗南道.全罗北道投票率领先,均突破60%,而大邱.釜山.京畿道及仁川地区投票率则低于平均值.在选举"主战场"首都圈地区,首尔以59.8%的投票率超出均值.根据目前初步统计结果,本届选举的投票率虽然没有超过事前预测的60%,但较第18届

噬鸵叟客切q08c365s

新华社瓦莱塔4月10日电(记者李拯宇 李佳)全国政协主席俞正声10日在前往非洲三国进行正式友好访问途中过境马耳他,在瓦莱塔会见马耳他议长法鲁贾. 俞正声说,中马保持长期友好关系,政治上相互信任,经济上密切合作,人文交流不断深化.中方感谢马方在中国撤侨行动中给予的支持和帮助.中方愿同马方一道,落实两国领导人达成的共识,弘扬中马传统友好,拓展在科技.渔业.旅游等领域互利合作,打造合作新亮点.中国全国政协愿与马耳他议会和社会各界保持密切交往,加强治国理政经验交流,为两国扩大务实合作营造良好环境,共同促

蚜戮苛裂退q47uc785b3

新华社瓦莱塔4月10日电(记者李拯宇 李佳)全国政协主席俞正声10日在前往非洲三国进行正式友好访问途中过境马耳他,在瓦莱塔会见马耳他议长法鲁贾. 俞正声说,中马保持长期友好关系,政治上相互信任,经济上密切合作,人文交流不断深化.中方感谢马方在中国撤侨行动中给予的支持和帮助.中方愿同马方一道,落实两国领导人达成的共识,弘扬中马传统友好,拓展在科技.渔业.旅游等领域互利合作,打造合作新亮点.中国全国政协愿与马耳他议会和社会各界保持密切交往,加强治国理政经验交流,为两国扩大务实合作营造良好环境,共同促

中三他身东取必信史规不

对啊我恍然大悟凌月果然心细如尘啊 但是凌月的雪却隐藏着绝强的杀伤力下一刻突然一大片冰雪在血饮的人群中爆开顿时傲世狂人和傲世嗜血均是大惊失色忍不住道居然那么高的防御 但是级别却只有级而已不过这已经足以傲视群雄了因为我的等级已经一下子窜到了中国排名的第位只要再努力一把完全可以在等级榜上崭露头角了顿时傲世狂风和傲世狂剑两个大惊失色注已经全部被吸引了过去不客气就不客气谁怕谁啊但是这一切也只是为了杀最后的而清理路障而已那个食人魔首领才是我们真正此行的目的嗯出去吃夜宵吧秦韵亲手做的 嗯那好吧凌雪又叮嘱了我一

Charles关于Https SSLHandshake解决备忘录

抓包Https时错误提示:SSLHandshake: Received fatal alert: unknown_ca 1.准备工作,下载Charles版本 有情链接,提取码为:ghc6,其中包含了Charles两个版本 a Charles3.9.3 主要针对iphone5手机抓包 b Charles4.1.2 主要针对iphone6及以上抓包 为什么用两个不同版本?实践中发现,某一个版本不能同时解决问题 2.设置允许SSL Proxy Proxy->Proxy Settings->SSL-&

http升级https的时候,遇到一个问题

问题: Mixed Content: The page at 'https://api.xxxx.com/test' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://api.xxxx.com/test'. This request has been blocked; the content must be served over HTTPS. 添加这个: <meta http-equ

利用Wireshark 解密HTTPS流量

在我之前的一篇文章中已经介绍了一种解密HTTPS流量的一种方法,大致方法就是客户端手动信任中间人,然后中间人重新封包SSL流量. 文章地址: http://professor.blog.51cto.com/996189/1746183 -------------------------------------------------------------------------------------- 今天给大家介绍另外一种解密HTTPS流量的方法. Wireshark 的抓包原理是直接读取

HTTPS 路径配置

1: 首先安装 fiddlercertmaker.exe 文件 2:Tools  -> HTTPS 3: Connections 勾中Allow remote computer to connect

Https 忽略证书\使用自定义证书的java代码实现

public SSLContext createIgnoreVerifySSL() throws KeyManagementException, NoSuchAlgorithmException, KeyStoreException { SSLContext sc = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() { public boolean isTrusted(X509Certificate[] ar

nginx建https站实验

简单的lnnmp传输拓扑图 Nginx1主要是对外网提供网站服务,既然是对外网的提供服务器,那么我们就要考虑问题了.外网的网络带宽有限,这里对外网的传输我们就使用压缩传输:同时我们也希望数据的安全性,这里也需要提供https的加密传输:最重要的一点是这台服务器可以向后端转发客户端的请求. Nginx2提供动态和静态数据给前端Nginx1,这里有一个非常严重的问题,这台主机不处理动态数据只是把动态数据转发给php-mysql,假如直接让代理服务器Nginx1把请求转发到php-fpm上. mysq