HTTPS的疑问汇总
一、https相较于http协议有什么区别?
https是运行在SSL/TSL协议上的http, 本质上在应用层都是http协议(文本协议),只是在https新增了一层安全层,通过SSL/TSL协议(二进制协议)来保证通信过程是安全的。
二、对称加密和非对称加密有什么区别?
简单来说,对称加密是双方维护一个相同的秘钥,双方通过此秘钥来对密文进行加密解密,加密和解密的过程都是通过一个单独的秘钥来完成(比如DES、AES算法)。非对称加密则不同,是通过一个秘钥对来完成加密和解密,其中公钥用来加密,私钥用来解密(比如RSA、ECC、D-H算法)。
两者的主要区别在于
1)加解密的形式不同,一个是通过单独秘钥,一个是通过一组秘钥
2)加密效率不同,对称加密通常复杂度比较低,非对称加密算法复杂度比较高,因此对称加密速度更快一些
3)管理复杂度不同,非对称加密需要对每一个用户单独维护一个秘钥,成本比较高,非对称加密对所有的用户只需要一组秘钥对就可以完成安全通信。
三、数字证书中的数字签名有什么作用?
首先需要知道数字证书的作用,数字证书是权威机构颁发给个体或者组织证明自己身份的证明,证书中包含了具体的域名或者域名规则、有效期、数字签名算法、公钥、数字签名、颁发机构信息等等。数字证书本身就像是人的身份证一样,那么如何保证一个人的身份证不是假的呢?数字签名的作用就是为了保证证书的本身是可靠的。数字签名就是对证书信息做一个Hash,如果只是简单的Hash,那么证书就非常容易被篡改,以为篡改证书之后重新计算一次hash就好了,因此这里的Hash是使用了CA机构私钥做了加密,用户只能使用CA的公钥来验证Hash,但是因为无法破解私钥,所以没有办法来篡改这个信息。
四、SSL/TSL的握手过程是怎样的?
(1)Client Hello
(2)Server Hello, Server Certificate, Server Key Change, Server Hello Done
(3)Client Key Change,Change Cipher Spec, Client Finished
(4) Server Cipher Spec, Server Finished。