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






























