转载自博客园文章:
http://kb.cnblogs.com/page/112881/
我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。
HTTPS简介
HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。具体是如何进行加密,解密,验证的,且看下图。
1. 客户端发起HTTPS请求
这个没什么好说的,就是用户在浏览器里输入一个https网址,然后连接到server的443端口。
2. 服务端的配置
采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面(startssl就是个不错的选择,有1年的免费服务)。这套证书其实就是一对公钥和私钥。如果对公钥和私钥不太理解,可以想象成一把钥匙和一个锁头,只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。
3. 传送证书
这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等等。
4. 客户端解析证书
这部分工作是有客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随机值。然后用证书对该随机值进行加密。就好像上面说的,把随机值用锁头锁起来,这样除非有钥匙,不然看不到被锁住的内容。
5. 传送加密信息
这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。
6. 服务段解密信息
服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容通过该值进行对称加密。所谓对称加密就是,将信息和私钥通过某种算法混合在一起,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全。
7. 传输加密后的信息
这部分信息是服务段用私钥加密后的信息,可以在客户端被还原。
8. 客户端解密信息
客户端用之前生成的私钥解密服务段传过来的信息,于是获取了解密后的内容。整个过程第三方即使监听到了数据,也束手无策。
- 大小: 73 KB
分享到:
相关推荐
白话图解HTTPS原理 最近看过几篇文章,内容是关于“全民HTTPS”的。为什么HTTPS,突然会受到如此多业内人士的青睐呢?HTTPS究竟是什么呢?它与HTTP又有怎样的区别呢?
我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议
以图片方式来说明每种YUV格式的像素存储方式,包含全部常用的YUV格式 文档保存在Excel文件中,每个Sheet页对应一种YUV格式 ...yuv数据格式分析参考博客:https://hellogoogle.blog.csdn.net/article/details/103242535
NULL 博文链接:https://youngmaster.iteye.com/blog/372547
NULL 博文链接:https://128kj.iteye.com/blog/1715073
HTTPS单双向认证原理图解,自签泛域名证书生成及使用,方便测试和研发使用。
《Blender图解教程:手把手教你做一个马里奥金币 之 纯建模方法》教程的附件下载 原教程地址:https://orzgame.blog.csdn.net/article/details/105729889
博文链接:https://share888.iteye.com/blog/81330
共分为七步: 1. 安装证书服务 2. 生成证书申请 3. 提交证书申请 4. 颁发下载证书 5. 处理导入证书 6. 配置SSL验证 7.测试https验证
《图解HTTP》随笔,https://blog.csdn.net/qq_38746380/article/details/102688140 的补充版本。
非递归遍历树图解,代码:https://blog.csdn.net/u012606924/article/details/91039044
《图解HTTP》的一些重要内容的摘要,没有积分的可以去 https://blog.csdn.net/weixin_38055979/article/details/88722254 看我发的博文(博文里无法加载图片)。
OpenAI GPT-2(https://openai.com/blog/better-language-models/)表现出了令人印象深刻的能力,它能够写出连贯而充满激情的文章,这超出了我们当前对语言模型的预期效果。GPT-2 不是一个特别新颖的架构,而是一种与 ...
【虚拟机】VirtualBox简体中文版下载安装使用图解教程 此教程用的是VirtualBox 4.1.2.74291版本。 运行环境:WinXP, Win7, Win8, WinVista, Win2003, Win2000 绿色认证:无插件 放心使用 VirtualBox官网下载:...
kudu与hbase底层脉络图解 ★★★https://blog.csdn.net/qq_25073261/article/details/108140000 https://blog.csdn.net/lingbo229/article/details/80359987 ...
NULL 博文链接:https://949507869-qq-com.iteye.com/blog/1482164
Blender图解教程:高仿版超级马里奥普通版源文件,包含贴图。教程地址:https://orzgame.blog.csdn.net/article/details/105998040
NULL 博文链接:https://jilongliang.iteye.com/blog/1733895