简单明白HTTPS原理和TLS认证

127 阅读4分钟

开始之前,一个小小的SSL知识点,由于历史原因,可能大家平常所说的SSL技术,实际是指TLS协议。详见这里

思维实验

做一个简单思维实验,我们如何把一张写满信息的信安全送到一个服务中心手中呢?然后服务中心怎么把回信安全送回到咱们手中呢?

  • 第一种方式:跟服务中心约好采用同一加密方式,然后快乐书信往来?
    好像是一回事,但如果所有人采用同一加密方式,那对于陌生人可以造访的服务中心来说,形同虚设。可能会出现:陌生人需要和服务中心通信=>陌生人获取加密方式=>陌生人变身坏人=>用加密方式偷看往来书信=>偷取信息去犯罪。

  • 第二种方式:那采用只能加密不能解密的方式呢?服务中心公布一种全新加密方式,要求送来书信先进行加密,但由于加密方式十分复杂,书信需要服务中心特有的解密手段才能解密。这样不就可以快乐书信往来了?
    有道理~但服务中心怎么回信呢?采用同样的方式?服务中心去获取用户的特有加密方式,然后回信进行加密?十分科学,但是现实情况中,服务中心的工作人员大概会骂街了,每次回信都要去写信人那里问问加密方式,太累了。如果存储下来,又要考虑写信人会不会变更加密方式,存储多久,存储的仓库要占服务中心多少个房间。

  • 第三种方式:那第二种方式+第一种方式呢?毕竟我们最喜欢中和了先用第二种方式去和服务中心悄悄对话,保证咱们和服务中心不被第三人知道,然后和服务中心,咱们这里有个临时的只针对咱们的加密解密手段,再采用第一种方式快乐书信往来?
    合理!十分合理!

嘿嘿,好像实验就那么结束了?no,no~ no!我们一直在说信的事情,但如果我们送错人了呢?有个超级魔术师伪造了一个服务中心,和我们要求的服务中心一模一样怎么办?这个伪造的服务中心,可能一直在给我们和服务中心进行传话,但某天它性情大变,手上拿着我们曾经真诚商讨过的加密解密手段,去犯罪呢!


所以我们需要认证服务中心!
快速想到,在第一次获取服务中心的加密方式时,可能这时服务中心就已经是伪服务中心了。我们从这里下手,让服务中心公布它们的合法证书(官方机构权威颁布),我们拿到证书后,用我们良民自己的解密手段去解密,判断证书真伪和获取服务中心加密手段,然后再进行我们所说的第三种方法!perfect~


专业化

恭喜我们大概思考出了一套比较完美的安全方案:先单边加密,再用商量出的加密解密方式进行双边加密,同时第一次交流时需要认证对方。那我们换个名称吧?显得专业一些,第一种方式,双方都采用同一加密解密手段称作对称加密。第二种方法,信息只加密不解密称作非对称加密,公布出来的加密方式称公钥,私有的解密方式称私钥。
咳咳,现在的我们基本有了一套专业的安全方案:非对称加密+对称加密+证书。但作为专业的我们,还需要提高该方案的专业程度,明确一下那个暂时的加密解密手段怎么出来的?

  1. 我们可以凑生成数,一开始询问服务中心的证书和其它信息时,可以发送个我们本地的生成数。
  2. 服务中心不仅告知我们证书,还告诉第二个随机数和相关加密方案。
  3. 最后再向服务中心商议加密手段时,带上第三个随机数。服务中心和我们都按照一定规则计算加密方式,最终采用该方式进行对称加密通信。

这样,我们的方案终于成型啦~看个流程图,加深一下印象!


流程图

图片.png 图片来自网络


建议阅读

笔者水平有限,只能这样大致说一下流程,下面的文章是感觉相当不错,十分推荐阅读。