SSL加密使用公開金鑰加密,它需要非對稱金鑰來加密和解密在伺服器和用户端——通常是網站和瀏覽器、或郵件伺服器和Microsoft Outlook等郵件用户端之間寄送的資料。
SSL即安全通訊端層的歷史與網際網路的歷史緊密交織在一起。事實上,SSL的首個可行版本於1995年由網際網路瀏覽器Netscape發佈為SSL 2.0,並於1999年升級為SSL 3.0直至後因數個漏洞而被淘汰。之後它被TLS即傳輸層安全性所取代,後者目前被認是SSL的一個更安全的版本。然而,許多人仍然將TLS(目前使用的網際網路安全通訊協定)稱為SSL,並且這些術語往往可以互換使用。
在這裡瞭解有關TLS/SSL加密發展情況的更多訊息。
TLS/SSL加密最廣泛地用於保護網際網路上的網站,也是您能在瀏覽器網址列中看到HTTPS的原因。TLS/SSL加密還能在傳輸過程中保護信用卡號、社會安全號碼和登入認證等敏感訊息。要建立此連線,瀏覽器和伺服器需要一個數位憑證,也稱為TLS/SSL憑證。
在TLS/SSL加密背後發揮作用的技術包括非對稱和對稱金鑰。這些公開金鑰和私密金鑰由不同類型的演算法組成,例如RSA和橢圓曲線密碼編譯(ECC),這使得它們幾乎不可能被破解。
非對稱加密,也稱為公開金鑰加密或SSL加密,使用兩個單獨的金鑰進行加密和解密。透過使用非對稱加密,任何人都可以使用公開金鑰對訊息進行加密。然而,解密金鑰是保密的。這樣,只有預定的收件者才能解密訊息。
最常見的非對稱加密演算法是RSA。RSA代表Ron Rivest、Adi Shamir和Leonard Adleman,他們在1977年首次公開使用此演算法。非對稱金鑰通常為1024或2048位元。然而,小於2048位元的金鑰不再被視為能安全使用的金鑰。2048位元金鑰含有大量獨特的加密碼,使用617個數字。
儘管可以創建更大的金鑰,但其增加的計算負擔是如此之大,以至於很少使用大於2048位元的金鑰。換個角度來看,一台電腦平均需要超過140億年才能破解一個2048位元的憑證。
對稱加密(或預先共用金鑰加密)使用一個金鑰來加密和解密資料。寄送方和接收方都需要相同的金鑰來進行通訊。對稱金鑰的大小通常為128位元或256位元,金鑰越大,就越難破解。例如,128位元金鑰有340,282,366,920,938,463,463,374,607,431,768,211,456種加密碼的可能性。正如您可以想像的那樣,“暴力”攻擊(即攻擊者嘗試所有可能的金鑰,直到找到正確的金鑰)需要相當長的時間才能破解128位元金鑰。使用128位元還是256位元金鑰取決於伺服器和用户端軟體的加密能力。TLS/SSL憑證並不規定使用的金鑰大小。
由於非對稱金鑰比對稱金鑰大,因此經過非對稱加密的資料比對稱加密的資料更難破解。然而,這並不意味著非對稱金鑰更好。與其按大小進行比較,不如按以下特性比較這些金鑰:計算負擔大小和是否易於散發。
對稱金鑰比非對稱金鑰小,因此它們需要較少的計算負擔。然而,對稱金鑰也有一個重大劣勢——尤其是在您使用它們來保護資料傳輸的情況下。由於對稱加密和解密使用相同的金鑰,因此您和收件者都需要此金鑰。如果您能走過去把金鑰告訴收件者,這並不是什麼大問題。然而,如果您必須將金鑰寄送給遠在世界各地的使用者(這是更可能的情況),您就需要擔心資料安全。
非對稱加密不存在這個問題。只要您做好私密金鑰的保密工作,就沒有人能解密您的訊息。您可以散發相應的公開金鑰,而不用擔心誰會獲得公開金鑰。任何擁有公開金鑰的人都可以加密資料,但只有擁有私密金鑰的人才能解密資料。
公開金鑰基礎結構(PKI)是創建、管理、散發、使用、儲存和撤銷數位憑證所需的一組硬體、軟體、人員、原則和程序。PKI還透過憑證授權中心(CA)將金鑰與使用者身分繫結在一起。PKI使用混合式加密系統,並受益於這兩類加密的使用。例如,在TLS/SSL通訊中,伺服器的TLS憑證包含非對稱公開金鑰和私密金鑰對。伺服器和瀏覽器在SSL握手期間創建的工作階段金鑰是對稱金鑰。