当前位置: 首页 > 网络应用技术

MITM HTTPS的可行性分析

时间:2023-03-07 23:50:36 网络应用技术

  随着互联网的持续发展,信息安全引起了越来越多的关注。以前使用过HTTP协议的网站现已消失,主要公司已逐渐将网站升级到HTTPS。目的之一是避免使用MITM,因此可以完全消除HTTPS?如何确保信息的安全传输?文章试图解释HTTPS从浅层到更深层次。我相信,阅读它后,您一定会了解HTTPS如何捍卫MITM。

  本文中解释的内容可以补充学校的“计算机网络”课程或扩展,主要涉及应用层和传输层。但是在HTTPS之前,我们简要提及HTTP协议。

  HTTP不安全的原因在很大程度上是由于明确的传输而在很大程度上。存在明确传播的三个主要风险:窃取风险,篡改风险和冒险风险。人们可以获取沟通内容。由于内容很清楚,因此在获得清晰文本后存在信息泄漏的安全风险。

  第二个是篡改的风险。中间人可以篡改消息并将其发送给另一方,这是极为风险的。生成了一个捕鱼网站,以解决这三个风险。接下来,让我们看一下HTTP的特定工作原理。了解上述内容后,不难猜测HTTPS是为了解决上述三个风险而诞生的。通常,我们认为安全沟通需要包括以下四个原则:机密性,诚信,身份认证和不可否认的。

  接下来,我们将分析如何使用HTTP来满足上述四个主要的安全通信原则。

  HTTPS使用对称加密,而关键传输则使用不对称的加密。由于HTTP清楚地传输了HTTP,因此自然而然地考虑加密是很自然的,您可以解决窃听消息的问题的问题。由于您想加密,因此您需要在两方之间传达键。

  从图可以看出,具有对称加密的两个方使用相同的密钥来加密和解密。对称加密的特征是快速速度相对较好,这也是httpss.但那里采用的最终加密形式。这里是一个关键问题:对称加密的两个方需要使用相同的密钥。该密钥如何谈判?篡改数据包的目的。

  有些人可能想完整地完成此钥匙,但是如果另一方想解密此钥匙,它仍然必须将密集的钥匙传递给另一方,并且它仍然会被中间人拦截。俄罗斯娃娃的问题这是不可行的。这种需要不对称的加密机制来解决单向对称键的传播问题。

  不对称的加密,可以将不同键的使用(一个作为公共密钥)公开,可以公开为私钥,不能披露。公共密钥加密的密码只能被私钥解密。只有公共密钥才能解密。

  实际上,此陈述在私钥加密中并不严格。确切地说,私钥加密应称为私钥签名。因为可以解密私人加密的公共密钥,公共密钥是公共的,任何人都可以得到它,公共密钥解密称为签证。

  在这种情况下,对于服务器,请保留私钥并将公共密钥发布给其他客户端。只要对对称加密密钥加密到服务器,其他客户端就可以加密到服务器。这样,因为这样的方式,因为公共密钥加密只能被私钥解密,并且私钥只有可用,因此它可以可以这样确保客户端可以安全地传输到服务器。服务器分解后,您可以获取对称加密密钥。您可以使用对称加密密钥进行通信。

  但是问题仍然没有解决,公共密钥如何安全地转移到客户。如果您直接通过公钥,则有可能会被中间人调整的风险。

  数字证书是解决对公共密钥传输的信任问题。如何解决公共钥匙传输问题?例如,当员工进入工作时,企业通常要求提供教育证书。显然不是任何机构发行的学历。该学历必须由第三方机构(CA)发行,即教育部。以相同的方式,服务器还可以向CA申请证书,将公共密钥附加在证书中,然后将证书传递给客户。该证书由网站管理器应用于CA.信息生成证书。

  这样,当客户端获得证书时,您可以在证书上获取公共密钥,然后使用此公共密钥加密的对称对称加密密钥。它看起来很完美,但仍然在这里考虑两个问题:首先,如何,如何验证证书的真实性以及如何防止证书被篡改。想象一下您在上一个示例中提到的教育。答案是使用学术资格编号。获得证书后,企业用于在线检查证书的真实性。学术号码实际上是我们经常说的数字签名,可以防止证书的伪造。

  1.首先,使用一些摘要算法(例如MD5)生成证书(例如证书序列编号,DNS主机名等)来生成摘要,然后使用第三方权威的第三个权威的私钥加密组织(签名)。签名。证书很长,客户将花费很长时间。

  2.获得证书后,客户还使用相同的摘要算法来计算清晰的文本计算。两者可以找出该消息是否被篡改。证书,然后根据证书上的摘要算法来计算摘要。此外,它也将其替换为!以这种方式获得证书后,发现了证书的计算,并误认为该证书是合法招募的。因此,必须使用CA私钥的摘要来加密签名。这样,客户必须使用CA的公钥来解密签名。

  服务器将证书传递给客户端后,客户端的签名过程如下:

  在这种情况下,由于只有CA的公共密钥才能解密签名,如果客户收到假证书,则不能解密使用CA的公共密钥。如果摘要比较不成功,则客户还将确定证书确定证书是非法的。

  实际上,问题仍然没有解决。如何安全地将CA公钥发送给客户端?如果仍将服务器从服务器传输到客户端,公共密钥的风险仍然无法解决公共密钥的风险。实际上,此公共密钥存在在CA证书上,该证书(也称为Root CA证书)被操作系统信任。它是在操作系统上构建的,不需要通过网络传输。无论是Chrome浏览器还是其他浏览器,都在信任的证书中构建。如下所示:

  服务器传输由CA颁发的证书。收到证书后,客户在CA证书中使用公共密钥来解密签名。在这种情况下,解决了在公共密钥传输过程中转移的风险。

  这里的问题仍未完全解决。如何防止证书被转让。由于任何网站可以从第三党权威机构申请证书,因此中间人也不例外。正态网站和中间人可以申请从大约认证获得的证书由CA颁发,因此它们是合法的。

  答案不是因为客户还需要验证证书除签名方法外是否合法,并且证书上的域名与证书的域名是否一致。证书与客户端请求的域名不一致,并且将确定客户未批准!

  我们通过上述证书有这样的想法。考虑到它,由于HTTPS是加密的,为什么查尔斯中间的人们可以抓住明亮的包裹?实际上,我们需要使用证书来调整包裹。在使用Charles获取HTTPS数据包之前,我们都需要安装Charles证书。该证书具有Charles的公钥。在这种情况下,查尔斯可以在服务器证书上将客户证书传递给其自己的证书。客户获得IT之后,查尔斯证书中的公共密钥已加密以加密对称密钥。整个过程如下:

  可以看出,查尔斯的中间人的前提可以捕获HTTPS套餐是要信任他们的CA证书,然后他们可以通过更换证书来掩盖天空,因此请勿信任第三方证书以避免安全风险。

  好的,在这里。从理论上讲,HTTPS消除了MITM的可能性,因此有必要将网站升级到HTTPS。通过上述分析,在浏览器构建的证书的前提下,MITM都没有问题,这就是为什么我为什么欣赏https。