您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

一个故事之后,https [源码交易平台]

  • 时间:2022-11-01 00:09 编辑: 来源: 阅读:314
  • 扫一扫,手机访问
摘要:一个故事之后,https [源码交易平台]
工作15年的前IBM架构师老刘,用他踩过的坑,走过的弯路,编程和职场的经验教训。 1.导读今天我们来说说https安全传输的原理。 在开始之前,我们先虚构两个人物,一个是中国的张大胖(你又怎么样?!),另一个是美国的比尔(你呢?!) 两兄弟隔着千山万水通过网络取得了联系,两人情趣相投,聊得火热。 此时正值美国总统大选,张大胖好心“喊话”比尔,对美国总统大选形势表示强烈关注。 比尔回电说:“谢谢你关心美国人。我们美国人是我们自己的主人,不会用你们的坚果来担心事情...张大胖继续“喊话”说,其实我们支持特朗普,因为希拉里太情绪化,不好对付。我们真的希望看到特朗普上台,这样美国就会成为分裂的美国.....比尔回电:算了吧,我们美国的政体纠错能力很强。虽然有时发展缓慢,有时走岔路,但很快就会回到正道。几百年来一直很稳定,不像你们一直在坐过山车...越说越投机。天涯海角,茫茫大海,还有很多其他的都夹杂其中。 2.总有一种被窥视的感觉。有一天,比尔突然意识到:坏了。我们的交流是明文的。简直就是在网上裸奔。任何不怀好意的家伙都可以监听我们的通信,打开我们发送的数据包,窥探我们的隐私。 张大胖道:“你不早告诉我。我刚才是不是把我的微信号发给你了?我告诉过你我上周去哪里旅行了吗?估计已经被拦截了!”比尔建议道:“我们为什么不加密数据呢?每次传输前,你用加密算法把消息加密,然后在我解密前发给我,这样别人就无法偷看了,像这样:“张大胖像冰雪一样聪明,一眼就能看出这个加解密算法是公开的,那个密钥是保密的,只有两个人知道,这样生成的加密消息(密文)不可能被别人知道。 他说:“比尔兄弟,你生成一个密钥,然后发给我。让我们打开加密信息,让《偷窥汤姆》里的那些人哭吧!”(注意:这叫对称加密算法,因为加密和解密用的是同一个密钥。)过了一会儿,比尔还是没回音,张大胖忍不住催促,“赶紧送过来?!!!"比尔最后回答,“我感觉有一双眼睛在盯着我们的谈话。如果我把密钥发给你,被他截获了,加密不会浪费时间吗?”张大胖沉默了。是的,网络不安全。如何安全地发送此密钥?“哦,对了,我下周要去美国旅行。当我们见面时,我们将确定密码并写在纸上。谁也偷不走,那就完了?”“哈哈,这才是最终的处理方式。”比尔笑了。“不过,我不只是和你聊天,我还得和易卜拉欣、阿卜杜拉、克里斯托弗、玛格丽特、桥本龙太郎、、许、、等人交流。我总不能满世界飞去交换密码吧?”张达暗暗佩服比尔的朋友遍布全球,看来他对加密通信的虚假需求更加迫切了!但是这种加解密算法需要密钥双方都知道,但是密钥不能通过网络发送。该死的偷窥狂!3.RSA:非对称加密比尔和张大胖的通信无法加密,所以说话谨慎。直到有一天,他们听说了一种叫RSA的非对称加密算法,突然有了灵感。 这个RSA算法很有意思。它不像以前的算法,在以前的算法中,双方必须协商一个密钥。而是有一对密钥,一个是秘密的,叫私钥,一个是公开的,叫公钥。 更有趣的是,只有对应的公钥才能解密私钥加密的数据,也只有对应的私钥才能解密公钥加密的数据。 有了这两个漂亮的特性,当张大胖给比尔发消息时,可以先用比尔的公钥加密(反正比尔的公钥是公开的,地球人都知道),当消息被比尔收到时,可以用他的私钥解密(只有比尔可以解锁,私钥是保密的)。 反之亦然。当比尔想给张大胖发消息时,他就用张大胖的公钥加密。张大胖收到后,用自己的私钥解密。 这样通信安全就固若金汤了,谁也无法窥探他们的小秘密。 4.非对称加密和对称加密尝试了几次。张大胖说:“比尔,你觉不觉得这个RSA的加解密有点慢?”比尔叹了口气,“是的,我也注意到了。刚才搜索了一下,这个RSA算法比之前的对称密钥算法慢了几百倍。” 我们刚加密了,现在不能用了。”“回到我们最初的问题,我们想用一个密钥来加密通信。对称加密算法速度很快,但密钥无法安全传输。现在有了RSA,我觉得可以结合起来,分两步走:(1)我会生成一个对称加密算法的密钥,通过RSA安全的发给你;(2)那么,我们就不用RSA,只用这个密钥。用对称加密算法通信怎么样?”比尔说,“你可以做到,这样你不仅可以处理密钥传输的问题,还可以处理RSA速度慢的问题。那很好。" “于是他们两个安全的传递了对称加密密钥,用它来加密解密,速度快多了!5.中间人攻击了张大胖,把和比尔的聊天内容向妻子报告了一次。 他的妻子警告他,“小心点。你确定坐在网络另一端的是比尔吗?”张达着急地说:“一定是他。我有他的公钥,我们的通信是加密的。” "我妻子建议道,"如果,当比尔给你发送公开密钥时,一个中间人截获了比尔的公开密钥,然后伪装成比尔给你发送了他自己的公开密钥,而你发送的消息是用中间人的公开密钥加密的,那么中间人就可以解密并看到消息了?”张达在背后冒汗。是的,中间人解密后,可以用比尔的公钥加密,发给比尔。我和比尔根本没意识到,还以为我们在安全传输呢!似乎问题在于公钥的分发!虽然这个东西是公开的,但是别有用心的人拦截之后还是可以干坏事的!6.你是谁?但是如何安全地分发公钥呢?似乎又回到了最初的问题:如何安全地保护密钥?不过好像和原问题不太一样。这一次,公钥没有保密,但必须有办法宣布这个公钥确实是比尔的,而不是别人的。 公告呢?张大胖突然想到:现实中是有公证处的,它提供的公证材料是大家信任的。那么在网络世界里,可以建立这样一个可信的认证中心,这个中心会给每个人发一个证书,证明一个人的身份。 这个证书不仅包含了一个人的基本信息,还有最关键的一环:这个人的公钥!这样我在领证的时候就可以安全的拿到公钥了!完美!但比尔马上泼了一盆冷水:证书怎么安全传输?证书在传输过程中被篡改了怎么办?张达心里忍不住咒骂:我操,简直是鸡生蛋,蛋生鸡的问题。 上帝不会关上一扇门,但他会打开另一扇门。张大胖很快找到了突破口:数字签名。 简单地说,Bill可以使用哈希算法从他的公钥和个人信息中生成消息摘要。这个哈希算法有一个优秀的特性。只要输入数据稍有变化,生成的消息摘要就会发生巨大的变化,可以防止他人修改原始内容。 然而,作为攻击者的中间人笑了:“虽然我不能改变公钥,但我可以替换整个原始信息,生成一个新的消息摘要。还分不清吗?”张大胖说,不要太早沾沾自喜。我们会让一个可信的认证中心(简称CA)用自己的私钥加密消息摘要,形成签名:那就更不用说了。我们还会把原始信息和数据签名结合起来,形成一个全新的东西,叫做“数字证书” 张达接着说:当比尔把他的证书发给我的时候,我用同样的哈希算法再次生成消息摘要,然后用CA的公钥解密数字签名得到CA创建的消息摘要。两者对比一下就知道有没有人篡改了!如果没有人篡改它,我就可以安全地得到比尔的公钥。有了公钥,随后的加密工作就可以开始了。 这很难,但我无法阻止你们偷窥。 中间人恶狠狠地说:“你是个坚强的孩子!等等,我有另一个计划。 对了,我问你,这个CA的公钥是怎么得到的?你不怕我在你传输CA公钥的时候发起中间人攻击吗?如果我成功伪装成CA,你的系统就彻底完蛋了。 ”张大胖无言以对,辗转反侧半天,又回到了公钥安全传输的问题上!但是,转念一想,要想处理好鸡下蛋的问题,就得打破这个怪圈。我必须信任CA并以安全的方式获得他们的公钥,这样我才能玩游戏。 (注:这些ca本身都有证明身份的证书,ca的信誉像树一样分等级。顶级ca为底层ca的信誉背书,而少量顶级ca的证书会内置到操作系统/浏览器中,这意味着你自动信任它们。 这些顶级CA证书必须安全地放入操作系统/浏览器,否则世界将陷入混乱。 7.https终于可以细说https了。HTTPS的原理在前面已经详述。可以把张大胖换成浏览器,把账单换成网站。 一个简化的(比如下图不包含Pre-Master Secret)https流程图是这样的。如果明白了前面的原理,这个图就变得很简单了:操作员:王MX 009


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【技术支持|常见问题】1556原创ng8文章搜索页面不齐(2024-05-01 14:43)
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)
【技术支持|常见问题】别告诉我你没看过邰方这两则有思想的创意广告! (2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部