




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
網(wǎng)絡(luò)安全技術(shù)第2章退出學(xué)習(xí)目的:了解密碼技術(shù)的起源、發(fā)展與應(yīng)用了解信息隱藏技術(shù)原理及其相關(guān)應(yīng)用領(lǐng)域初步掌握密鑰分配與管理技術(shù)及相關(guān)應(yīng)用掌握數(shù)字簽名原理及相關(guān)應(yīng)用掌握對(duì)稱密碼技術(shù)的原理、相關(guān)算法及應(yīng)用掌握非對(duì)稱密碼技術(shù)的原理、相關(guān)算法及應(yīng)用學(xué)習(xí)重點(diǎn):對(duì)稱密碼技術(shù)非對(duì)稱密碼技術(shù)密鑰分配與管理技術(shù)數(shù)字簽名2.1密碼技術(shù)概述2.1.1
密碼技術(shù)的起源、發(fā)展與應(yīng)用1.密碼技術(shù)的起源與發(fā)展早在四千多年以前,古埃及人就開(kāi)始使用密碼技術(shù)來(lái)保密要傳遞的消息一直到第一次世界大戰(zhàn)前,密碼技術(shù)的進(jìn)展很少見(jiàn)諸于世,直到1918年,William
F.Friedman的論文“The
Index
of
Coincidence
and
Its
Applications
inCryptography”(重合指數(shù)及其在密碼學(xué)中的應(yīng)用)發(fā)表時(shí),情況才有所好轉(zhuǎn)。1949年,C.E.Shannon(香農(nóng))在《貝爾系統(tǒng)技術(shù)雜志》上發(fā)表了“The
Communication
Theory
of
Secrecy
System(保密系統(tǒng)的通信理論)”,為密碼技術(shù)奠定了堅(jiān)實(shí)理論基礎(chǔ)。使密碼學(xué)真正成為一門科學(xué)。1976年,W.E.Diffie和M.E.Hellman發(fā)表了“New
Direction
in
Cryptography(密碼學(xué)新方向)”一文,提出了一種全新的密碼設(shè)計(jì)思想,導(dǎo)致了密碼技術(shù)上
的一場(chǎng)革命。他們首次證明了在發(fā)送端和接收端不需
要傳送密鑰的保密通信是可能的,從而開(kāi)創(chuàng)了公鑰密
碼技術(shù)的新紀(jì)元,成為現(xiàn)代密碼技術(shù)的一個(gè)里程碑。1977年美國(guó)國(guó)家標(biāo)準(zhǔn)局NBS(National
Bureau
ofStandards,即現(xiàn)在的國(guó)家標(biāo)準(zhǔn)與技術(shù)研究所NIST)正式公布了數(shù)據(jù)加密標(biāo)準(zhǔn)DES(Data
EncryptionStandard)1978年,R.L.Rivest,A.Shamir和L.Adleman實(shí)現(xiàn)了RSA公鑰密碼技術(shù),此后成為了公鑰密碼技術(shù)中杰出代表。1984年,Bennett.CharlesH.,Brassard.Gille首次提出了量子密碼技術(shù)(現(xiàn)稱為BB84協(xié)議)。1985年,N.Koblitz和V.Miller把橢圓曲線理論運(yùn)用到公鑰密碼技術(shù)中,成為公鑰密碼技術(shù)研究的新
亮點(diǎn)。密碼技術(shù)的另一個(gè)重要方向——序列密碼(也稱
為流密碼,序列密碼主要用于政府、軍方等國(guó)家要害
部門)理論也取得了重大的進(jìn)展。1989年,
R.Mathews,D.Wheeler,L.M.Pecora和Carroll等人首次把混沌理論使用到序列密碼及保密通信理論中,為
序列密碼的研究開(kāi)辟了一條新的途徑。1997年,美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究所NIST開(kāi)始征集新一代數(shù)據(jù)加密標(biāo)準(zhǔn)來(lái)接任即將退役的DES,2000年10月,由比利時(shí)密碼學(xué)家Joan
Daemen,VincentRijmen發(fā)明的Rijndael密碼算法成為新一代數(shù)據(jù)加密標(biāo)準(zhǔn)——AES(Advanced
EncryptionStandard)算法。2000年1月,歐盟正式啟動(dòng)了歐洲數(shù)據(jù)加密、數(shù)字簽名、數(shù)據(jù)完整性計(jì)劃NESSIE,旨在提出一套強(qiáng)壯的包括分組密碼、序列密碼、散列函數(shù)、消息人證碼(MAC)、數(shù)字簽名和公鑰加密密碼標(biāo)準(zhǔn)。2.密碼技術(shù)的應(yīng)用隨著計(jì)算機(jī)網(wǎng)絡(luò)是迅速發(fā)展,特別是電子商務(wù)和電子政務(wù)的興起,密碼技術(shù)及其應(yīng)用得到了飛速的發(fā)展,現(xiàn)代密碼技術(shù)已經(jīng)深入到信息安全的各個(gè)環(huán)節(jié)和對(duì)象,其應(yīng)用已不僅僅局限于政治、軍事等領(lǐng)域,其商用價(jià)值和社會(huì)價(jià)值也得到了充分的肯定。當(dāng)前,計(jì)算機(jī)網(wǎng)絡(luò)的廣泛應(yīng)用,產(chǎn)生了大量的電子數(shù)據(jù),這些數(shù)據(jù)需要傳輸?shù)骄W(wǎng)絡(luò)的各個(gè)地方并存儲(chǔ)??赡苓@些數(shù)據(jù)有的具有重大的經(jīng)濟(jì)價(jià)值,有的關(guān)系到國(guó)家、軍隊(duì)或企業(yè)的命脈甚至生死存亡。對(duì)于這些數(shù)據(jù),有意的計(jì)算機(jī)犯罪或無(wú)意的數(shù)據(jù)破壞都可能會(huì)造成不可估量的損失。對(duì)于這些犯罪行為,光靠法律和相應(yīng)的的監(jiān)督措施是很難滿足現(xiàn)實(shí)的需要,必須進(jìn)行自我保護(hù)。因此,理論和事實(shí)都說(shuō)明密碼技術(shù)是一種實(shí)用而有效的方法。2.1.2
密碼技術(shù)基礎(chǔ)1.基本概念密碼技術(shù)(或密碼學(xué))是研究通信安全保密的一門學(xué)科,它包含兩個(gè)相對(duì)獨(dú)立的分支:密碼編碼學(xué)和密碼分析學(xué)。密碼編碼學(xué)是研究把信息(明文)變換成沒(méi)有密鑰就不能解讀或很難解讀的密文的方法,從事此行的稱為密碼編碼者。密碼分析學(xué)是研究分析破譯密碼的方法,從事此行的稱為密碼分析者。密碼編碼學(xué)和分析學(xué)彼此目的相反、相互獨(dú)立,但在發(fā)展中又相互促進(jìn)。密碼編碼學(xué)的任務(wù)是尋求生成高強(qiáng)度密碼的有效算法,以滿足對(duì)信息進(jìn)行加密或認(rèn)證的要求。密碼分析學(xué)的任務(wù)是破譯密碼或偽造認(rèn)證密碼,竊取機(jī)密信息進(jìn)行詐騙破壞活動(dòng)。被動(dòng)攻擊:對(duì)一個(gè)保密系統(tǒng)采取截獲密文進(jìn)行分析的方法來(lái)進(jìn)行的攻擊。主動(dòng)攻擊:非法入侵者采用刪除、更改、添加、重放、偽造等手段向系統(tǒng)注入假信息的攻擊。進(jìn)攻與反進(jìn)攻、破譯與反破譯是密碼學(xué)中永無(wú)止境的矛與盾的競(jìng)技。保密通信系統(tǒng)模型:通過(guò)上圖這個(gè)模型,我們可以看到一個(gè)密碼體制(Cryptosystem)通常由5個(gè)部分構(gòu)成:全體明文的集合M,稱為明文空間;全體密文的集合C,稱為密文空間全體密鑰的集合K,稱為密鑰空間;加密算法E,由加密密鑰控制的加密變換的集合,即:K×M→C,(m,k)
Ek(m);解密算法D,由加密密鑰控制的加密變換的集合,即:K×C→M,(c,k)
Dk(c)。對(duì)m∈M,k∈K,有Dk(Ek(m))=m。以上描述的五元組(M,C,K,E,D)就稱為一個(gè)密碼體制。?一個(gè)完整的保密通信系統(tǒng)是由一個(gè)密碼體制、一個(gè)信源、一個(gè)信宿、一個(gè)攻擊者或密碼分析者構(gòu)成。Kerchhoff假設(shè):對(duì)于所有的密鑰,加密和解密算法迅速有效;密碼體制的安全性不依賴于算法的保密,而是依賴于密鑰的保密。這就是所謂的Kerchhoff假設(shè)(該假設(shè)是由荷蘭密碼學(xué)家Kerchhoff提出的密碼學(xué)基本假設(shè))。實(shí)際上,加密和解密是在密鑰的控制下進(jìn)行的,并有加密密鑰和解密密鑰之分。傳統(tǒng)密碼體制所采用的加密密鑰和解密密鑰相同,稱為單鑰或?qū)ΨQ密鑰密碼體制,即是說(shuō)知道了加密密鑰,也就知道了解密密鑰;知道了解密密鑰也就知道了加密密鑰。所以加密密鑰和解密密鑰必須同時(shí)保密。最典型的就是美國(guó)數(shù)據(jù)加密標(biāo)準(zhǔn)DES。1976年,在由Diffie和Hellman提出的密碼新體制中,加密密鑰和解密密鑰不同,也是不能相互推導(dǎo)的,稱為公鑰或雙鑰或非對(duì)稱密鑰密碼體制。公鑰密碼體制的產(chǎn)生,一方面為數(shù)據(jù)的保密性、完整性、真實(shí)性提供了有效方便的技術(shù);另一方面,比較科學(xué)地解決了密碼技術(shù)的關(guān)鍵問(wèn)題——密鑰分配問(wèn)題,而且還還為數(shù)字簽名提供了有效的方法。當(dāng)前及以后較長(zhǎng)的一段時(shí)間內(nèi),密鑰仍然是信息安全保密的關(guān)鍵,它的產(chǎn)生、分配和管理是密碼技術(shù)中的重要研究?jī)?nèi)容。2.密碼體制的分類按執(zhí)行的操作方式不同,可以分為替換密碼體
制(Substitution
Cryptosystem)和換位密碼體制(Permutation
Cryptosystem)。如果從收發(fā)雙方使用的密鑰是否相同,密碼體制分為對(duì)稱密鑰密碼(或單鑰密碼)體制和非對(duì)稱密鑰密碼(或雙鑰密碼或公鑰密碼)體制。對(duì)稱密鑰密碼技術(shù)中加密和解密的雙方擁有相同的密鑰,而非稱密鑰密碼技術(shù)中加密和解密的雙方擁有不同的密鑰。在對(duì)稱密碼技術(shù)中,其加密密鑰和解密密鑰相同。加密信息的安全性取決于密鑰的安全性,與算法的安全性無(wú)關(guān),即由密文和加解密算法不可能得到明文。換句話說(shuō)算法無(wú)需保密,需保密的僅是密鑰。對(duì)稱密碼技術(shù)對(duì)明文的加密有兩種方式:一是明文信息按字符(如二元數(shù)字)逐位地加密,稱之為流密碼技術(shù);另一種是將明文信息分組(含多個(gè)字符),逐組進(jìn)行加密,稱之為分組密碼。非對(duì)稱密碼技術(shù),其主要特點(diǎn)是將加密和解密能力分開(kāi),加密密鑰(即公開(kāi)密鑰)PK是公開(kāi),加密算法E和解密算法D也都是公開(kāi)的,而解密密鑰(也稱為秘密密鑰)SK是保密的。雖然SK是由PK決定的,但不能根據(jù)PK計(jì)算出SK,即加密密鑰和解密密鑰在計(jì)算上是不能相互推算出的。3.密碼分析(1)密碼分析者分析密碼算法主要有三種方法:①窮舉法:密碼分析者試圖試遍所有的明文或密鑰來(lái)進(jìn)行破譯。②統(tǒng)計(jì)分析法:密碼分析者通過(guò)分析密文、明文和密鑰的統(tǒng)計(jì)規(guī)律來(lái)達(dá)到破譯密碼體制??梢栽O(shè)法使明文的統(tǒng)③密碼體制分析法:根據(jù)所掌握的明文、密文的有關(guān)信窮舉明文時(shí),就是將可能的明文進(jìn)行加密,將得到的密文與截取到密文對(duì)比,來(lái)確定正確的明文。這一方法主要用于公鑰密碼技術(shù)(及數(shù)字簽名)。窮舉計(jì)密特鑰性時(shí)與,密用文可的能統(tǒng)的計(jì)密特鑰性解不密一密樣文來(lái),對(duì)直抗到統(tǒng)得計(jì)到分有析意法義。的明文,從而確定正確的明文和密鑰。可以使用增加密鑰長(zhǎng)度、在明文和密文中增加隨機(jī)冗余信息等方法來(lái)
息抗息抗,擊,擊通窮通窮過(guò)舉過(guò)舉數(shù)分?jǐn)?shù)分學(xué)析學(xué)析求方求方解法解法的。的。方法找到相應(yīng)的加解密算法。對(duì)抗這種分析法是應(yīng)該選用具有堅(jiān)實(shí)數(shù)學(xué)基礎(chǔ)和足夠復(fù)雜的加解密算法。(2)根據(jù)對(duì)明文和密文掌握的程度,密碼分析者通??梢栽谙率鏊闹星闆r下對(duì)密碼體制進(jìn)行攻擊:① 唯密文攻擊(Ciphertext-onlyattack):密碼分析者僅知道一些密文,并試圖恢復(fù)盡可能多的明文,并進(jìn)一步推導(dǎo)出加密信息的密鑰。② 已知明文攻擊(Known-plaintextattack):密碼分析者不僅知道一些信息的密文,而且還知道與之對(duì)應(yīng)的明文,根據(jù)明文和密文對(duì)試圖推導(dǎo)出加密密鑰或加密算法。③選擇明文攻擊(Chosen-plaintextattack):密碼分析者可以選擇一些明文,并得到相應(yīng)的密文,而且可以選擇被加密的明文,并試圖推導(dǎo)出加密密鑰或算法。例如:在公鑰密碼技術(shù)中,分析者可以用公鑰加密他任意選定的明文。這種攻擊就是選擇明文攻擊。④選擇密文攻擊(Chosen-ciphertext
attack):密碼分析者可以選擇不同的密文,并能得到相應(yīng)的明
文,并試圖推導(dǎo)出加密密鑰。有時(shí)和選擇明文攻擊
一起并稱作選擇文本攻擊(Chosen-text
attack)。4.鑒別、完整性與不可否認(rèn)性鑒別:信息的接收者應(yīng)該能夠確認(rèn)信息的來(lái)源。完整性:信息的接收者應(yīng)能驗(yàn)證信息在傳輸過(guò)程中有沒(méi)有被改變。不可否認(rèn)性:信息的發(fā)送方不能否認(rèn)已發(fā)送過(guò)的信息。5.計(jì)算復(fù)雜性理論理論安全性(無(wú)條件安全性):如果具有無(wú)限計(jì)算資源的密碼分析者也無(wú)法破譯該密碼體制,這就是理論安全性(無(wú)條件安全性),也稱絕對(duì)不可破譯,即是說(shuō)密碼分析者無(wú)論截獲多少密文以及無(wú)論用什么方法進(jìn)行攻擊都不可能破譯??勺C明安全性:如果從理論上證明破譯該系統(tǒng)的代價(jià)(困難性)不低于求解某個(gè)已知的數(shù)學(xué)難題,這就是可證明安全性。計(jì)算安全性:如果用用已知的最好算法和利用現(xiàn)有的(或密碼系統(tǒng)生命期內(nèi))最大計(jì)算資源仍然不可能在合理的時(shí)間內(nèi)完成破譯該系統(tǒng)所要求的計(jì)算(量),這就是計(jì)算安全性。即密碼分析者根據(jù)可以利用的資源進(jìn)行破譯所用的時(shí)間非常長(zhǎng),或者說(shuō)破譯的時(shí)間長(zhǎng)到原來(lái)的明文失去保密價(jià)值??勺C明安全性和計(jì)算安全性統(tǒng)稱為實(shí)際安全性。什么是計(jì)算復(fù)雜性理論?計(jì)算復(fù)雜性理論是密碼安全性理論的基礎(chǔ),它為分析不同密碼技術(shù)和算法的“復(fù)雜性”提供了一種方法,它對(duì)不同的密碼算法和技術(shù)進(jìn)行比較,從而給出問(wèn)題求解困難性的數(shù)量指標(biāo),并確定它們的安全性。(1)密碼分析所需的計(jì)算量則是密碼體制安全性的生命指標(biāo)。如果用n表示問(wèn)題的大小(或輸入的長(zhǎng)度),則計(jì)算復(fù)雜性可以用兩個(gè)參數(shù)來(lái)表示:運(yùn)算所需的時(shí)間T和存儲(chǔ)空間S。它們都是n的函數(shù),表示為:T(n)和S(n),也分別稱為空間復(fù)雜性和時(shí)間復(fù)雜性??臻g復(fù)雜性和時(shí)間復(fù)雜性往往是可以相互轉(zhuǎn)換的。比如,可以預(yù)算某些明文和密文對(duì),分析時(shí)只需使用查詢即可,這樣計(jì)算的時(shí)間就轉(zhuǎn)換成了存儲(chǔ)空間。假如T(n)=O(nc)(c>0),那么稱該算法運(yùn)算的時(shí)間是多項(xiàng)式階的,假如T(n)=O(ap(n))(a>0),則稱該算法運(yùn)算的時(shí)間是指數(shù)階的。其中P(n)是n的一個(gè)多項(xiàng)式。對(duì)于指數(shù)階的運(yùn)算時(shí)間算法,適當(dāng)增大n,計(jì)算將變成不可能。因此,一般認(rèn)為,如果破譯一個(gè)密碼體制所需的時(shí)間是指數(shù)階的,則它在計(jì)算上是安全的,因而實(shí)際上也是安全的。(2)P問(wèn)題和NP問(wèn)題:在理論研究中,算法通常分為確定性算法和非確定性算法。確定性算法的每一步操作結(jié)果都是確定的,其計(jì)算時(shí)間就是完成這些確定步驟所需的時(shí)間。而不確定性算法的某些操作結(jié)果是不確定的,在所有使算法成功操作的序列中,所需時(shí)間最少的序列所需時(shí)間就是該不確定性算法的計(jì)算時(shí)間。使用確定性算法可以在多項(xiàng)式時(shí)間內(nèi)求解的的問(wèn)題稱為P問(wèn)題。在多項(xiàng)式時(shí)間內(nèi)可以用非確定性算法求解的問(wèn)題稱為NP問(wèn)題。注意:NP問(wèn)題包含P問(wèn)題,NP問(wèn)題中許多問(wèn)題可能要比P中的問(wèn)題難得多,但是P問(wèn)題中是否包含NP問(wèn)題,目前還沒(méi)有證實(shí)。同時(shí)P≠NP目前有沒(méi)有證明,但是如果P=NP,那么整個(gè)密碼學(xué)將失去意義,密碼算法也不再是牢不可破的。因此,計(jì)算復(fù)雜性理論也密碼技術(shù)的基礎(chǔ)理論之一?,F(xiàn)已證明,正整數(shù)是因式分解問(wèn)題就是一個(gè)NP問(wèn)題。在實(shí)際研究中,如果問(wèn)題X可以在多項(xiàng)式時(shí)間內(nèi)用確定性算法轉(zhuǎn)化為問(wèn)題Y,而Y的解可以在多
項(xiàng)式時(shí)間內(nèi)用確定性算法轉(zhuǎn)化為X的解,則稱問(wèn)題
X可規(guī)約化為問(wèn)題Y。因此,如果某類NP問(wèn)題中任何一個(gè)問(wèn)題可以規(guī)約為問(wèn)題Y,而且Y本身就是NP問(wèn)題,則稱Y是一個(gè)NP完全問(wèn)題,記為NPC。而對(duì)于一個(gè)NP問(wèn)題,不存在任何已知的確定性算法在多項(xiàng)式時(shí)間內(nèi)求解該問(wèn)題,所以如果能找到一個(gè)計(jì)算序列作為解密算法,那么密碼分析者在不知道計(jì)算序列的情況下來(lái)求解問(wèn)題(稱為客觀求解)在計(jì)算上是不可能的。由此可見(jiàn),NP問(wèn)題可以用來(lái)構(gòu)造密碼體制。Diffie和Hellman通過(guò)大量的證明指出,NPC問(wèn)題更適合構(gòu)造密碼體制。因?yàn)楝F(xiàn)在密碼算法的安全性都是基于NPC問(wèn)題的,這樣若想破譯一密碼體制相當(dāng)于解一NPC問(wèn)題。2.1.3
標(biāo)準(zhǔn)化及其組織機(jī)構(gòu)最具權(quán)威性、通用性且較完善的信息技術(shù)安全標(biāo)準(zhǔn)仍然來(lái)自于ISO、IEC等國(guó)際性標(biāo)準(zhǔn)化組織。在ISO與IEC的聯(lián)合技術(shù)委員會(huì)JTC1管轄的安全技術(shù)分技術(shù)委員會(huì)SC27專門從事安全技術(shù)和安全機(jī)制的標(biāo)準(zhǔn)化工作,其工作范圍是信息技術(shù)安全的一般方法和技術(shù)的標(biāo)準(zhǔn)化,包括:制定信息技術(shù)系統(tǒng)安全服務(wù)標(biāo)準(zhǔn);開(kāi)發(fā)安全技術(shù)和安全機(jī)制;開(kāi)發(fā)安全指南(如解釋性文件、風(fēng)險(xiǎn)分析等);開(kāi)發(fā)管理支持性文件和標(biāo)準(zhǔn)(如術(shù)語(yǔ)、安全性評(píng)估準(zhǔn)則等)。最近,SC27又提出一個(gè)新課題,該課題的內(nèi)容是研究保密通信中密鑰的管理辦法、操作準(zhǔn)則和TTP(TTP是英文可信第三方的縮寫(xiě),它可用于大型分布式系統(tǒng)環(huán)境下協(xié)助密鑰分配的管理和鑒別)的職責(zé)增強(qiáng)辦法。據(jù)初步統(tǒng)計(jì),SC27已研制出正式國(guó)際標(biāo)準(zhǔn)和國(guó)
際標(biāo)準(zhǔn)草案及開(kāi)發(fā)指南約40個(gè),幾乎覆蓋了其工作范圍的所有領(lǐng)域,這對(duì)其它國(guó)際標(biāo)準(zhǔn)化組織及各國(guó)、各地區(qū)、各行業(yè)研制具體的、細(xì)化的安全標(biāo)準(zhǔn)將起到極好的指導(dǎo)作用。ISO/IEC/JTC1內(nèi)還有6個(gè)分技術(shù)委員會(huì)分別承擔(dān)一部分信息技術(shù)安全標(biāo)準(zhǔn)的制定任務(wù)。其中,SC6主要負(fù)責(zé)OSI下四層安全模型和安全協(xié)議的標(biāo)準(zhǔn)化工作;SC17主要開(kāi)發(fā)與識(shí)別卡有關(guān)的安全標(biāo)準(zhǔn);SC18主要開(kāi)發(fā)電子郵件、消息處理系統(tǒng)的安全標(biāo)準(zhǔn);SC21主要開(kāi)發(fā)OSI安全體系結(jié)構(gòu)、各種安全框架及高層安全模型等標(biāo)準(zhǔn);SC22主要開(kāi)發(fā)程序語(yǔ)言、環(huán)境及系統(tǒng)軟件接口等方面的安全標(biāo)準(zhǔn);SC30主要開(kāi)發(fā)電子數(shù)據(jù)交換的有關(guān)安全標(biāo)準(zhǔn)。ISO內(nèi)的銀行業(yè)技術(shù)委員會(huì)TC68,開(kāi)發(fā)研制了銀行和金融機(jī)構(gòu)專用的銀行業(yè)務(wù)安全標(biāo)準(zhǔn),已通過(guò)的正式標(biāo)準(zhǔn)多達(dá)30多個(gè)。國(guó)際電信聯(lián)盟(ITU,原稱CCITT)單獨(dú)或與ISO合作開(kāi)發(fā)了消息處理系統(tǒng)、目錄(X.400系列、X.500系列)及安全框架、安全模型等標(biāo)準(zhǔn);歐洲計(jì)算機(jī)制造協(xié)會(huì)(ECMA)研制了局域網(wǎng)安全要求等安全標(biāo)準(zhǔn);因特網(wǎng)上也出現(xiàn)了大量的RFC協(xié)議文稿,多達(dá)數(shù)千個(gè),經(jīng)網(wǎng)上討論修改后,已形成了幾十個(gè)被大家接受的事實(shí)上的因特網(wǎng)安全標(biāo)準(zhǔn)。另外,還有IETF(Internet
Engineering
TaskForce,是一個(gè)研究Internet問(wèn)題的組織),它由90多個(gè)工作小組組成。該組織每年舉行三次會(huì)議,專門制定相應(yīng)的Internet問(wèn)題建議和草案。2.2對(duì)稱密碼技術(shù)2.2.1
對(duì)稱密碼技術(shù)概述對(duì)稱密碼技術(shù)就是加密密鑰和解密密鑰相同的這類密碼體制,它采用的解密算法是加密算法的逆運(yùn)算。對(duì)稱密碼技術(shù)典型代表有:古典密碼技術(shù)、序列密碼技術(shù)、DES(數(shù)據(jù)加密標(biāo)準(zhǔn))、瑞士的IDEA(國(guó)際
數(shù)據(jù)加密算法)以及AES(高級(jí)加密標(biāo)準(zhǔn))等。古典密碼技術(shù)古典密碼技術(shù)根據(jù)其基本原理大體上可以分為兩類:替換密碼技術(shù)和換位密碼技術(shù)。替換密碼技術(shù)替換密碼技術(shù)是基于符號(hào)替換的密碼技術(shù),這種密碼技術(shù)是以符號(hào)的置換來(lái)達(dá)到掩蓋明文信息。這類密碼技術(shù)有:?jiǎn)巫址麊伪硖鎿Q密碼技術(shù)、單字符多表替換密碼技術(shù)等。(1)單字符單表替換密碼技術(shù):?jiǎn)巫址麊伪硖鎿Q密碼技術(shù)是對(duì)明文中的所有字符都使用一個(gè)固定的映射。設(shè)
A={a0,a1
,…,an-1}為明文字母表,B={b0,b1
,…,bn-1}為密文字母表,單字符單表替換密碼技術(shù)使用了A到B的映
射關(guān)系:f:A→B,f(ai)=bj(一般情況下,為保證加密的可逆性,f是一一映射)將明文中的每一個(gè)字母替換為密文字母表中的一個(gè)字母。單字符單表替換密碼技術(shù)的密鑰就是映射f或密文字母表(一般情況下明文字母表與密文字母表是相同的,這時(shí)的密鑰就是映射f)。典型的單字符單表替換密碼技術(shù)有:①乘法密碼技術(shù)乘法密碼技術(shù)的加密變換:Ek(ai)=aj,j=ik(mod
n),gcd(k,n)=1
乘法密碼技術(shù)的解密變換:Dk(aj)=ai,i=jk-1(mod
n)乘法密碼技術(shù)的密鑰是k。若n是素?cái)?shù),則有n-2個(gè)密鑰(k=1時(shí)加密變換是恒等變換,應(yīng)該予以拋棄);若n不是素?cái)?shù),則有φ(n)-1個(gè)密鑰(其中φ(n)為歐拉函數(shù)的值)。② 移位替換密碼技術(shù):是最簡(jiǎn)單的一種替換密碼。加密變換為:Ek(ai)=aj,j=(i
+
k)(mod
n),0
<
k
<
n解密變換為:Dk(aj)=ai,i=(j
-
k)(mod
n)=(j
+(n-
k))(mod
n)由于i=(j-k)(mod
n)=(i+k-k)(mod
n)=i
(modn),所以解密與加密是可逆的。從解密變換中可以看出:Dk=En-k。移位替換密碼技術(shù)的密鑰是k,k唯一地確定了明文空間到密文空間的映射,故移位替換密碼技術(shù)的密鑰空間的元素個(gè)數(shù)為n-1。③密鑰字密碼技術(shù):它利用一個(gè)密鑰字來(lái)構(gòu)造替換作為密鑰。④仿射密碼技術(shù):是加法密碼技術(shù)和乘法密碼技術(shù)的結(jié)合體。加密變換為:Dk0,k1(ai)=aj,j=(ik1+k0)(mod
n),k0
,k1∈Zn,gcd(k1,n)=1k1,k0為該算法的密鑰。當(dāng)k0=0時(shí),仿射密碼技術(shù)退化為乘法密碼技術(shù),當(dāng)k0=1時(shí),仿射密碼退化為移位替換密碼技術(shù)。(2)單字符多表替換密碼技術(shù):?jiǎn)巫址啾硖鎿Q密碼技術(shù)在安全性方面比單字符單表替換密碼技術(shù)高。單因字為符單多字表符替單換表密替碼換技密術(shù)碼是技用術(shù)一中系明列文(的兩字個(gè)母以與上密)替文換中表的依字次母對(duì)是明一文一的對(duì)字應(yīng)母的進(jìn),行明替文換中的加字密母方統(tǒng)法計(jì)。特假性設(shè)在明文明字文母中表沒(méi)為有Z得q,到替改換變表,序因列此為單L=字L符1L單2…表,替明換文密字碼母技序術(shù)
列很為容m易=m破1m譯2…。,則相應(yīng)的密文序列為c=L(m)=L1(m1)L2(m2)…。如果替換序列是非周期的無(wú)限序列,則相應(yīng)的密碼技術(shù)為非周期多表代替密碼技術(shù),它對(duì)每個(gè)明文都采用了不同的替換表進(jìn)行加密,也稱為一次一密密碼技術(shù),它是一種理論上不可破譯的密碼技術(shù)。而在實(shí)際應(yīng)用中采用的都是周期多表替換密碼技術(shù),只使用了有限的替換表,替換表被重復(fù)使用以完成對(duì)明文的加密。例如周期為d,則替換表序列為:L=L1L2…LdL1L2…Ld
…。當(dāng)
d=1時(shí),單字符多表替換密碼技術(shù)退化為單字符單表替換密碼技術(shù)。單字符多表替換密碼技術(shù)有很多,典型的有:①Vigenere(費(fèi)杰爾或維吉尼亞)密碼技術(shù)Vigenere密碼技術(shù)本質(zhì)上是一種多表簡(jiǎn)單加法密碼技術(shù)
Vigenere密碼技術(shù)循環(huán)地使用每一個(gè)替換表完成明文字母到密文字母的轉(zhuǎn)換。具體的加密過(guò)程:設(shè)密鑰K=k1
k2
…kd,明文與密文字母表中均包含了n個(gè)字母。又設(shè)明文m=m1m2…,密文為c=c1c2…,則ci=mi+ki(mod
n),其中t為正整數(shù)。當(dāng)密鑰的長(zhǎng)度比明文短時(shí),密鑰可以周期性地重復(fù)使用,直至完成明文中的每個(gè)字母的加密。②Vernam(弗納姆)密碼技術(shù)其加密方法是,將明文和密鑰分別表示成二進(jìn)制序列,再把它們按位進(jìn)行模二加法。設(shè)明文m=m1m2…,密鑰k=k1k2…,其中mi,ki∈GF(2),i≥1,則密文c=c1c2…,其中ci=miki
。這里
為模二加法。③Hill(希爾)密碼技術(shù)它實(shí)際上是仿射密碼技術(shù)的特例。其基本加密思想是將n個(gè)明文字母通過(guò)線性變換將它們轉(zhuǎn)換為n個(gè)密文字母的加密算法。解密時(shí)只需做一次逆變換即可。密鑰就是變換矩陣。2.換位密碼技術(shù)換位密碼技術(shù)本質(zhì)上就是一種置換密碼技術(shù),但它置換的不是字符,而是書(shū)寫(xiě)的位置。換位密碼技術(shù)的數(shù)學(xué)表達(dá)式可以表示成:設(shè)明文為:m=
m1m2…,則密文c=
c1c2…,ci
=
,i=1,2,…,n。其中置換表為:序列密碼技術(shù)也稱為流密碼技術(shù)(也屬于對(duì)稱密碼技術(shù),實(shí)際上是對(duì)稱密碼技術(shù)的一種特殊情況),起源于20世紀(jì)20年代的Vernam密碼技術(shù),目前,序列密碼技術(shù)是世界各國(guó)的軍事和外交等領(lǐng)域中的主要密碼技術(shù)之一。序列密碼原理圖序列密碼技術(shù)是將明文信息m看成是連續(xù)的比特流(或字符流)m1,m2,…,在發(fā)送端用密鑰序列發(fā)生器產(chǎn)生的密鑰序列k1,k2,…,對(duì)明文中的mi進(jìn)行加密,即:Ek(m)=(m1)(m2)…。2.2.3
序列密碼技術(shù)在開(kāi)始工作時(shí),種子密鑰k對(duì)密鑰序列產(chǎn)生器進(jìn)行初始化。ki,mi,均為1個(gè)比特(或一個(gè)字符),按照模二加進(jìn)行運(yùn)算,得ci=(mi)=miki;在接收端,對(duì)ci進(jìn)行解密,解密算法為:(ci)=
ci
ki=(mi
ki)
ki=
mi。序列密碼技術(shù)的保密性取決于密鑰的隨機(jī)性。如果密鑰序列是真正的隨機(jī)數(shù),則在理論上是不可破的。問(wèn)題在于這種密碼技術(shù)需要的密鑰量大得驚人,在實(shí)際應(yīng)用中很難滿足需要。目前人們常用偽隨機(jī)序列作為密鑰序列,但要求序列的周期足夠長(zhǎng)(1010~1050),隨機(jī)性要好,才能保證其安全性。序列密碼技術(shù)的保密性取決于密鑰的隨機(jī)性。序列密碼的典型代表有A5和SEAL等。1.DES產(chǎn)生的歷史背景DES是美國(guó)國(guó)家標(biāo)準(zhǔn)局NBS(后改名為美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)研究所即NIST)為了滿足計(jì)算機(jī)通信網(wǎng)絡(luò)的發(fā)展對(duì)安全保密的需求,實(shí)現(xiàn)系統(tǒng)同一水平的安全性和兼容性,降低數(shù)據(jù)加密產(chǎn)品的生產(chǎn)成本,推廣使用密碼算法而公開(kāi)征集的一種用于政府部門及民間進(jìn)行計(jì)算機(jī)數(shù)據(jù)加密的密碼算法。它也是密碼技術(shù)史上第一個(gè)廣泛應(yīng)用于商用數(shù)據(jù)保密的、公開(kāi)的密碼算法,它開(kāi)創(chuàng)了公開(kāi)密碼算法的先例。2.2.4
DES(數(shù)據(jù)加密標(biāo)準(zhǔn))DES公布和正式實(shí)施后,雖然有不少用戶和專家對(duì)它的設(shè)計(jì)問(wèn)題提出過(guò)質(zhì)疑和反對(duì),但仍被迅速推廣使用,美國(guó)的許多專用系統(tǒng)紛紛宣布采用DES作為其信息處理安全標(biāo)準(zhǔn)。DES分別在1983、87、92、94年都通過(guò)了安全性評(píng)估,作為信息安全處理標(biāo)準(zhǔn)一直使用到1998年(以后不再使用),這樣DES作為數(shù)據(jù)加密標(biāo)準(zhǔn)的使用期限已有20余年了。但是在近年來(lái),對(duì)DES的攻擊不斷顯示出對(duì)其不利的因素,特別是隨著計(jì)算機(jī)計(jì)算能力的提高,也由于DES的一些先天性不足(其密鑰過(guò)短,只有56位,也是導(dǎo)致其備受批評(píng)的重要原因),對(duì)
DES的成功攻擊屢見(jiàn)報(bào)道。在這種情況下,大家對(duì)于替換DES的要求日益增長(zhǎng),最終NIST于1997年發(fā)布公告,征集新的數(shù)據(jù)加密標(biāo)準(zhǔn)為聯(lián)邦信息處理標(biāo)準(zhǔn)的代替DES。2000年10月,公布了新的數(shù)據(jù)加密標(biāo)準(zhǔn)AES。盡管如此,DES仍然具有重要的參考價(jià)值,它對(duì)于我們掌握分組密碼的基本理論與設(shè)計(jì)思想具有重要意義。2.DES算法DES是一個(gè)分組密碼算法,使用64位密鑰(除去8位奇偶校驗(yàn),實(shí)際密鑰長(zhǎng)為56位)對(duì)64比特的數(shù)據(jù)分組(二進(jìn)制數(shù)據(jù))加密,產(chǎn)生64位密文數(shù)據(jù)。DES是一個(gè)對(duì)稱密碼體制,加密和解密使用同一密鑰,解密和加密使用同一算法。DES的所有保密性均依賴于密鑰。(1)DES的加密過(guò)程(3個(gè)階段)第一階段:初始置換IP(如下頁(yè)表所示)對(duì)于給定的明文x,通過(guò)初始置換IP(在第一輪迭代運(yùn)算之前,需要加密的64位明文首選通過(guò)初始置換IP的作用,對(duì)輸入分組實(shí)施置換(即把64位置換得第2位,…,原來(lái)輸入明文的第7位將作為置換結(jié)果的最后一位)獲得,并將x0分為兩部分,前面32位記為L(zhǎng)0,后面32位記為R0。58501234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157初始置換IP表第二階段:計(jì)算16次迭代變換。DES采用了典型的Feistel結(jié)構(gòu),是一個(gè)乘積結(jié)構(gòu)的迭代密碼算法。其算法的核心是算法所規(guī)定的16次迭代變換(見(jiàn)下頁(yè)圖)。從圖中可以看出,DES算法的16次迭代變換具有相同的結(jié)構(gòu),每
一次迭代變換都以前一次迭代變換的結(jié)果(第一次迭代以作0 0
0ix=L
R
為輸入)和用戶密鑰擴(kuò)展得到的子密鑰k作為輸入;每一次迭代變換只變換一半數(shù)據(jù),它們將輸入數(shù)據(jù)的右半部分經(jīng)過(guò)函數(shù)f后,將其輸出與輸入數(shù)據(jù)的左半部分進(jìn)行異或運(yùn)算,并將得到的結(jié)果作為新的右半部分,原來(lái)的右半部分變成了新的左半部分。即:DES加密算法圖DES的一次迭代過(guò)程DES算法的安全性關(guān)鍵在于非線性函數(shù)f的性質(zhì)。在DES算法中,f以長(zhǎng)度為32位的比特串作為輸入,產(chǎn)生的中間結(jié)果為48位,并在最終產(chǎn)生長(zhǎng)度為32位的比特串作為輸出。f函數(shù)的計(jì)算過(guò)程可以用下圖表示。Ⅰ.擴(kuò)展置換:f以前一輪迭代的結(jié)果Ri-1作輸入,首先根據(jù)一個(gè)固定的擴(kuò)展函數(shù)E(也稱為E盒)“擴(kuò)展”長(zhǎng)度為48位的比特串,其中有16比特出現(xiàn)了兩次(如下頁(yè)表所示)3212345456789891011121312131415161716171819202120212223242524252627282928293031321擴(kuò)展置換(E)表下圖是以第一個(gè)小分組(第一位在第4位)為例,給出了擴(kuò)展函數(shù)E的工作過(guò)程。擴(kuò)展函數(shù)E的第一分組的工作過(guò)程Ⅱ.與子密鑰異或:函數(shù)f將擴(kuò)展置換得到的48位輸出與子密鑰ki(48位)進(jìn)行異或運(yùn)算(按位模2加)。Ⅲ.S盒替代:以6比特為單位將第Ⅱ步異或得到的結(jié)果分為8個(gè)小分組,并將它們送入替代函數(shù)(即S盒)中進(jìn)行替代運(yùn)
算。DES算法中共有8個(gè)S盒(見(jiàn)下頁(yè)表)。每一個(gè)分組將對(duì)應(yīng)于一個(gè)S盒進(jìn)行替代運(yùn)算。具體替代方式為:將S盒的6位輸入定義為a1a2a3a4a5a6。將a1a6組成一個(gè)2位二進(jìn)制數(shù),對(duì)應(yīng)著表中的行號(hào),將a2a3a4a5組成一個(gè)4位二進(jìn)制數(shù),對(duì)應(yīng)表中的列號(hào),交叉點(diǎn)的數(shù)據(jù)就是該S盒的輸出。S盒是函數(shù)f的核心所在,同時(shí),也是DES算法的關(guān)鍵步驟。實(shí)際上除了S盒以外,DES的其他運(yùn)算都是線性的,而S盒是非線性的,它決定了DES算法的安全性。48位的比特串(分為8個(gè)6位分組)在經(jīng)過(guò)8個(gè)S盒進(jìn)行代替運(yùn)算后,得到8個(gè)4位的分組,它們重新組合在一起形成一個(gè)32位的比特串。這個(gè)比特串將進(jìn)行下一步運(yùn)算:P盒置換。S盒Ⅳ.P盒置換:是將S盒輸出的32位比特串根據(jù)固定的置換P(也稱為P盒)置換到相應(yīng)的位置,它也稱為直接置換(straightpermutation)(下表給出了置換P)。P盒置換表16
7
20
21
29
12
28
17
1
15
23
26
5 18
31
102
8
24
14
32
27
3 9
19
13
30
6 22
11
4
25第三階段:逆置換是初始置換IP的逆置換,記為IP-1(如下表)。在對(duì)16圈迭代的結(jié)果(R16L16),再使用逆(初始)置換IP-1后,得到的結(jié)果即可作為DES加密的密文Y輸出,即Y=IP-1(R16,L16)。逆初始置換IP-1表40
8
48
16
56
24
64
32
39
7
47
15
55
23
63
3138
6
46
14
54
22
62
30
37
5
45
13
53
21
61
2936
4
44
12
52
20
60
28
35
3
43
11
51
19
59
2734
2
42
10
50
18
58
26
33
1
41
9
49
17
57
25DES解密算法:與其加密算法使用的算法過(guò)程相同。DES算法的子密鑰的生成過(guò)程。下頁(yè)圖是子密鑰的生成過(guò)程:子密鑰的生成過(guò)程圖子密鑰的生成過(guò)程如下:①輸入的密鑰K首先經(jīng)過(guò)一個(gè)置換(稱為置換選擇1(PC-1,Permutationchoice的縮寫(xiě))見(jiàn)下頁(yè)表所示),進(jìn)行重新排列。置換的結(jié)果(56位)被當(dāng)成兩個(gè)28比特的量C0和D0,其中C0是置換結(jié)果的前28比特,而D0是后28比特。C057
49
41
33
25
17
9
1 58
50
42
34
26
1810
2 59
51
43
35
27
19
11
3 60
52
44
36D063
554739312315762
5446
38
30
2214
6615345372921
13
528
20
12
4PC-1(置換選擇1)②在計(jì)算第i輪迭代所需的子密鑰時(shí),首先對(duì)Ci-1和Di-1進(jìn)行循環(huán)左移,分別得到Ci與Di。循環(huán)的次數(shù)取決于的i值,如果i=1,2,9和16,左移循環(huán)的次數(shù)等于1,否則循環(huán)2次,這些經(jīng)過(guò)循環(huán)移位的值作為下一次循環(huán)的輸入。然后將以作CiDi作為另外一個(gè)由DES算法固定置換選擇(稱為置換選擇2,PC-2見(jiàn)下頁(yè)表所示)的輸入,所得到的置換結(jié)果即為第i次迭代所需的子密鑰ki。1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932PC-2(置換選擇2)DES的工作模式由FIPSPUB81定義,共有四種:電子密碼本模式ECB、密文分組鏈接模式CBC、密文反饋模式CFB、輸出反饋模式OFB。IDEA(International
Data
Encryption
Algorithm,國(guó)際數(shù)據(jù)加密算法)算法中明文和密文的分組長(zhǎng)度都是64位,密鑰長(zhǎng)128位,該算法既可用于加密,也可用于解密。設(shè)計(jì)原則采用的是基于“相異代數(shù)群上的混合運(yùn)算”的設(shè)計(jì)思想,三個(gè)不同的代數(shù)群(異或、模216加和模216+1乘)進(jìn)行混合運(yùn)算,所有這些運(yùn)算(僅有運(yùn)算,沒(méi)有位的置換)都在16位子分組上進(jìn)行,無(wú)論用硬件還是軟件實(shí)現(xiàn),都非常容易(對(duì)16位微處理器尤其有效)。IDEA的設(shè)計(jì)者在設(shè)計(jì)時(shí)已盡最大努力使該算法不受差分密碼分析的影響,賴學(xué)嘉已證明IDEA算法在其8輪迭代的第4輪之后便不受差分密碼分析的影響。IDEA比同時(shí)代的算法:FEAL,REDOC-II、LOKI、Snefru和Khafre都要堅(jiān)固,而且到目前為止幾乎沒(méi)有任何關(guān)于IDEA密碼分析攻擊法的成果案例發(fā)表,因此目前IDEA的攻擊方法只有“直接攻擊”或者說(shuō)是“密鑰窮舉”法了。2.2.5
IDEA(國(guó)際數(shù)據(jù)加密算法)1.AES的產(chǎn)生歷史背景NIST于1997年初發(fā)起并組織了在全世界范圍內(nèi)廣泛征集新的加密標(biāo)準(zhǔn)算法的活動(dòng),同時(shí)要求每一種侯選算法的分組長(zhǎng)度為128位,應(yīng)當(dāng)支持128,192和256比特的密鑰長(zhǎng)度,經(jīng)過(guò)了幾年的反復(fù)較量,最終由比利時(shí)的密碼學(xué)專家
Joan
Daemen(Proton
World
International公司)及
Vincent
Rijmen(Leuven大學(xué))所提出的加密算法Rijndael(中文英譯“榮代爾”)贏得了勝利,成為了21世紀(jì)新的加密算法AES(Advanced
Encryption
Standard)。2001年11月26日,NIST正式公布高級(jí)加密標(biāo)準(zhǔn),并于2002年5月26日正式生效。Rijndael以其算法設(shè)計(jì)的簡(jiǎn)潔、高效、安全而令世人關(guān)注,相信它會(huì)在國(guó)際上得到廣泛應(yīng)用。2.2.6
AES(高級(jí)加密標(biāo)準(zhǔn))2.Rijndael密碼的設(shè)計(jì)原則Rijndael密碼的設(shè)計(jì)中考慮到的三條準(zhǔn)則:①抗擊目前已知的所有攻擊;②在多個(gè)平臺(tái)上實(shí)現(xiàn)速度要快和編碼緊湊;③設(shè)計(jì)簡(jiǎn)單。注:Rijndael中同樣使用了迭代變換,但與大多數(shù)分組密碼不同的是Rijndael沒(méi)有使用Feistel結(jié)構(gòu)。Rijndael是一個(gè)迭代型的具有可變分組長(zhǎng)度和可變密鑰長(zhǎng)度的分組密碼,AES設(shè)計(jì)要求中要求分組長(zhǎng)度為128比特(而
Rijndael支持128、192或256比特的分組長(zhǎng)度),因此,在AES規(guī)范中,對(duì)分組長(zhǎng)度限定為128。AES算法的安全性仍然在討論當(dāng)中,從目前的情況來(lái)看,
Rijndael尚無(wú)已知的安全性方面的攻擊,算法似乎具有良好的安全性。關(guān)于AES的效率問(wèn)題,無(wú)論在有無(wú)反饋模式的計(jì)算環(huán)境下,AES的硬件、軟件實(shí)現(xiàn)都表現(xiàn)出了良好的性能。2.3非對(duì)稱密碼技術(shù)2.3.1
非對(duì)稱密碼技術(shù)概述非對(duì)稱密鑰密碼技術(shù)也稱為雙鑰或公鑰密碼技術(shù),研究的基本工具不再象對(duì)稱密碼技術(shù)那樣是代換和置換,而是數(shù)學(xué)函數(shù)。采用非對(duì)稱密碼技術(shù)的每個(gè)用戶都有一對(duì)密鑰:一個(gè)是可以公開(kāi)的(稱為加密密鑰或公鑰),可以象電話號(hào)碼一樣進(jìn)行注冊(cè)公布;另一個(gè)則是秘密的(稱為秘密密鑰或解密密鑰或私鑰,它由用戶嚴(yán)格保密保存)。它的主要特點(diǎn)是將加密和解密能力分開(kāi),因而可以實(shí)現(xiàn)多個(gè)用戶加密的信息只能由一個(gè)用戶解讀,或由一個(gè)用戶加密的信息而多個(gè)用戶可以解讀。前者可以用于公共網(wǎng)絡(luò)中實(shí)現(xiàn)通信保密,而后者可以用于實(shí)現(xiàn)對(duì)用戶的認(rèn)證。下圖是公鑰密碼技術(shù)示意圖:公鑰密碼的加密變換E(eB,m)與解密交換D(dB,c)應(yīng)滿足這樣一些要求:①
D(dB,c)是E(eB,m)的逆變換,即對(duì)任何的明文m有:D(dB,c)=
D(dB
,E(
eB,m))=m;②
在已知加密密鑰eB時(shí),E(eB,m)的計(jì)算不難;在已知解密密鑰dB時(shí),D(dB,c)的計(jì)算也不難;③ 若不知道dB,那么即使知道eB,具體的加密與解密算法過(guò)程及密文c,確定明文的計(jì)算是不可行的。設(shè)計(jì)公開(kāi)密鑰密碼體制就變成了尋找陷門單向函數(shù)??梢蕴峁﹩蜗蚝瘮?shù)的三大數(shù)學(xué)難題分別是:①大整數(shù)分解問(wèn)題(簡(jiǎn)稱IFP);②離散對(duì)數(shù)問(wèn)題(簡(jiǎn)稱DLP);③橢圓曲線離散對(duì)數(shù)問(wèn)題(簡(jiǎn)稱ECDLP)。如果根據(jù)所依據(jù)的難解問(wèn)題,公鑰密碼體制可以分為這樣3類:①大整數(shù)分解問(wèn)題類;②離散對(duì)數(shù)問(wèn)題類;③橢圓曲線類(也時(shí)被歸為離散對(duì)數(shù)問(wèn)題類)。人們已經(jīng)研究出的公鑰密碼算法:基于大整數(shù)分解問(wèn)題的公鑰密碼體制基于有限域中的離散對(duì)數(shù)問(wèn)題基于代數(shù)編碼系統(tǒng)的Mceliece公鑰密碼算法基于有限自動(dòng)機(jī)的公開(kāi)密碼技術(shù)基橢圓曲線的公開(kāi)密鑰密碼技術(shù)其中,除橢圓曲線公鑰密碼算法是在橢圓曲線上進(jìn)行運(yùn)算之外,其余各公鑰密碼算法均在有限域上進(jìn)行。2.3.2
RSARSA的名字來(lái)源于它們的創(chuàng)建者。1978年由麻省理
工學(xué)院的Ronald.L
Rivest、以色列魏茨曼科學(xué)中心的Adi
Shamir和南加洲大學(xué)的Lenoard
M.Adleman發(fā)表了著名的論文“A
Method
for
Obtaining
Digital
Signature
and
Public-Key
Cryptosystems(獲得數(shù)字簽名和公開(kāi)密鑰密碼系統(tǒng)的一
種方法)”,并提出的一種用數(shù)論構(gòu)造的、也是迄今為止理論上最為成熟完善的公鑰密碼技術(shù)——RSA,該技術(shù)已得到廣泛的應(yīng)用。在RSA算法中,它使用廣為公開(kāi)的公鑰加密通信,密文只能被持有與之相配的私鑰的人才能解開(kāi)。1.RSA的基本原理:RSA是基于大整數(shù)難分解的公鑰密碼技術(shù)。RSA是基于這樣一個(gè)十分簡(jiǎn)單的數(shù)論事實(shí)而設(shè)計(jì)的:將兩個(gè)大的素?cái)?shù)相乘十分容易,但想分解它們是十分困難的,因此將乘積公開(kāi)作為加密密鑰?;诖笳麛?shù)分解的公鑰密碼體制的安全性主要依賴于大整數(shù)(大合數(shù))的難分解問(wèn)題。大整數(shù)的分解問(wèn)題可以被表述:已知整數(shù)n,n是兩個(gè)素?cái)?shù)的積,即n=p.q。求解p、q的值。大整數(shù)分解是計(jì)算上困難的問(wèn)題,目前還不存在一般性的有效解決算法。2.算法描述(1)密鑰的產(chǎn)生①選兩個(gè)保密的大素?cái)?shù)p和q;②計(jì)算n=p*q,φ(n)=(p-1)(q-1),其中φ(n)是n的歐拉函數(shù)值;③選一整數(shù)e,滿足1<e<φ(n),且gcd(φ(n),e)=1,即φ(n)與e互質(zhì);④再取另一個(gè)數(shù)d,滿足d*e=1
mod
φ(n),(表示d*e除以φ(n)的余數(shù)為1,或者說(shuō)d是e在模φ(n)下的乘法逆元,因e與φ(n)互質(zhì),由模運(yùn)算可知,它的乘法逆元一定存在);以PK={e,n}為公鑰,SK={d,n}為私鑰。(2)加密:加密時(shí)首先將明文m比特串分組,使得每個(gè)分組對(duì)應(yīng)的十進(jìn)制數(shù)小于n,即分組的長(zhǎng)度小于log2n。然后對(duì)每組明文分組,作加密運(yùn)算:(3)解密:對(duì)密文分組的解密運(yùn)算為:3.RSA的安全性RSA的安全性是基于分解大整數(shù)的困難性假定,之所以假定是因?yàn)橹两襁€未能證明分解大真整數(shù)就是np問(wèn)題,也許有尚未發(fā)現(xiàn)的多項(xiàng)式時(shí)間分解算法。估計(jì)在未來(lái)一段比較長(zhǎng)的時(shí)期,密鑰長(zhǎng)度介于1024比特至2048比特之間的RSA是安全的。為了保證RSA算法的安全性,p和q的選擇時(shí)須注意:(1)p和q的長(zhǎng)度相差不要太大;(2)p-1和q-1都應(yīng)應(yīng)大數(shù)因子;(3)gcd(p-1,q-1)的值應(yīng)較小。此外,研究結(jié)果表明,如果e<n且d<n1/4,則d能被較容易地確定。2.3.3
Diffie-Hellman密鑰交換協(xié)議Diffie-Hellman的安全性是基于zp上的離散對(duì)數(shù)問(wèn)題。設(shè)
p是一個(gè)滿足要求的大素?cái)?shù),0<a<p,并且a是循環(huán)群zp的生成元,a和p公開(kāi),所有用戶都可以得到a和p。在兩個(gè)用戶A與B通信時(shí),它們可以通過(guò)如下步驟協(xié)商通信所使用的密鑰:① 用戶A選取一個(gè)大的隨機(jī)數(shù)rA( ),計(jì)算:,并且把SA發(fā)送給用戶B;),計(jì)算:。②用戶B選取一個(gè)m隨機(jī)數(shù)rB(。并且把SB發(fā)送給用戶A;③
用戶A計(jì)算 ,用戶B計(jì)算由于有:這樣通信雙方得到共同的密鑰k,這樣就可以實(shí)現(xiàn)交換密鑰了。2.3.4
ElGamal公鑰密碼技術(shù)ElGamal密碼體制的安全性是基于離散對(duì)數(shù)的難解性,既可用于加密又可用于數(shù)字簽名的公鑰密碼技術(shù)。到目前為止,它仍是一個(gè)安全性能良好的公鑰體制,下面討論其算法。采用ElGamal體制的密碼系統(tǒng)中,所有的用戶都共享一個(gè)素?cái)?shù)p以及一個(gè)zp的生成元a。系統(tǒng)中的每一用戶u都隨機(jī)挑選一個(gè)整數(shù)d,1≤d≤p-2,并計(jì)算:
,然后,用戶u公開(kāi) 作為公開(kāi)密鑰并保存整數(shù)d作為自己的秘密密鑰。(1)加密算法:假設(shè)用戶A想傳送信息給B,A采用如下算法加密明文信息m:①用戶A將x編碼成一個(gè)在0到p-1之間的整數(shù),m作為傳輸?shù)拿魑模╩∈{0,1,……..p-1}(這里的m是編碼后的明文);②用戶A挑選一個(gè)隨機(jī)數(shù)k(1≤k≤p-2),并計(jì)算:c1=ak(mod
p)(注:k需保密);③
用戶A計(jì)算 ,其中 是B的公鑰。④這樣c=(c1,c2)是密文,用戶A把二元組(c1,c2)傳送給B。(2)解密算法:用戶B接收到二元組(c1,c2)后,計(jì)算:。由于:=
=
,這
樣用戶B通過(guò)二元組(c1,c2)解密就得到了正確的明文m了。2.3.5
橢圓曲線密碼算法ECC的密鑰長(zhǎng)度使用基于橢圓曲線密碼體制的安全性依賴于由橢圓曲線群上的點(diǎn)構(gòu)成的代數(shù)系統(tǒng)中的離散對(duì)數(shù)問(wèn)題的難解性。它與有限域上的離散對(duì)數(shù)問(wèn)題或整數(shù)分解問(wèn)題的情形不同,與其他公鑰體制相比,橢圓曲線密碼體制的優(yōu)勢(shì)在于:密鑰長(zhǎng)度大大減少(256比特的ECC密鑰就可以達(dá)到對(duì)稱密鑰128比特的安全水平,如下表所示),實(shí)現(xiàn)速度快等。這是因?yàn)殡S著計(jì)算機(jī)速度的加快,為達(dá)到特定安全級(jí)別所需的密鑰長(zhǎng)度的增長(zhǎng),相比之下RSA及使用有限域的公鑰密碼體制要慢得多。ECC與其它密碼算法的密鑰長(zhǎng)度對(duì)照表其它算法的密鑰長(zhǎng)度160RSA/DSA1024211RSA/DSA2048256AES-Small128384AES-Medium192521AES-Large2561.橢圓曲線(EC)上的基本運(yùn)算在EC上定義的加法運(yùn)算如下:對(duì)于
, ,P+Q的運(yùn)算結(jié)果如下:①P+Ο=P
(Ο為加法單位元,也是在EC上的一個(gè)無(wú)窮遠(yuǎn)點(diǎn)的特殊點(diǎn),也看作Ο);②若x1=x2,y1=-y2,那么P+Q=Ο(即為無(wú)窮遠(yuǎn)點(diǎn));③若不滿足②,則P+Q=(x3,y3),其中:2.EC上的密碼體制EC上的離散對(duì)數(shù)問(wèn)題EC上的離散對(duì)數(shù)問(wèn)題定義為:在已知點(diǎn)p與np的情況下,求解正整數(shù)n的值。Diffie-Hellman密鑰交換協(xié)議(ECDH)首先,選擇一個(gè)素?cái)?shù)和EC參數(shù)a和b,則可以得方程y2≡x3+ax+b(mod
p),a,b∈zp。4a3+27b2(mod
p)≠0表達(dá)的EC及其上面的點(diǎn)構(gòu)成Abel群EP(a,b)。其次,在EC中選取EP(a,b)的一個(gè)基點(diǎn)(生成元)G=(x0,y0),要求G的階是一個(gè)大的素?cái)?shù),G的階數(shù)滿足nG=Ο的最小正整數(shù)n。EP(a,b)和G作為公開(kāi)參數(shù)。最后,兩用戶A和B之間的密鑰交換可以如下方式進(jìn)行:①A隨機(jī)選擇一個(gè)比n小的整數(shù)nA,作為A的私鑰,然后A產(chǎn)生一個(gè)公鑰pA=nAG,這個(gè)公鑰是EP(a,b)中的一個(gè)點(diǎn);②B也類似地選擇一個(gè)私鑰nB,并計(jì)算一個(gè)公鑰pB=nBG,這個(gè)公鑰也是EP(a,b)中的一個(gè)點(diǎn);③A計(jì)算k1=nApB,B計(jì)算k2=nBpA。由于k1=nApB=nA(nBG)=nB(nAG)=k2,這樣A和B就產(chǎn)生了雙方共享的秘密密鑰。為了破譯這個(gè)密碼方案,攻擊者需要能夠在給定G和kG時(shí)計(jì)算k,而實(shí)際上計(jì)算k是十分困難的。(3)ElGamal公鑰密碼體制(ECELG)基于橢圓曲線EC的ELGamal體制同樣定義EC群Ep(a,b)及其在EC中的一個(gè)基點(diǎn)G=(x0,y0),兩者的選擇原則與Diffie-Hellman的體制中所描述的原則相同。將Ep(a,b)和G=(x0,y0)作為公開(kāi)的參數(shù),系統(tǒng)中每個(gè)用戶都可以獲得Ep(a,b)和G。另外,系統(tǒng)中的每個(gè)用戶U都將隨機(jī)的挑選一個(gè)整數(shù)nU,并計(jì)算pU=nUG,然后用戶U公開(kāi)pU作為自己的公鑰,并保存nU作為私鑰。①加密算法(假設(shè)用戶A需要發(fā)送明文m給用戶B):首先,用戶A將需要發(fā)送的明文m通過(guò)編碼(這里不對(duì)編碼做介紹,可參與有關(guān)文獻(xiàn))嵌入到EC上的一個(gè)點(diǎn)Pm=(xm,ym)。其次,用戶A選取nA(整數(shù))(并以pA=nAG作為公鑰),pB=nBG(是B的公鑰)用戶A作如下的計(jì)算,產(chǎn)生以下點(diǎn)作為明文:Cm=(nAG,pm+nApB)。②解密算法:解密時(shí),以密文點(diǎn)對(duì)中的第二個(gè)點(diǎn)減去用自己的私鑰與第一個(gè)點(diǎn)倍乘,即:pm+nApB-nBnAG=pm+nAnBG-nAnBG=pm。若攻擊者想由Cm得到Pm,就必須知道nB,而要得到nB,只有通過(guò)橢圓曲線上的兩個(gè)已知點(diǎn)G和nBG來(lái)得到,這意味著必須求橢圓曲線上的離散對(duì)數(shù),因而不可行。2.4密鑰分配與管理技術(shù)2.4.1
密鑰分配方案密鑰分配技術(shù)一般需要解決兩個(gè)方面的問(wèn)題:為減輕負(fù)擔(dān),提高效率,引入自動(dòng)密鑰分配機(jī)制;為提高安全性,盡可能減少系統(tǒng)中駐留的密鑰量。1.密鑰分配的基本方法對(duì)于通信雙方A和B,密鑰分配可以有以下幾種方法:①密鑰由A選定,然后通過(guò)物理方法安全地傳遞給B。②密鑰由可信賴的第三方C選取并通過(guò)物理方法安全地發(fā)送給A和B。③如果A和B事先已有一密鑰,那么其中一方選取新密鑰后,用已有的密鑰加密新密鑰發(fā)送給另一方。④如果A和B都有一個(gè)到可信賴的第三方C的保密信道,那么C就可以為A和B選取密鑰后安全地發(fā)送給A和B。如果A和B都在可信賴的第三方C發(fā)布自己的公開(kāi)密鑰,那么他們用彼此的公開(kāi)密鑰進(jìn)行保密通信。2.對(duì)稱密碼技術(shù)的密鑰分配方案(1)集中式密鑰分配方案下圖就是具有密鑰分配中心的密鑰分配方案。圖中假定A和B分別與KDC有一個(gè)共享的密鑰Ka和Kb,A希望與B建立一個(gè)邏輯連接,并且需要一次性會(huì)話密鑰來(lái)保護(hù)經(jīng)過(guò)這個(gè)連接傳輸?shù)臄?shù)據(jù),具體過(guò)程如下:①A→KDC:IDA∥IDB∥N1。A向KDC發(fā)出會(huì)話密鑰請(qǐng)求。請(qǐng)求的消息由兩個(gè)數(shù)據(jù)項(xiàng)組成:一是A和B的身份IDA和IDB,二是本次業(yè)務(wù)的唯一標(biāo)識(shí)符N1,每次請(qǐng)求所用的N1都應(yīng)不同,常用一
個(gè)時(shí)間戳、一個(gè)計(jì)數(shù)器或一個(gè)隨機(jī)數(shù)作為這個(gè)標(biāo)識(shí)符。為防止攻擊者對(duì)N1的猜測(cè),用隨機(jī)數(shù)作
為這個(gè)標(biāo)識(shí)符最合適。具有密鑰分配中心的密鑰分配方案②KDC→A:EKa[Ks∥IDA∥IDB∥N1∥EKb[Ks∥IDA]]。KDC對(duì)A的請(qǐng)求發(fā)出應(yīng)答。應(yīng)答是由加密Ka加密的信息,因此只有A才能成功地對(duì)這一信息解密,并A相信信息的確是由KDC發(fā)出
的。③A→B:EKb[Ks∥IDA]。A收到KDC響應(yīng)的信息后,同時(shí)將會(huì)話密鑰Ks存儲(chǔ)起來(lái),同時(shí)將經(jīng)過(guò)KDC與B的共享密鑰加密過(guò)的信
息傳送給B。B收到后,得到會(huì)話密鑰Ks,并從IDA可知對(duì)方是A,而且還叢EKb知道Ks確實(shí)來(lái)自KDC。由于A轉(zhuǎn)發(fā)的是加密后密文,所以轉(zhuǎn)發(fā)過(guò)程不會(huì)被竊聽(tīng)。④B→A:EKs[N2]。B用會(huì)話密鑰加密另一個(gè)隨機(jī)數(shù)N2,并將加密結(jié)果發(fā)送給A,并告訴A,B當(dāng)前是可以通信的。A→B:EKs[f(N2)]。A響應(yīng)B發(fā)送的信息N2,并對(duì)N2進(jìn)行某種函數(shù)變換(如f函數(shù)),同時(shí)用會(huì)話密鑰Ks進(jìn)行加密,發(fā)送給
B。實(shí)際上在第③步已經(jīng)完成了密鑰的分配,第④、兩步結(jié)合第③步執(zhí)行的是認(rèn)證功能,使B能夠確認(rèn)所收到的信息不是一個(gè)重放。(2)分布式密鑰分配方案分布式密鑰分配方案是指網(wǎng)絡(luò)通信中各個(gè)通信方具有相同的地位,它們之間的密鑰分配取決于它們之間的協(xié)商,不手
受何其他方的限制。這種密鑰分配方案要求有n個(gè)通信方的網(wǎng)絡(luò)需要保存[n(n-1)/2]個(gè)主密鑰,對(duì)于較大型的網(wǎng)絡(luò),這種方案是不適用的,但是在一個(gè)小型網(wǎng)絡(luò)或一個(gè)大型網(wǎng)絡(luò)的局部
范圍內(nèi),這中方案還是有用的。如果采用分布式密鑰分配方案,通信雙方A和B建立會(huì)話密鑰的過(guò)程包括以下過(guò)程(見(jiàn)下頁(yè)圖所示):分布式密鑰分配方案①A→B:IDA∥N1。A向B發(fā)出一個(gè)要求會(huì)話密鑰的請(qǐng)求,內(nèi)容包括A的標(biāo)識(shí)符IDA和一個(gè)一次性隨機(jī)數(shù)N1,告知A希望與B通信,并請(qǐng)B產(chǎn)生一個(gè)會(huì)話密鑰用于安全通信。②B→A:EMKm[Ks∥IDA∥IDB∥f(N1)∥N2]。B使用與A共享的主密鑰MKm對(duì)應(yīng)答的信息進(jìn)行加密并發(fā)送給A。應(yīng)答的信
息包括B產(chǎn)生的會(huì)話密鑰Ks,A的標(biāo)識(shí)符IDA、B的標(biāo)識(shí)符IDB、f(N1)和一個(gè)一次性隨機(jī)數(shù)N2。③A→B:EKs[f(N2)]。A使用B產(chǎn)生的會(huì)話密鑰Ks對(duì)f(N2)進(jìn)行加密,并發(fā)送給B。3.非對(duì)稱密碼技術(shù)的密鑰分配方案非對(duì)稱密碼技術(shù)的密鑰分配方案主要包括兩方面的內(nèi)容:非對(duì)稱密碼技術(shù)所用的公鑰的分配和利用非對(duì)稱密碼技術(shù)來(lái)分配對(duì)稱密碼技術(shù)中使用的密鑰。(1)公鑰的分配獲取公鑰的途徑有多種,包括公開(kāi)發(fā)布、公用目錄、公鑰機(jī)構(gòu)和公鑰證書(shū)。①公開(kāi)發(fā)布:是指用戶將自己的公鑰發(fā)送給另外另外一個(gè)參與者,或者把公鑰廣播給相關(guān)人群。這種方法有一個(gè)非常大的缺點(diǎn):任何人都可以偽造一個(gè)公鑰冒充他人。②公用目錄:是由一個(gè)可信任的系統(tǒng)或組織建立和管理維護(hù)公用目錄,該公用目錄維持一個(gè)公開(kāi)動(dòng)態(tài)目錄。公用目錄為每個(gè)參與者維護(hù)一個(gè)目錄項(xiàng){標(biāo)識(shí)符,公鑰},每個(gè)目錄項(xiàng)的信息必須進(jìn)行安全認(rèn)證。任何人都可以從這里獲得需要保密通信的公鑰。與公開(kāi)發(fā)布公鑰相比,這種方法的安全性高一些。但也有一個(gè)致命的弱點(diǎn),如果攻擊者成功地得到目錄管理機(jī)構(gòu)的私鑰,就可以偽造公鑰,并發(fā)送給給其他人達(dá)到欺騙的目的。③公鑰機(jī)構(gòu):為更嚴(yán)格控制公鑰從目錄分配出去的公鑰更加安全,為此需要引入一個(gè)公鑰管理機(jī)構(gòu)來(lái)為各個(gè)用戶建立、維護(hù)和控制
動(dòng)態(tài)的公用目錄。與單純的公用目錄相比,該方法的安全性更高。但這種方式也有它的缺點(diǎn):由于每個(gè)用戶要想和其他人通信都需求助于公鑰管理機(jī)構(gòu),因而管理機(jī)構(gòu)可能會(huì)成為系統(tǒng)的瓶頸,而且由管理機(jī)構(gòu)維護(hù)的公用目錄也容易被攻擊者攻擊。④公鑰證書(shū):是在不與公鑰管理機(jī)構(gòu)通信,又能證明其他通信方的公鑰的可信度,實(shí)際上完全解決了公開(kāi)發(fā)布及公用目錄的安全問(wèn)題。采用公鑰證書(shū)是為了解決公開(kāi)密鑰管理機(jī)構(gòu)的瓶頸問(wèn)題。公鑰證書(shū)即數(shù)字證書(shū)是由授權(quán)中心CA(Certificate
Authority)頒發(fā)的。證書(shū)的形式為CA=ESKCA[T,IDA,PKA],其中IDA是用戶A的身份標(biāo)識(shí)符,PKA是A的公鑰,T是當(dāng)前時(shí)間戳,SKCA是CA的私鑰。公鑰證書(shū)的發(fā)放(產(chǎn)生)過(guò)程如下圖所示用戶還可以把自己的公鑰通過(guò)公鑰證書(shū)發(fā)給另一用戶,接收方使用
CA的公鑰PKCA對(duì)證書(shū)
加以驗(yàn)證,DPKCA[ESKCA[T,IDA,PKA]]=[T,IDA,PKA]。(2)利用非對(duì)稱密碼技術(shù)進(jìn)行對(duì)稱密碼技術(shù)密鑰的分配(常用的有以下兩種):①簡(jiǎn)單分配:下圖就是用非對(duì)稱密碼技術(shù)建立會(huì)話密鑰的過(guò)程。但這一分配方案容易遭到主動(dòng)攻擊,假如攻擊者已經(jīng)接入A和B
雙方的通信信道,可以輕易地截獲A、B雙方的通信。用非對(duì)稱密碼技術(shù)建立會(huì)話密鑰②具有保密和認(rèn)證功能的密鑰分配:針對(duì)簡(jiǎn)單分配密鑰的缺點(diǎn),人們又設(shè)計(jì)了具有保密和認(rèn)證功能的非對(duì)稱密碼技術(shù)的密鑰分配,如下圖所示。密鑰分配過(guò)程既具有保密性,又具有認(rèn)證性,因此既可以防止被動(dòng)攻擊,也可以防止主動(dòng)攻擊。具有保密和認(rèn)證功能的密鑰分配2.4.2
密鑰管理技術(shù)密鑰管理涉及密鑰的生成、使用、存儲(chǔ)、備份、恢復(fù)以及銷毀等,涵蓋了密鑰的整個(gè)生存周期。密鑰的生成密鑰長(zhǎng)度足夠長(zhǎng)也是保證保證安全通信的必要條件之一,決定密鑰長(zhǎng)度需要考慮多方面的因素:數(shù)據(jù)價(jià)值有多大:數(shù)據(jù)要多長(zhǎng)的安全期?攻擊者的資源情況怎樣?應(yīng)該注意到,計(jì)算機(jī)的計(jì)算能力和加密算法的發(fā)展也是密鑰長(zhǎng)度的重要因素。密鑰的生成一般與生成的算法有關(guān),大部分密鑰生成算法采用隨機(jī)或偽隨機(jī)過(guò)程來(lái)產(chǎn)生隨機(jī)密鑰。密鑰的使用:密鑰的使用是指從存儲(chǔ)介質(zhì)上獲得密鑰進(jìn)行加密和解密的技術(shù)活動(dòng)。3.密鑰的存儲(chǔ):密鑰的存儲(chǔ)分為無(wú)介質(zhì)、記錄介質(zhì)和物理介質(zhì)等幾種。密鑰的備份與恢復(fù)密鑰備份是指在密鑰使用期內(nèi),存儲(chǔ)一個(gè)受保護(hù)的拷貝,用于恢復(fù)遭到破壞的密鑰。密鑰的恢復(fù)是指當(dāng)一個(gè)密鑰要由于某種原因被破壞了,在還沒(méi)有被泄露出去以前,從它的一個(gè)備份重新得到密鑰的過(guò)程。密鑰的備份與恢復(fù)保證了即使密鑰丟失,由該密鑰加密保護(hù)的信息也能夠恢復(fù)。密鑰托管技術(shù)就能夠滿足這種需求的一種有效的技術(shù)。密鑰的銷毀密鑰必須定期更換,更換密鑰后原來(lái)的密鑰必須銷毀。密鑰不再使用時(shí),該密鑰的的所有拷貝都必須刪除,生成或構(gòu)造該密鑰的所有信息也應(yīng)該被全部刪除。2.4.3
密鑰托管技術(shù)1.密鑰托管技術(shù)簡(jiǎn)介密鑰托管技術(shù)是通過(guò)一個(gè)防竄擾的托管加密芯片(Clipper芯片)來(lái)實(shí)現(xiàn),該技術(shù)包括兩個(gè)主要的核心內(nèi)容:Skipjack加密算法:是由NSA設(shè)計(jì)的,用于加解密用戶之間通信的信息。它是一個(gè)對(duì)稱密鑰分組加密算法,密鑰長(zhǎng)為80bits,輸入和輸出分組長(zhǎng)度為64bits。該算法的實(shí)現(xiàn)方式采用供DES使用的聯(lián)邦信息處理標(biāo)準(zhǔn)(FIPS-81)中定義的4種實(shí)現(xiàn)方式。LEAF(Law
Enforcement
Access
Field,法律實(shí)施訪問(wèn)域):通過(guò)這個(gè)訪問(wèn)域,法律實(shí)施部門可以在法律授權(quán)的情況下,實(shí)現(xiàn)對(duì)用戶之間通信的監(jiān)聽(tīng)(解密或無(wú)密鑰)。這也看成是一個(gè)“后門”。密鑰托管技術(shù)具體實(shí)施時(shí)有3個(gè)主要環(huán)節(jié):生產(chǎn)托管Clipper芯片、用芯片加密通信和無(wú)密鑰存取。2.密鑰托管密碼技術(shù)的組成密鑰托管密碼技術(shù)在邏輯上分為3個(gè)主要的模塊(如下圖所示):USC(User
Security
Component,用戶安全模塊)、KEC(Key
Escrow
Component,密鑰托管模塊)和DRC(Data
Recovery
Component,數(shù)據(jù)恢復(fù)模塊)。這些邏輯模塊是密切相關(guān)的,對(duì)其中的一個(gè)設(shè)計(jì)將影響著其他模塊。這幾個(gè)模塊的相互關(guān)系:USC用密鑰K加密明文,并且在傳送的同時(shí)
傳送一個(gè)數(shù)據(jù)恢復(fù)域DRF(Data
Recovery
Field),DRC則從
KEC提供的和DRF中包含的信息中恢復(fù)出密鑰K來(lái)解密密文。密鑰托管密碼技術(shù)的組成(1)USC:USC由軟件、硬件組成(一般情況下,硬件比軟件安全、不易發(fā)生竄擾),提供數(shù)據(jù)加密/解密的能力,執(zhí)行支持?jǐn)?shù)據(jù)恢復(fù)的操作,同時(shí)也支持密鑰托管。這種支持體現(xiàn)在將數(shù)據(jù)恢復(fù)域(DRF)附加到數(shù)據(jù)上。USC的功能表現(xiàn)在以下幾個(gè)方面:①提供具有數(shù)據(jù)加解密能力的算法及支持密鑰托管功能的硬件或相關(guān)軟件。②提供通信(包括電話、電子郵件及其他類型的通信,由相關(guān)部門在法律許可的條件下對(duì)通信的監(jiān)聽(tīng)后執(zhí)行對(duì)突發(fā)事件的解密)和數(shù)據(jù)存儲(chǔ)的密鑰托管。③提供突發(fā)解密的識(shí)別符(包括用戶或USC的識(shí)別符、密鑰的識(shí)別符、KEC或托管代理機(jī)構(gòu)的識(shí)別符)和密鑰(包括屬于芯片單元密鑰KEC所使用的全局系統(tǒng)密鑰,密鑰還可以是公鑰或私鑰,私鑰的備份以托管的方式有托管機(jī)構(gòu)托管)。(2)KEC:可以作為公鑰證書(shū)密鑰管理系統(tǒng)的組成部分,也可以作為通用密鑰管理的基礎(chǔ)部分。它由密鑰管理機(jī)構(gòu)控制,主要用于向DRC提供所需的數(shù)據(jù)和服務(wù),管理著數(shù)據(jù)恢復(fù)密鑰的存儲(chǔ)、傳送和使用。數(shù)據(jù)恢復(fù)密鑰主要用于生成數(shù)據(jù)加密密鑰,因此在使用托管密碼加密時(shí),所有的托管加密數(shù)據(jù)都應(yīng)與被托管的數(shù)據(jù)恢復(fù)密鑰聯(lián)系起來(lái)。數(shù)據(jù)恢復(fù)密鑰主要由以下內(nèi)容組成:①密鑰選項(xiàng)②密鑰分割③密鑰的產(chǎn)生和分配④密鑰托管時(shí)間⑤密鑰更新⑥密鑰的全部和部分⑦密鑰存儲(chǔ)KEC在向DRC提供諸如托管的密鑰等服務(wù)時(shí),服務(wù)包括如下部分:①授權(quán)過(guò)程:對(duì)操作或使用DRC的用戶進(jìn)行身份認(rèn)證和對(duì)訪問(wèn)加密數(shù)據(jù)的授權(quán)證明。②傳送數(shù)據(jù)恢復(fù)密鑰(主密鑰不提供):如果數(shù)據(jù)恢復(fù)密鑰是會(huì)話密鑰或產(chǎn)品密鑰,KEC向DRC直接傳送數(shù)據(jù)恢復(fù)密鑰。密鑰傳送時(shí)和有效期一起傳送,有效期過(guò)后,密鑰將被自動(dòng)銷毀。L③傳送派生密鑰:KEC向DRC提供由數(shù)據(jù)恢復(fù)密鑰導(dǎo)出的另一密鑰(派生密鑰)。比如受時(shí)間限制的密鑰,被加密的數(shù)據(jù)僅能在一個(gè)特定的有效時(shí)間段內(nèi)被解密。l④解密密鑰:如果在DRF中使用主密鑰加密數(shù)據(jù)加密密鑰時(shí),KEC只向DRC發(fā)送解密密鑰,而不發(fā)送主密鑰。⑤執(zhí)行門限解密:每個(gè)托管機(jī)構(gòu)向DRC提供自己的解密結(jié)果,由DRC合成這些結(jié)果并得到明文。⑥數(shù)據(jù)傳輸:KEC和DRC之間的數(shù)據(jù)傳輸可以是人工的也可以是電子的。(3)DRC:由算法、協(xié)議和設(shè)備組成。DRC利用KEC所提供的和在DRF中包含的信息中恢復(fù)出數(shù)據(jù)加密密鑰,進(jìn)而解密密文,得到明文。僅僅在執(zhí)行指定的已授權(quán)的數(shù)據(jù)恢復(fù)時(shí)使用。為了解密數(shù)據(jù),要獲得數(shù)據(jù)加密密鑰DRC必須采用的確的方法DRC還使用技術(shù)、操作和法律等保護(hù)手段來(lái)控制什么是可以解密的,比如可以對(duì)數(shù)據(jù)恢復(fù)進(jìn)行嚴(yán)格的時(shí)間限制。這些保護(hù)措施提供了KEC傳送密鑰時(shí)所要求的限制,而且認(rèn)證機(jī)構(gòu)也可以防止DRC用密鑰產(chǎn)生偽消息。2.4.4
PKI(公鑰基礎(chǔ)設(shè)施)技術(shù)PKI技術(shù)是目前網(wǎng)絡(luò)安全建設(shè)的基礎(chǔ)與核心,是電子商務(wù)安全實(shí)施的基本保障,因此,對(duì)PKI技術(shù)的研究和開(kāi)發(fā)成為目前信息安全領(lǐng)域的熱點(diǎn)。什么是PKI(Public
Key
I
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 香椿種植轉(zhuǎn)讓合同范本
- 南昌購(gòu)房合同范本
- 余泥外運(yùn)合同范本
- 衛(wèi)星定位合同范本
- 合同范本從里
- 不良資產(chǎn)合同范本
- 小型裝修合同范本
- 北京地暖合同范本
- 包工頭和工人簽合同范本
- 合同范本快速打字
- 2025年安全員C證(專職安全員)考試題庫(kù)
- 地理-天一大聯(lián)考2025屆高三四省聯(lián)考(陜晉青寧)試題和解析
- 醫(yī)療衛(wèi)生系統(tǒng)招聘考試(中醫(yī)學(xué)專業(yè)知識(shí))題庫(kù)及答案
- 貴州省貴陽(yáng)市2024-2025學(xué)年九年級(jí)上學(xué)期期末語(yǔ)文試題(含答案)
- 小巴掌童話課件
- 教科版六年級(jí)科學(xué)下冊(cè)全冊(cè)教學(xué)設(shè)計(jì)教案
- 部編版小學(xué)五年級(jí)下冊(cè)《道德與法治》全冊(cè)教案含教學(xué)計(jì)劃
- 2024年吉安職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)附答案
- 小學(xué)生主題班會(huì) 傳承雷鋒精神 爭(zhēng)做時(shí)代新人 課件
- 8款-組織架構(gòu)圖(可編輯)
- 土方回填旁站記錄
評(píng)論
0/150
提交評(píng)論