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