確保安全的HTTPS(使用混合加密的HTTPS,前端面試常問)第二篇

        蘋果已經肯定,在iOS9中通訊機制採用HTTPS了。html

        第一篇:http://www.cnblogs.com/ziyi--caolu/p/4742577.html算法

        上一篇詳細介紹了爲何要對HTTP進行加密,以及對HTTP進行加密的兩種主要手段。也穿插了,在我之前開發過程當中,對HTTP內容進行加密的知識。這一篇,主要是講對通訊過程的加密,也就是所說的HTTPS了。安全

 

        簡單的說,其實  HTTPS = HTTP  +  加密  +  認證  +  完整性保護服務器

       爲了統一解決上一篇中提到的HTTP各類安全問題,須要在HTTP上加入加密處理和認證機制,把加了加密和認證機制的HTTP稱爲HTTPS。加密

       

 

        使用HTTPS通訊時,再也不是http://     而是https://htm

 

        A、身披SSL(Secure Socket Layer  安全套接層)的HTTP,即HTTPSblog

            HTTPS並不是是應用層的一種新協議,只是HTTP通訊接口部分用SSL協議(TLS協議)代替而已。一般,HTTP直接和TCP通訊。當使用SSL時,則是HTTP先和SSL通訊,再由SSL和TCP通訊。在採用SSL以後,HTTP就擁有了HTTPS的加密、證書、完整性保護功能,SSL是獨立於HTTP協議的,也就是說,不光是HTTP協議,其餘運行在應用層的協議,都是可使用SSL的。接口

 

        B、相互交換密鑰的公開密鑰加密技術開發

             SSL採用的是一種叫作公開密鑰加密的加密處理方式(近代的加密方法中加密算法是公開的,而密鑰是保密的,加密和解密都要用到密鑰,沒有密鑰,也就沒法解密,但若是密鑰被攻擊者獲得,那麼加密也就失去了意義)。方法

             

             一、共享密鑰加密的困境

                 加密與解密使用的是同一個密鑰的加密方式稱之爲共享密鑰加密(對稱密鑰加密)。以這種方式加密時,必須將密鑰也發給對方,一樣的,若是能夠確保密鑰能夠安全的到達,那麼數據也是能夠安全到達的。

 

             二、使用兩把密鑰的公開密鑰加密

                 公開密鑰加密的方式很好的解決了共享密鑰加密的問題。公開密鑰加密使用一對非對稱的密鑰。一把爲私鑰(私有密鑰),一把爲公鑰(公開密鑰),其中私有密鑰不能讓任何人得知,而公開密鑰則能夠隨意公佈。

                 加密方式:

                              發送密文的那一端,使用對方的公開密鑰進行加密處理,對方接收到被加密的信息後,使用私鑰對此密文進行解密。

                利用這種方式,不須要發送用來解密的私鑰。從而解決了共享密鑰加密存在的問題。

               

         三、使用混合加密機制的HTTPS

               HTTPS採用共享密鑰加密和公開密鑰加密的混合加密機制。若是爲了實現密鑰的安全,那麼能夠考慮僅使用公開密鑰加密技術。(公開密鑰加密比共享密鑰加密處理速度要慢)

               因此,應當充分利用二者的優點,將多種方法組合起來進行通訊:在交換密鑰環節,使用公開密鑰加密技術(好比說,從客戶端到服務器,那麼在這樣一個安全的通訊中,客戶端能夠將共享密鑰加密中的密鑰用公開密鑰加密中的公鑰進行加密,發送給服務器,而後服務器使用公開密鑰加密技術的私鑰進行解密,就拿到了共享密鑰加密技術中的私鑰),以後創建通訊報文交換的階段則可以使用共享密鑰加密技術。

               

相關文章
相關標籤/搜索