HTTPS协议

2021-05-20  本文已影响0人  zhang_wq

HTTPS协议是在HTTP协议的基础上,增加了SSL/TLS加密协议,也就是说,在数据传输之前会对数据加密。

为什么使用HTTPS

防范偷窥

偷窥

防范篡改

篡改

使用HTTPS的优缺点

优点

缺点

HTTPS的建立连接过程

TCP三次握手

使用RSA秘钥交换

RSA exchange secret

使用DH秘钥交换

DH算法原理

秘钥交换过程

DH

消息的内容及作用

Client Hello

client hello
密码套件
Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

Server Hello

server hello

Server Certificate

server certificate

Server Key Exchange

server key exchange

Client Key Exchange

client key exchange
RSA算法的Client Key Exchange
DH算法的Client Key Exchange

Finished

Finished

主密钥计算方法

master_secret = PRF(pre_master_secret, "master secret", ClientHello.random + ServerHello.random)[0..47];

增强型主密钥计算方法

master_secret = PRF(pre_master_secret, "extended master secret", session_hash)[0..47];

会话秘钥的计算方法

key_block = PRF(SecurityParameters.master_secret, "key expansion", SecurityParameters.server_random +SecurityParameters.client_random);

HTTPS身份认证

为什么需要证书验证

为什么还有会其他(DH、ECDH等)算法作为秘钥交换算法?


RSA算法交换秘钥,不支持向前保密,所以就有了DH、ECDH算法交换秘钥。

DH、ECDH怎么做到的向前保密

上一篇下一篇

猜你喜欢

热点阅读