HTTPS科普扫盲帖

字体大小,可以调大哦: [] [] []

https数据加密 HTTPS加密 https证书申请 https和http有什么区别 https免费证书

文/程序猿小卡

为什么需要https

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

举个最常见的例子,用户登陆。用户输入账号,密码,采用HTTP的话,只要在代理服务器上做点手脚就可以拿到你的密码了。

用户登陆 –> 代理服务器(做手脚)–> 实际授权服务器

在发送端对密码进行加密?没用的,虽然别人不知道你原始密码是多少,但能够拿到加密后的账号密码,照样能登陆。

HTTPS是如何保障安全的

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

HTTP –> TCP (明文传输)

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

神马是TLS/SSL?

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

传输加密的流程

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

大致如图所示。

https数据加密 HTTPS加密 https证书申请 https和http有什么区别 https免费证书

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

HTTPS是如何加密数据的

对安全或密码学基础有了解

  • 淘宝客教程
  • 的同学,应该知道常见的加密手段。一般来说,加密分为对称加密、非对称加密(也叫公开密钥加密)。

    对称加密

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

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

    非对称加密

    非对称加密的意思就是,加密数据用的密钥(公钥),跟解密数据用的密钥(私钥)是不一样的。

    什么叫做公钥呢?其实就是字面上的意思——公开的密钥,谁都可以查到。因此非对称加密也叫做公开密钥加密。

    相对应的,私钥就是非公开的密钥,一般是由网站的管理员持有。

    公钥、私钥两个有什么联系呢?

    简单的说就是,通过公钥加密的数据,只能通过私钥解开。通过私钥加密的数据,只能通过公钥解开。

    很多同学都知道用私钥能解开公钥加密的数据,但忽略了一点,私钥加密的数据,同样可以用公钥解密出来。而这点对于理解HTTPS的整套加密、授权体系非常关键。

    举个非对称加密的例子

    • 登陆用户:小明
    • 授权网站:某知名社交网站(以下简称XX)

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

    • 步骤一: 小明输入账号密码 –> 浏览器用公钥加密 –> 请求发送给XX
    • 步骤二: XX用私钥解密,验证通过 –> 获取小明社交数据,用私钥加
    • 互联网新闻
    • 密 –> 浏览器用公钥解密数据,并展示。

    用非对称加密,就能解决数据传输安全的问题了吗?前面特意强调了一下,私钥加密的数据,公钥是可以解开的,而公钥又是加密的。也就是说,非对称加密只能保证单向数据传输的安全性。

    此外,还有公钥如何分发/获取的问题。下面会对这两个问题进行进一步的探讨。

     

    公开密钥加密:两个明显的问题

     

    前面举了小明登陆社交网站XX的例子,并提到,单纯使用公开密钥加密存在两个比较明显的问题。

    1. 公钥如何获取
    2. 数据传输仅单向安全

     

    问题一:公钥如何获取

     

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

     

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

     

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

    然后有个很大的问题:私钥加密的数据,公钥也能解开。加上公钥是公开的,小明的隐私数据相当于在网上换了种方式裸奔。(中间代理服务器拿到了公钥后,毫不犹豫的就可以解密小明的数据)

    下面就分别针对这两个问题进行解答。

     

    问题一:公钥如何获取

     

    这里要涉及两个非常重要的概念:证书、CA(证书颁发机构)。

    证书

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

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

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

    注:相关网站建设技巧阅读请移步到建站教程频道。

    网上赚钱本文来自:.
    欢迎转载,转载请注明本文链接: HTTPS科普扫盲帖:http://www.tkgao.com/whseo/5580.htm
    云钊博客转载请注明本文出处谢谢!

    标签:
    更多
    不好意思,评论已被关闭!