隨著信息化的高速發(fā)展,人們對信息安全的需求接踵而至,人才競爭、市場競爭、金融危機(jī)、敵特機(jī)構(gòu)等都給企事業(yè)單位的發(fā)展帶來巨大風(fēng)險,內(nèi)部竊密、黑客攻擊、無意識泄密等竊密手段成為了人與人之間、企業(yè)與企業(yè)之間、國與國之間的安全隱患。
什么是數(shù)據(jù)加密
數(shù)據(jù)加密指通過加密算法和加密密鑰將明文轉(zhuǎn)變?yōu)槊芪?,而解密則是通過解密算法和解密密鑰將密文恢復(fù)為明文。它的核心是密碼學(xué)。
數(shù)據(jù)加密仍是計算機(jī)系統(tǒng)對信息進(jìn)行保護(hù)的一種最可靠的辦法。它利用密碼技術(shù)對信息進(jìn)行加密,實現(xiàn)信息隱蔽,從而起到保護(hù)信息的安全的作用。
數(shù)據(jù)加密行業(yè)分析
信息安全傳統(tǒng)的老三樣(防火墻、入侵檢測、防病毒)成為了企事業(yè)單位網(wǎng)絡(luò)建設(shè)的基礎(chǔ)架構(gòu),已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足用戶的安全需求,新型的安全防護(hù)手段逐步成為了信息安全發(fā)展的主力軍。例如主機(jī)監(jiān)控、文檔加密等技術(shù)。
當(dāng)今主流的兩大數(shù)據(jù)加密技術(shù)是磁盤加密和驅(qū)動級解密技術(shù)。
對稱加密技術(shù)
對稱加密采用了對稱密碼編碼技術(shù),它的特點是文件加密和解密使用相同的密鑰,即加密密鑰也可以用作解密密鑰,這種方法在密碼學(xué)中叫做對稱加密算法,對稱加密算法使用起來簡單快捷,密鑰較短,且破譯困難,除了數(shù)據(jù)加密標(biāo)準(zhǔn)(DES),另一個對稱密鑰加密系統(tǒng)是國際數(shù)據(jù)加密算法(IDEA),它比DES的加密性好,而且對計算機(jī)功能要求也沒有那么高。IDEA加密標(biāo)準(zhǔn)由PGP(Pretty Good Privacy)系統(tǒng)使用。
我們常見的經(jīng)典對稱加密算法有DES、IDEA、AES、國密SM1和SM4。接下來,我們一個個來看。
DES
DES全稱是Data Encryption Standard,即數(shù)據(jù)加密標(biāo)準(zhǔn),是一種使用密鑰加密的塊算法,密鑰長度為56位,1977年被美國聯(lián)邦政府的國家標(biāo)準(zhǔn)局確定為聯(lián)邦資料處理標(biāo)準(zhǔn)(FIPS),并授權(quán)在非密級政府通信中使用,隨后該算法在國際上廣泛流傳開來。
關(guān)于DES,還有一點特別有意思。DES包含一個關(guān)鍵模塊:S盒,其設(shè)計的原理一直沒有公開。因此,很多人都相信,這個S盒中存在后門,只要美國政府需要,就能夠解密任何DES密文。
IDEA
IDEA全稱是International Data Encryption Algorithm,即國際數(shù)據(jù)加密算法,是上海交通大學(xué)教授來學(xué)嘉與瑞士學(xué)者James Massey聯(lián)合提出的,這種算法是在DES算法的基礎(chǔ)上發(fā)展出來的,類似于三重DES。密鑰長度為128位。通過支付專利使用費(通常大約是每個副本$6.00),可以在全世界廣泛使用IDEA。相比于DES和AES的使用受到美國政府的控制,IDEA的設(shè)計人員并沒有對其設(shè)置太多的限制,這讓IDEA在全世界范圍內(nèi)得到了廣泛地使用和研究。
AES
AES全稱是Advanced Encryption Standard,即高級加密標(biāo)準(zhǔn),提供了128位、192位和256位三種密鑰長度。通常情況下,我們會使用128位的密鑰,來獲得足夠的加密強(qiáng)度,同時保證性能不受影響。目前,AES是國際上最認(rèn)可的密碼學(xué)算法。在算力沒有突破性進(jìn)展的前提下,AES在可預(yù)期的未來都是安全的。
國密SM1和SM4
SM1全稱是Cryptographic Algorithm,SM4全稱是Cryptographic Algorithm,SM1和SM4是中國政府提出的加密算法。SM1算法不公開,屬于國家機(jī)密,只能通過相關(guān)安全產(chǎn)品進(jìn)行使用。而SM4屬于國家標(biāo)準(zhǔn),算法公開,可自行實現(xiàn)使用。國密算法的優(yōu)點顯而易見:受到國家的支持和認(rèn)可。
非對稱加密技術(shù)
1976年,美國學(xué)者Dime和Henman為解決信息公開傳送和密鑰管理問題,提出一種新的密鑰交換協(xié)議,允許在不安全的媒體上的通訊雙方交換信息,安全地達(dá)成一致的密鑰,這就是“公開密鑰系統(tǒng)”。相對于“對稱加密算法”這種方法也叫做“非對稱加密算法”。與對稱加密算法不同,非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數(shù)據(jù)進(jìn)行加密,只有用對應(yīng)的私有密鑰才能解密;如果用私有密鑰對數(shù)據(jù)進(jìn)行加密,那么只有用對應(yīng)的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法。
經(jīng)典的非對稱加密算法包括:RSA、ECC和國密SM2。接下來,我們一個個來看。
RSA
RSA是1977年由羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)一起提出的。RSA公開密鑰密碼體制的原理是:根據(jù)數(shù)論,尋求兩個大素數(shù)比較簡單,而將它們的乘積進(jìn)行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。RSA是比較經(jīng)典的非對稱加密算法,它的主要優(yōu)勢就是性能比較快,但想獲得較高的加密強(qiáng)度,需要使用很長的密鑰。
ECC
ECC全稱是Elliptic Curve Cryptography,即橢圓加密算法。ECC是基于橢圓曲線的一個數(shù)學(xué)難題設(shè)計的。目前學(xué)術(shù)界普遍認(rèn)為,橢圓曲線的難度高于大質(zhì)數(shù)難題,160位密鑰的ECC加密強(qiáng)度,相當(dāng)于1088位密鑰的RSA。因此,ECC是目前國際上加密強(qiáng)度最高的非對稱加密算法。
國密SM2
SM2全稱是Cryptographic Algorithm。國密算法SM2也是基于橢圓曲線問題設(shè)計的,屬于國家標(biāo)準(zhǔn),算法公開,加密強(qiáng)度和國際標(biāo)準(zhǔn)的ECC相當(dāng)。而國密的優(yōu)勢在于國家的支持和認(rèn)可。
散列算法
散列算法應(yīng)該是最常見到的密碼學(xué)算法了。大量的應(yīng)用都在使用MD5或者SHA算法計算一個唯一的id。作為密碼學(xué)的算法,散列算法除了提供唯一的id,其更大的利用價值還在于它的不可逆性。當(dāng)用戶注冊,提交賬號密碼時,作為一個安全的應(yīng)用,是絕對不能夠存儲明文密碼的。因此,我們對用戶的密碼通過散列算法進(jìn)行計算,存儲最終的散列值。
除了不可逆性,在密碼學(xué)上,我們對散列算法的要求還有:魯棒性(同樣的消息生成同樣的摘要)、唯一性(不存在兩個不同的消息,能生成同樣的摘要)。
經(jīng)典的散列算法包括MD5、SHA、國密SM3。接下來,我們一個個來看。
MD5
MD5全稱是Message-Digest Algorithm 5,即消息摘要算法,也是哈希散列2算法。MD5可以用來生成一個128位的消息摘要,MD5由美國密碼學(xué)家羅納德·李維斯特(Ronald Linn Rivest)設(shè)計,于1992年公開,用以取代MD4算法。MD5有兩個特性是很重要的,第一:明文數(shù)據(jù)經(jīng)過散列以后的值是定長的;第二:是任意一段明文數(shù)據(jù),經(jīng)過散列以后,其結(jié)果必須永遠(yuǎn)是不變的。前者的意思是可能存在有兩段明文散列以后得到相同的結(jié)果,后者的意思是如果我們散列特定的數(shù)據(jù),得到的結(jié)果一定是相同的。
SHA
SHA全稱是Secure Hash Algorithm,即安全散列算法。SHA家族的五個算法,分別是SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512,由美國國家安全局(NSA)所設(shè)計,并由美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)發(fā)布;是美國的政府標(biāo)準(zhǔn)。和MD5相同,雖然SHA的唯一性也被破解了,但是這也不會構(gòu)成大的安全問題。目前,SHA-256普遍被認(rèn)為是相對安全的散列算法,也是我最推薦你使用的散列算法。
國密SM3
SM3全稱是Cryptographic Algorithm,其屬于國家標(biāo)準(zhǔn),算法公開,加密強(qiáng)度和國際標(biāo)準(zhǔn)的SHA-256相當(dāng)。和國密SM2一樣,它的優(yōu)勢也在于國家的支持和認(rèn)可。
總的來說,在使用的時候,你要記住下面這些內(nèi)容:對稱加密具備較高的安全性和性能,要優(yōu)先考慮。在一對多的場景中(如多用戶訪問),存在密鑰分發(fā)難題的時候,我們要使用非對稱加密;不需要可逆計算的時候(如存儲密碼),我們就使用散列算法。