完美解释https

HTTPS(数字证书机制)

上面,无论数据加密还是签名,我们发现最重要的就是加密方法和加密密钥。

对于两台服务器交互,可能不用太担心,但是如果是webapp或者原生app,不法分子反编译前端代码后,就有可能拿到加密方法和加密key,怎么办呢?

这就属于HTTPS要解决的事情:

在加密算法中,有一种叫做非对称加密的算法,有公钥和私钥组成,他有个特点:公钥加密的数据,只有私钥能解密;私钥加密的数据,只有公钥能解密。

HTTPS 就是需要让客户端与服务器端安全地协商出一个对称加密算法。剩下的就是通信时双方使用这个对称加密算法进行加密解密。

①客户端启动,发送请求到服务端,服务端通过非对称加密算法(如RSA)生成公钥pubkey1和私钥prikey1。

②服务端将公钥pubkey1发给客户端,客户端用自己的非对称加密算法也生成一套公钥pubkey2和私钥prikey2,并将公钥pubkey2通过pubkey1加密后返回服务端。

③服务端用私钥prikey1解密后拿到pubkey2,并将确定好的未来交互的对称加密算法和密钥通过pubkey2加密,返回客户端。

④客户端用私钥pubkey2解密数据,拿到服务器给定的加密算法和密钥,双方开始用其数据通信。

这样仍有一个问题,如何证明公钥pubkey1加密的这串数字是客户端来的,即证明他就是他。。。

这就是HTTPS的数字证书,相当于网络中心的部分,证明他就是他。数字证书就是来干这个的。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章