在瞭解SSL加密的方式以前咱們先了解一下近代加密的方式,安全
近代的加密方法中加密的方法是公共的,而密鑰倒是保密的,經過這種方式得以保持加密方法的安全性。post
加密和解密都會用到密鑰,沒有密鑰就無法進行加密和解密,反過來講,任何人只要持有密鑰就能解密了。若是密鑰被攻擊者獲取,那麼加密就失去了意義。加密
而SSL採用一種叫作公開密鑰加密(Public-Key cryptography)的加密處理方式cdn
一、 共享密鑰加密的困境blog
加密和解密同用一個密鑰的方式稱爲共享密鑰加密,也被叫作對稱加密。get
已共享加密的方式加密時必須將鑰匙也發給對方,可究竟怎麼樣才能安全地轉交,在互聯網上轉發密鑰時,若是通訊被監聽那麼密鑰就可會落入攻擊者之手,同時就失去了加密的意義。另外還得設法安全地保管接收到的密鑰。it
2 使用兩把密鑰的公開密鑰機密io
公開密鑰加密方式很好地解決了共享密碼加密的困難。class
公開密鑰加密使用一對非對稱的密鑰。一把叫作私有密鑰(private key),另外一把叫作public key 。顧名思義,私有密鑰不能讓任何人知道,而公有密鑰則能夠隨意發佈 ,任何人均可以得到。互聯網
使用公有鑰匙加密方式,發送密文的一方使用對方的公有密鑰進行加密處理,對方收到被加密的信息後,在使用本身私有的鑰匙進行解密,這種方式,不須要發送用來解密的私鑰,也沒必要擔憂密鑰被攻擊者竊聽而盜走。
另外,要想根據密文和公開密鑰,恢復到信息原文是異常困難的,由於解密加密工程就是對離散對數進行求值,這並不是垂手可得的就能辦到的,退一步講,若是能對一個很是大的整數作到快速地因式分解,那麼密鑰破解仍是存在但願的。可是目前的技術來看是不太現實的。
3 HTTPS採用混合加密
https採用共享密鑰機密和公開密鑰加密二者並用的混合加密機制,若密鑰可以實現安全的交換,那麼有可能會考慮僅適用公開密鑰加密通訊。可是公開密鑰加密與共享密鑰加密相比,其處理速度要慢。
因此充分利用二者的優點,將方法組合起來用來通訊,在交換密碼環節使用公開密鑰加密方式,以後創建通訊交換報文階段則使用共享密鑰方式。
可是這樣的也有些問題,就是公鑰也有可能被攔截替換,又興趣的話能夠看看證明公開密鑰正確性的證書這篇文章
總結這篇文章有些抽象閱讀數能夠畫畫圖,就能很好理解了