探索SSL密碼學的幕後
一、背景
SSL(安全套接字層)是一種標準的安全技術,用於在伺服器和客戶端之間建立加密連結,通常作用於Web伺服器(網站)和瀏覽器,或郵件伺服器和郵件客戶端的資訊加密。 網站透過安裝SSL證書可以安全地傳輸身份證號,手機號等敏感資訊。
因此要建立安全連線,瀏覽器和伺服器需要SSL證書。那麼,SSL是如何實現資料加密的呢?以至於沒有人可以破解它?接下來讓我們一起去探索SSL加密幕後工作的技術。
SSL涵蓋了非對稱金鑰和對稱金鑰以及它們如何協同工作建立SSL加密連線。SSL透過不同型別的演算法,使它們形成幾乎不可能破解的數學方程式。
二、非對稱加密
非對稱加密演算法需要兩個金鑰:公開金鑰和私有金鑰。公開金鑰與私有金鑰是一對,如果用公開金鑰對資料進行加密,只有用對應的私有金鑰才能解密;如果用私有金鑰對資料進行加密,那麼只有用對應的公鑰才能解密。加密和解密使用的是不同非對稱加密(或公鑰加密)單獨進行加密和解密。任何人都可以使用加密金鑰(公鑰)來加密訊息,但是,解密金鑰(私鑰)是機密的。這樣,只有預期的接收者才能解密該訊息,最常見的非對稱加密演算法是RSA。什麼是RSA?後面會有解釋。
非對稱金鑰通常為1024或2048位。但是,小於2048位的金鑰不再被認為是安全的。2048位金鑰是唯一足夠的加密程式碼,雖然可以建立更大的金鑰,但是會增加計算的負擔,因此很少使用大於2048位的金鑰。從破解的角度來看,普通計算機破解2048位SSL證書需要超過140億年。
三、對稱加密
對稱加密(或預共享金鑰加密)使用單個金鑰來加密和解密資料。傳送方和接收方都需要相同的金鑰才能進行通訊。
對稱金鑰大小通常為128或256位(金鑰大小越大,金鑰越難破解)。 例如,128位金鑰具有340,282,366,920,938,463,463,374,607,431,768,211,456加密程式碼的可能性。 正如您可以想象的那樣,“暴力攻擊”(攻擊者嘗試每個可能的金鑰,直到找到正確的金鑰)將花費相當多的時間來破解。
是使用128位還是256位金鑰取決於伺服器和客戶端軟體的加密功能。 SSL證書不指定使用的金鑰大小。
非對稱金鑰與對稱金鑰哪個更強?
由於非對稱金鑰大於對稱金鑰,因此非對稱加密的資料比對稱加密的資料更難破解。但是,這並不意味著非對稱金鑰更好。這些金鑰不應透過它們的大小進行比較,而應透過“計算負擔”和“易於分發”屬性進行比較。
對稱金鑰小於非對稱金鑰,因此它們只需較少的計算負擔。但是,對稱金鑰也有一個主要缺點,特別是使用它們來保護資料傳輸的時候。由於相同的金鑰用於對稱加密和解密,因此您和收件人都需要金鑰。如果您告訴收件人鑰匙,該問題就不存在。但是,如果您將金鑰傳送給世界各地的使用者,這時候資料安全將不會得到保障。
而非對稱加密沒有這個問題,只要您保密私鑰,任何人都無法解密您的郵件。您可以分發相應的公鑰,而無需擔心誰獲得它。擁有公鑰的任何人都可以加密資料,但只有擁有私鑰的人才能對其進行解密。
SSL證書是如何使用非對稱和對稱加密?
公鑰基礎結構(PKI)是建立、管理、分發、使用、儲存和撤銷數字證書所需的一組硬體。SSL證書頒發機構(CA)透過PKI將金鑰與使用者身份繫結, PKI使用混合密碼系統,並且可以使用這兩種型別的加密。例如,伺服器的SSL證書包含非對稱公鑰和對稱私鑰,伺服器和瀏覽器在SSL握手期間建立的會話金鑰是對稱的。如圖:
1. 伺服器傳送其非對稱公鑰的副本。
2. 瀏覽器建立對稱會話金鑰,並使用伺服器的非對稱公鑰對其進行加密。然後將其傳送到伺服器。
3. 伺服器使用其非對稱私鑰解密加密的會話金鑰以獲得對稱會話金鑰。
4. 伺服器和瀏覽器使用對稱會話金鑰加密和解密所有傳輸的資料。這是被允許的安全通道,因為只有瀏覽器和伺服器知道對稱會話金鑰,並且會話金鑰僅用於該會話。 如果瀏覽器第二天要連線到同一伺服器,則會建立一個新的會話金鑰。
四、公鑰加密演算法
公鑰加密(非對稱)使用RSA和橢圓曲線加密(ECC)等加密演算法來建立公鑰和私鑰。
透過非對稱加密,可以輕鬆地生成公鑰和私鑰,使用公鑰加密訊息,以及使用私鑰解密訊息。但是,任何人都很難(或不可能)僅基於公鑰匯出私鑰。
RSA
RSA基於假定的大於整數因子分解(整數分解)。在假設不存在用於整數分解的有效演算法的情況下,認為RSA密文的完全解密是不可行的。
RSA的使用者建立併發布兩個大於質數的乘積以及輔助值作為其公鑰。任何人都可以使用公鑰來加密訊息,但只有瞭解主要因素的人才能解碼。
RSA代表Ron Rivest,Adi Shamir和Leonard Adleman-- 1977年首次公開描述該演算法的人。
ECC
橢圓曲線密碼學(ECC)依賴於有限域上橢圓曲線的代數結構。1985年,Neal Koblitz和Victor S. Miller獨立地提出了在密碼學中使用橢圓曲線; ECC演算法於2004年投入使用。
ECC演算法優於RSA的優點是金鑰可以更小,從而提高了速度和安全性。 缺點在於並非所有服務和應用程式都可使用基於ECC的SSL證書。
五、預共享金鑰加密演算法
預共享金鑰加密(對稱)使用Twofish,AES或Blowfish等演算法來建立目前最受歡迎的金鑰-AES。 所有這些加密演算法分為兩種型別:流密碼和分組密碼。流密碼將加密金鑰和演算法應用於資料流中的每個二進位制數字,一次一位。 分組密碼將加密金鑰和演算法作為一組應用於資料塊(例如,64個連續位),分組密碼是目前最常用的對稱加密演算法。
透過探索SSL密碼學的幕後基本上可以看出SSL證書的加密系統是多麼的強大,為網站安裝SSL證書將成為未來網際網路的一種趨勢。
文章來源:安信SSL證書()
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900059/viewspace-2640918/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 《HTTPS權威指南》- SSL、TLS和密碼學學習筆記HTTPTLS密碼學筆記
- 密碼學之前後向安全性密碼學
- PbootCMS忘記密碼後的重置密碼流程boot密碼
- 《密碼學系列》|| 密碼學中的流密碼是怎麼回事?密碼學
- 智取螢幕保護密碼(轉)密碼
- 密碼學密碼學
- 現代密碼學-課後習題【李子臣】密碼學
- 應用密碼學——古典密碼密碼學
- 古典密碼的演化 (一)— 密碼學複習(二)密碼學
- 古典密碼的演化 (二)— 密碼學複習(三)密碼學
- 密碼學基礎概念 — 密碼學複習(一)密碼學
- 應用密碼學 - 公鑰密碼密碼學
- 應用密碼學——分組密碼密碼學
- 【密碼學系列】|| 分組密碼的工作模式詳解密碼學模式
- 密碼學課程設計 - 混合密碼的實現密碼學
- 密碼學的主要任務密碼學
- 探索資料結構:解鎖計算世界的密碼資料結構密碼
- 最新破解Wordpress後臺密碼的方法密碼
- iOS12螢幕使用時間密碼 iOS12螢幕使用時間密碼忘記了怎麼辦iOS密碼
- mysql學習之-密碼管理(預設密碼,修改密碼,解決忘記密碼)MySql密碼
- PbootCMS後臺登陸密碼忘記/找回後臺登入密碼外掛boot密碼
- 分組密碼(一) — 密碼學複習(四)密碼學
- 密碼學入門密碼學
- killBase系列 -- 密碼學密碼學
- 密碼學筆記密碼學筆記
- 密碼學簡述密碼學
- 古典密碼學 (一)密碼學
- 如何區分SSL證書和國密SSL證書
- 谷歌智慧的幕後天才: Andrew Ng及其在人工智慧方面的新探索谷歌人工智慧
- MySQL忘記root密碼後的處理MySql密碼
- weblogic忘記密碼,之後的修改Web密碼
- 密碼學中的愛麗絲與鮑勃密碼學
- 600萬密碼洩露之後,我們該如何保護自己的密碼?密碼
- pbootcms忘記後臺密碼,重置管理密碼的辦法和工具下載!boot密碼
- 探索Oracle pfile和spfile的祕密Oracle
- iPhone忘記鎖屏密碼 去除iapple id、去除螢幕時間管理密碼iPhone密碼APP
- 密碼危機:深度學習正在加速密碼破解!密碼深度學習
- 密碼學與密碼安全:理論與實踐密碼學