国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
數(shù)據(jù)加密縱橫談
1.加密的歷史
作為保障數(shù)據(jù)安全的一種方式,對于信息的加密技巧起源于歐洲,公元前2000年,埃及人是最先使用象形文字作為信息編碼的人。隨著時間推移,巴比倫、美索不達(dá)米亞和希臘文明都開始使用一些方法來保護(hù)他們的書面信息(明文)。后來,被Julias Caesar(凱撒大帝)使用,也曾用于歷次戰(zhàn)爭中,包括美國獨(dú)立戰(zhàn)爭、美國內(nèi)戰(zhàn)和兩次世界大戰(zhàn)。
最廣為人知的編碼機(jī)器是德國的German Enigma,在第二次世界大戰(zhàn)中德國人利用它創(chuàng)建了加密信息系統(tǒng),從而解決軍事信息的保密通訊問題。此后,由于Alan Turing和Ultra計(jì)劃以及其他工程技術(shù)人員的不泄努力,盟軍終于對德國人的密碼成功破譯了,進(jìn)而導(dǎo)致第二次世界大戰(zhàn)結(jié)束。
當(dāng)初,美國人對于計(jì)算機(jī)的研究,主要目的是用于破解德國人的通訊密碼,這在當(dāng)時,人們并沒有意識到計(jì)算機(jī)技術(shù)此后的發(fā)展會影響世界歷史進(jìn)程,從而在全球引發(fā)了一場信息革命。隨著計(jì)算機(jī)的發(fā)展,運(yùn)算能力的增強(qiáng),傳統(tǒng)的密碼知識和技能都變得十分簡單了而很容易被人破解,于是人們又不斷地研究出了新的數(shù)據(jù)加密方式,如私有密鑰算法和公共密鑰算法??梢哉f,是計(jì)算機(jī)技術(shù)的飛速發(fā)展在推動了數(shù)據(jù)加密技術(shù)的發(fā)展。
2.什么是數(shù)據(jù)加密
盡管加密技術(shù)被首先使用在軍事通信領(lǐng)域,但是人們或許出于安全的考量,開始逐漸對于商業(yè)機(jī)密、政府文件等重要信息實(shí)施加密手段。數(shù)據(jù)加密應(yīng)運(yùn)而生。其基本原理是:
對明文(可讀懂的信息)進(jìn)行翻譯,使用不同的算法對明文以代碼形式(密碼)實(shí)施加密。該過程的逆過程稱為解密,即將該編碼信息轉(zhuǎn)化為明文的過程。
從事數(shù)據(jù)加密研究的人稱為密碼編碼者(Cryptographer),而從事對密碼解密的專業(yè)人士稱為密碼分析者(Cryptanalyst)。如今數(shù)據(jù)加密技術(shù)被廣泛地應(yīng)用與國民經(jīng)濟(jì)各個領(lǐng)域,特別是政府機(jī)關(guān)和國防情報(bào)部門,此外才是科學(xué)研究機(jī)關(guān)、商業(yè)部門、新聞出版、金融證券、交通管制與電力輸送等部門。
3.為什么需要對數(shù)據(jù)進(jìn)行加密?
因特網(wǎng)是不安全的信息傳輸載體,它所遵循的通訊協(xié)議(TCP/IP協(xié)議)是脆弱的,當(dāng)初設(shè)計(jì)該協(xié)議的初衷并非是對信息安全的考慮,而是出于對通信自由的考量。因此,一些基于TCP/IP協(xié)議的服務(wù)也是極不安全;另一方面,因特網(wǎng)給眾多的商家?guī)砹藷o限的商機(jī),許多網(wǎng)絡(luò)黑客依照經(jīng)濟(jì)利益或個人愛好,往往專門跟蹤Internet的特殊群體或個別敏感用戶,盜取他們的網(wǎng)絡(luò)身份或銀行帳戶信息,再冒充合法用戶的身份,進(jìn)一步侵入信息系統(tǒng),非法盜取經(jīng)濟(jì)、政治、軍事機(jī)密。為了保證因特網(wǎng)的安全和充分發(fā)揮其商業(yè)信息交換的價(jià)值,人們選擇了數(shù)據(jù)加密技術(shù)的對訪問Internet網(wǎng)絡(luò)的用戶實(shí)施身份認(rèn)證。
加密技術(shù)在網(wǎng)絡(luò)上的應(yīng)用概括起來有:①數(shù)據(jù)加密 ②身份認(rèn)證 ③數(shù)字簽名和防止個人的否認(rèn)事實(shí)(撒謊)行為。其次就是對于黑客的非法入侵行為在網(wǎng)絡(luò)上進(jìn)行攔截。許多安全防護(hù)體系是基于密碼的,密碼一旦泄露出去可以導(dǎo)致很多的安全隱患,甚至導(dǎo)致網(wǎng)絡(luò)的全面崩潰。
當(dāng)人在網(wǎng)絡(luò)上進(jìn)行訪問時必須進(jìn)入第一道門口——登錄,你所鍵入的密碼(Password)以明文的形式被傳輸?shù)接脩舴?wù)器上,系統(tǒng)自動對你的用戶身份進(jìn)行鑒別,這就是身份認(rèn)證。確定你的身份后才容許你訪問或通訊。
在網(wǎng)絡(luò)上的竊聽是一件極為容易的事情,今天在Internet網(wǎng)上到處充斥著各種各樣的黑客程序,很多是基于訪問控制的攻擊型程序。因此很有可能會有黑客嗅探并竊得用戶的密碼,如果用戶是Root用戶或Administrator用戶,那后果將是極為嚴(yán)重的。網(wǎng)絡(luò)上的數(shù)據(jù)被嗅探和劫持必將或給網(wǎng)絡(luò)帶來安全隱患。
解決類似的網(wǎng)絡(luò)攻擊行為的防護(hù)措施之一就是對數(shù)據(jù)加密,加密的口令即使被黑客獲得也是不可讀的,除非加密密鑰或加密方式十分脆弱,黑客很容易破解。不管怎樣,加密的使用使黑客不會輕易獲得口令。
身份認(rèn)證是基于加密技術(shù)的,它的作用就是用來確定用戶是否是真實(shí)的。
簡單的例子就是電子郵件,當(dāng)用戶收到一封電子郵件時,郵件上面標(biāo)有發(fā)信人的姓名和信箱地址,很多人可能會簡單地認(rèn)為發(fā)信人就是信上說明的那個人,但實(shí)際上偽造一封電子郵件對于一個通常人來說是極為容易的事。在這種情況下,用戶需要用電子郵件源身份認(rèn)證技術(shù)來防止電子郵件偽造,這樣就有理由用戶寫信的人就是信頭上說明的人,有些站點(diǎn)提供入站FTP和WWW服務(wù),當(dāng)然用戶通常接觸的這類服務(wù)是匿名服務(wù),用戶的權(quán)力要受到限制,但也有的這類服務(wù)不是匿名的,如公司為了信息交流提供用戶的合作伙伴非匿名的FTP服務(wù),或開發(fā)小組把他們的Web網(wǎng)頁上載到用戶的WWW服務(wù)器上,現(xiàn)在的問題就是,用戶如何確定正在訪問用戶服務(wù)器的人就是合法用戶呢?采用身份認(rèn)證便可以解決這個問題。
有些時候,用戶可能需要對一些機(jī)密文件進(jìn)行加密,并不一定因?yàn)橐诰W(wǎng)絡(luò)間進(jìn)行傳輸,而是要防止別人竊得計(jì)算機(jī)密碼而獲得該機(jī)密文件,因此要對數(shù)據(jù)實(shí)行加密,從而實(shí)現(xiàn)多重保護(hù)。例如,在UNIX系統(tǒng)中可以用crypt(3)命令對文件進(jìn)行加密,盡管這種加密手段如今已不是那么先進(jìn),甚至有被破解的可能,但是最起碼可以保證文件的完整無誤地傳輸?shù)叫畔⒔邮芊健?div style="height:15px;">
4.加密密鑰
加密算法通常是公開的,比較常用的密碼體制有DES和IDEA等。一般把受保護(hù)的原始信息稱為明文,編碼后的數(shù)據(jù)就是密文。盡管大家都知道加密方法是公開的,但對密文進(jìn)行破譯是需要專一的密鑰的,密鑰是保密的不是任何人都可以輕易拿到的。一旦你獲得專一的密鑰秘密對于你就是公開的了。
(一)保密密鑰和公開(私有)密鑰
有兩類基本的加密算法可供對文件加密者選擇:保密密鑰和公開/私有密鑰。在保密密鑰中,加密者和解密者使用相同的密鑰,被稱為非對稱密鑰,這類算法有DES和IDEA。這種加密算法的問題是,用戶必須讓接收信息者知道自己所使用的密鑰,這個密鑰需要雙方共同保密,任何一方的失誤都會導(dǎo)致機(jī)密的泄露。而且在告訴收件人密鑰過程中,還需要的防止任何人發(fā)現(xiàn)或竊取密鑰,這個過程被稱為密鑰發(fā)布。有些認(rèn)證系統(tǒng)在會話初期用明文傳送密鑰,這就存在密鑰被截獲的可能性。
需要使用保密密鑰對加密密鑰的信息再加密。
另一類加密技術(shù)是公開/私有密鑰,與非對稱密鑰體制不同的是,它使用相互關(guān)聯(lián)的一對密鑰,一個是公開的密鑰,任何人都可以知道,另一個是私有密鑰(專一密鑰),只有擁有該對密鑰的人才有,其他人并沒有保管它。假如某甲發(fā)信給保存專一密鑰的乙方,乙接收到加密信息后,就用他自己保存的密鑰進(jìn)行解密,而且只有乙方持有的私有密鑰可以解密。這種加密方式的好處顯而易見。密鑰只有一個人持有,也就更加容易進(jìn)行保密,因?yàn)椴恍柙诰W(wǎng)絡(luò)上傳送私人密鑰,也就不用擔(dān)心別人在認(rèn)證會話初期劫持密鑰。
下面把公開/私有密鑰技術(shù)總結(jié)為以下三個要點(diǎn):
1、公開鑰/私有密鑰有兩個相互關(guān)聯(lián)的密鑰。
2、公開密鑰加密的文件只有私有密鑰能解開。
3、私有密鑰加密的文件只有公開密鑰能解開,這一特點(diǎn)被用于PGP(pretty good privacy)。
(二)摘要函數(shù)(MD2、MD4和MD5)-----數(shù)字簽名
摘要是一種防止數(shù)據(jù)被私自改動的方法,其中用到的函數(shù)叫摘要函數(shù)。這些函數(shù)的輸入可以是任意大小的消息,而輸出是一個固定長度的摘要。摘要有這樣一個性質(zhì),如果改變了輸入消息中的任何東西,甚至只有一位,輸出的摘要將會發(fā)生不可預(yù)測的改變,也就是說輸入消息的每一位數(shù)字對輸出摘要都會有影響??傊惴◤慕o定的文本塊中產(chǎn)生一個數(shù)字簽名(fingerprint或message digest),數(shù)字簽名可以用于防止有人從一個簽名上獲取文本信息或改變文本信息內(nèi)容。摘要算法的數(shù)字簽名原理在很多加密算法中都被使用,如S/KEY和PGP(pretty good privacy)。
現(xiàn)在流行的摘要函數(shù)有MD4和MD5,下面就來討論一下它們。記住,客戶機(jī)和服務(wù)器必須使用相同的算法,無論是MD4還是MD5,MD4客戶機(jī)不能和MD5服務(wù)器交互。
MD2摘要算法的設(shè)計(jì)是出于下面的考慮:利用32位RISC結(jié)構(gòu)來最大其吞吐量,而不需要大量的替換表(substitution table)。
MD4算法是把消息的給予,對長度而言作為一個輸入,產(chǎn)生一個128位的"指紋"或"消息化"。要產(chǎn)生兩個具有相同消息化的文字塊或者產(chǎn)生任何具有預(yù)先給定"指紋"的消息,都被認(rèn)為在計(jì)算上是不可能的。
MD5摘要算法是個數(shù)據(jù)認(rèn)證標(biāo)準(zhǔn)。MD5的設(shè)計(jì)思想是要找出速度更快但更不安全的MD4中潛在的不安全,MD5的設(shè)計(jì)者通過使MD5在計(jì)算上慢下來,以及對這些計(jì)算做了一些基礎(chǔ)性的改動來解決這個問題。MD5在RFC1321中給出文檔描述,是MD4算法的一個擴(kuò)展。
5.密鑰的管理和分發(fā)
一、使用同樣密鑰的時間范圍
用戶可以一次又一次地使用同樣原密鑰與別人交換信息,但要考慮以下的情況:
1.如果某人偶然地接觸到了用戶的密鑰,那么用戶曾經(jīng)和另一個人交換的每一條消息都不再是保密的了。
2.使用一個特定密鑰加密的信息越多,提供給竊聽者的材料也就越多,這就增加了他們成功的機(jī)會。
因此,一般強(qiáng)調(diào)僅將一個對話密鑰用于一條信息中或一次對話中,或者建立一種按時更換密鑰的機(jī)制,以減小密鑰暴露的可能性。
二、保密密鑰的分發(fā)
假設(shè)在某機(jī)構(gòu)中有100個人,如果他們?nèi)我鈨扇酥g可以進(jìn)行秘密對話,那么總共需要多少密鑰呢?每個人需要知道多少密鑰呢?很容易得出答案,十個連網(wǎng)用戶需要45個密鑰,如果是100人中的任意兩人之間要用不同的密鑰對話,則該群體總共需要4950對密鑰,而且每個人應(yīng)記住99個密鑰。如果機(jī)構(gòu)的人數(shù)是1000、10000人或更多呢,顯然這種方式過于愚蠢了,管理密鑰將是一件可怕的事情。
Kerberos提供了一種較好的密鑰管理解決方案,它是由美國MTI (麻省理工學(xué)院)發(fā)明的,使密鑰的管理和分發(fā)變得十分方便,但該方法本身還存在一定的缺陷。為能在因特網(wǎng)上提供一個實(shí)用的解決方案 Kerberos建立了一個安全的、可信任的密鑰分發(fā)中心(Key Distribution Center, KDC),每個用戶只要知道一個和KDC進(jìn)行通訊的密鑰就可以了,而不需要知道成百上千個不同的密鑰。發(fā)放密鑰和生成密鑰由KDC負(fù)責(zé)。方式如下:
假設(shè)A想要和B進(jìn)行秘密通信,則A先和KDC通信,使用只有A和KDC知道的密鑰進(jìn)行加密 ,A告訴KDC他想和B通信,KDC會為A和B之間的會話隨機(jī)選擇一對對話密鑰,比如“wa6lkj9ds5bc”,并生成一個標(biāo)簽,這個標(biāo)簽由KDC和B之間的密鑰進(jìn)行加密,并在A啟動與B對話時,A會把這個標(biāo)簽交給B。為什么會生成這樣一個標(biāo)簽?zāi)??這個標(biāo)簽的作用是讓A確信和他交談的人就是B,而不是冒充者。因?yàn)檫@個標(biāo)簽是由只有B和KDC知道的密鑰進(jìn)行加密的,所以即使冒充者得到A發(fā)出的標(biāo)簽也不可能進(jìn)行解密,只有B收到后才能夠進(jìn)行解密,從而確定了與A對話的人就是B。
當(dāng)KDC生成標(biāo)簽和隨機(jī)發(fā)放,就會把它們用只有A和KDC知道的密鑰進(jìn)行加密,然后把標(biāo)簽和發(fā)放的密鑰傳給A,加密的結(jié)果可以確保只有A能得到這個信息,只有A能利用這個會話密鑰和B進(jìn)行通話(唯一性)。同理,KDC會把會話密碼用只有KDC和B知道的密鑰加密,并把會話密鑰傳給B。
A會啟動一個和B的會話行為,并用得到的會話密鑰加密自己和B的會話,于此同時還要把KDC傳給A的標(biāo)簽再發(fā)給B,以確定B 的身份。然后A和B之間就可以用會話密鑰進(jìn)行安全會話了,而且為了保證安全,這個會話密鑰是一次性的,這樣黑客就更難進(jìn)行破解了。
6.一次性密碼
通常使用的計(jì)算機(jī)口令是靜態(tài)的,也就是說在一定時間內(nèi)是不變的,而且可重復(fù)使用。前面已經(jīng)提到過,口令極易被網(wǎng)上嗅探劫持,有鑒于此,人們發(fā)明的一次性密碼。難道在每次會話后修改一次密碼嗎?顯然這樣做是極其愚蠢的,那樣太累人了。事實(shí)上,人們已經(jīng)發(fā)明了一種產(chǎn)生一次性口令的技術(shù),稱之為挑戰(zhàn)/ 回答(challenge/response)。
口令,不管是靜態(tài)口令還是一次性口令,都是基于"用戶知道什么"這一理論的。比如說,靜態(tài)密碼是用戶和機(jī)器之間共享的一種信息,而其他人不知道,這樣用戶若知道這個口令,就說明用戶是機(jī)器所確認(rèn)的那個人。一次性口令也一樣,用戶和機(jī)器之間必須共知一條通行短語,而這條通行短語對外界是完全保密的。和靜態(tài)口令不同的是,這個通行短語并不在網(wǎng)絡(luò)上進(jìn)行傳輸,所以黑客通過網(wǎng)絡(luò)竊聽是絕對截獲不了的。每次的口令是三個因數(shù)按一定算法計(jì)算得到的結(jié)果,這三個因子分別是種子、迭代值和通行短語。
種子(seed):決定于用戶,一般在一臺機(jī)器上,一個種子對應(yīng)于一個用戶,也就是說,種子在一個系統(tǒng)中應(yīng)具有唯一性,這是秘密的而是公開的。
迭代值(iteration):迭代值是不斷變化的,而種子和通行短語是相對不變的,所以迭代值的作用就是使口令發(fā)生變化。
通行短語(phrase):通行短語是保密的,而迭代值是公開的,這樣就決定了口令的機(jī)密性。
當(dāng)用戶登錄時,系統(tǒng)會向用戶提出挑戰(zhàn),包括種子和迭代值,然后用戶用得到的種子和迭代值再加上自己知道的通行短語計(jì)算出一個答復(fù),并傳送給系統(tǒng),因?yàn)橄到y(tǒng)也知道這個通行短語,所以系統(tǒng)可以驗(yàn)證答復(fù)正確與否。
7.數(shù)據(jù)加密標(biāo)準(zhǔn)Data Encryption Standard
最著名的保密密鑰(或?qū)ΨQ密鑰)加密算法DES (Data Encryption Standard ) 是由IBM公司在70年代發(fā)展起來的,并經(jīng)政府的加密標(biāo)準(zhǔn)篩選后,于1976年11月被美國政府采用,DES隨后被美國國家標(biāo)準(zhǔn)局和美國國家標(biāo)準(zhǔn)協(xié)會(American National Standard Institute,ANSI)承認(rèn)并給予公布。
DES使用56位密鑰對64位的數(shù)據(jù)塊進(jìn)行加密,并對64位的數(shù)據(jù)塊進(jìn)行16輪編碼。與每輪編碼時,一個48位的"每輪"密鑰值由56位的完整密鑰得出來。DES用軟件進(jìn)行解碼需用很長時間,而用硬件解碼速度非???。幸運(yùn)的是,當(dāng)時大多數(shù)黑客并沒有足夠的設(shè)備制造出這種硬件設(shè)備。在1977年,人們估計(jì)要耗資兩千萬美元才能建成一個專門計(jì)算機(jī)用于DES的解密,而且需要12個小時的破解才能得到結(jié)果。當(dāng)時DES被認(rèn)為是一種十分強(qiáng)壯的加密方法。
但是,當(dāng)今的計(jì)算機(jī)速度越來越快了,制造一臺這樣特殊的機(jī)器的花費(fèi)已經(jīng)降到了十萬美元左右,而用它來保護(hù)十億美元的銀行間線纜時,就要仔細(xì)斟酌了。另一方面,如果只用它來保護(hù)一臺服務(wù)器,那么DES確實(shí)是一種好的辦法,因?yàn)楹诳徒^不會僅僅為入侵一個服務(wù)器而花那么多的錢破解DES密文。由于現(xiàn)在已經(jīng)能用二十萬美元制造一臺破譯DES的特殊的計(jì)算機(jī),所以現(xiàn)在對要求"強(qiáng)壯"的加密場合已經(jīng)不再適用了。
三重DES
確定一種新的加密體制是否真正的安全是極為困難的事情,何況DES的密碼學(xué)缺點(diǎn)是密鑰長度相對比較短,現(xiàn)階段之所以人們并沒有完全放棄使用DES,是它的優(yōu)勢還很明顯。改進(jìn)其長度的方法,就是采用三重DES,。這種方法用兩個密鑰對明文進(jìn)行三次加密,假設(shè)兩個密鑰是K1和K2。加密方法是:
1.用密鑰K1進(jìn)行DES解密。
2.用K2對步驟1結(jié)果進(jìn)行DES解密。
3.用步驟2的結(jié)果使用密鑰K1進(jìn)行DES加密。
這種方法的缺點(diǎn),是要花費(fèi)原來三倍,但從另一方面來看,三重DES的112位密鑰長度是很"強(qiáng)壯"的加密方式了。
8.電子商務(wù)與加密技術(shù)
電子商務(wù)(E-business)的最大特點(diǎn)就是顧客可以在網(wǎng)上進(jìn)行交易,不必?fù)?dān)心自己的信用卡會被人盜用。但是,假如用戶的號碼和合同被竊賊獲到,盜竊者便可通過電話訂貨,而且冒用用戶的名義使用信用卡進(jìn)行結(jié)算。這種交易的高風(fēng)險(xiǎn)性長期阻礙著電子商務(wù)的發(fā)展,于是人們開始用RSA(一種公開/私有密鑰)提高信用卡交易的安全性,從而使電子商務(wù)走向?qū)嵱贸蔀榭赡堋?div style="height:15px;">
許多人認(rèn)為NETSCAPE公司是Internet商業(yè)中領(lǐng)先技術(shù)的提供者,該公司提供了一種基于RSA和保密密鑰的應(yīng)用于因特網(wǎng)的技術(shù),被稱為安全插座層(Secure Sockets Layer,SSL)。也許很多人知道Socket,它是一個編程界面,并不提供任何安全措施,而SSL不但提供編程界面,而且向上提供一種安全的服務(wù),SSL3.0現(xiàn)在已經(jīng)應(yīng)用到了服務(wù)器和瀏覽器上,SSL2.0則只能應(yīng)用于服務(wù)器端。SSL3.0用一種電子證書(electric certificate)的措施來實(shí)行身份認(rèn)證,之后,雙方就可以用保密密鑰進(jìn)行安全的會話了。
基于SSL3.0提供的安全保障,用戶就可以自由的從商務(wù)網(wǎng)站訂購商品,并且輸入信用卡號,也可以在網(wǎng)上和合作伙伴交流商業(yè)信息并且讓供應(yīng)商把訂單和收貨單從網(wǎng)上發(fā)送過來,這樣可以節(jié)省大量的紙張,降低商品銷售成本,并為公司節(jié)省大量的電話、傳真費(fèi)用。在過去,電子信息交換(Electric Data Interchange,EDI)、信息交易(information transaction)和金融交易(financial transaction)都是在專用網(wǎng)絡(luò)上完成的,使用專用網(wǎng)的費(fèi)用大大高于因特網(wǎng)。正是由于Internet的巨大誘惑,才使人們開始發(fā)展因特網(wǎng)上的電子商務(wù),但不要忘記數(shù)據(jù)加密。
9.虛擬專用網(wǎng)絡(luò)(VPN,Virtual Private Network)
現(xiàn)在,越多越多的公司走向國際化,一個公司可能在多個國家都有辦事機(jī)構(gòu)或銷售中心,每一個機(jī)構(gòu)都有自己的LAN(Local Area Network局域網(wǎng)),但人們不會只滿足這此。用戶可能會要求將這些LAN連結(jié)在一起組成一個跨越地區(qū)和國界的公司廣域網(wǎng)。事實(shí)上,今天的IBM、微軟等國際知名企業(yè)公司都已經(jīng)這樣做了,但他們一般使用租用線路(leased line)來連結(jié)這些局域網(wǎng) ,因?yàn)樗麄兛紤]到網(wǎng)絡(luò)安全問題?,F(xiàn)在具有加密/解密功能的路由器使人們使用因特網(wǎng)作為連接這些局域網(wǎng)的通道成為可能,這就是虛擬專用網(wǎng)絡(luò)的概念(Virtual Private Network ,VPN)。
當(dāng)數(shù)據(jù)離開發(fā)送者所在的局域網(wǎng)時,這些數(shù)據(jù)被連接到因特網(wǎng)路由器上進(jìn)行加密,數(shù)據(jù)在Internet上是以加密的形式傳送,當(dāng)加密數(shù)據(jù)到達(dá)目的LAN的路由器時,該路由器自動地對加密數(shù)據(jù)進(jìn)行解密,這樣目標(biāo)LAN中的用戶就可以看到真實(shí)的信息了。
10.PGP加密軟件 具有非常好的隱秘性
PGP(Pretty Good Privacy)是一個基于RSA公鑰加密體制的郵件加密軟件??捎盟鼘︵]件加密以防止非授權(quán)者閱讀,PGP還能對用戶的郵件加上數(shù)字簽名(fingerprint,指紋),從而使收信人可以確信該郵件是由該用戶發(fā)出的。它讓用戶可以安全地和從未見過面的人們通信,事先并不需要任何保密通道來傳遞密鑰。
PGP采用以下技術(shù):審慎的密鑰管理、一種RSA和傳統(tǒng)加密的雜合算法,用于數(shù)字簽名的郵件摘要函數(shù)算法和加密的雜合算法、用于數(shù)字簽名的郵件往往不加密前壓縮等,還有一個良好的人機(jī)工程設(shè)計(jì)。它功能強(qiáng)大、速度很快,而且其源代碼是免費(fèi)的。
實(shí)際上PGP的功能還不止上面說的,PGP可以用來加密文件,還可以用PGP代替UUencode生成RADIX64格式(就是MIME的BASE 64格式)的編碼文件。
PGP的創(chuàng)始人是美國的Phil Zimmermann。他的創(chuàng)造性在于他把RSA公鑰體系的方便和傳統(tǒng)加密體系的高速度結(jié)合起來,并且在數(shù)字簽名和密鑰認(rèn)證管理機(jī)制上有巧妙的設(shè)計(jì)。因此PGP成為幾乎最流行的公鑰加密軟件包。
PGP是一種供大眾使用的加密軟件。
加密是為了安全,私私權(quán)是一種基本人權(quán)。在現(xiàn)代社會里,電子郵件和網(wǎng)絡(luò)上的文件傳輸已經(jīng)成為生活的一部分。郵件的安全問題也就突出了,大家都知道在因特網(wǎng)上傳輸?shù)臄?shù)據(jù)是不保密的。如果用戶不采取相應(yīng)措施,來保護(hù)自己的數(shù)據(jù),第三者(或黑客)就會輕易獲得用戶的隱私,進(jìn)一步達(dá)到要挾或恐嚇正常用戶的目的。還有一個問題就是信息認(rèn)證,如何讓收信人確信郵件沒有被第三者篡改,就需要使用數(shù)字簽名技術(shù)。RSA公鑰體制的特點(diǎn)使它非常適合用來滿足上述兩個要求:保密性(privacy)和認(rèn)證性(authentication)。
RSA(Rivest-Shamir-Adleman)算法
基于大數(shù)不可能被質(zhì)因數(shù)分解假設(shè)的公鑰體系。簡單地說就是找兩個很大的質(zhì)數(shù)。一個公開給世界,一個不告訴任何人。一個稱為"公鑰",另一個叫"私鑰"(Prblic key & Secret key or Private key)。這兩個密鑰是互補(bǔ)的,也就是說用公鑰加密的密文可以用私鑰解密。反之同理。假設(shè)甲要寄信給乙,他們互相知道對方的公鑰。甲就用乙的公鑰加密郵件寄出,乙收到后就可以用自己的私鑰解密出甲的原文。由于別人不知道乙的私鑰,所以即使是甲本人也無法解密那封信,這就解決了信件保密的問題。另一方面,由于每個人都知道乙的公鑰,他們都可以給乙發(fā)信,那么乙確信是不是由甲發(fā)過來的信。認(rèn)證便出現(xiàn)了,這時就要使用數(shù)字簽名。
郵件文摘message digest
在說明數(shù)字簽名前,先要解釋一下什么是"郵件文摘"(message digest),簡單地講就是對一封郵件用某種算法找出一個最能體現(xiàn)這封郵件屬性特征的的數(shù)來,一旦郵件有任何改變這個數(shù)都會跟著起變化,那么這個數(shù)加上用戶的名字(實(shí)際上在用戶的密鑰里)和日期等等,就可以作為一個數(shù)字簽名。確切地說PGP是用一個128位的二進(jìn)制數(shù)進(jìn)行為"郵件文摘"的,用它來產(chǎn)生的算法叫MD5(Message Digest 5),MD5的提出者是Ron Rirest,PGP中使用的代碼是由Colin Plumb 編寫的,MD5本身是公用軟件,所以PGP的法律條款中沒有提到它。MD5是一種單向散列算法,(它不像校驗(yàn)碼),可獲得一份替代的郵件與原件具有同樣的MD5特征值。
假如,甲用自己的私鑰將上述的128位值加密(數(shù)字簽名),附加在郵件后,再用乙的公鑰將整個郵件加密(注意這里的次序,如果先加密再簽名的話,別人可以將簽名去掉后簽上自己的簽名,從而篡改了簽名)。當(dāng)這份密文被乙收到后,乙必須用自己的專一密鑰對該郵件解密,得到甲的原文和數(shù)字簽名,乙的PGP也從原文計(jì)算出一個128位的特征值來和用甲的公鑰解密簽名所得到的數(shù)進(jìn)行比對,如果符合特征值,說明這份郵件確實(shí)是由甲寄來的。這樣兩個安全性要求都得到滿足。
數(shù)字簽名的不可抵賴性
PGP還可以只簽名而不加密,這適用于公開發(fā)表聲明時,聲明人為了證實(shí)自己的身份(在網(wǎng)絡(luò)上只能如此了),可用自己的私鑰簽名,這樣就可以讓收件人能確認(rèn)發(fā)信人的身份,也可以防止發(fā)信人抵賴自己的聲明。這一點(diǎn)在商業(yè)領(lǐng)域有很大的應(yīng)用前途,可以防止發(fā)信人對諸如商業(yè)合同、信譽(yù)擔(dān)保等文件的抵賴和該文件被途中篡改等。
IDEA(國際數(shù)據(jù)加密算法)
為什么說PGP用的是RSA和傳統(tǒng)加密的雜合算法呢?
因?yàn)镽SA算法計(jì)算量很大而且在速度上也不適合加密大量數(shù)據(jù),所以PGP實(shí)際上用來加密的不是RSA本身,而是采用了一種叫IDEA的傳統(tǒng)加密算法,首先解釋一下什么叫傳統(tǒng)加密,簡單地說就是用一個密鑰加密明文,然后用同樣的密鑰解密。這種方法的代表是DES(US Federal Data Encryption Standard),也就是乘法加密,它的主要缺點(diǎn)就是公共通訊傳輸網(wǎng)絡(luò)解決不了安全性問題,不適合網(wǎng)絡(luò)環(huán)境郵件加密需要。
IDEA是一個有專利的算法,專利持有者是ETH和一個瑞士公司:Ascom-Tech AG。非商業(yè)用途的IDEA實(shí)現(xiàn)不用向他們交納費(fèi)用。IDEA的加(解)密速度比RSA快得多,(據(jù)文獻(xiàn)介紹測算出IDEA比DES快兩倍,比RSA算法快100倍)所以實(shí)際上PGP是以一個隨機(jī)生成的密鑰(每次加密)用IDEA算法對明文加密,然后再用RSA算法對該密鑰加密。這樣收件人同樣是用RSA解出這個隨機(jī)密鑰,再用IDEA解密郵件本身。這樣的鏈?zhǔn)郊用芫妥龅搅思扔蠷SA體系的保密性,又有IDEA算法的快捷性。
PGP的鏈?zhǔn)郊用芫妥龅搅思扔蠷SA體系的保密性,又有IDEA算法的快捷性。PGP的創(chuàng)意有一半就在這一點(diǎn)上了,為什么RSA體系70年代就提出來,一直沒有推廣應(yīng)用呢?速度太慢!那PGP創(chuàng)意的另一半在哪兒呢?
PGP的密鑰管理
一個成熟的加密體系必然要有一個成熟的密鑰管理機(jī)制配套。公鑰體制的提出就是為了解決傳統(tǒng)加密體系的密鑰分配過程中保密的缺陷。比如網(wǎng)絡(luò)黑客們常用的手段之一就是"監(jiān)聽"(monitor),如果密鑰是通過網(wǎng)絡(luò)傳送就太危險(xiǎn)了。舉個例子:Novell Netware的老版本中,用戶的密碼是以明文在線路中傳輸?shù)模@樣監(jiān)聽者輕易就獲得了他人的密碼。當(dāng)然Netware4.1中數(shù)據(jù)包頭的用戶密碼現(xiàn)在是加密的。對PGP來說公鑰本來就要公開,就沒有防監(jiān)聽的問題。但公鑰的發(fā)布中仍然存在安全性問題,例如公鑰被篡改(public key tampering),這可能是公鑰密碼體系中最大漏洞 ,因?yàn)榇蠖鄶?shù)新手不能很快發(fā)現(xiàn)這一點(diǎn)。用戶必須確信用戶的公鑰屬于它看上去屬于的那個人。為了把這個問題說清楚,先舉個例子進(jìn)行說明,然后再說如何正確使用PGP堵塞這個漏洞。
以用戶和Alice通信為例,假設(shè)用戶想給Alice的公鑰,用戶從BBS上下載了Alice的公鑰,并用它加密信件,用BBS的Email功能發(fā)給了Alice。不幸的是,用戶和Alice都不知道,另一個叫Charlie的用戶潛入BBS,把他自己使用Alice的名字生成密鑰對中的公鑰偷偷更換了Alice的公鑰。那用戶用來發(fā)信的公鑰的用戶名"Alice"。于是Charlie的公鑰來轉(zhuǎn)發(fā)用戶給Alice的信,這樣誰都不會起疑心他如果想找用戶發(fā)給Alice的信也是很容易的事,更有甚者,他還可偽造Alice的簽名給用戶或其他人發(fā)信,因?yàn)橛脩羰种械墓€是Charlie偽造的,用戶會以為真是Alice的來信。
介紹人確認(rèn)公鑰——公共渠道傳遞公鑰的安全手段
防止上述情況出現(xiàn)的最好辦法是避免讓任何其他人有機(jī)會篡改公鑰,比如直接從Alice手中得到她的公鑰。然而當(dāng)她在千里之外或無法見到時,這是很困難的。PGP發(fā)展了一種公鑰介紹機(jī)制來解決這個問題。舉例來說:如果用戶和Alice有一個共同的朋友David,而David知道他手中的Alice的公鑰是正確的(關(guān)于如何認(rèn)證公鑰,PGP還有一種方法,后面會談到,這里假設(shè)David已經(jīng)和Alice認(rèn)證過她的公鑰)。這樣David就成為用戶和Alice之間的"介紹人"。這樣Alice或David就可放心地把經(jīng)過David簽過字的Alice的公鑰上載到BBS上供用戶去拿,沒人可能去篡改它而不被用戶發(fā)現(xiàn),即使是BBS的管理員。這就是從公共渠道傳遞公鑰的安全手段。
有人會問:如何安全地得到David的公鑰呢。這是個先有雞還是先有蛋的問題嗎?確實(shí)有可能用戶拿到的David的公鑰也是假的,但這就求這個搗蛋者參與整個過程,他必須對你們?nèi)硕己苁煜?,還要策劃很久,這一般不可能,當(dāng)然,PGP對這種可能也預(yù)防的建議,那就是由一個大家普遍信任的或機(jī)構(gòu)擔(dān)當(dāng)這個角色,他被稱為"密鑰待者"或"認(rèn)證權(quán)威",每個由他簽字的公鑰都被認(rèn)為是真的,這樣大家只要有他的公鑰就行了,證明此人的公鑰是方便的,因?yàn)樗麖V泛提供這種服務(wù),假冒他的公鑰是極困難的,而因?yàn)樗墓€流傳廣泛。這樣的"權(quán)威"適合由非個人控制的組織或政府機(jī)構(gòu)充當(dāng),現(xiàn)在已經(jīng)有等級認(rèn)證制度的機(jī)構(gòu)存在。(CA認(rèn)證機(jī)構(gòu))
對于那些非常分散的用戶,PGP更贊成使用私人方式的密鑰轉(zhuǎn)介方式,因這樣有些非官方途徑更能反映出人們自然的社會交往,而且人們也能自由地選擇信任的人來介紹,總之和不認(rèn)識的人們之間的交往一樣,每個公鑰至少有一個"用戶名"(User ID),請盡量用自己的全名,再加上本人的E-mail地址,以免混淆。
轉(zhuǎn)介認(rèn)證機(jī)制
下面,介紹如何通過電話認(rèn)證密鑰。每個密鑰有它們自己的標(biāo)識(keyID),keyID是一個8位十六進(jìn)制數(shù),兩個密鑰具有同keyID的可能性十億分之一,而且PGP還提供了一種更可靠的標(biāo)識密鑰的方法:“密鑰指紋”( keys fingrprint ).每個密鑰對應(yīng)一串?dāng)?shù)字(16個2位十六進(jìn)制數(shù)),這個指紋重復(fù)的可能就更微乎其微了。而且任何人無法指定生成一個具有某個指紋的密鑰,密鑰是隨機(jī)生成的,從指紋也無法反推出密鑰來。用戶拿到某人密鑰后,就可和他在電話上核對這個指紋,從而確認(rèn)他的公鑰。
這又引出一方法,就是把不同簽名自己的公鑰收集在一起,發(fā)送到公共場合,這樣可以希望大部分人至少認(rèn)識其中一個,從而間接認(rèn)證了用戶的公鑰。同樣用戶簽了朋友的公鑰后應(yīng)該寄回給他,這樣就可以讓他通過用戶,被用戶的其他朋友所認(rèn)證。有點(diǎn)意思吧,和現(xiàn)實(shí)社會中人們的交往一樣。PGP會自動為用戶拿到的公鑰中有哪些是朋友介紹來的,它會把它們分為不同的信任級別,供用戶參考決定對它們的信任程度。也可指定某人有幾層轉(zhuǎn)介公鑰的能力,這種能力是隨著認(rèn)證的傳遞而遞減的。
轉(zhuǎn)介認(rèn)證機(jī)制
具有傳遞性,是個有趣的問題。PGP的作者Phil Zimmermann說過一名話:“信賴不具:我有個我相信決不撒謊的朋友。可是他是個認(rèn)定不撒謊的傻瓜,很顯然我并不認(rèn)為總統(tǒng)決不撒謊?!?div style="height:15px;">
私鑰的保存
與傳統(tǒng)單密鑰體系一樣,私鑰保密是決定性的。相對公鑰而言,私鑰不存在被篡改的問題,但存在泄露的問題。RSA的私鑰是很長的一個數(shù)字,用戶不能將它記住,PGP的辦法是讓用戶為隨機(jī)生成的RSA私鑰指定一個口令(pass phase)。只有通過給出口令才能將私鑰釋放出來使用,用口令加密私鑰的方法保密程度和PGP本身是一樣的,所有私鑰的安全性對用戶窮舉法試探出用戶的口令,雖說很困難但畢竟是損失了安全性。這里只要簡單地記住一點(diǎn),要像任何隱私一樣保藏自己私鑰,認(rèn)證有機(jī)會接觸到它,最好只在大腦中保存它,不要寫在紙上。
PGP在安全性的審慎考慮體現(xiàn)在PGP的各個環(huán)節(jié)。比如每次加密的實(shí)際密鑰是隨機(jī)數(shù),大都知道計(jì)算機(jī)無法產(chǎn)生真正的隨機(jī)數(shù)的。PGP程序?qū)﹄S機(jī)數(shù)的產(chǎn)生是很審慎的,關(guān)鍵的隨機(jī)數(shù)(像RSA密鑰的產(chǎn)生)是從用戶敲鍵盤的時間間隔上取得隨機(jī)數(shù)種子的。對于磁盤上的rand seed.bin文件中分析出鑰的規(guī)律來。
在這里提一下PGP的加密前預(yù)壓縮處理,PGP內(nèi)核使用PKZIP算法來壓縮加密前的明文。一方面對電子郵件而言,壓縮后加密再過7 bits編碼密文有可能比明文更短。這就節(jié)省了網(wǎng)絡(luò)傳輸?shù)臅r間。另一方面,明文經(jīng)過壓縮,實(shí)際上相當(dāng)經(jīng)過一次變換,信息更加雜亂無章,對明文抵御能力更強(qiáng)。PGP中使用的PKZIP算法是經(jīng)過原作者同意的。PKZIP算法是個公認(rèn)的壓縮率壓縮速度都相當(dāng)好的壓縮算法,在PGP中使用的是PKZIP2.0版本兼容的算法。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
PGP工作原理及其安全體制
【自動保存】第一章網(wǎng)絡(luò)安全綜述1.什么是網(wǎng)絡(luò)安全?答...
網(wǎng)站的安全登錄認(rèn)證設(shè)計(jì)
非對稱加密過程詳解(基于RSA非對稱加密算法實(shí)現(xiàn))
密碼故事(下)
PKI技術(shù)原理(收集 整理 歸納)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服