加密是對消息或信息進行編碼以便只有授權方可以看到它的過程。加密已經進行了幾個世紀。例如,在第二次世界大戰中,盟軍使用不成文的納瓦霍語發送加密代碼,日本人無法解碼。
今天加密更加重要,因為我們生活在一個隱私和安全不斷受到想要訪問我們個人生活的黑客攻擊的時代。得益于 AES 加密等現代技術,黑客沒有理由閱讀敏感信息。
加密是保持數據安全的通用過程。
在這篇文章中,我們將探索不同的加密方法,以便您可以將信息安全地存儲在數據庫中。
一、您應該選擇哪種加密算法?
在選擇一種方法之前,了解每種方法的優缺點很重要。
目前使用的三種加密算法是:對稱密鑰加密、非對稱密鑰加密、混合加密對稱密鑰加密。
1、對稱密鑰加密
非常適合需要快速加密數據或隨著時間的推移可能沒有可用于發送密鑰的安全通道的情況(例如,與位于世界另一端的人通信)。
優點包括比非對稱密鑰加密更快的解密時間,更小的密鑰大小,更容易安全地存儲或傳輸,并且不需要分發密鑰或證書,因為它使用了共享秘密的概念。
共享密鑰是一組只有參與安全通信的人員才知道的字符。共享秘密可以是只有安全交易的各方知道的任何“密碼類型”字符串。
共享秘密可以是預先共享的預共享密鑰的形式?;蛘撸窃谕ㄐ艜挄r使用密鑰協商協議創建的,例如,Diffie-Hellman等公鑰密碼術,或Kerberos等對稱密鑰密碼術。
缺點是它需要密鑰的安全分發/傳輸或預共享的秘密才能正常工作。搜索加密消息也更加困難,因為在搜索之前必須單獨解密每條消息,這是性能劣勢。
2、非對稱密鑰加密
非對稱加密(也稱為公鑰加密)使用兩個單獨的密鑰對數據進行加密和解密。它們被稱為“公鑰”和“私鑰”。它們一起被稱為“公鑰和私鑰對”。
非對稱加密的主要好處是提高了數據安全性。用戶不需要透露他們的私鑰,從而減少了網絡犯罪分子在傳輸過程中發現用戶密鑰并獲得數據訪問權限的機會。
缺點是密鑰對是在使用時生成的,因此可能需要格外小心以確保它們安全可靠地生成。通常,密鑰以“帶外”的方式進行通信,例如通過電話呼叫收件人或在電子郵件和 IRC 等頻道之間拆分密鑰以防止竊聽一個頻道。
非對稱加密使用比對稱加密更長的密鑰來提供比對稱密鑰加密更好的安全性。
然而,雖然較長的密鑰長度并不是一個缺點,但它會導致加密速度變慢。
3、混合加密
今天,所有公鑰密碼學的實際實現都采用某種形式的混合加密。
流行的例子包括 TLS 和 SSH 協議,它們使用公鑰機制進行密鑰交換(例如 Diffie-Hellman)和對稱密鑰機制進行數據封裝(例如 AES)。
當需要快速進行數據加密但對系統性能的影響較小時,混合加密非常有用。
加密過程的工作原理是使用對稱加密僅加密對稱密鑰,然后使用非對稱加密使用此對稱密鑰加密整個消息,這使得解密時間比傳統加密更快。
二、通用數據加密方法
1、PGP
這是 Phil Zimmerman 在 1991 年使用 RSA 加密算法創建的算法。PGP 加密與其他加密算法不同,因為它不需要服務器、證書或發件人和收件人之間任何其他類型的預共享機密來使用加密。
有權訪問公鑰的人可以在向其他用戶發送信息之前加密數據,而無需與其他用戶共享密鑰。與其他加密方法相比,這使其安全性降低但更靈活,因為任何人都可以發送加密數據,而無需提前設置復雜的安全選項。
PGP 比許多其他形式的加密更容易實現,因為不需要第三方服務器。但它不像其他需要證書或加密密鑰的加密方法那樣安全,因為任何人都可以使用 PGP 加密來加密數據。
2、HTTPS
HTTPS 與其說是加密本身,不如說是一種協議。HTTPS 中的加密協議使用傳輸層安全性 (TLS),以前稱為安全套接字層 (SSL)。它有時也稱為 HTTP over TLS 或 HTTP over SSL。
幾乎所有瀏覽器都支持 HTTPS。無需用戶干預即可獲得 HTTPS 提供的混合加密的好處。該協議很重要,因為它可以防止人們監控用戶和網站之間發送和接收的數據庫流量。這可以防止竊賊發現用戶正在訪問的網頁或放入表單的信息或通過未加密的在線連接共享的其他個人數據。
3、MD5
MD5 有多種用例。但最大的是密碼的存儲。由于數據庫中的數據可能不安全而密碼必須是安全的,因此許多密碼都經過了 MD5 加密。例如,許多 Linux 系統使用 MD5 來存儲密碼。
文件的校驗和通常使用 MD5。網站包含許多漏洞,這些漏洞可能允許黑客更改下載鏈接并誘騙用戶下載受損文件。
這可以通過校驗和來緩解。它們通過創建與文件一起使用的唯一哈希來工作。將此哈希與下載的文件進行比較,以確保它是匹配的。如果它們匹配,則文件是相同的并且沒有被篡改。對于受損文件,情況正好相反。
用于 md5 加密的密鑰不斷變化,因此即使 MD5 密鑰被泄露,它也只會影響一個會話的流量,而不是所有會話。這使得 MD5 加密成為銀行、政府網站和其他對隱私和安全至關重要的信息敏感企業的熱門選擇。
4、AES
AES 代表高級加密標準。這是一種對稱密鑰算法。經過五年的過程以取代老化的數據加密標準 (DES),它于 2002 年被美國政府采納為聯邦標準。
AES 是一種對稱密鑰加密算法。計算機程序獲取未加密的文本,通過加密密鑰對其進行處理,然后返回密文。當需要解密數據時,AES 會使用相同的密鑰再次對其進行處理,以生成解碼數據。這種方法需要較少的計算資源來完成其解密過程,從而降低對數據庫的性能影響。因此,AES 是保護存儲在大型數據庫中的敏感數據的好方法。
AES 加密保護敏感信息,如信用卡號或不安全網絡上的其他個人信息。這種類型的加密使用 128 位的密鑰,因此很難破解。AES 還可以與 RSA 等非對稱密鑰算法一起使用,這意味著可以通過 AES 對某些數據進行加密,然后使用不同的密鑰進行解密。這使得攻擊難以實施,因為它需要黑客攔截一段數據并使用他們通常不可用的密鑰對其進行解密。
5、RC4
RC4
的流行與其簡單性和速度有關。AES 不如 RC4 快,但更安全。RC4 是 Ron Rivest 早在 1987 年為網絡安全公司 RSA
Security 創建的流密碼。流密碼是一種加密技術,可以逐字節地將純文本轉換為任何沒有正確密鑰的人都無法讀取的代碼。
流密碼是線性的,因此相同的密鑰加密和解密消息。雖然破解它們可能很困難,但黑客已經設法做到了。出于這個原因,專家認為流密碼不能安全地廣泛使用。許多數據庫仍然依靠技術在互聯網上傳遞數據。
RC4 在許多應用程序中得到廣泛支持,可以與私鑰或公鑰一起使用。由于私鑰通常比用于公鑰加密的密鑰長,因此 RC4 加密由于帶寬有限而廣泛用于無線網絡。
要解密 RC4,需要知道 RC4 密鑰和 RC4 算法,這就是 RC4 加密的工作原理。對于使用 RC4 訪問加密數據的攻擊者,他們需要知道 RC4 加密的兩個組件和任何密鑰。
RC4
算法因實現而異,即使使用相同的密鑰也是如此,但通常足夠接近,以至于可以編寫一次解密程序,然后在每個實現中使用。正確實施時它具有良好的速度。在其執行期間可能會發生幾個不同的操作,例如交換密鑰或替換表,具體取決于偏移密鑰字節流提供的信息。這使得攻擊者很難預測
RC4 加密,即使他們可以訪問 RC4 密鑰。
三、結論
Ponemon Institute 最近發現,近 70% 的公司在去年至少發生過一次數據泄露事件。
考慮到公司網絡上存儲了多少數據庫,這并不奇怪。
因此,在開始在云中安裝數據庫之前,了解您的數據庫加密選項并做出明智的選擇非常重要。
幸運的是,有很多不同的方法可用,因此我們建議您研究并找出最適合您需求的安全級別——從
MD5 保護到軍用級 256 位 AES 加密算法。