博客
关于我
HTTPS连接过程以及数字证书的理解
阅读量:511 次
发布时间:2019-03-07

本文共 651 字,大约阅读时间需要 2 分钟。

HTTPS协议中的加密过程是为了解决HTTP明文传输的安全问题。在传输过程中,数据可能会经过多个中继节点,这使得信息在劫持时会被完全泄露。因此,HTTPS通过对称加密和非对称加密相结合的方式,确保数据传输的安全性。

对称加密与非对称加密的结合是HTTPS的关键。对称加密的特点是双方使用相同的密钥进行加密解密,但如果密钥被中间节点窃取,后续数据传输就会不安全。非对称加密通过使用一对有向的密钥(公钥+私钥)来解决这一问题。服务器向客户端发送其公钥,客户端用公钥加密数据后发送给服务器。服务器用私钥解密后,可以与客户端使用对称加密的方式进行后续数据传输。

然而,非对称加密也存在安全隐患。中间节点可能替换服务器的公钥,通过伪装成合法服务器来窃取数据。在这种情况下,数字证书的作用显现出来。数字证书由权威证书颁发机构(CA)签名,确保客户端收到的公钥是服务器真正发出的。数字证书包含服务器的公钥、颁发机构信息、持有者信息、有效期等内容,并通过电子签名加密指纹,防止证书被篡改。

在实际通信中,客户端首先验证服务器的数字证书,获取服务器的公钥后,随机生成一个对称加密密钥,用公钥加密后发送给服务器。服务器用私钥解密后,与客户端使用对称加密进行数据传输。

关于数字证书的防伪,电子签名能够有效防止证书被篡改。中间节点即使修改了证书内容,客户端仍能通过CA的公钥解密电子签名,发现证书内容不符,从而拒绝连接。

关于数字证书的防替换,客户端可以通过对比证书中的持有者信息与实际请求的服务器地址,判断证书是否被替换。

转载地址:http://gdejz.baihongyu.com/

你可能感兴趣的文章
python利用pyshark监听网卡来抓包其中pyshark中摸索的一些可用参数
查看>>
python利用excel分析过杀漏失
查看>>
python判断汉字数目
查看>>
python判断文件是空的,如果是空的,就删除
查看>>
python判断密码是否正确_python密码判断是否符合要求的方法
查看>>
python判断字符串包含中文_Python 判断字符串是否包含中文
查看>>
python删除第一行_Python 乱码指北:一行删掉根目录
查看>>
Python删除列表元素的三种方法
查看>>
python初步学习-python数据类型-集合(set)
查看>>
python列表生成字典_Python中将字典转换为列表的方法
查看>>
python列表对应元素合并为列表及判断一个列表是几维
查看>>
python+flask计算机毕业设计骨科门诊患者档案管理系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校体测管理系统的设计与实现(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校体育赛事系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校危化品管理系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校教学档案管理系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校教学督导平台(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校校内景点平台(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校校园线上跳蚤市场的系统设计(程序+开题+论文)
查看>>
Python图形处理
查看>>