http和https

一、概述

HTTPS一般可以理解为加密的HTTP,HTTP是明文方式传输的,存在一些安全隐患。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

http: 数据劫持、数据篡改、

https:加密、证书和完整性保护

二、一些概念

  • 对称加密:采用协商的密钥对数据加密

加密和解密使用的秘钥都是同一个,是对称的。只要保证了密钥的安全,那整个通信过程就可以说具有了机密性,还是存在着被拦截密钥泄露的风险。

  • 非对称加密:实现身份认证和密钥协商

存在两个秘钥,公钥和私钥。两个秘钥是不同的,公钥可以公开给任何人使用,私钥则需要保密。公钥和私钥都可以用来加密解密,但公钥加密后只能用私钥解密,反过来,私钥加密后也只能用公钥解密

在HTTPS通信过程中,采用的是对称加密+非对称加密,也就是混合加密采用非对称加密解决秘钥交换的问题。
具体做法是发送密文的一方使用对方的公钥进行加密处理“对称的密钥”,然后对方用自己的私钥解密拿到“对称的密钥”。这样双方都有对称的密钥,之后使用对称加密方式进行通信。
但是,如果你获取到假的公钥,那么混合加密也并无多大用处,你的数据扔被黑客解决
  • 摘要算法:验证信息的完整性

因此,在上述加密的基础上仍需加上完整性、身份验证的特性,来实现真正的安全,实现这一功能则是摘要算法。可以理解成一种特殊的压缩算法,它能够把任意长度的数据“压缩”成固定长度、而且独一无二的“摘要”字符串,就好像是给这段数据生成了一个数字“指纹”,保证了“数字摘要”和原文是完全等价的。所以,我们只要在原文后附上它的摘要,就能够保证数据的完整性

比如,你发了条消息:“转账 1000 元”,然后再加上一个 SHA-2 的摘要。网站收到后也计算一下消息的摘要,把这两份“指纹”做个对比,如果一致,就说明消息是完整可信的,没有被修改
  • 数字签名:身份验证

数字签名能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。原理其实很简单,就是用私钥加密,公钥解密,签名和公钥一样完全公开,任何人都可以获取。但这个签名只有用私钥对应的公钥才能解开,拿到摘要后,再比对原文验证完整性,就可以像签署文件一样证明消息确实是你发的

和消息本身一样,因为谁都可以发布公钥,我们还缺少防止黑客伪造公钥的手段,也就是说,怎么判断这个公钥就是你的公钥,这时候就需要一个第三方,就是证书验证机构
  • CA验证机构

数字证书也正是互联网上网站的身份证,而颁布数字证书的权威机构也就是常说的CA机构。是一个第三方,CA 对公钥的签名认证要求包括序列号、用途、颁发者、有效时间等等,把这些打成一个包再签名,完整地证明公钥关联的各种信息,形成“数字证书”

三、总结

  • 机密性:混合算法

  • 完整性:摘要算法

  • 身份认证:数字签名

  • 不可否定:数字签名

1.为什么要用对称加密+非对称加密?

对称加密可以保护通信内容的安全,但是如何让对方知道密钥是一个问题,如果直接明文传输密钥,很容易有安全问题,因此需要使用非对称加密对一开始密钥的传输进行保护。

2.为什么不能只用非对称加密?

如果只用非对称加密,浏览器向服务器发送请求,服务器把公钥明文发个浏览器,浏览器使用公钥加密内容 ,服务器使用私钥解密,可以保证从浏览器到服务器的安全,但是服务器到浏览器的安全问题还没有解决。可以再使用一个非对称加密来保证服务器到浏览器的安全。最大的问题就是非对称加密非常耗时,相比之下,对称加密快很多。

3为什么需要数字证书?

使用对称加密+非对称加密的方式时,第一次服务器告诉浏览器公钥A时,可能会被中间人拦截,以自己的公钥B替换公钥A并且保存公钥A,浏览器生成对称加密的密钥X,使用公钥B加密后传给服务器,中间人劫持后使用私钥B,获得了密钥X,再用公钥A加密发送给服务器,服务器解密后也获得密钥X。根本的原因时浏览器无法确认收到的公钥是不是网站自己的,因此需要一个权威的机构颁布权威的证明来解决这个问题。这个证明也就是数字证书。

4.为什么需要数字签名?

CA机构拥有对非对称加密的私钥和公钥,首先会对证书明文数据进行hash,对hash后的值用私钥加密,得到的就是数字签名。明文和数字签名共同组成了数字证书。浏览器得到证书后,会获得明文T,签名S,浏览器使用CA机构公钥对S进行解密得到S+,再对其用证书中指名的hash算法对T进行Hash得到T+,次时比较S+和T+,若是两者相等则证书可信,否则证书不可信。由此可知数字签名是起到验证证书是否可信的作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值