暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

揭秘https的加密传输过程

帝都的雁 2021-09-30
902

对比HTTP的明文传输,HTTPS采用加密。那么,为什么要加密?

防止信息泄露,加密的数据被截取后,是无法直接阅读的。

对称加密算法

加密和解密都使用同一个密钥。网站向客户端传递秘钥,之后,二者之间通讯使用密钥加密、解密。

对称加密算法的漏洞

客户端向网站索要密钥时,这个密钥可能被别人获得,从而解密出交互的信息。

非对称加密算法

有一组钥匙,公钥和私钥。公钥可以解开私钥的加密,私钥可以解开公钥的加密,算法耗时很长。网站向客户端传递公钥,之后,网站向客户端发送的数据使用私钥加密;客户端使用公钥解密,客户端发送数据使用公钥解密,网站使用私钥解密。

非对称加密算法+对称加密算法

非对称加密很耗时,所以往往采用非对称加密+对称加密来传输数据。

网站向客户端传递自己的公钥,客户端随机生成一个密钥,并使用公钥加密,传给网站,网站使用私钥解密,得到密钥,之后双方使用密钥进行对称加密。

非对称加密算法的漏洞

浏览器向网站索要公钥时,可能被截取,换成第三方的公钥,即客户端并不确定提供公钥的网站是否是自己请求的网站。

CA机构颁发证书

营业执照是企业的标志,想要核对信息,去工商局查一下就能得到结果。

CA机构可以为网站申请数字证书,可以比作营业执照,上面有证书持有者信息,公钥信息,hash算法等。

网站向CA机构申请证书时,CA机构会为其分配一组公钥和私钥。客户端首次请求网站时,网站传递证书,客户端可以根据证书判断是否是目标网站的证书。

当然光有证书还不行,我们需要证书的签名,来确定证书没有被串改。将证书内容hash后,使用网站的私钥进行加密,生成签名。

客户端使用证书中的公钥,解密签名,然后使用证书中的hash算法计算证书内容,如果和解密后的签名一致,证明数据没有被篡改。


文章转载自帝都的雁,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论