版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、資訊平安入門手冊第 12 章 加密.第 12 章 加密良好的加密是平安的不二法門。假设可以利用加密來保護資訊,也就沒有人可以看得到內容或修正內容。假设运用加密,也可以確認交談對象的身份。加密確實是非常重要的平安工具、加密機制可以協助確認資訊的來源,但是加密本身並不是最後的答案。在平安計畫之中廣泛地运用加密機制,只是因為加密機制可以協助資訊的機密性、完好性和可說明性。.12-1 認識加密的根本概念加密就是利用某種方式將資訊打散,防止無權檢視資訊內容的人看到資訊的內容,而且允許真正獲得授權的人才干看到資訊的內容。獲得授權的人是指擁有解密金鑰key的人。加密是讓毫無相关的人員難以讀取資訊的內容。即使
2、得知加密系統所运用的加密演算法,但沒有金鑰也就無從得知資訊的內容。 .透過加密可以提供以下三種平安服務:機密性:不論是在傳輸或儲存設備之中,都可以利用加密隱藏資訊。完好性:不論是在傳輸或儲存設備之中,都可以利用加密確認資訊的完好性。可說明性:加密可以用來確認資訊的來源,且可讓資訊的來源無法否認資訊的出處。.12-1-2 針對加密的攻擊加密系統能够遭到以下三種攻擊:透過演算法的缺點暴力破解金鑰透過系統週遭的弱點當演算法遭到攻擊時,分解員會找尋將原文轉成密文的演算法缺點,且在沒有金鑰的情況下快速還原資訊的原文。假设是具有這類弱點的演算法,也就不能稱為牢靠的演算法,當然也就不能运用。.圖12-1 根
3、本的加密運算方式 .暴力攻擊是企圖利用一切能够的金鑰,企圖將密文還原成原文。利用系統周遭的缺點是最後一種攻擊方式。在討論加密的內容時,普通都不太會探討這種問題。攻擊系統周遭的缺陷會比攻擊加密演算法來得容易。 .12-2 認識私密金鑰加密加密法可以分為私密金鑰與公眾金鑰兩大類。运用私密金鑰加密時,只需經過授權並擁有一样金鑰的人,都可以讀取資訊的內容。資訊的保護類型可簡化為金鑰的保護。私密金鑰加密是运用相當廣泛的加密類型。.什麼是私密鎖鑰加密?由於加密解密运用一样的金鑰,因此私密金鑰加密也稱為對稱式金鑰加密。只需金鑰的擁有人,才可以解密訊息。在傳輸的過程中,訊息發生任何變化都會呵斥解密失敗,因此可
4、以得知訊息能否遭到修正。.私密金鑰加密無法確認建立金鑰、加密和傳送有效訊息的人。建立私密金鑰加密的速度相當快,而且很容易利用軟體或硬體建置私密金鑰。.圖12-2 私密金鑰加密 同樣KEY.12-2-2 替換式密碼替換式密碼的存在,已經超過2500年以上。最早利用的範例是在西元600年左右,內容是以顛倒的希伯來文構成的。凱薩大帝Julius Caesar也曾經运用稱為Caesar密碼的替換式密碼。假设攻繫者充分搜集密文,即可破解替換式密碼。.12-2-3 One-Time Pads理論上來講,One-Time PadOTP是独一無法破解的加密系統。OTP运用一連亂數陈列的數字,對一段訊息進行編碼
5、詳見圖12-3。假设OTP真的全部都运用亂數、OTP只能运用一次,OTP的長度比訊息長,那麼就因為找不出密文中的金鑰OTP本身,因此也就無法解出訊息內容。OTP還有一點必須特別留意的事項 只能运用一次。假设重複运用,就能够進行分析和破解。 .圖12-3 One-Time pad運算方式 .12-2-4 資料加密標準資料加密標準Data Encryption Standard,DES是由IBM在1970年代初期發展出來的演算法。在經過NSA審核、修正、認可之後,美國國家標準與技術協會United States National Institute of Standards and Technol
6、ogy,NIST,在1977年正式採用並做為DES的加密標準。在1983、1988、1993和1999年,也再次認定這個標準。 .DES运用56位元金鑰,且运用7個8位元的位元組每個位元組的第8個位元是做為同位元檢查做為金鑰的內容。DES屬於區塊式密碼block chiper,一次處理64位元明文詳見圖12-4演算法的區塊方塊圖。DES密碼共有16個循環,每個循環都运用不同的次金鑰subkey,且每一個金鑰都會透過本人的演算法获得16個次金鑰詳見圖12-5。 .圖12-4 DES區塊演算法 .圖12-5 DES產生次金鑰演算法 .在DES方塊圖之中,可以看到幾個重新陈列的替換方塊。標準也定義了
7、重新陈列每一次替換的特定位元。一样的演算法也可用來產生次金鑰,而且也會重新陈列替換選項1和2特定位元。在圖12-4之中可以找到標示為f的函數。函數內含稱為S區塊,這是一個將6位元輸入轉換成4位元輸出的對照表標準裡面也有定義。 .12-2-5 Triple DES在1992年研讨人員發現重複运用DES即可建立牢靠的加密法則。因此產生了Triple DESTDES。在運算的時候, TDES所需的時間約略是DES的三倍,這是因為含有三次DES運算。大多數的應用程式已選用TDES取代DES。 .圖12-6 Triple DES方塊圖 .12-2-6 密碼加密標準UNIX密碼加密機制是屬於DES的變形。
8、雖然實際上是採用單向函數one-way function做為密碼加密方式也就是說,無法從密文解出原文,不過還是需求探討應用程式如何這種類型的DES。每個运用者選擇一組密碼,該演算法运用密碼的前八個字元。密碼加密或裁掉超過8個字元的密碼。.假设密碼長度少於8個位元,會補足8個字元。取用每個字元的前七個位元,因此密碼會轉換成56位數。系統會依據系統時間選擇12位元數字,這個數字被稱為salt。同時运用salt和密碼做為密碼加密函數的輸入資料詳見12-7。.salt依據12位元的1補數產生4096組不同的方式,修正DES演算法之中的一個陈列表E Permutation。起始原文是由56個0位元組成,
9、而金鑰是來自密碼的56個位元。演算法重複執行25次,每一次都是以前一次的輸出做為輸入資料。最後的輸出結果會轉換成11個字元,而salt會轉換成2個字元並放在輸出資料的最前面。.圖12-7 Unix密碼演算法函式 .這個系統主要的弱點在於密碼的選用。因為大部分运用者都會运用小寫字元做為密碼的內容,因此會產生268種能够的組合,這個數字遠小於DES產生255金鑰的能够組合。暴力破解Unix系統的密碼,會比DES來得容易許多。 基於前述的缘由,大多數的Unix系統都提供运用shadow密碼檔案的選擇。假设很容易暴力破解加密之後的密碼,因此將密碼隱藏起來可以添加系統的平安性。不過和其他的系統一樣,假设
10、root選擇不夠牢靠的密碼或是密碼遭到破解,那麼运用者選用再好的密碼也於事無補。 .12-2-7 AES:Rijndael為了取代DES,NIST在1997年公布AESAdvanced Encryption Standard,高等加密標準徵選活動。在2000年底,NIST宣佈來自比利時的兩位密碼學家 JoanDaemon-VincentRijmen,他們提出的Rijmen演算法贏得這項競賽。牢靠度、適用於高速網路、可在硬體設備建置等要素,都是這個演算法獲選的缘由。Rijmen也是屬於區塊式密碼金鑰,區塊的大小為128、192和256位元。.截至目前為止,依然沒有暴力破解金鑰長度的計算方法。依據
11、原文的區塊大小和金鑰的長度而定,演算法之中會包含10到14個循環。圖l2-8顯示了每個循環的計算方式。在認可Rijmen演算法之後,許多系統已經開始出現Rijmen演算法。而且也成了取代TDES的最正确選擇。.12-2-8 其它私密金鑰演算法在平安系統上可以選用的私密金鑰演算法如下:IDEAInternational Data Encryption Algorithm,國際資料加密演算法:是由瑞士發展出來的。IDEA运用128位元的金鑰,所以也可以用在PGPPretty Good Privacy。RC5:RC5是由MIT的Ron Rivest發展出來的。它允許變動金鑰的長度。Skipjack:
12、Skipjack是由美國政府运用Clipper Chip發展出來的。它运用80位元金鑰長度,在可見的未來將會變得不夠牢靠。.Blowfish:Blowfish允許运用的金鑰長度最長可達448位元,且在32位元處理器上執行會有最正确化的執行效率。Twofish:Twofish运用128位元區塊,且可运用128位元、192位元或256位元金鑰。CAST-128:CAST-128运用128位元金鑰,且應用在較為新版的PGP之中。GOST:GOST用來回應DES的蘇聯標準,运用256位元金鑰。 .12-3 認識公眾金鑰加密和私密金鑰加密相較之下,公眾金鑰加密算是較新的發明。兩者之間最大的不同點在於 用
13、於運算的金鑰數量不同。在私密金鑰加密之中,加密解密运用一样的金鑰,但是公眾金鑰加密卻运用兩組不同的金鑰。其中一組金鑰是用於資訊加密,而另一組金鑰則是用於解密。.什麼是公眾金鑰加密?發送端與接纳端各有一組金鑰。兩組金鑰之間相互關聯因此稱為金鑰組,但金鑰的內容不同。在實務上,其中一組金鑰稱為公眾金鑰public key,另一把則稱為私密金鑰private key。金鑰組的擁有人保管私密金鑰,並對外公開公眾金鑰。公眾金鑰加密的另一個特征 即使擁有其中一組金鑰也無法推算出另一組金鑰。.假设屬於機密性的需求時,資訊也可以运用公眾鎖鑰加密。只需私密金鑰的擁有人才干對資訊解密。只需公眾金鑰的擁有人才干對資訊
14、解密換句話說,私密金鑰的擁有人,且只需金鑰對的擁有人才干持有傳送過的資訊。不論是利用哪一種金鑰都可以保護資訊的完好性。 .圖12-9 公眾金鑰加密 不同KEY.12-3-2 Diffie-Hellman金鑰交換Whitfield Diffie和Martin Hellman在1976年發展出公眾金鑰加密系統。Diffie-Hellman系統,是用來解決私密金鑰系統的金鑰配送問題。Diffie-Hellman並不能用於資訊的加密解密。.Diffie-Hellman演算法的運算方式:1.假設兩個人需求平安的通訊,所以需求認可加密金鑰。2.P1和P2認可整數a和b,所以產生1ab。3.P1接著選擇隨機
15、數值a並計算 I = ai mod b。P1將I傳送給P2。4.P2接著依據隨機數值a產生隨機數值j並計算 J = aj mod b。P2將J傳送給P1。.5.P1計算k1 = Ji mod b。6.P2計算k2 = Ij mod b。7.結果就會產生 k1 = k2 = aij mod b,且k1和k2可以做為其他傳輸的金鑰。 .假设某人監聽線上的流量時,他們或許會得知a、b、I和J,但是i和j依舊平安無虞。這個系統的平安性,主要是依據即使得知I = ai mod b也很難找到i。這個問題稱為離散對數問題,因此數字越大也就越難算出結果也就是說以現今的電腦才干也很難算出結果。必須非常小心選擇a
16、和b。 .許多运用Diffie-Hellman金鑰交換的平安系統,都是运用額外的流量來交換平安金鑰。Diffie-Hellman的弱點是圖12-10中間人攻擊man-in-the-middle。假设攻擊者系統放在P1和P2之間的流量路徑並攔截一切通訊時,且分別冒充P2和P1溝通以及冒充P1和P2溝通。因此,在P1、攻擊者和P2之間,就會發生金鑰交換。 .圖12-10 Diffie-Hellman 中間人攻擊 .12-3-3 RSARon Rivest、Adi Shamir和Len Adleman在1978年發表了Rivest-Shamir-AdlemanRSA公眾金鑰演算法。和Diffle-H
17、ellman演算法不同,RSA主要是依據難以找出最大公因數。假设數字很大時大於等於1024位元,就會難以找出最大公因數。.針對機密性的根本加密演算法非常簡單:密文 = (原文)e mod n原文 = (密文) d mod n私密金鑰 = d, n公眾金鑰 = e, n上述算式的困難點在於 即使获得e和n也難以計算出d。公式假設金鑰對的擁有人,保管私密金鑰而公開公眾金鑰。.值得一提的是RSA也可以逆向操作,即可確認資訊的來源。演算法計算式如下:密文 = (原文)d mod n原文 = (密文) e mod n私密金鑰 = d, n公眾金鑰 = e, n.只需私密金鑰非常平安,金鑰的擁有人就可以运
18、用私密金鑰對資訊加密。每個人都可以用公眾金鑰將資訊解密,假设驗證無誤,就可以確定這個資訊是由金鑰對的主人所發出的。 .產生RSA金鑰 在產生RSA金鑰的時候,請依據以下步驟小心、謹慎地產生RSA金鑰:1.選用相當平安的質數p和q。2.計算 n= pq。3.計算 (n) = (p-1)(q-1)。4.選擇(n)的相對質數e。5.判斷d能否符合(d)(e)=1 mod (n)以及 d(n)。數值n必須大於等於200位數十進位。 記得在範例中,選用的數值純粹是做為範例展现用途。在實際應用時,應該選用較大的數值。.可用的RSA範例 產生RSA金鑰的範例如下:1.首先選用質數p=11和q=13。2.計算
19、n=(p)(q)結果等於n=(11)(13)=143。3.計算(n)=(p-1)(q-1)=(11-1)(13-1)=120。4.選擇(n)的相對質數e,所以e的值是7。5.依據(d)(e) = 1 mod (n),因此,(d)(7)=1 mod 120,所以(d)必須小於120。接著找到 d=103。(103)(7) = 721,所以721 mod 120 = 1,商數等於6 。.6.私密金鑰 = 103, 143。7.公眾金鑰 = 7, 143。 解密的計算公式如下:密文 = (原文)e mod n原文 = (密文)d mod n.12-3-4 其他公眾金鑰演算法還有其它幾種具有Diffi
20、e-Hellman和RSA一样效果的演算法。三種較為流行的演算法如下:Elgamal數位簽章演算法橢圓曲線加密.ElgamalTaher Elgamal屬於Diffie-Hellman的變形。這個演算法強化了Diffie-Hellman系統,最後也具有加密的功能,且演算法之一還具有確認來源的才干。Elgmal並沒有專利權RSA有專利權,因此是一個較為省錢的選擇不需求支付專利費用。這個演算法是以Diffie-Hellman為基礎,因此也是屬於離散對數的計算問題。 .數位簽章演算法數位簽章演算法Digital Signature Algorithm,DSA是美國政府發展的數位簽章標準詳見下一節數位
21、簽章。這個演算法是Elgamal的變形,不過只能做為身份確認用途,且不能用於機密性資訊的保護用途。.橢圓曲線加密在1985年提出的橢圓曲線加密Elliptic curves Encryption構想。普通認為,Elliptic Curve CryptosystemsECC有別於因式分解和離散對數的數學計算。計算問題如下:假設橢圓曲線的兩個點A和B,產生的計算式為A = kB,因此很難找到整數k。运用ECC的效益會比RSA或Diffie-Hellman來得好。.在一样的平安等級情況下,ECC的金鑰長度更短這就是ECC問題的困難點,計算速度也比較快。在普遍接受ECC之前,還必須深化研讨和調查,而且
22、ECC也已具有許多專利。.12-4 認識數位簽章數位簽章Digital Signature並不是手寫簽名的影像檔,數位簽章是一種提供身份確認的加密方式。數位簽章逐漸流行,且是邁向無紙化環境的重要關鍵。前美國總統柯林頓曾經簽署過,讓數位簽章具有法律效能的法案。.12-4-1 什麼是數位簽章?數位簽章是一種利用電子資訊加密的身份確認法則。 假设可以运用某人的私密金鑰將資訊解密,也就可以確認資訊來源的私密金鑰擁有人。假设資訊可以正確地解密,那也代表資訊的內容沒有修正過,因此也可提供完好性的保護。有了數位簽章之後,我們會希望在接纳資訊和解密之後,並利用數位簽章進一步保護資訊不會遭到竄改。.圖12-11
23、顯示如何達成的能够方式,首要的步驟是摘取或雜湊hash訊息的功能。雜湊之後會產生訊息的檢查碼,再运用檢查碼做為私密金鑰加密的資料來源。最後,將訊息和加密之後的檢查碼一同傳送給資訊的接纳端。 在接纳端获得資訊之後,可將檢查碼輸入到一样的雜湊函數之中。.接著利用公眾鎖鑰將加密之後的檢查碼解密,在比對兩者的檢查碼能否一样。假设檢查的結果一样,表示資訊沒有遭到修正。 數位簽章實用性的關鍵要素如下:运用者私密金鑰的保護方式平安的雜湊函數假设运用者沒有妥善保護本人的私密金鑰,也就無法確認私密金鑰的擁有人。最後,也就無法確認能否是运用者本人簽署的電子文件。 .圖12-11 數位簽章運算 .12-4-2 平安
24、的雜湊函數平安的雜湊函數是數位簽章不可或缺的部分。平安的雜湊函數必須滿足以下條件:單向函數。也就是說,可以計算出訊息的檢查碼,但是無法利用檢查碼建立訊息的內容。縱使提供一样的檢查碼,也很難建立一样的訊息。檢查碼的長度比資訊短,才會便於簽章核、傳送和保管。平安的雜湊函式也可以建立大於等於12位元檢查碼。.目前最常用的是可以產生128位元檢查碼的MD5,以及產生160位元的SHA。 目前,已經證實MD5能够遭到計算攻擊的缺點。這種攻擊會讓兩組不同的資訊產生一样的檢查碼。由美國政府發展的SHA,目前仍是非常平安。大多數的平安軟體都允許選用MD5或SHA雜湊函數。 .12-5 認識金鑰管理金鑰管理是一
25、切加密系統的平安問題癥結點。只需能夠获得金鑰,也就可以利用金鑰將加密過的資訊解密,也就是說金鑰本身是最有價值的資訊。在某些情況下,甚至也有能够胜利获得金鑰。金鑰管理不止是保護金鑰的运用方式而已,還包含了建立牢靠的金鑰、遠端运用者如何获得金鑰、如何認證金鑰的正確性、遭到破解或過期時如何註銷。.12-5-1 建立金鑰某些金鑰的演算法,具有非常嚴重的平安性問題。例如全部运用0補數的金鑰,就算运用DES也不能提供牢靠的平安性。在运用RSA的時候,也必須非常謹慎地選用質數p和q。大部分加密系統都具有金鑰的產生方式。.在某些情況下,會允許运用者利用密碼做為金鑰。在這種情況下,最好能引導运用者選用包含數字和特殊字元在內的密碼。 某些加密系統採用隨機產生金鑰。真正的亂數產生器並不多,大多數都是屬於虛擬亂數pseudo-random,是指依據樣本產生的亂數,最後也會發生重複。假设亂數產生器不是產生真正的亂數,那麼攻擊者就有能够猜出下一個數字。 .必須謹慎選擇金鑰的長度。某些演算法运用固定的金鑰長度例如DES运用56位元金鑰,某些則运用可變動的金鑰長度。普通而言,金鑰長度越長代表越平安。 表12-1列出了不同演算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沈阳理工大学《管理统计学》2021-2022学年第一学期期末试卷
- 沈阳理工大学《单片机原理与接口技术》2022-2023学年期末试卷
- 广东外语外贸大学 研究生 定向 合同
- 合同标签替换规范
- 共享单车管理
- 2024货船租赁合同
- 绿化养护工程XX管养项目投标文件
- 2024物流运输合同格式
- 2024广西无公害稻米种植收购合同范本
- 2024打印机复印机销售合同
- 多媒体信息编码及处理课件
- (完整版)虬髯客传课件
- 石油化工集团公司绩效考核管理规定
- 外贸英语口语(课堂PPT)课件(PPT 92页)
- 建筑工程施工安全检查表范本
- 白银区省级中小学学科带头人和骨干教师评选工作方案[管理资料]
- 部编版三年级道德与法治下册第11课《四通八达的交通》优质课件(含视频)
- 高速公路监控摄像机太阳能供电系统
- 仪表验收检查表
- 全国中学生数学能力竞赛组织委员会
- 现浇砼路肩现场施工方法
评论
0/150
提交评论