https加密方式
https采用对称加密与非对称加密的混合加密方式
混合加密方式原理:
1. 服务端将非对称加密的公钥发送给客户端;
2. 客户端拿着服务端发来的公钥,对对称加密的key做加密并发给服务端;
3. 服务端拿着自己的私钥对发来的密文解密,从来获取到对称加密的key;
4. 二者利用对称加密的key对需要传输的消息做加解密传输。
数字认证原理
上述混合的加密方式还是存在安全问题,那就是无法证明公开密钥本身就是货真架势的公开密钥。比如,正准备和某台服务器建立混合加密的通信时,如何确保发来的公开秘钥就是那个服务器发来的?很有可能就是不法分子发来的。
为了解决上述的问题,可以使用数字认证机构颁发的公开密钥证书。
首先,服务器这边生成一对公私钥,公司人员拿着公开密钥去数字认证机构提出申请。数字认证机构在调查判断公司合法身份后,对这个公开密钥做数字签名,并将这个公开密钥绑定在公钥证书中,将这个公钥证书发给服务器。
客户端找服务端通信时,服务器会先将这个公钥证书发送给客户端,接到公钥证书的客户端使用数字证书认证机构的公开密钥,对这个证书进行验证,一旦验证通过,客户端可明确两件事:一、认证服务器的公开密钥证书是真实有效的数字证书机构认证的。二、服务器的公开密钥是值得信赖的。
需要说的一点,此处认证机构的公开密钥必须安全地转交给客户端。使用通信方式时,如何安全转交是一件很困难的事,因此,多数浏览器开发商发布版本时,会事先在内部植入常用认证机构的公开密钥。