返回首页
深入浅出HTTPS - 朗尊软件,企业级电商平台提供商
发表时间:2019-12-21 阅读:2085
新零售系统
Java商城
HTTPS 协议:可以理解为HTTP+SSL/TLS, 即 HTTP 下加入 SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL,用于安全的 HTTP 数据传输。

       什么是https

要了解什么是https,首先我们要知道什么是httpHTTP 协议(HyperText Transfer Protocol,超文本传输协议):是客户端浏览器或其他程序与Web服务器之间的应用层通信协议 。

HTTPS 协议:可以理解为HTTP+SSL/TLS, 即 HTTP 下加入 SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL,用于安全的 HTTP 数据传输。

简单的说,https就是给http带了一个安全套,即·使别人拿到了信息,也不知道这个里面装的什么。

为什么需要https

 HTTP是明文传输的,也就意味着,介于发送端、接收端中间的任意节点都可以知道你们传输的内容是什么。这些节点可能是路由器、代理等。

 举个最常见的例子,用户登陆。用户输入账号,密码,采用HTTP的话,只要在代理服务器上做点手脚就可以拿到你的密码了。在发送端对密码进行加密?没用的,虽然别人不知道你原始密码是多少,但能够拿到加密后的账号密码,照样能登陆。


HTTPS是如何保障安全的

HTTPS其实就是secure http的意思啦,也就是HTTP的安全升级版。稍微了解网络基础的同学都知道,HTTP是应用层协议,位于HTTP协议之下是传输协议TCPTCP负责传输,HTTP则定义了数据如何进行包装。



HTTPS相对于HTTP有哪些不同呢?其实就是在HTTPTCP中间加多了一层加密层TLS/SSL

什么是TLS/SSL

通俗的讲,TLSSSL其实是类似的东西,SSL是个加密套件,负责对HTTP的数据进行加密。TLSSSL的升级版。现在提到HTTPS,加密套件基本指的是TLS

 原先是应用层将数据直接给到TCP进行传输,现在改成应用层将数据给到TLS/SSL,将数据加密后,再给到TCP进行传输。

大致如图所示


就是这么回事。将数据加密后再传输,而不是任由数据在复杂而又充满危险的网络上明文裸奔,在很大程度上确保了数据的安全。这样的话,即使数据被中间节点截获,坏人也看不懂。

HTTPS 原理是什么?

对安全或密码学基础有了解的同学,应该知道常见的加密手段。一般来说,加密分为对称加密、非对称加密(也叫公开密钥加密)。

对称加密

对称加密的意思就是,加密数据用的密钥,跟解密数据用的密钥是一样的。

对称加密的优点在于加密、解密效率通常比较高。缺点在于,数据发送方、数据接收方需要协商、共享同一把密钥,并确保密钥不泄露给其他人。此外,对于多个有数据交换需求的个体,两两之间需要分配并维护一把密钥,这个带来的成本基本是不可接受的。




非对称加密

举个非对称加密的例子

       • 登陆用户:小明

       • 授权网站:小羊云商

   小明是小羊云商的用户,小羊云商出于安全考虑在登陆的地方用了非对称加密。小明在登陆界面敲入账号、密码,点击“登陆”。于是,浏览器利用公钥对小明的账号密码进行了加密,并向小羊云商发送登陆请求。小羊云商的登陆授权程序通过私钥,将账号、密码解密,并验证通过。之后,将小明的个人信息(含隐私),通过私钥加密后,传输回浏览器。浏览器通过公钥解密数据,并展示给小明。

步骤一: 小明输入账号密码 > 浏览器用公钥加密 > 请求发送给小羊云商

  步骤二: 小羊云商用私钥解密,验证通过 > 获取小明社交数据,用私钥加密 > 浏览器用公钥解密数据,并展示。

 用非对称加密,就能解决数据传输安全的问题了吗?前面特意强调了一下,私钥加密的数据,公钥是可以解开的,而公钥又是加密的。也就是说,非对称加密只能保证单向数据传输的安全性。 此外,还有公钥如何分发/获取的问题。下面会对这两个问题进行进一步的探讨。

前面举了小明登陆小羊云商的例子,并提到,单纯使用公开密钥加密存在两个比较明显的问题。那就是公钥如何获取和数据传输仅单向安全问题。

问题一:公钥如何获取??

浏览器是怎么获得小羊云商的公钥的?当然,小明可以自己去网上查,小羊云商也可以将公钥贴在自己的主页。然而,对于一个动不动就成败上千万的社交网站来说,会给用户造成极大的不便利,毕竟大部分用户都不知道“公钥”是什么东西。

公钥是怎么获取的?由证书、CA(证书颁发机构)等颁发。

什么是证书?

可以暂时把它理解为网站的身份证。这个身份证里包含了很多信息,其中就包含了上面提到的公钥。

也就是说,当小明、小王、小光等用户访问小羊云商的时候,再也不用满世界的找小羊云商的公钥了。当他们访问小羊云商的时候,小羊云商就会把证书发给浏览器,告诉他们说,乖,用这个里面的公钥加密数据。

 这里有个问题,所谓的“证书”是哪来的?这就是下面要提到的CA负责的活了。

什么是CA(证书颁发机构)

证书颁发的细节这里先不展开,可以先简单理解为,网站向CA提交了申请,CA审核通过后,将证书颁发给网站,用户访问网站的时候,网站将证书给到用户。至于证书的细节,同样在后面讲到。

问题二:数据传输仅单向安全

公钥加密的数据,只有私钥能解开,于是小明的账号、密码是安全了,半路不怕被拦截。

然后有个很大的问题:私钥加密的数据,公钥也能解开。加上公钥是公开的,小明的隐私数据相当于在网上换了种方式裸奔。

上面提到,通过私钥加密的数据,可以用公钥解密还原。那么,这是不是就意味着,网站传给用户的数据是不安全的?答案是:是!

看到这里,可能你心里会有这样想:用了HTTPS,数据还是裸奔,这么不靠谱,还不如直接用HTTP来的省事。

但是,为什么业界对网站HTTPS化的呼声越来越高呢?这明显跟我们的感性认识相违背啊。这是因为HTTPS虽然用到了公开密钥加密,但同时也结合了其他手段,如对称加密,来确保授权、加密传输的效率、安全性。

概括来说,整个简化的加密通信的流程就是:

    1. 小明访问小羊云商,小羊云商将自己的证书给到小明(其实是给到浏览器,小明不会有感知)

    2. 浏览器从证书中拿到小羊云商的公钥A[CA的公钥解开数字证书]

    3. 浏览器生成一个只有自己的对称密钥B,用公钥A加密,并传给小羊云商(其实是有协商的过程,这里为了便于理解先简化)

    4.小羊云商通过私钥解密,拿到对称密钥B

    5. 浏览器、小羊云商之后的数据通信,都用密钥B进行加密

注意:对于每个访问XX的用户,生成的对称密钥B理论上来说都是不一样的。比如小明、小王、小光,可能生成的就是B1B2B3.




证书可能存在哪些问题

了解了HTTPS加密通信的流程后,对于数据裸奔的疑虑应该基本打消了。然而,细心的观众可能又有疑问了:怎么样确保证书有合法有效的?

证书非法可能有两种情况:

      1. 证书是伪造的:压根不是CA颁发的

      2. 证书被篡改过:比如将小羊云商网站的公钥给替换了

接下来针对之前提到的两种非法证书的场景,讲解下怎么识别。

篡改过的证书

假设代理通过某种途径,拿到XX的证书,然后将证书的公钥偷偷修改成自己的,然后喜滋滋的认为用户要上钩了。然而太单纯了:

        1. 检查证书,根据CA名,找到对应的CA根证书,以及CA的公钥。

        2. 用CA的公钥,对证书的数字签名进行解密,得到对应的证书摘要AA

        3. 根据证书签名使用的hash算法,计算出当前证书的摘要BB

        4. 对比AABB,发现不一致–> 判定是危险证书

完全伪造的证书

这种情况比较简单,对证书进行检查:

        1. 证书颁发的机构是伪造的:浏览器不认识,直接认为是危险证书

        2. 证书颁发的机构是确实存在的,于是根据CA名,找到对应内置的CA根证书、CA的公钥。

        3. 用CA的公钥,对伪造的证书的摘要进行解密,发现解不了。认为是危险证书


文章来源:广州朗尊软件科技有限公司
【朗尊软件】是中国领先的专业电商平台提供商,秉承着“专业塑造传奇,用心成就电商”的理念, 专注于为用户提供一体化的电商解决方案及服务,搭建垂直行业垂直电商一站式营销管理工具。目前拥有自主研发的电子商务平台产品:SAAS云平台、微商城小程序、云商城、云小店、代理商平台、B2B2C商城、B2B大宗交易平台、跨境电商服务、大数据平台搭建、微服务架构等产品、各种定制商城及解决方案。
网站声明:以上内容为朗尊软件官方网站的原创文章,如需转载,请注明出处,谢谢合作!
上一篇: 朗尊软件合作伙伴联手广东广播电视台启动大型纪录片《茶路寻梦》
下一篇: 微信小店小程序能否让微信小店起死回生?
相关文章
区块链技术的学习 - 朗尊软件,企业级电商平台提供商
Legendshop电商平台大讲堂 之html页面头部声明的含义 - 朗尊软件,企业级电商平台提供商
Java的实现二级域名访问卖家首页 - 朗尊软件,企业级电商平台提供商
开源商城系统介绍企业写开源多用户商城 - 朗尊软件,企业级电商平台提供商
供应链金融浅析 - 朗尊软件,企业级电商平台提供商
电商头条新闻
1
工业行业 | 工业产品B2B跨境电商解决方案
2
私域电商如何赶上智能热潮?
3
三一全球购 | B2B2C电商平台+员工福利平台的定制解决方案
4
跨境电商 | B2B2C跨境电商系统解决方案
5
社群团购系统——社区流量与社交电商融合
热门标签
小羊直播
供应链
电商系统
Java商城
电商平台
B2B商城
跨境电商
商城平台
新零售系统
云商城系统
B2B2C商城系统
多用户商城
微服务商城
供应链商城
商城系统
电商直播系统
私域电商
大宗交易平台
数字化转型
直播供应链
全渠道零售
O2O商城系统
java开源商城
SAAS云平台
B2C商城系统
SaaS系统
生鲜电商
用户标签
APP
S2B
MRO平台
微信小程序商城
移动商城
社区电商
营销活动
新零售电商
分销系统
门店管理
分销体系
社交电商
直播电商
数字化
客服系统
社群电商
引爆流量
供应链金融
员工福利平台
工会福利商城
企业智慧采购平台
机械设备
抖音电商
数智化
数字化
区块链
S2B2C
B2B2B
订单融资
数字中台
VUE
用户标签
仓单融资
大数据
应收账款
集采代采
医药电商
推荐阅读
公告:【微信小程序备案】9月1日起,微信小程序需完成备案才可上架!
工业行业 | 工业产品B2B跨境电商解决方案
私域电商如何赶上智能热潮?
三一全球购 | B2B2C电商平台+员工福利平台的定制解决方案
跨境电商 | B2B2C跨境电商系统解决方案