0

浅谈HTTPS证书

 3 years ago
source link: https://www.junz.org/post/https_ssl/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

HTTPS和SSL/TLS协议

传统的http协议是明文传输的,可能遭到篡改和监控,所以引入了https协议。

HTTPS实际上是"HTTPS over SSL"。如果原来的 HTTP 是塑料水管,容易被戳破;那么如今新设计的 HTTPS 就像是在原有的塑料水管之外,再包一层金属水管。一来,原有的塑料水管照样运行;二来,用金属加固了之后,不容易被戳破。这样做的好处是提高了兼容性和可拓展性。

在进行通信之前,双方交换公钥,并使用自己的私钥进行解密。

服务端随机生成一个密钥对,将私钥留存,并将公钥发送给客户端。客户端收到公钥后,将自己的密钥用服务端的公钥加密并发送给服务端,服务端收到密文后,用自己的私钥进行解密,得到用于通信的密钥。

在服务端与客户端进行密钥交换时,如果有恶意攻击者在通讯线路上劫持数据并替换成自己的密钥对,那么安全性将得不到保证,这种攻击类型称之为中间人攻击或者Man-In-The-Middle attack

在客户端收到服务端的公钥时,进行核对。

引入一个第三方,即certificate authority,简称CA。CA会使用自己的私钥对服务端的公钥和一系列信息进行加密,得到数字证书(Digital Certificate)。接着服务端将此数字证书与公钥一同发给客户端,客户端则会验证此CA证书是否合法(浏览器内置了大量主流权威CA证书的公钥)于是客户端便可以验证公钥的真实性。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK