信息安全与https

Posted chen陈序猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了信息安全与https相关的知识,希望对你有一定的参考价值。

信息明文传输

有一天你和你的一个老朋友开始聊天。刚开始聊天,信息都是明文传输的。

你:

{

    "toUser": "张三",

    "topic": "Low population",

    "message":"最近突然变的Low起来了呢"

}

朋友:

{

    "toUser": "陈序猿",

    "topic": "Low population",

    "message":"是呢,是呢,突然就Low了呢"

}

这么多不和谐的话题内容在网络上公然传输,任何一个人都可以截获我们的数据包,窃取我们聊天内容,太可怕了哦。随时都有可能喝茶。

对称加密

最先想到的办法就是,咱们共用一个密钥,用来把东西进行加密,加密的办法和解密的办法可以是公开的,但是,密钥是只有我们自己知道的,真是岂不美哉?

你:

{

    "toUser": "ndhdbhdfbdjfjnbbf",

    "topic": "djfyrnfencgcdnvjfgdbkefk",

    "message":"dgfhjyuytgfdfrgfbvcdfghngbejdddd"

}

朋友:

{

    "toUser": "dfdfnjfjhkrhfjhghjdtdg",

    "topic": "djfyrnfencgcdnvjfgdbkefk",

    "message":"dmfhkrfjfkglymhlmhegfntmvkemghfjht信息安全与https"

}

信息安全与https

上面的加密算法就是对称加密,在企业内部系统中,应用比较广泛。

但是聊天这个过程又被中断了。

朋友,我该怎么把我的密钥传给你呢?直接发吗?那如果有人截获了我们密钥,那不是我们的聊天内容又被截获了?

信息安全与https

如果不想密钥被人窃取,我得坐火车去找朋友,偷偷把我的密钥纸条塞给他,然后我们才能安全聊天,如果我和一百个人聊天,就要线下打通一百次通道,我的天啊。放心大胆的聊个天咋就这么难?

非对称加密

有了,有一个叫做RSA的非对称加密算法,是不是就可以用来实现我们的安全聊天?

RSA加密算法和之前的对称加密不同的是,RSA加密算法不用双方都保持同一个相同的密钥,而且采取密钥对的方式来解决问题,一个是私钥,只有自己知道,一个是公开给朋友的,叫做公钥,随便拦截。

实现RSA非对称加密的关键就是,用私钥加密的数据,只有对应的公钥才能解密,反之亦然。

具体实现:

1,我,把我的公钥明文传输给我的朋友。

2,朋友给我发消息,就用我给他的公钥加密。

3,我收到朋友发给我的消息,就用自己的私钥解密。

4,朋友,把他的公钥明文传输给我。

5,我给朋友发送消息,使用朋友的公钥。

6,朋友使用自己的私钥解密我发给他的信息。

截取信息的人只知道公钥,无法解密信息,信息终于安全了!

信息安全与https

混合加密

每次都用非对称加密算法来聊天,于是产生了一个问题:太慢了。如果因为安全问题就要大大降低生产效率,显然不可取。

回到问题1,对称加密。对称加密我们遇到的困惑是怎么能把密钥安全传输,只要解决了密钥安全传输的问题,实际上我们也就可以直接使用对称加密算法来聊天了。咦?我把密钥通过RSA加密算法传给你就是了。你发来你的公钥,我把密钥加密后传给你。

(1),我生成一个密钥,用朋友的公钥加密后,发给朋友,朋友用自己的私钥解密后得到我的密钥。

(2),以后直接使用解密后得到的对称的密钥来聊天。

这种对称加密+非对称加密的方式,使得安全问题解决了,效率问题也解决了。

中间人攻击

似乎现在,信息安全问题已经安全解决了。简直无懈可击。又来一句岂不美哉?信息安全与https

但是,朋友说,还是有地方不安全!

朋友:假如我把我的公钥发给你时,公钥被中间人截获了,中间人把自己的公钥发给了你,冒充是我。那么,你传输的内容又会被中间人解密。如果中间人也把你发给我的公钥拦截了,那么他一样可以解密我传输给你的信息。那么,我该如何证明我就是我,你该如何证明你就是你?

信息安全与https

鸡生蛋和蛋生鸡

如何证明你就是你?

首先要解决公钥如何安全传输的问题。但是,公钥如何安全传输呢?用另一对公私钥来加密公钥?

似乎产生了鸡生蛋和蛋生鸡的问题。

于是想到的CA证书。(https为什么要使用证书的答案。)

现实生活中,人是有身份证的,身份证是可信任的政府机构开具的个人身份证明。

所以,网络世界中,也需要有一个公证处,用来给一个商户生成证书,这个证书里面有用户的个人信息和用户的公钥。

实际上,在我们传输内容给证书颁发机构的时候,中间人一样有能力冒充公证处。似乎又陷入了鸡生蛋和蛋生鸡的死循环里了。

所以才有了可信任证书机构这个词语:我们必须要找到一个可绝对信任的机构来帮我们证明身份,颁发证书,如何证明这个证书机构绝对可靠呢?比如说,我们必须事先知道了,公钥是5867440t75o700f的这个的商户就是可靠的证书颁发机构。其他的我都不认识,都不承认。

证书与数字签名证书

解决了可信任机构的问题。那么证书机构又如何给商户颁发证书来证明身份?

这就涉及到了数字签名。

其实是使用了hash算法生成一个摘要,hash算法的好处就是,只要原始内容一点点篡改,hash算法生成的摘要都会天翻地覆的变化。另外,生成证书的同时,可不仅仅只是生成一个摘要,证书上仍然会保留商户的原始信息,这个才是最关键的地方。

信息安全与https

信息安全与https

https

有了上面的知识铺垫,现在可以比较容易的理解下图了,该图为https的理论贴图:

(完)

chen陈序猿|一起学技术吧

微信ID:echo_陈
长按二维码添加公众号

以上是关于信息安全与https的主要内容,如果未能解决你的问题,请参考以下文章

http与https区别

信息安全管理与评估知识概括

“HTTPS”安全在哪里?

国家网络与信息安全中心紧急通报:请升级安装补丁!

2021-2022-1 20211322肖权城 《信息安全专业导论》第5周学习总结

网络安全的核心是信息安全