一文让你搞懂 网站https有什么用

HTTPS(全称:超文本传输协议安全)是一种以安全为目的的HTTP通道 。简单来说就是HTTP的安全版本 。本文将深入介绍其原理 。
1
为什么需要https
使用https的原因其实很简单 , 只是因为http不安全 。
当我们把私人数据(比如你的银行卡和身份证)发送到服务器时 , 如果我们使用http进行通信 。那么安全性将得不到保证 。
首先 , 在数据传输的过程中 , 数据可能会被中间人抓住 , 然后数据会被中间人窃取 。
其次 , 中间人获取数据后 , 可能会对数据进行修改或替换 , 然后发送给服务器 。
最后 , 服务器收到数据后 , 无法确定数据是否被修改或替换 。当然 , 如果服务器无法判断数据是否真的来自客户端 。
【一文让你搞懂 网站https有什么用】综上所述 , http有三个缺点:
无法保证消息的保密性 无法保证消息的完整性和准确性 无法保证消息来源的可靠性Https就是为了解决上述问题应运而生的 。
2
基本概念
为了解决http中存在的问题 , https通过一些加解密、数字证书和数字签名技术来实现 。我们先介绍一下这些技术的基本概念 。
对称加密与非对称加密 为了保证消息的机密性 , 需要加密和解密 。目前主流的加解密算法分为对称加密和非对称加密 。
1.对称加密(共享密钥加密):客户端和服务器共享一个密钥来加密和解密消息 , 这被称为对称加密 。客户端和服务器就加密密钥达成一致 。客户端在发送消息前用这个密钥对消息进行加密 , 发送到服务器后 , 服务器用这个密钥解密得到消息 。
加密的优势:
对称加密解决了http中消息保密性的问题对称加密的缺点:
对称加密虽然保证了消息保密性 , 但是因为客户端和服务器共享一个密匙 , 这样就使得密匙特别容易泄露 。因为密匙泄露风险较高 , 所以很难保证消息来源的可靠性、消息的完整性和准确性 。2.非对称加密(公钥加密):既然对称加密中密钥如此容易泄露 , 我们可以采用一种非对称加密的方法来解决 。
使用非对称加密时 , 客户端和服务器都有一个公钥和一个私钥 。公钥可以公开 , 私钥只能自己看到 。
用公钥加密的消息只能用相应的私钥解密 。相反 , 用私钥加密的消息只能用公钥解密 。这样 , 客户端在发送消息之前用服务器的公钥加密消息 , 然后在服务器收到消息后用自己的私钥解密 。
不对称加密的优势:
非对称加密采用公有密匙和私有密匙的方式 , 解决了http中消息保密性问题 , 而且使得私有密匙泄露的风险降低 。因为公匙加密的消息只有对应的私匙才能解开 , 所以较大程度上保证了消息的来源性以及消息的准确性和完整性 。不对称加密的缺点:
非对称加密时需要使用到接收方的公匙对消息进行加密 , 但是公匙不是保密的 , 任何人都可以拿到 , 中间人也可以 。那么中间人可以做两件事 , 第一件是中间人可以在客户端与服务器交换公匙的时候 , 将客户端的公匙替换成自己的 。这样服务器拿到的公匙将不是客户端的 , 而是服务器的 。服务器也无法判断公匙来源的正确性 。第二件是中间人可以不替换公匙 , 但是他可以截获客户端发来的消息 , 然后篡改 , 然后用服务器的公匙加密再发往服务器 , 服务器将收到错误的消息 。非对称加密的性能相对对称加密来说会慢上几倍甚至几百倍 , 比较消耗系统资源 。正是因为如此 , https将两种加密结合了起来 。数字证书和数字签名
为了解决非对称加密中公钥来源的不安全性 。我们可以使用数字证书和数字签名来解决这个问题 。
1.申请数码证书
实际上 , 有一些专门的颁发数字证书的机构 , 我们称之为CA认证机构 。
我们(服务器)可以从这些ca申请数字证书 。
申请流程大致如下:
我本地老公做一把钥匙 , 然后拿着他的公钥和其他信息(比如公司名称等 。)向CA申请数字证书 。
CA得到信息后 , 会选择一种单向哈希算法(比如MD5)对信息进行加密 , 加密的东西叫做摘要 。


推荐阅读