什麼是加密?(基本概念、過程和型別)
加密是將資料轉換為秘密程式碼的過程,該程式碼隱藏了資料的真實含義。密碼學是加密和解密資訊的研究領域。
加密長期以來一直是保護敏感資料的一種流行方法。歷史上,軍事和政府一直使用它。在現代,加密用於保護計算機和儲存裝置上的資料,以及透過網路傳輸的資料。
在計算中,未加密的資料稱為**明文**,而加密的資料稱為**密文**。
加密演算法,通常稱為密碼,是用於編碼和解碼通訊的公式。
為了有效,密碼必須在其演算法中包含一個變數。該變數稱為金鑰,它決定了密碼的輸出。
當未經授權的方攔截加密訊息時,入侵者必須找出傳送方用來加密訊息的密碼以及用作變數的金鑰。由於猜測此資訊的時間和複雜性,加密是一種重要的安全技術。
加密是如何工作的?
像“Hello, world!”這樣簡單的東西可以被認為是原始資訊或明文。作為加密文字,這可能看起來像一些令人費解的東西,例如 7*#0+gvU2x——顯然與明文無關的東西。
另一方面,加密是一個邏輯過程,其中接收加密資料的人——但不是金鑰——可以簡單地對其進行解碼並將其恢復為明文。
幾十年來,攻擊者一直在嘗試透過蠻力破解此類金鑰,即反覆嘗試。網路罪犯逐漸獲得更強大的計算能力,使他們能夠即使在存在缺陷的情況下也能訪問系統。
當資料被儲存時,例如在資料庫中,它必須“在靜止狀態下”加密,而當它被訪問或在各方之間傳送時,它必須“在傳輸中”加密。
加密演算法
將明文(資料)轉換為密文的一種數學方法稱為**加密演算法**。演算法將使用金鑰以可預測的方式修改資料。即使加密資料看起來是隨機的,金鑰也可以用來將其轉換回明文。
Blowfish、高階加密標準 (AES)、Rivest 密碼 4 (RC4)、RC5、RC6、資料加密標準 (DES) 和 Twofish 是最常用的加密演算法中的一些。加密技術隨著時間的推移而發展,從主要由政府用於絕密活動的系統發展到企業尋求保護其資料安全性和隱私的必備系統。
不同型別的加密
有幾種型別的加密,每種都有其自身的優點和應用。
對稱加密
這種簡單的加密方法只需要一個金鑰來加密和解密資訊。雖然它是歷史最悠久且最著名的加密方法,但它有一個缺點,即雙方必須在能夠解密資料之前都訪問用於加密資料的金鑰。
AES-128、AES-192 和 AES-256 是對稱加密方法。對稱加密是傳輸大量資料的推薦方法,因為它不太複雜並且執行速度也更快。
非對稱加密
非對稱加密,也稱為公鑰密碼術,是一種相對較新的加密和解密資料的方法,它使用兩個不同的但相關的金鑰。一個金鑰是私鑰,另一個是公鑰。
使用公鑰進行加密,而使用私鑰進行解密(反之亦然)。公鑰不需要安全,因為它可以公開共享,例如透過網際網路。
非對稱加密是保護透過網際網路傳輸的資料安全性的更強大的替代方案。安全套接字層 (SSL) 或傳輸層安全 (TLS) 證書用於保護網站。對 Web 伺服器的請求會返回數字證書的副本,從中可以檢索公鑰,而私鑰則保持私有。
資料加密標準 (DES)
DES 是一種已棄用的對稱金鑰加密技術。由於 DES 使用相同的金鑰加密和解密訊息,因此傳送方和接收方都必須訪問相同的私鑰。更安全的 AES 演算法已取代 DES。
1977 年,美國政府批准它作為聯邦計算機資料加密的官方標準。DES 被廣泛認為是現代密碼學和加密行業的催化劑。
三重資料加密標準 (3DES)
三重資料加密標準 (TDES) 是一種加密方法 (3DES)。它需要三個不同的金鑰和三次 DES 演算法執行。3DES 主要被視為一種臨時解決方案,因為單 DES 演算法開始被認為太弱而無法抵禦蠻力攻擊,而更強大的 AES 仍在測試中。
RSA
RSA 是一種密碼系統,是一組用於某些安全服務或目的的密碼演算法。它允許公鑰加密,並且通常被瀏覽器和虛擬專用網路用於連線到網站 (VPN)。
RSA 是非對稱的,這意味著它使用兩個不同的金鑰進行加密:一個公鑰和一個私鑰。如果公鑰用於解密,則私鑰用於加密,反之亦然。
高階加密標準 (AES)
高階加密標準 (AES) 是一種標準,也是最安全的加密型別。AES 使用“對稱”金鑰加密。高階加密標準是一種對稱加密演算法,一次加密固定大小的資料塊(128 位)。
為什麼加密資料很重要?
加密對於許多技術至關重要,但對於確保 HTTP 請求和響應的安全以及對網站源伺服器進行身份驗證尤其重要。HTTPS 是負責此操作的協議(超文字傳輸協議安全)。使用 HTTPS 而不是 HTTP 提供的網站的 URL 以 https:// 開頭,而不是 http://,這通常由位址列中的安全鎖指示。
傳輸層安全 (TLS) 是 HTTPS 使用的加密機制 (TLS)。以前,安全套接字層 (SSL) 加密協議是行業標準,但現在 TLS 已取代 SSL。將在使用 HTTPS 的網站的源伺服器上部署 TLS 證書。TLS 和 HTTPS 是您應該熟悉的兩個術語。
加密的主要目標是保護儲存在計算機上或透過網際網路或任何其他計算機網路通訊的數字資料的隱私。
除了安全性之外,合規性的需要也經常是採用加密的推動力。為了防止不希望的第三方或威脅參與者訪問敏感資料,許多組織和標準機構建議或強制執行加密。例如,支付卡行業資料安全標準 (PCI DSS) 要求商家在其客戶的支付卡資料在靜止狀態下儲存和透過公共網路傳輸時對其進行加密。
金鑰管理系統
雖然加密旨在防止未經授權的實體理解他們獲得的資料,但在某些情況下,它也可能阻止資料所有者訪問資料。由於解密加密文字的金鑰必須儲存在環境中的某個地方,並且攻擊者通常知道在哪裡查詢,因此金鑰管理是制定企業加密策略最困難的方面之一。
有大量關於金鑰管理的最佳實踐建議。只是金鑰管理增加了備份和恢復過程的複雜性。如果發生重大災難,獲取金鑰並將其轉移到新的備份伺服器的過程可能會延長開始恢復過程所需的時間。
僅僅擁有金鑰管理系統是不夠的。管理員必須制定全面的安全策略來保護金鑰管理系統。這通常包括將其與其他所有內容獨立備份,並將備份儲存在一種允許您在發生大規模災難時快速恢復金鑰的方法中。
攻擊者如何破解加密資料?
網路罪犯、駭客和攻擊者使用各種方法來破解加密資料並訪問敏感資料。以下是獲取未經授權的加密資料訪問許可權的一些常用方法:
蠻力攻擊
當攻擊者不知道解密金鑰時,他們會嘗試數百萬或數十億次猜測來找出它。這被稱為蠻力攻擊。
任何密碼最基本的攻擊形式是**暴力破解**——嘗試每個金鑰,直到找到正確的金鑰。可用金鑰的數量由金鑰長度決定,這表明了攻擊的可行性。加密強度與金鑰大小成正比,但隨著金鑰大小的增加,進行計算所需的資源也會增加。
憑藉當今的計算機,暴力破解攻擊的速度大大加快。因此,加密必須非常強大且複雜。大多數現代加密系統,當與強密碼結合使用時,可以抵禦暴力破解攻擊。然而,隨著計算機變得越來越強大,它們未來可能會容易受到此類攻擊。暴力破解攻擊仍然可以用於針對弱密碼。
側通道攻擊
側通道攻擊是一種破解加密的替代方法,它攻擊密碼實現的物理副作用,而不是密碼本身。如果系統設計或執行存在缺陷,則此類攻擊可能會成功。
密碼分析
攻擊者還可以嘗試使用密碼分析來破解目標密碼。它是尋找密碼中可能被利用的缺陷的行為,其複雜程度低於暴力破解攻擊。當密碼本身已經很弱時,有效攻擊它的任務就變得很容易。
例如,DES 演算法一直被懷疑受到了美國國家安全域性 (NSA) 的干預破壞。前美國國家安全域性分析師和承包商愛德華·斯諾登的爆料後,許多人認為美國國家安全域性試圖破壞替代密碼標準並降低加密產品的效能。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP