HTTPS是什么
使用HTTPS = SSL + TCP
在传输层上加上安全通道,先经过SSL,由SSL和TCP通信
,保证传输过程中的数据不会被窃听和修改(机密性)
HTTPS = HTTP +加密(对称加密)+认证(CA证书)+完整性保护(非对称加密)
HTTPS
是采用对称加密用和用非对称加密用为用一体的加密过程用
- 数据完整性:内容传输经过完整性校验
- 数据隐私性:内容经过对称加密,每个连接生成一个唯一的加密密钥
- 身份认证:第三方无法伪造服务端(客户端)身份
非对称加密(公开密钥加密)
加解密步骤更复杂,不适合做数据传输的加密,但是适合做认证。需要考虑公钥的真实性
公开密钥
(publickey)和私有密钥
(privatekey)
公钥加密是一种密钥交换的机制
服务器保存秘钥,公开公钥给所有客户端
如何保障公钥的真实性? 把服务器公钥给认证机构,认证机构用机构的秘钥加密签名CA证书返回给服务器,机构的公钥已经事先植入浏览器中
对称加密(共享密钥加密)
对称加密采用了对称密码编码技术,它的特点是文件加密和解密
使用相同的密钥加密,每个client都是采用的不同的秘钥加解密,是最快速、最简单的一种加密方式,密钥bit越大,加密越强,但加密与解密的过程越慢
共享密钥方式加密时必须将密钥
也发给对方,因此需要非对称加密来保证秘钥交换的安全
交换秘钥流程
- client请求服务端(指定SSL版本和加密组件)
- server返回
CA证书+公钥
- client用
机构公钥
认证server返回的CA证书上的签名
是否正确 - client生成一个密钥R,用
公钥
对密钥R加密发送给server - server用
服务器的私钥
解密获取密钥R - 后续通信都是采用密钥R进行加密
网友评论