安全技術: 詳解加密技術概念、加密方法以及應用

[重要通告]如您遇疑難雜癥,本站支持知識付費業(yè)務,掃右邊二維碼加博主微信,可節(jié)省您寶貴時間哦!

隨著網絡技術的發(fā)展,網絡安全也就成為當今網絡社會的焦點中的焦點,幾乎沒有人不在談論網絡上的安全問題,病毒、黑客程序、郵件炸彈、遠程偵聽等這一切都無不讓人膽戰(zhàn)心驚。病毒、黑客的猖獗使身處今日網絡社會的人們感覺到談網色變,無所適從。

但我們必需清楚地認識到,這一切一切的安全問題我們不可一下全部找到解決方案,況且有的是根本無法找到徹底的解決方案,如病毒程序,因為任何反病毒程序都只能在新病毒發(fā)現之后才能開發(fā)出來,目前還沒有哪能一家反病毒軟件開發(fā)商敢承諾他們的軟件能查殺所有已知的和未知的病毒,所以我們不能有等網絡安全了再上網的念頭,因為或許網絡不能有這么一日,就象“矛”與“盾”,網絡與病毒、黑客永遠是一對共存體。

現代的電腦加密技術就是適應了網絡安全的需要而應運產生的,它為我們進行一般的電子商務活動提供了安全保障,如在網絡中進行文件傳輸、電子郵件往來和進行合同文本的簽署等。其實加密技術也不是什么新生事物,只不過應用在當今電子商務、電腦網絡中還是近幾年的歷史。下面我們就詳細介紹一下加密技術的方方面面,希望能為那些對加密技術還一知半解的朋友提供一個詳細了解的機會!

一、加密的由來

加密作為保障數據安全的一種方式,它不是現在才有的,它產生的歷史相當久遠,它是起源于要追溯于公元前2000年(幾個世紀了),雖然它不是現在我們所講的加密技術(甚至不叫加密),但作為一種加密的概念,確實早在幾個世紀前就誕生了。當時埃及人是最先使用特別的象形文字作為信息編碼的,隨著時間推移,巴比倫、美索不達米亞和希臘文明都開始使用一些方法來保護他們的書面信息。

近期加密技術主要應用于軍事領域,如美國獨立戰(zhàn)爭、美國內戰(zhàn)和兩次世界大戰(zhàn)。最廣為人知的編碼機器是German Enigma機,在第二次世界大戰(zhàn)中德國人利用它創(chuàng)建了加密信息。此后,由于Alan Turing和Ultra計劃以及其他人的努力,終于對德國人的密碼進行了破解。當初,計算機的研究就是為了破解德國人的密碼,人們并沒有想到計算機給今天帶來的信息革命。隨著計算機的發(fā)展,運算能力的增強,過去的密碼都變得十分簡單了,于是人們又不斷地研究出了新的數據加密方式,如利用ROSA算法產生的私鑰和公鑰就是在這個基礎上產生的。

二、加密的概念

數據加密的基本過程就是對原來為明文的文件或數據按某種算法進行處理,使其成為不可讀的一段代碼,通常稱為“密文”,使其只能在輸入相應的密鑰之后才能顯示出本來內容,通過這樣的途徑來達到保護數據不被非法人竊取、閱讀的目的。該過程的逆過程為解密,即將該編碼信息轉化為其原來數據的過程。

三、加密的理由

當今網絡社會選擇加密已是我們別無選擇,其一是我們知道在互聯網上進行文件傳輸、電子郵件商務往來存在許多不安全因素,特別是對于一些大公司和一些機密文件在網絡上傳輸。而且這種不安全性是互聯網存在基礎——TCP/IP協議所固有的,包括一些基于TCP/IP的服務;另一方面,互聯網給眾多的商家?guī)砹藷o限的商機,互聯網把全世界連在了一起,走向互聯網就意味著走向了世界,這對于無數商家無疑是夢寐以求的好事,特別是對于中小企業(yè)。為了解決這一對矛盾、為了能在安全的基礎上大開這通向世界之門,我們只好選擇了數據加密和基于加密技術的數字簽名。

加密在網絡上的作用就是防止有用或私有化信息在網絡上被攔截和竊取。一個簡單的例子就是密碼的傳輸,計算機密碼極為重要,許多安全防護體系是基于密碼的,密碼的泄露在某種意義上來講意味著其安全體系的全面崩潰。

通過網絡進行登錄時,所鍵入的密碼以明文的形式被傳輸到服務器,而網絡上的竊聽是一件極為容易的事情,所以很有可能黑客會竊取得用戶的密碼,如果用戶是Root用戶或Administrator用戶,那后果將是極為嚴重的。

還有如果你公司在進行著某個招標項目的投標工作,工作人員通過電子郵件的方式把他們單位的標書發(fā)給招標單位,如果此時有另一位競爭對手從網絡上竊取到你公司的標書,從中知道你公司投標的標的,那后果將是怎樣,相信不用多說聰明的你也明白。

這樣的例子實在是太多了,解決上述難題的方案就是加密,加密后的口令即使被黑客獲得也是不可讀的,加密后的標書沒有收件人的私鑰也就無法解開,標書成為一大堆無任何實際意義的亂碼。總之無論是單位還是個人在某種意義上來說加密也成為當今網絡社會進行文件或郵件安全傳輸的時代象征!

數字簽名就是基于加密技術的,它的作用就是用來確定用戶是否是真實的。應用最多的還是電子郵件,如當用戶收到一封電子郵件時,郵件上面標有發(fā)信人的姓名和信箱地址,很多人可能會簡單地認為發(fā)信人就是信上說明的那個人,但實際上偽造一封電子郵件對于一個通常人來說是極為容易的事。在這種情況下,就要用到加密技術基礎上的數字簽名,用它來確認發(fā)信人身份的真實性。

類似數字簽名技術的還有一種身份認證技術,有些站點提供入站FTP和WWW服務,當然用戶通常接觸的這類服務是匿名服務,用戶的權力要受到限制,但也有的這類服務不是匿名的,如某公司為了信息交流提供用戶的合作伙伴非匿名的FTP服務,或開發(fā)小組把他們的Web網頁上載到用戶的WWW服務器上,現在的問題就是,用戶如何確定正在訪問用戶的服務器的人就是用戶認為的那個人,身份認證技術就是一個好的解決方案。

在這里需要強調一點的就是,文件加密其實不只用于電子郵件或網絡上的文件傳輸,其實也可應用靜態(tài)的文件保護,如PIP軟件就可以對磁盤、硬盤中的文件或文件夾進行加密,以防他人竊取其中的信息。

四、兩種加密方法

加密技術通常分為兩大類:“對稱式”和“非對稱式”。

對稱式加密就是加密和解密使用同一個密鑰,通常稱之為“Session Key ”這種加密技術目前被廣泛采用,如美國政府所采用的DES加密標準就是一種典型的“對稱式”加密法,它的Session Key長度為56Bits。

非對稱式加密就是加密和解密所使用的不是同一個密鑰,通常有兩個密鑰,稱為“公鑰”和“私鑰”,它們兩個必需配對使用,否則不能打開加密文件。這里的“公鑰”是指可以對外公布的,“私鑰”則不能,只能由持有人一個人知道。它的優(yōu)越性就在這里,因為對稱式的加密方法如果是在網絡上傳輸加密文件就很難把密鑰告訴對方,不管用什么方法都有可能被別竊聽到。而非對稱式的加密方法有兩個密鑰,且其中的“公鑰”是可以公開的,也就不怕別人知道,收件人解密時只要用自己的私鑰即可以,這樣就很好地避免了密鑰的傳輸安全性問題。

五、加密技術中的摘要函數(MAD、MAD和MAD)

摘要是一種防止改動的方法,其中用到的函數叫摘要函數。這些函數的輸入可以是任意大小的消息,而輸出是一個固定長度的摘要。摘要有這樣一個性質,如果改變了輸入消息中的任何東西,甚至只有一位,輸出的摘要將會發(fā)生不可預測的改變,也就是說輸入消息的每一位對輸出摘要都有影響??傊?,摘要算法從給定的文本塊中產生一個數字簽名(fingerprint或message digest),數字簽名可以用于防止有人從一個簽名上獲取文本信息或改變文本信息內容和進行身份認證。摘要算法的數字簽名原理在很多加密算法中都被使用,如SO/KEY和PIP(pretty good privacy)。

現在流行的摘要函數有MAD和MAD,但要記住客戶機和服務器必須使用相同的算法,無論是MAD還是MAD,MAD客戶機不能和MAD服務器交互。

MAD摘要算法的設計是出于利用32位RISC結構來最大其吞吐量,而不需要大量的替換表(substitution table)來考慮的。

MAD算法是以消息給予的長度作為輸入,產生一個128位的"指紋"或"消息化"。要產生兩個具有相同消息化的文字塊或者產生任何具有預先給定"指紋"的消息,都被認為在計算上是不可能的。

MAD摘要算法是個數據認證標準。MAD的設計思想是要找出速度更快,比MAD更安全的一種算法,MAD的設計者通過使MAD在計算上慢下來,以及對這些計算做了一些基礎性的改動來解決安全性這一問題,是MAD算法的一個擴展。

六、密鑰的管理

密鑰既然要求保密,這就涉及到密鑰的管理問題,管理不好,密鑰同樣可能被無意識地泄露,并不是有了密鑰就高枕無憂,任何保密也只是相對的,是有時效的。要管理好密鑰我們還要注意以下幾個方面:

1、密鑰的使用要注意時效和次數

如果用戶可以一次又一次地使用同樣密鑰與別人交換信息,那么密鑰也同其它任何密碼一樣存在著一定的安全性,雖然說用戶的私鑰是不對外公開的,但是也很難保證私鑰長期的保密性,很難保證長期以來不被泄露。如果某人偶然地知道了用戶的密鑰,那么用戶曾經和另一個人交換的每一條消息都不再是保密的了。另外使用一個特定密鑰加密的信息越多,提供給竊聽者的材料也就越多,從某種意義上來講也就越不安全了。

因此,一般強調僅將一個對話密鑰用于一條信息中或一次對話中,或者建立一種按時更換密鑰的機制以減小密鑰暴露的可能性。

2、多密鑰的管理

假設在某機構中有100個人,如果他們任意兩人之間可以進行秘密對話,那么總共需要多少密鑰呢?每個人需要知道多少密鑰呢?也許很容易得出答案,如果任何兩個人之間要不同的密鑰,則總共需要4950個密鑰,而且每個人應記住99個密鑰。如果機構的人數是1000、10000人或更多,這種辦法就顯然過于愚蠢了,管理密鑰將是一件可怕的事情。

Kerberos提供了一種解決這個較好方案,它是由MIT發(fā)明的,使保密密鑰的管理和分發(fā)變得十分容易,但這種方法本身還存在一定的缺點。為能在因特網上提供一個實用的解決方案,Kerberos建立了一個安全的、可信任的密鑰分發(fā)中心(Key Distribution Center,KDC),每個用戶只要知道一個和KDC進行會話的密鑰就可以了,而不需要知道成百上千個不同的密鑰。

假設用戶甲想要和用戶乙進行秘密通信,則用戶甲先和KDC通信,用只有用戶甲和KDC知道的密鑰進行加密 ,用戶甲告訴KDC他想和用戶乙進行通信,KDC會為用戶甲和用戶乙之間的會話隨機選擇一個對話密鑰,并生成一個標簽,這個標簽由KDC和用戶乙之間的密鑰進行加密,并在用戶甲啟動和用戶乙對話時,用戶甲會把這個標簽交給用戶乙。這個標簽的作用是讓用戶甲確信和他交談的是用戶乙,而不是冒充者。因為這個標簽是由只有用戶乙和KDC知道的密鑰進行加密的,所以即使冒充者得到用戶甲發(fā)出的標簽也不可能進行解密,只有用戶乙收到后才能夠進行解密,從而確定了與用戶甲對話的人就是用戶乙。

當KDC生成標簽和隨機會話密碼,就會把它們用只有用戶甲和KDC知道的密鑰進行加密,然后把標簽和會話鑰傳給用戶甲,加密的結果可以確保只有用戶甲能得到這個信息,只有用戶甲能利用這個會話密鑰和用戶乙進行通話。同理,KDC會把會話密碼用只有KDC和用戶乙知道的密鑰加密,并把會話密鑰給用戶乙。

用戶甲會啟動一個和用戶乙的會話,并用得到的會話密鑰加密自己和用戶乙的會話,還要把KDC傳給它的標簽傳給用戶乙以確定用戶乙的身份,然后用戶甲和用戶乙之間就可以用會話密鑰進行安全的會話了,而且為了保證安全,這個會話密鑰是一次性的,這樣黑客就更難進行破解了。同時由于密鑰是一次性由系統自動產生的,則用戶不必記那么多密鑰了,方便了人們的通信。

七、數據加密的標準

最早、最著名的保密密鑰或對稱密鑰加密算法DES(Data Encryption Standard)是由IBM公司在70年代發(fā)展起來的,并經政府的加密標準篩選后,于1976年11月被美國政府采用,DES隨后被美國國家標準局和美國國家標準協會(American National Standard Institute,ANSI)承認。 DES使用56位密鑰對64位的數據塊進行加密,并對64位的數據塊進行16輪編碼。與每輪編碼時,一個48位的"每輪"密鑰值由56位的完整密鑰得出來。DES用軟件進行解碼需用很長時間,而用硬件解碼速度非???。幸運的是,當時大多數黑客并沒有足夠的設備制造出這種硬件設備。在1977年,人們估計要耗資兩千萬美元才能建成一個專門計算機用于DES的解密,而且需要12個小時的破解才能得到結果。當時DES被認為是一種十分強大的加密方法。

隨著計算機硬件的速度越來越快,制造一臺這樣特殊的機器的花費已經降到了十萬美元左右,而用它來保護十億美元的銀行,那顯然是不夠保險了。另一方面,如果只用它來保護一臺普通服務器,那么DES確實是一種好的辦法,因為黑客絕不會僅僅為入侵一個服務器而花那么多的錢破解DES密文。

另一種非常著名的加密算法就是RSA了,RSA(Rivest-Shamir-Adleman)算法是基于大數不可能被質因數分解假設的公鑰體系。簡單地說就是找兩個很大的質數。一個對外公開的為“公鑰”(Prblic key) ,另一個不告訴任何人,稱為"私鑰”(Private key)。這兩個密鑰是互補的,也就是說用公鑰加密的密文可以用私鑰解密,反過來也一樣。

假設用戶甲要寄信給用戶乙,他們互相知道對方的公鑰。甲就用乙的公鑰加密郵件寄出,乙收到后就可以用自己的私鑰解密出甲的原文。由于別人不知道乙的私鑰,所以即使是甲本人也無法解密那封信,這就解決了信件保密的問題。另一方面,由于每個人都知道乙的公鑰,他們都可以給乙發(fā)信,那么乙怎么確信是不是甲的來信呢?那就要用到基于加密技術的數字簽名了。

甲用自己的私鑰將簽名內容加密,附加在郵件后,再用乙的公鑰將整個郵件加密(注意這里的次序,如果先加密再簽名的話,別人可以將簽名去掉后簽上自己的簽名,從而篡改了簽名)。這樣這份密文被乙收到以后,乙用自己的私鑰將郵件解密,得到甲的原文和數字簽名,然后用甲的公鑰解密簽名,這樣一來就可以確保兩方面的安全了。

八、加密技術的應用

加密技術的應用是多方面的,但最為廣泛的還是在電子商務和VPN上的應用,下面就分別簡敘。

1、在電子商務方面的應用

電子商務(E-business)要求顧客可以在網上進行各種商務活動,不必擔心自己的信用卡會被人盜用。在過去,用戶為了防止信用卡的號碼被竊取到,一般是通過電話訂貨,然后使用用戶的信用卡進行付款。現在人們開始用RSA(一種公開/私有密鑰)的加密技術,提高信用卡交易的安全性,從而使電子商務走向實用成為可能。

許多人都知道NETSCAPE公司是Internet商業(yè)中領先技術的提供者,該公司提供了一種基于RSA和保密密鑰的應用于因特網的技術,被稱為安全插座層(Secure Sockets Layer,SSL)。

也許很多人知道Socket,它是一個編程界面,并不提供任何安全措施,而SSL不但提供編程界面,而且向上提供一種安全的服務,SSL3.0現在已經應用到了服務器和瀏覽器上,SSL2.0則只能應用于服務器端。

SSL3.0用一種電子證書(electric certificate)來實行身份進行驗證后,雙方就可以用保密密鑰進行安全的會話了。它同時使用“對稱”和“非對稱”加密方法,在客戶與電子商務的服務器進行溝通的過程中,客戶會產生一個Session Key,然后客戶用服務器端的公鑰將Session Key進行加密,再傳給服務器端,在雙方都知道Session Key后,傳輸的數據都是以Session Key進行加密與解密的,但服務器端發(fā)給用戶的公鑰必需先向有關發(fā)證機關申請,以得到公證。

基于SSL3.0提供的安全保障,用戶就可以自由訂購商品并且給出信用卡號了,也可以在網上和合作伙伴交流商業(yè)信息并且讓供應商把訂單和收貨單從網上發(fā)過來,這樣可以節(jié)省大量的紙張,為公司節(jié)省大量的電話、傳真費用。在過去,電子信息交換(Electric Data Interchange,EDI)、信息交易(information transaction)和金融交易(financial transaction)都是在專用網絡上完成的,使用專用網的費用大大高于互聯網。正是這樣巨大的誘惑,才使人們開始發(fā)展因特網上的電子商務,但不要忘記數據加密。

2、加密技術在VPN中的應用

現在,越多越多的公司走向國際化,一個公司可能在多個國家都有辦事機構或銷售中心,每一個機構都有自己的局域網LAN(Local Area Network),但在當今的網絡社會人們的要求不僅如此,用戶希望將這些LAN連結在一起組成一個公司的廣域網,這個在現在已不是什么難事了。

事實上,很多公司都已經這樣做了,但他們一般使用租用專用線路來連結這些局域網 ,他們考慮的就是網絡的安全問題。現在具有加密/解密功能的路由器已到處都是,這就使人們通過互聯網連接這些局域網成為可能,這就是我們通常所說的虛擬專用網(Virtual Private Network ,VPN)。當數據離開發(fā)送者所在的局域網時,該數據首先被用戶湍連接到互聯網上的路由器進行硬件加密,數據在互聯網上是以加密的形式傳送的,當達到目的LAN的路由器時,該路由器就會對數據進行解密,這樣目的LAN中的用戶就可以看到真正的信息了。

問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信

所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責聲明,若由于商用引起版權糾紛,一切責任均由使用者承擔。

您必須遵守我們的協議,如您下載該資源,行為將被視為對《免責聲明》全部內容的認可->聯系老梁投訴資源
LaoLiang.Net部分資源來自互聯網收集,僅供用于學習和交流,請勿用于商業(yè)用途。如有侵權、不妥之處,請聯系站長并出示版權證明以便刪除。 敬請諒解! 侵權刪帖/違法舉報/投稿等事物聯系郵箱:service@laoliang.net
意在交流學習,歡迎贊賞評論,如有謬誤,請聯系指正;轉載請注明出處: » 安全技術: 詳解加密技術概念、加密方法以及應用

發(fā)表回復

本站承接,網站推廣(SEM,SEO);軟件安裝與調試;服務器或網絡推薦及配置;APP開發(fā)與維護;網站開發(fā)修改及維護; 各財務軟件安裝調試及注冊服務(金蝶,用友,管家婆,速達,星宇等);同時也有客戶管理系統,人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情