HTTPS 基本流程3】的更多相关文章

[信息安全]系列博客:http://www.cnblogs.com/linianhui/category/985957.html 0. 简单回顾 在前面两篇博客中介绍了密码相关的一些基本工具,包括(对称密码,公钥密码,密码散列函数,混合密码系统,消息认证码码,数字签名,伪随机数,数字证书)这几个.其中它们之间也是互相依赖的,我们来简单的梳理一下它们的依赖关系. 对称密码:无. 公钥密码:无. 密码散列函数:无. 伪随机数:可以利用密码散列函数来实现,也可以不使用. 混合密码系统:对称密码 + 公…
0.前言 前一阵子想写一个HTTPS的嗅探工具,之前只是大致了解SSL/TLS协议的加密流程,真正上起手来一步一步分析发现还是有点复杂的,于是我参考了wireshark的源码以及各种RFC,弄清楚了SSL/TLS从证书传递到密钥交换,再到数据传输的具体过程,算是小有收获,在这里分享给大家. 因为我想结合一个具体的简单的例子来做分析,所以本篇文章先介绍如何简单搭建一个环境来帮助我们下一步的分析,因此不打算亲自动手实践的朋友可以跳过直接进入下一篇,当然本篇文章还是有些小知识点的. 1.前期准备 1.…
原文地址 https://blog.csdn.net/wangweilica6/article/details/50171457 一.简介 前一篇文章,我总结了下,如何部署https服务,开通ssl通道.但是对于https整个通信流程还有许多疑惑的地方,所以花了好几天看了各种资料,其中有的资料也误导了我,导致我走了些弯路.接下来我就来总结一下,帮助初学者理清https通信流程. 二.名词解释 1.签名 签名就是在信息的后面再加上一段内容,可以证明信息没有被修改过,怎么样可以达到这个效果呢?一般是…
1. https 通信流程 ①客户端的浏览器向服务器传送客户端SSL 协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息.②服务器向客户端传送SSL 协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书.③客户利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的CA 是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相…
一.建立连接是三次握手 为什么三次握手?前两次握手为了确认服务端能正常收到客户端的请求并愿意应答,后两次握手是为了确认客户端能正常收到服务端的请求并愿意应答.三次握手可以避免意外建立错误连接而导致浪费的情况,比如客户端上一次连接的包延迟现在才到服务器,此时服务器发应答,客户端此时不会发确认包,从而不会建立连接. 二.释放四次挥手 因为TCP是全双工(双向数据传输)协议,前两次挥手表示客户端停止发送数据并得到服务端响应,此时可以从服务端单向发数据到客户端,后两次挥手表示服务端停止发送数据并得到客户…
HTTPS加密流程 由于HTTP的内容在网络上实际是明文传输,并且也没有身份验证之类的安全措施,所以容易遭到挟持与攻击 HTTPS是通过SSL(安全套接层)和TLS(安全传输协议)的组合使用,加密TCP载荷即HTTP报文内容,同时通过不对称密钥方式认证身份,保证传输的安全可靠 即:HTTP+加密+认证+完整性保护=HTTPS 对称加密与非对称加密 对称加密:编/解码使用相同密钥的算法,一般是共享密钥 非对称加密:非对称加密算法需要两个密钥,公开密钥(publickey:简称公钥)和私有密钥(pr…
HTTPS工作流程 RSA算法 RSA的密钥分成两个部分: PublicKey 加密数据 验证签名 不能解密 任何人都可以获得 Private Key 数据签名(摘要算法) 解密 加密(不用此功能) 不公开 RSA算法的特点: 公钥端到私钥端的通讯却是安全的 因为只有私钥能解密 无法解决公钥端信息可信的问题 任何人都可以拿到公钥给私钥端发信息 私钥端给公钥端回消息不安全 私钥发的消息公钥可解密,任何人都可看到 私钥回的消息可以签名,保证无法被篡改 适合场景: 发消息的消息要求绝对安全 回消息要求…
背景: https基于SSL,目的是保护http通信的过程,防止中间人篡改信息,或假冒服务端的问题.   要解决的问题: 1. 客户端如何证明是与正确的服务端进行通信 2. 客户端如何确认收到服务端的信息没有经中途某人篡改 3. 如何保证即使消息被中间人截获,也不能知道消息的内容   通信流程:   0. 在目前主流浏览器.Android.IOS手机中,会内置一些常用机构颁发的根证书(证书颁发机构的公钥): 0.1 某服务器要申请证书,必须先自行生成一对公私钥: 0.2 服务器将公钥交给第三方证…
2.进入正题 上篇文章介绍了如何简单搭建一个环境帮助我们分析,今天我们就进入正题,开始在这个环境下分析. 我们使用IE浏览器访问Web服务器根目录的test.txt文件并抓包,可以抓到如下6个包(前面的TCP三次握手在此略过): 使用服务器私钥解密后的包是这个样子的: 接下来我们就结合这6个包来分析一下一个完整的HTTPS加解密流程. 第1包 Client Hello是TLS握手的第一步,客户端会将一个随机数.支持的加密套件.压缩算法等信息发送给服务器. 第2包 Server Hello,用来响…
 引用其它博主博客,在这里谢谢这位博主,原博客地址:https://blog.csdn.net/xincai/article/details/51954468 1,下面,用一幅图展示一下https建立连接的整个过程 ①客户端的浏览器向服务器传送客户端SSL 协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息. ②服务器向客户端传送SSL 协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书. ③客户利用服务器传过来的信…