HTTPS 协议(HyperText Transfer Protocol over Secure Socket Layer):一般理解为HTTP+SSL/TLS,通过 SSL证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密,使得网络通信变得更加安全。
对称密钥加密
这种加密方式又被称为共享密钥加密,这种方式就是加密和解密使用相同的密钥,在通信时还需将传输密钥给对方用来解密,密钥传输过程中同样可能被截获。
缺点:安全性不足
优点:速度快。
常见对称加密算法:AES、DES、3DES等。
非对称密钥加密
这种方式又被称之为公开密钥加密,使用一对非对称的密钥,一把叫做公开密钥,一把叫做私有密钥,其中公开密钥可以随意发送,私有密钥必须保密。
发送密文的一方要使用对方的公开密钥进行加密,对方收到信息之后,使用自己的私有密钥进行解密,这种方式不需要传输用来解密的私钥了,也就不必担心私钥被截获。
缺点:运行速度较慢
优点:安全性高
常见非对称加密算法:RSA、DSA、ECC等。
HTTPS在加密传输中采用混合加密机制,在密钥交换环节使用非对称加密方式,之后使用对称加密方式。既保障了传输的安全性,同时也保证了运行的速度。
数字证书在HTTPS中的作用
HTTPS加密传输过程中需要传输公开密钥,那么公开密钥又是如何保证其正确性的呢?这就需要用到由数字认证机构(CA)颁发的数字证书。
数字证书由权威的第三方机构对用户的真实身份信息审核后,提供绑定证书持有者身份信息的公钥和私钥。用户可通过公开的数字证书查看公钥持有者身份,从而确认其真实身份。
其具体工作流程如下:
- 服务器运营人员向数字证书认证机构提出公开秘钥的申请;
- 数字证书认证机构判明身份之后,会对已申请的公开密钥做数字签名,并将该公开密钥放入公钥证书后绑定在一起,服务器会将这份由数字认证机构颁发的公钥证书发送给客户端;
- 客户端获取到数字认证机构颁发的公开密钥后,对其进行数字签名验证,一是确认公开密钥是真实的数字认证机构颁发的,二是确认公开密钥的值得信赖的;
- 确认无误后,使用该公开密钥加密报文;
- 服务器使用私有密钥进行报文解密。
以上便是HTTPS中的加密算法,简单的来说就是,HTTPS中即使用了对称加密算法,也使用了非对称加密算法,同时还利用了数字证书以及数字签名来保障其正确性。
虽然很麻烦,但对于使用者而言,这些都是无感的,计算机可在后台瞬间完成操作。