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

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

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

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

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

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

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

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

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

你可能感兴趣的文章
PHP获取当前页面的完整URL
查看>>
php获取数据库中数据生成json,中文乱码问题的解决方案
查看>>
php获取文件夹中文件的两种方法
查看>>
PHP获取日期的一些方法总结
查看>>
R2学习记录
查看>>
PHP获取本周的每一天的时间
查看>>
php获取用户真实IP和防刷机制
查看>>
php获取网页内容的三种方法
查看>>
R-CNN算法优化策略
查看>>
PHP规范PSR0和PSR4的理解
查看>>
php解析ipa包,获取logo
查看>>
R&Rstudio安装各种包
查看>>
php设置cookie,在js中如何获取
查看>>
php设置socket超时时间
查看>>
php设计模式 萨莱 pdf,PHP设计模式 建造者模式
查看>>
PHP设计模式之----观察者模式
查看>>
php设计模式之装饰器模式
查看>>
R&Python Data Science系列:数据处理(5)--字符串函数基于R(一)
查看>>
PHP设计模式:观察者模式
查看>>
php访问mysql(1)
查看>>