http&https&证书&数字签名
http协议
http是超文本传输协议,是用来网络间传输数据。底层是tcp协议(传输控制协议)。
是一种面向连接的主机对主机层的可靠传输,这里的可靠是指数据丢失极小。Tcp建立一次连接需要经过3次握手,然后才开始传输数据。就是请求-回应-再确认,保证发送和接收。
因此传输数据的效率不及udp数据报文协议(一种非面向连接的不可靠传输协议)。
http协议传输数据,数据在网络间是明文传输的,因此不是很安全,容易被窃取。
https协议
是http协议的安全版,数据传输利用了加密技术,在网络传输中数据就不是处于裸奔状态了。
对称加密和非对称加密
加密有两种,对称加密和非对称加密。
对称加密,即对数据的加密和解密都是用同一个秘钥,这个秘钥由发送方和接收方共同维护。但是共同维护这其中成本较高。
非对称加密,即对数据的加密和解密用不同的秘钥。一般发送方用一个公钥来对发送的数据加密,接收方用一个秘钥来解密。
https采用的加密技术就是非对称加密技术,浏览器端使用服务器提供的公钥进行对数据加密发给服务器,服务器用私钥对数据进行解密。解密后又将要返回的数据用秘钥加密,浏览器又用公钥解密。
有没有发现上面的过程还是有不安全的地方,因为公钥是公开的,在服务器端对数据用秘钥加密后,传输给请求者,这时候其他人就可以截获数据利用公钥解密,这样就可能会发生数据泄露的危险。
有没有更好的解决办法呢。有,就是请求方和服务器之间协议出一个秘钥(具体过程目前不太清楚)。请求方将这个秘钥夹在数据中公钥加密后传输给服务器,服务器用私钥进行解密,从数据中得到这个私钥,然后将要返回的数据用这个私钥加密后传输给请求方。请求方用之前的协议出的秘钥解密。
证书和CA
以上还有一个问题,就是服务器怎么将公钥送到请求者手中呢?就要讲讲证书和CA了。
证书顾名思义,能证明其身份证书。而CA就是颁发安全证书的权威机构。
通常是服务器端会将公钥发给CA,CA会产生一个安全证书,证书里面就包含服务器的公钥。
证书颁发的细节这里先不展开,可以先简单理解为,网站(服务器)向CA提交了申请,CA审核通过后,将证书颁发给网站(服务器),用户访问网站(服务器 )的时候,网站(服务器)将证书给到用户。
数字签名和摘要
上面说到证书,就要提一提数字签名和摘要了。
数字签名和摘要是要来保证证书的合法有效的强力手段。
摘要就是对传输的内容用hash算法对其计算得到一个固定长度的串,就是摘要了。
然后对摘要用CA的私钥进行加密就属于数字签名了。
必须要用CA的公钥才能解密。
证书包含了如下内容:
- 证书包含了颁发证书的机构的名字 -- CA
- 证书内容本身的数字签名(用CA私钥加密)
- 证书持有者的公钥
- 证书签名用到的hash算法
CA本身有自己的证书,江湖人称“根证书”。这个“根证书”是用来证明CA的身份的,本质是一份普通的数字证书。
浏览器通常会内置大多数主流权威CA的根证书。
浏览器内置的CA的根证书包含了如下关键内容:
- CA的公钥(非常重要!!!)
鉴别证书:
完全伪造的证书
这种情况比较简单,对证书进行检查:
- 证书颁发的机构是伪造的:浏览器不认识,直接认为是危险证书
- 证书颁发的机构是确实存在的,于是根据CA名,找到对应内置的CA根证书、CA的公钥。
- 用CA的公钥,对伪造的证书的摘要进行解密,发现解不了。认为是危险证书
篡改过的证书
假设代理通过某种途径,拿到XX的证书,然后将证书的公钥偷偷修改成自己的,然后喜滋滋的认为用户要上钩了。然而太单纯了:
- 检查证书,根据CA名,找到对应的CA根证书,以及CA的公钥。
- 用CA的公钥,对证书的数字签名进行解密,得到对应的证书摘要AA
- 根据证书签名使用的hash算法,计算出当前证书的摘要BB
- 对比AA跟BB,发现不一致--> 判定是危险证书
参考了园里大神的文章 http://www.cnblogs.com/chyingp/p/https-introduction.html
http&https&证书&数字签名的更多相关文章
- https 单向双向认证说明_数字证书, 数字签名, SSL(TLS) , SASL_转
转自:https 单向双向认证说明_数字证书, 数字签名, SSL(TLS) , SASL 因为项目中要用到TLS + SASL 来做安全认证层. 所以看了一些网上的资料, 这里做一个总结. 1. 首 ...
- 【转载】阿里云服务器为网站选配Https证书
数字证书是一个经权威授权机构数字签名.包含公开密钥拥有者信息以及公开密钥的文件,是权威机构颁发给网站的可信凭证.最简单的证书包含一个公开密钥.证书名称以及证书授权中心的数字签名,只在特定的时间内有效. ...
- HTTPS证书申请相关笔记
申请免费的HTTPS证书相关资料 参考资料: HTTPS 检测 苹果ATS检测 什么是ECC证书? 渠道2: Let's Encrypt 优点 缺点 Let's Encrypt 的是否支持非80,44 ...
- 一个空行引起的阿里云负载均衡上部署https证书的问题
今天在阿里云上购买了WoSign的https证书,在证书签发后,在控制台下载证书文件,一共有2个文件,一个是.key文件(私钥文件),一个是.pem文件(证书文件). 然后在阿里云负载均衡“证书管理” ...
- 自制Https证书并在Spring Boot和Nginx中使用
白话Https一文中, 介绍了Https存在的目的和工作原理,但多是偏向于原理性的介绍,本文介绍如何一步一步自制一个能够通过浏览器认证的Https证书,并讲解在Spring Boot环境和Nginx环 ...
- 申请https证书需要注意的4大问题
HTTPS证书是什么 https证书是数字证书中的一种,由受信任的数字证书颁发机构CA如[沃通CA]在验证服务器身份后颁发,具有服务器身份验证和数据传输加密 功能,因其要配置在服务器上,所以也称SSL ...
- 如何申请https证书、搭建https网站
如何申请https证书.搭建https网站 随着国内搜索引擎巨头百度启用全站https加密服务,全国掀起了网站https加密浪潮.越来越多的站点希望通过部署https证书来解决“第三方”对用户隐私的嗅 ...
- https证书申请
因为要为海外组的aws设置https证书,由于使用的是新的域名,所以要先申请购买证书,然后设置上去.由于是第一次做这件事.所以过程有些坎坷. 先购买https证书.看了几家,感觉GoDad ...
- 自制Https证书并在Spring Boot和Nginx中使用(转)
白话Https一文中, 介绍了Https存在的目的和工作原理,但多是偏向于原理性的介绍,本文介绍如何一步一步自制一个能够通过浏览器认证的Https证书,并讲解在Spring Boot环境和Nginx环 ...
随机推荐
- .NET中操作IPicture、IPictureDisp
.NET中操作IPicture.IPictureDisp的小随笔 [题外话] 最近在做一个调用某实验仪器的程序,这个仪器提供了Windows上COM的接口.调用仪器的时候需要传输图片,提供的接口里 ...
- WampServer Mysql配置
WAMP:Windows下的Apache+Mysql+Perl/PHP/Python,一组常用来搭建动态网站或者服务器的开源软件.可点击此处下载WampServer,然后,按照提示安装WAMP.需要说 ...
- 我的Emacs折腾经验谈(三) speedbar , tabbar 还有linum-mode
离上一篇博客已经很遥远了,最近总是各种逛,但没有心思静下来写点东西,这回写一下我之前用的一些东西. Speedbar 首先是speedbar,这个东西是emacs自带的,效果立竿见影,请输入M-x s ...
- WCF学习笔记之传输安全
WCF学习笔记之传输安全 最近学习[WCF全面解析]下册的知识,针对传输安全的内容做一个简单的记录,这边只是简单的记录一些要点:本文的内容均来自[WCF全面解析]下册: WCF的传输安全主要涉及认证. ...
- qt的安装及连接sql使用注意
qt安装与使用 今天写下qt使用的注意事项,qt-project.org上已经更新了qt5的相关库,但是建议不是很熟系qt的朋友,或者说想使用传统qt api而不是qml的朋友, 继续下载老版本4.8 ...
- Tomcat启动时卡在“INFO: Deploying web application directory ”
今天在linux上的tomcat部署一个网站时,在刚启动tomcat的时候提示启动成功,然后也能访问成功. 可是第二次启动时虽然没有报错,但无法访问tomcat,查看了catalina.out日志,发 ...
- PYTHON黑帽编程 4.1 SNIFFER(嗅探器)之数据捕获(下)
上一节(<4.1 SNIFFER(嗅探器)之数据捕获(上)>)中, 我们讲解了通过Raw Socket的方式来编写Sniffer的基本方法. 本节我们继续来编写Sniffer,只不过使用现 ...
- MVC源码解析 - 进入CLR
这一篇是转载自汤姆大叔的一篇随笔. IIS 5 的 ASP.net 请求处理过程 IIS5核心特征是:IIS是允许在一个叫InetInfo.exe的进程上的,所以无论是aspx页面还是html页面都是 ...
- html表单---学习笔记03
第8章 表单 8.1 表单标记<form> <form name="表单名称" method="提交方法" action="处理程序 ...
- 用友金蝶SQL数据库误格式化恢复 SQL数据库修复 SQL数据库恢复 工具 方法
用友金蝶SQL数据库误格式化恢复 SQL数据库修复 SQL数据库恢复 硬盘误格式化.重分区.重装操作系统覆盖 SQL数据解决方法 [客户名称]:贵州铜仁市开天驾驶人培训中心 [软件名称]:用友T3普及 ...