https的對稱加密
⑴ HTTPS通信時,Web伺服器收到加密後的「對稱加密用的密鑰」,使用什麼對其進行解
https其實是有兩部分組成:http + SSL / TLS,也就是在http上又加了一層處理加密信息的模塊。服務端和客戶端的信息傳輸都會通過TLS進行加密,所以傳輸的數據都是加密後的數據。具體是如何進行加密,解密,驗證的,且看下圖
⑵ HTTPS 協議原理
HTTPS的全稱是Hypertext Transfer Protocol over Secure Socket Layer,即基於SSL的HTTP協議,簡單地說就是HTTP的安全版。HTTPS協議由當時著名的瀏覽器廠商網景(Netscape)公司首創,雖然網景在與微軟(Microsoft)的瀏覽器之爭中敗北,但是HTTPS這一項技術得到了傳承,當前幾乎所有的瀏覽器和伺服器都能夠很好地支持HTTPS 協議。
依託SSL協議,HTTPS協議能夠確保整個通信過程都是經過加密的,密鑰隨機產生,並且能夠通過數字證書驗證通信雙方的身份,以此來保障信息安全。其中證書中包含了證書所代表一端的公鑰,以及一些其所具有基本信息,如機構名稱、證書所作用域名、證書的數字簽名等,通過數字簽名能校驗證書的真實性。通信的內容使用對稱加密方式進行加密,通信兩端約定好通信密碼後,通過公鑰對密碼進行加密傳輸,只有該公鑰對應的私鑰,也就是通信的另一端能夠解密獲得通信密碼,這樣既保證了通信的安全,也使加密性能和時間成本可控。
⑶ https的加密機制,怎麼加密
HTTPS加密是在簽發信任機構的SSL證書。
數字證書的作用和原理概述:https://www.gworg.com/ssl/353.html
這種加密模式比較復雜的,他產生了中介數據交易驗證。
⑷ https的基本原理。
HTTPS在傳輸數據之前需要客戶端(瀏覽器)與服務端(網站)之間進行一次握手,在握手過程中將確立雙方加密傳輸數據的密碼信息。TLS/SSL協議不僅僅是一套加密傳輸的協議,TLS/SSL中使用了非對稱加密,對稱加密以及HASH演算法。握手過程的簡單描述如下:
1.瀏覽器將自己支持的一套加密規則發送給網站。
2.網站從中選出一組加密演算法與HASH演算法,並將自己的身份信息以證書的形式發回給瀏覽器。證書裡麵包含了網站地址,加密公鑰,以及證書的頒發機構等信息。
3.獲得網站證書之後瀏覽器要做以下工作:
a) 驗證證書的合法性(頒發證書的機構是否合法,證書中包含的網站地址是否與正在訪問的地址一致等),如果證書受信任,則瀏覽器欄裡面會顯示一個小鎖頭,否則會給出證書不受信的提示。
b) 如果證書受信任,或者是用戶接受了不受信的證書,瀏覽器會生成一串隨機數的密碼,並用證書中提供的公鑰加密。
c) 使用約定好的HASH計算握手消息,並使用生成的隨機數對消息進行加密,最後將之前生成的所有信息發送給網站。
4.網站接收瀏覽器發來的數據之後要做以下的操作:
a) 使用自己的私鑰將信息解密取出密碼,使用密碼解密瀏覽器發來的握手消息,並驗證HASH是否與瀏覽器發來的一致。
b) 使用密碼加密一段握手消息,發送給瀏覽器。
5.瀏覽器解密並計算握手消息的HASH,如果與服務端發來的HASH一致,此時握手過程結束,之後所有的通信數據將由之前瀏覽器生成的隨機密碼並利用對稱加密演算法進行加密。
這里瀏覽器與網站互相發送加密的握手消息並驗證,目的是為了保證雙方都獲得了一致的密碼,並且可以正常的加密解密數據,為後續真正數據的傳輸做一次測試。另外,HTTPS一般使用的加密與HASH演算法如下:
非對稱加密演算法:RSA,DSA/DSS
對稱加密演算法:AES,RC4,3DES
HASH演算法:MD5,SHA1,SHA256
其中非對稱加密演算法用於在握手過程中加密生成的密碼,對稱加密演算法用於對真正傳輸的數據進行加密,而HASH演算法用於驗證數據的完整性。由於瀏覽器生成的密碼是整個數據加密的關鍵,因此在傳輸的時候使用了非對稱加密演算法對其加密。非對稱加密演算法會生成公鑰和私鑰,公鑰只能用於加密數據,因此可以隨意傳輸,而網站的私鑰用於對數據進行解密,所以網站都會非常小心的保管自己的私鑰,防止泄漏。
TLS握手過程中如果有任何錯誤,都會使加密連接斷開,從而阻止了隱私信息的傳輸。正是由於HTTPS非常的安全,攻擊者無法從中找到下手的地方,於是更多的是採用了假證書的手法來欺騙客戶端,從而獲取明文的信息,但是這些手段都可以被識別出來。
⑸ https為什麼不用非對稱加密
Https就是HTTP over SSL,SSL協議是傳輸層網路安全協議,傳輸加密的過程涉及對稱加密,也涉及非對稱加密。對稱加密因為使用相同的密鑰加解密,所以運行速度較快;而非對稱加密,加解密採用不同的密鑰,加解密的速度不如對稱加密快。
在客戶端與伺服器間傳輸的數據是通過使用對稱演算法進行加密的,公用密鑰演算法(通常為 RSA)是用來獲得加密密鑰交換和數字簽名。公鑰證書需要權威CA機構沃通WoSign驗證後簽發,生成數字證書,在傳輸過程中還起到驗證伺服器身份的作用。
⑹ https如何進行加密傳輸
HTTPS在傳輸數據之前需要客戶端(瀏覽器)與服務端(網站)之間進行一次握手,在握手過程中將確立雙方加密傳輸數據的密碼信息。TLS/SSL協議不僅僅是一套加密傳輸的協議,更是一件經過藝術家精心設計的藝術品,TLS/SSL中使用了非對稱加密,對稱加密以及HASH演算法。握手過程的具體描述如下:
1.瀏覽器將自己支持的一套加密規則發送給網站。
2.網站從中選出一組加密演算法與HASH演算法,並將自己的身份信息以證書的形式發回給瀏覽器。證書裡麵包含了網站地址,加密公鑰,以及證書的頒發機構等信息。
3.瀏覽器獲得網站證書之後瀏覽器要做以下工作:
a) 驗證證書的合法性(頒發證書的機構是否合法,證書中包含的網站地址是否與正在訪問的地址一致等),如果證書受信任,則瀏覽器欄裡面會顯示一個小鎖頭,否則會給出證書不受信的提示。
b) 如果證書受信任,或者是用戶接受了不受信的證書,瀏覽器會生成一串隨機數的密碼,並用證書中提供的公鑰加密。
c) 使用約定好的HASH演算法計算握手消息,並使用生成的隨機數對消息進行加密,最後將之前生成的所有信息發送給網站。
4.網站接收瀏覽器發來的數據之後要做以下的操作:
a) 使用自己的私鑰將信息解密取出密碼,使用密碼解密瀏覽器發來的握手消息,並驗證HASH是否與瀏覽器發來的一致。
b) 使用密碼加密一段握手消息,發送給瀏覽器。
5.瀏覽器解密並計算握手消息的HASH,如果與服務端發來的HASH一致,此時握手過程結束,之後所有的通信數據將由之前瀏覽器生成的隨機密碼並利用對稱加密演算法進行加密。
這里瀏覽器與網站互相發送加密的握手消息並驗證,目的是為了保證雙方都獲得了一致的密碼,並且可以正常的加密解密數據,為後續真正數據的傳輸做一次測試。另外,HTTPS一般使用的加密與HASH演算法如下:
非對稱加密演算法:RSA,DSA/DSS
對稱加密演算法:AES,RC4,3DES
HASH演算法:MD5,SHA1,SHA256
⑺ 全站HTTPS能帶來怎樣的優勢HTTPS原理是什麼,如何加密
全站https會帶來以下優勢:
1、全網站加https會更安全
https的主要功能之一是確保數據在傳輸的過程中被加密,只有相應的伺服器或用戶瀏覽器接收時才能被解密,避免了被第三方攔截和篡改。https還有另外一個功能是提供可信的伺服器認證,這是一套黑客不能隨意篡改的認證信息,使相關用戶確定他們正在與正確的伺服器通信。
如果沒有全網站加https,會導致一些頁面為https,而一些也頁面則還是http,當通過http或不安全的CDN服務載入其他資源(例如JS或CSS文件)時,網站也存在用戶信息被泄露的風險,而全網站https是防止這種風險最簡單且有效的方法。
2、幫用戶識別釣魚網站
上面提到了https可以進行伺服器認證,當伺服器的真實身份得到認證之後可以有效的區別於釣魚網站。全網站加https後,瀏覽器則會內置安全機制,實時查驗證書狀態,通過瀏覽器向用戶展示網站的認證信息,讓用戶能夠輕松識別網站的真實身份,防止誤入釣魚、仿冒網站。
3、對搜索引擎更友好
當網站存在https和http兩種協議時,需要以https這http兩種方式管理整個網站,並且需要仔細、精確的控制重定向。網站很容易在兩個協議中被一個或多個網頁解析,導致搜索引擎抓取和索引出單個網頁的兩個版本,從而導致網頁的搜索可見性降低(因為搜索引擎會認為這兩個網頁相互競爭)。即使沒有這種風險,搜索引擎有時會索引某些錯誤協議的網頁,從而對點擊進入的用戶進行不必要的重定向,反而對伺服器造成了不必要的壓力,稀釋了搜索許可權並會減慢網頁載入速度。
⑻ https是如何加密的
HTTPS其實是有兩部分組成:HTTP + SSL / TLS,也就是在HTTP上又加了一層處理加密信息的模塊。服務端和客戶端的信息傳輸都會通過TLS進行加密,所以傳輸的數據都是加密後的數據。具體是如何進行加密,解密,驗證的,且看下圖。
1. 客戶端發起HTTPS請求
這個沒什麼好說的,就是用戶在瀏覽器里輸入一個https網址,然後連接到server的443埠。
2. 服務端的配置
採用HTTPS協議的伺服器必須要有一套數字證書,可以自己製作,也可以向組織申請。區別就是自己頒發的證書需要客戶端驗證通過,才可以繼續訪問,而使用受信任的公司申請的證書則不會彈出提示頁面(startssl就是個不錯的選擇,有1年的免費服務)。這套證書其實就是一對公鑰和私鑰。如果對公鑰和私鑰不太理解,可以想像成一把鑰匙和一個鎖頭,只是全世界只有你一個人有這把鑰匙,你可以把鎖頭給別人,別人可以用這個鎖把重要的東西鎖起來,然後發給你,因為只有你一個人有這把鑰匙,所以只有你才能看到被這把鎖鎖起來的東西。
3. 傳送證書
這個證書其實就是公鑰,只是包含了很多信息,如證書的頒發機構,過期時間等等。
4. 客戶端解析證書
這部分工作是有客戶端的TLS來完成的,首先會驗證公鑰是否有效,比如頒發機構,過期時間等等,如果發現異常,則會彈出一個警告框,提示證書存在問題。如果證書沒有問題,那麼就生成一個隨機值。然後用證書對該隨機值進行加密。就好像上面說的,把隨機值用鎖頭鎖起來,這樣除非有鑰匙,不然看不到被鎖住的內容。
5. 傳送加密信息
這部分傳送的是用證書加密後的隨機值,目的就是讓服務端得到這個隨機值,以後客戶端和服務端的通信就可以通過這個隨機值來進行加密解密了。
6. 服務段解密信息
服務端用私鑰解密後,得到了客戶端傳過來的隨機值(私鑰),然後把內容通過該值進行對稱加密。所謂對稱加密就是,將信息和私鑰通過某種演算法混合在一起,這樣除非知道私鑰,不然無法獲取內容,而正好客戶端和服務端都知道這個私鑰,所以只要加密演算法夠彪悍,私鑰夠復雜,數據就夠安全。
7. 傳輸加密後的信息
這部分信息是服務段用私鑰加密後的信息,可以在客戶端被還原。
8. 客戶端解密信息
客戶端用之前生成的私鑰解密服務段傳過來的信息,於是獲取了解密後的內容。整個過程第三方即使監聽到了數據,也束手無策。
⑼ https對稱加密能破解么
無法破解,美國人計算過一千億台高級計算機同時私鑰破解也需要好幾年,而且公鑰是無法破解的,因為根本沒有入口給你。