Java教程

HTTPS的个人理解总结

本文主要是介绍HTTPS的个人理解总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

https原理

    • 明文传输
    • 对称加密
    • 非对称加密

明文传输

问题,传输内容完全透明。

对称加密

原理:
f1(key,data) = X; //key为密钥,data为数据, x为密文
f2(key,X) = data;
存在问题:
所有客户端都使用同样的密钥,黑客使用客户端角色就可以拿到密钥。

非对称加密

原理:公钥加密,私钥解密或私钥加密,公钥解密。
f(publickey,data) = Y;
f(privatekey,Y) = data;

f(privatekey,data) = Y;
f(publickey,Y) = data;

在这里插入图片描述
即对称加密和非对称加密结合,客户端先向服务端索要公钥,并验证公钥为可信机构发放的公钥,然后客户端生成随机数,并通过公钥加密这个随机数,称会话密钥,发送给服务端,服务端用私钥对会话密钥解密,然后使用会话密钥对内容进行加密,客户端再次利用会话密钥进行解密服务端传来的消息,后面的过程通过对称加密。

-----验证公钥的证书是因为如果不进行验证存在一种可能,黑客在客户端和服务端之间伪装成客户端,又伪装成服务端,先拿到客户端数据,返回给客户端公钥,然后对客户端拿来的数据使用自己的私钥进行解密。。。 也就是伪装正常的https通信过程,在这过程中可以完全获取到数据。

这篇关于HTTPS的个人理解总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!