密碼學期末複習

AG9GgG發表於2019-01-25

密碼學期末複習

直接匯入的本地md,圖片載入不出來,pdf下載:https://download.csdn.net/download/ag9ggg/10937814

第一講:緒論

  1. 密碼的含義及其主要功能

    • 含義:密碼學是一個非常龐大而複雜的資訊處理系統,涉及資訊的機密性、完整性、認證性、不可否認性等許多方面,屬於資訊保安範疇。
    • 主要功能:
    • 機密性:是指保證資訊不被洩露給非授權的使用者或實體,確儲存儲的資訊和傳輸的資訊僅能被授權的各方得到,而非授權使用者及時得到資訊也無法知曉資訊內容,不能使用。
    • 完整性:是指資訊未經授權不能進行改變的特徵,維護資訊的一致性,即資訊在生成、傳輸、儲存和使用過程中不應發生人為或非人為的非授權篡改(插入、替換、刪除、重排序等),如果發生,能夠及時發現。
    • 認證性:是指確保一個資訊的來源或源本身被正確地標識,同時確保該標識的真實性,分為實體認證和訊息認證。(實體認證:參與資訊處理的實體是可信的,即每個實體的確是它所宣稱的那個實體,使得任何其它實體不能假冒這個實體。訊息認證:能夠向接收方保證該資訊確實來自於它所宣稱的源。)
    • 不可否認性:是防止傳送方或接收方抵賴所傳輸的資訊,要求無論傳送方還是接收方都不能抵賴所進行的行為。因此,當傳送方傳送一個資訊時,接收方能證實該資訊的確是由所宣稱的傳送方發來的;當接收方收到一個資訊時,傳送方能夠證實該資訊的確送到了指定的接收方。
  2. 現代密碼學與資訊保安的關係

    密碼學是與資訊保安多方面有關的數學技術的研究。

    密碼學是保證資訊保安的核心技術,但不是提供資訊保安的唯一方式。

    資訊保安是密碼學研究與發展的目的。

    資訊保安的理論基礎是密碼學,資訊保安的問題根本解決通常依靠密碼學理論。

  3. 現代密碼學的主要內容

第二講:傳統密碼技術

  1. 密碼學發展每個階段的特點

    • 古典密碼時期:從古代到19世紀末,長達幾千年。技術工具:手工。通訊手段:信使。密碼體制:紙、筆或者簡單器械實現的代換及置換,是一種藝術。典型密碼:凱撒密碼、維吉尼亞密碼。

    • 近代密碼時期:從20世紀初到20世紀50年代,即一戰二戰時期。技術工具:機械裝置。通訊手段:電報。密碼體制:手工或電動機械實現複雜的代換及置換,仍是一門藝術。典型密碼:Vernam密碼、轉輪密碼。

    • 現代密碼時期:從20世紀50年代至今。技術工具:計算機。通訊手段:無線通訊、有線通訊、計算網路等。密碼體制:分組密碼、序列密碼以及公鑰密碼,有堅實的數學理論基礎,成為一門科學。典型密碼:DES、AES、RC4、RSA、ECC、SHA。

  2. 現代密碼學的兩次飛躍及里程碑事件

    • 第一次飛躍:1949年夏農發表題為《保密系統的通訊理論》,為密碼系統建立了理論基礎,從此密碼學成為了一門科學。

    • 里程碑事件:1976年後,美國資料加密標準(DES)的公佈使密碼學的研究公開,密碼學得到了迅速發展。

    • 第二次飛躍:1976年,Diffe和Hellman發表了《密碼學的新方向》,提出了一種新的密碼設計思想,從而開創了公鑰密碼學的新紀元。

    • 里程碑事件:1978年由Rivest、Shamire、Adleman首先提出第一個實用的公鑰密碼體制RSA,使公鑰密碼的研究進入了快速發展階段。

  3. 學習傳統密碼技術的意義

    傳統密碼體制的技術、思想以及分析方法雖然很簡單,但是反映了密碼設計和分析的思想,是學習密碼學的基本入口,對於理解、設計和分析現代密碼仍然具有借鑑的價值。

  4. 轉輪密碼成功的啟示

    轉輪密碼機是近代密碼發展史中的里程碑事件。

    啟示:使用密碼裝置應必備四要素:安全、效能、成本、易用

  5. 重合指數法

    具體可以看課件,關鍵:兩個不同的英文文字找到兩個等同字母的概率為0.065

第三講:密碼學基本知識

  1. 密碼系統的組成及它們之間的關係

    一個密碼系統是由明文、密文、加密演算法和解密演算法、金鑰五個部分組成的。

    資訊的原始形式稱為明文。

    明文經過編碼變換所生成的稱為密文。

    對明文進行編碼變換生成密文的過程稱為加密,編碼的規則稱為加密演算法。

    將密文恢復出明文的過程稱為解密,恢復的規則稱為解密演算法。

    金鑰控制明文與密文之間的相互變換,分為加密金鑰和解密金鑰。

  2. 現代密碼體制的基本原則及公開演算法的意義

    • Kerckhoffs原則:密碼系統中的演算法即使為密碼分析者所知,也無助於用來推匯出明文或金鑰。也就是說,密碼系統的安全性不應取決於不易改變的密碼演算法(公開、標準化),而應取決於可隨時改變的金鑰。
    • 意義:有利於增強密碼演算法的安全性;有利於密碼技術的推廣應用;有利於增加使用者使用的信心;有利於密碼技術的發展。
  3. 密碼體制的基本要求

    • 密碼體制的安全性依賴金鑰的安全性,密碼演算法是公開的。
    • 密碼演算法安全強度高,也就是說,密碼分析者除了窮舉搜尋攻擊外再找不到更好的攻擊方法。
    • 金鑰空間應足夠大,使得試圖通過窮舉金鑰空間進行搜尋的方式在計算上不可行。
    • 加密函式和解密函式都可以高效地滿足實際需求。
    • 密碼體制既易於實現又便於使用。
  4. 密碼的攻擊型別及其含義

    • 惟密文攻擊:密碼分析者除了擁有截獲的密文外,沒有其它可以利用的資訊。這種情況下進行密碼破譯是最困難的,經不起這種攻擊的密碼體制被認為是完全不安全的。

    • 已知明文攻擊:密碼分析者不僅掌握了相當數量的密文,還有一些已知的明-密文對可供利用。對於現代密碼體制的基本要求,不僅要經受得住惟密文攻擊,而且要經受得住已知明文攻擊。

    • 選擇明文攻擊:密碼分析者不及能夠獲得一定數量的明-密文對,還可以選擇任何明文並在使用同一未知金鑰的情況下能得到相應的密文。(暫時控制加密機)

    • 選擇密文攻擊:密碼分析者能選擇不同被加密的密文,並還可得到對應的明文。(暫時控制解密機)

    • 選擇文字攻擊:選擇明文攻擊和選擇密文攻擊的組合,即密碼分析者在掌握密碼演算法的前提下,不僅能夠選擇明文並得到對應的密文,而且還能選擇密文得到對應的明文。(暫時控制加密機和解密機)

    抵禦這五種型別的攻擊是密碼演算法的基本要求。

  5. 攻擊密碼體制的常用方法

    • 窮舉攻擊:密碼分析者試編所有金鑰的方法來破譯密碼。

      對抗窮舉攻擊:

      1. 增大金鑰量,當金鑰量增大時,嘗試的次數必然增大。(最好方法)

      2. 加大演算法複雜性,當演算法的複雜性增大,完成一次加/解密所需的時間也增大,從而使窮舉攻擊的時間也增加,但這也增加了合法使用者使用密碼系統的計算量。

    • 統計分析攻擊:密碼分析者通過分析密文和明文的統計規律來破譯密碼。大多數傳統密碼都可以通過統計分析的方法來破譯。

      對抗統計分析攻擊:設法使明文的統計特徵儘可能地不帶入密文,如果密文不帶有明文的痕跡,統計分析攻擊成為不可能。

    • 數學分析攻擊:密碼分析者針對加密變換所依賴的數學難題(大整數的素因子分解、離散對數等),通過數學求解的方法(二次篩法、積分指數法等)來設法找到相應的解密變化,從而實現破譯。

      對抗數學分析攻擊:選用具有堅實的數學基礎和足夠複雜的加密方法。

  6. 演算法複雜度的度量

    演算法的計算複雜性由它所需的時間和空間量級來度量,其優點是獨立於所用的系統並且使人們看到時間和空間的需求隨輸入的規模n而增長。通常按時間複雜性對演算法進行分類。密碼設計者希望對密碼的任何攻擊演算法都具有指數級的時間複雜度,這樣對密碼的攻擊實際上都是計算上不可行的。

第四、五講:分組密碼

  1. 分組密碼的設計思想

    • 分組密碼的設計思想包括擴散和混亂。

    • 擴散:擴散是指要將演算法設計成明文每一位元的變化儘可能多地影響到輸出密文序列的變化,以便隱藏明文的統計特性。(雪崩效應)擴散的目的是希望密文中的任意位元都要儘可能與明文、金鑰相關聯,或者說,明文和金鑰中的任意位元值發生改變,都會在某種程度上影響到密文值的變化,以防止將明文或金鑰分解成若干個孤立的小部分,然後被各個擊破。

    • 混亂:混亂是指在加解密變換過程中明文、金鑰以及密文之間的關係儘可能地複雜化,以防密碼破譯者採用解析法進行破譯攻擊。混亂應是可逆的,即明文混亂後能得到密文,密文經過逆向混亂操作能恢復出明文。按照混亂原則,分組密碼演算法應有複雜的非線性因素。

  2. 分組密碼的基本特點

    • 分組長度:能夠抵禦選擇明文攻擊

    • 金鑰長度:能夠抵禦窮舉攻擊

    • 子金鑰:子金鑰的生成是迭代分組演算法的一個重要組成部分,是從初始金鑰產生各輪迭代要使用的子金鑰的演算法。

      子金鑰的評價指標:

      • 實現簡單、快速,滿足輪函式F的要求
      • 初始金鑰的所有位元對每個子金鑰位元的影響應大致相同
      • 沒有弱金鑰或者弱金鑰容易確定
    • 輪函式F:分組密碼的核心,是分組密碼中單輪加解密函式,基本準則:非線性(依賴S盒)、可逆性、雪崩效應。主要效能指標:安全性、速度、靈活性。

    • 迭代:分組密碼一般採用簡單的、安全性若的密碼函式進行多輪迭代運算,使得安全性增強。一般來說,分組密碼迭代輪數越多,密碼分析越困難,但過多的迭代輪數會使加解密演算法的效能下降,而實際的安全性增強不明顯。

      決定迭代輪數的準則:密碼演算法分析的難度大於簡單窮舉搜尋攻擊的難度。

  3. 互補性會使DES在選擇明文攻擊下所需的工作量減半

  4. AES密碼演算法

    • 演算法的開始和結束階段都要使用輪金鑰加,且僅僅在該階段使用金鑰
    • 每輪由四個階段構成:位元組代換,行位移,列混淆,輪金鑰加
    • 每個階段均可逆,加解密演算法不相同
    • 最後一輪只包含三個操作
  5. 二重DES並不像人們想象那樣可提高金鑰長度到112位元,而相當57位元

  6. 3DES的優點與不足

    • 優點
      • 金鑰長度增加到112位或168位,克服了DES面臨的窮舉攻擊。
      • 相對於DES,增強了抗差分分析和線性分析等的能力。
      • 由於DES已經大規模使用,升級到3DES比更新新演算法成本小得多。
      • DES比其它任何加密演算法受到的分析時間都長的多,相應地,3DES抗分析能力更強。
    • 不足:
      • 3DES處理速度較慢
      • 雖然金鑰長度增加了,但明文分組長度沒變,與金鑰長度的增常不匹配。

    3DES是DES向AES過度的加密演算法。

  7. AES和DES各自組成、每部分的實現過程以及特點

    結合流程圖記憶效果更佳。

  8. AES和DES的相似與不同

    • 相似:
      • 二者的輪函式都是由四層構成,非線性層、移位層、線性混合層、子金鑰異或,只是順序不同。
      • AES的非線性運算是位元組代替,對應於DES中的非線性運算S盒。
      • 行移位運算保證了每一行的位元組不僅僅影響其它行對應的位元組,而且影響其它行所有的位元組,這與DES中置換P相似。
      • AES的列混淆運算的目的是讓不同的位元組相互影響,而DES中F函式的輸出與左邊一半資料相加也有類似的效果。
      • AES的子金鑰異或對應於DES中S盒之前的子金鑰異或。
    • 不同:
      • AES的金鑰長度(128位、192位、256位)是可變的,而DES的金鑰長度固定為56位。
      • DES是面向位元的運算,AES是面向位元組的運算。
      • AES的加密運算和解密運算不一致,因而加密器不能同時作為解密器,而DES的加密起可用作解密器,只是子金鑰的順序不同。
  9. 分組密碼五種操作模式各自特點(重點:ECB、CBC、CTR)

    • 電子密碼本模式(ECB):

      • 模式操作簡單,主要用於內容較短且隨機的報文的加密傳遞
      • 相同明文(在相同金鑰下)得出相同的密文,即明文中的重複內容可能將在密文中表現出來,易實現統計分析攻擊、分組重放攻擊和代換攻擊
      • 連結依賴性:各組的加密都獨立於其它分組,可實現並行處理
      • 錯誤傳播:單個密文分組中有一個或多個位元錯誤只會影響該分組的解密結果
    • 密碼分組連結模式(CBC):

      • 一種反饋機制在分組密碼中的應用,每個密文分組不僅依賴於產生它的明文分組,還依賴於它前面的所有分組
      • 相同的明文,即使相同的金鑰喜愛也會得到不同的密文分組,隱藏了明文的統計特性
      • 連結依賴性:對於一個正確密文分組的正確解密要求它之前的那個密文分組也正確,不能實現並行處理
      • 錯誤傳播:密文分組中的一個分組出現錯誤會影響到本組和其後分組的解密,錯誤傳播為兩組
      • 初始化向量IV不需要保密,它可以明文形式與密文一起傳送。
    • 計數器模式(CTR):

      • 效率高:能夠並行處理多塊明(密)文,可用來提供像流水線、每個時鐘週期的多指令分派等並行操作
      • 預處理:基本加密演算法的執行並不依賴明文或密文的輸入,可預先處理,當給出明文或密文時,所需的計算僅是進行一系列的異或運算
      • 隨機訪問:密文的第i個明文組能夠用一種隨機訪問的方式處理
      • 簡單性:只要求實現加密演算法而不要求實現解密演算法,像AES這類加解密演算法不同就更能體現CTR的簡單性。
    • 密文反饋模式(CFB):

      • 訊息被看作資料分組流,不需要整個資料接收完後才能進行加解密
      • 可用於自同步序列密碼
      • 具有CBC模式的優點
      • 對新到錯誤較敏感且會造成錯誤傳播
      • 資料加解密的速率降低,其資料率不會太高
    • 輸出反饋模式(OFB):

      • OFB模式是CFB模式的一種變形,克服由錯誤傳播帶來的問題,但對密文被篡改難於進行檢測
      • OFB模式不具有自同步能力,要求系統保持嚴格的同步,否則難於解密

    ECB是最快、最簡單的分組密碼模式,但它的安全性最弱,一般不推薦使用ECB加密訊息,但如果是加密隨機資料,如金鑰,ECB則是最好的選擇。

    CBC適合檔案加密,而且又少量錯誤時不會造成同步失敗,是軟體加密的最好選擇。

    CTR結合ECB和CBC的優點,最近為人們所重視,在ATM網路和IPSec中起了重要作用。

第六講:序列密碼

  1. 金鑰序列產生器(KG)基本要求

    • 種子金鑰K的長度足夠長,一般應在128位以上(抵禦窮舉攻擊)
    • 金鑰序列產生器KG生成的金鑰序列具極大週期
    • 金鑰序列具有均勻的n元分佈,即在一個週期內,某特定形式的n長bit串與其求反,兩者出現的頻數大抵相當
    • 由序列金鑰提取關於種子金鑰K的資訊在計算上不可行
    • 雪崩效應,即種子金鑰K任一位的改變要引起金鑰序列在全貌上的變化
    • 金鑰序列不可預測。密文及相應的明文的部分資訊,不能確定整個金鑰序列
  2. 什麼是m序列?m序列的特點有哪些?

    線性反饋移位暫存器輸出序列的性質完全由其反饋函式決定。n級線性反饋移位暫存器最多有2n個不同的狀態。若初始狀態為0,則其狀態恆為0.若其初始狀態非0,則其後繼狀態不會一直為0。因此,n級線性反饋移位暫存器的狀態週期小於等於2n -1,其輸出序列的週期與狀態週期相等,也小於等於2^n -1。只要選擇合適的反饋函式就可以使序列的週期達到最大值2^n -1,週期達到最大值的序列稱為m序列。

    m序列特性:

    • 0,1平衡性:在一個週期內,0、1出現的次數分別為2(n-1)-1和2(n-1)。說明0和1出現的個數基本相同。
    • 遊程特性:在一個週期內,總遊程數為2(n-1),對1<=i<=n-2,長為i的遊程有2(n-i-1)個,且0、1遊程各半,長為n-1的0遊程一個,長為n的1遊程一個。說明0和1在序列中每個位置上出現的概率基本相同。
    • 通過對序列與其平移後的序列做比較,不能給出其它任何資訊。
  3. LFSR構成的序列密碼(譬如A5),其週期、種子金鑰、分別哪部分決定的,為什麼一個LFSR不能生成金鑰序列?

    週期是所有LFSR週期的最小公倍數。

    為什麼一個LFSR不能生成金鑰序列:是可破譯的,參考m序列的破譯。

  4. 簡要評價RC4演算法

    RC4是RSA資料安全公司開發的可變金鑰長度的序列密碼,是世界上使用最廣泛的序列密碼之一,其優點是很容易使用軟體實現,加解密速度快。

    與基於移位暫存器的序列密碼不同,RC4密碼是一種基於非線性資料表變換的序列密碼。它以一個足夠大的資料表為基礎,對錶進行非線性變換,產生非線性的金鑰流序列。

    RC4是一個可變金鑰長度、面向位元組操作的序列密碼,該演算法以歲及置換作為基礎,分析該密碼的週期大於10^100。

    RC4依據種子金鑰,利用金鑰排程演算法對資料表S進行重新排列,利用偽隨機數生成演算法,從已重新排列的資料表S中取出一個位元組,每取出一個位元組,資料表S將發生變化。

    為了保證安全強度,目前的RC4至少使用128位種子金鑰。

    RC4演算法可以看成一個有限狀態自動機,把S表和i,j索引的具體取值稱為RC4的一個狀態。

    用更大的資料表S和字長來實現更長的金鑰。

  5. 序列密碼的特點(與分組密碼相比)

    • 安全強度取決於金鑰序列的隨機性,加解密簡單
    • 在某些情況下,譬如緩衝不足或必須對受到字元進行逐一處理時,序列密碼就顯得更有優勢
    • 在軟硬體實現上,不需要高效能平臺或複雜的硬體電路,加解密速度快

第七、八講:公鑰密碼技術

  1. 公鑰密碼體制的優勢與不足(與對稱密碼體制相比)

    優勢:

    • 金鑰分發簡單
    • 需祕密儲存的金鑰量減少
    • 可以實現數字簽名和認證的功能

    不足:

    • 比對稱密碼演算法慢
    • 公鑰密碼演算法提供更多的資訊對演算法進行攻擊,如公鑰密碼演算法對選擇明文攻擊是脆弱的,尤其明文集比較小的時候
    • 有資料擴充套件
    • 公鑰密碼演算法一般是建立在對一個特定的數學難題的求解上,往往這種困難性只是一種設想。
  2. 公鑰密碼演算法應滿足的要求是什麼

    • 金鑰對的產生在計算上是容易的
    • 利用公鑰對訊息m加密以產生密文c在計算上是容易的
    • 利用私鑰大於密文c解密在計算上是容易的
    • 攻擊方由公鑰求私鑰在計算上是不可行的
    • 攻擊方由密文和公鑰恢復明文或求私鑰在計算上是不可行的
  3. RSA演算法中,要求素數p和q的長度相差不能太大,大小相差比較大,是強素數,請說明原因

    長度不能相差太大:抵禦試除法的攻擊

    強素數:p-1和q-1都應有大的素數因子,以抵禦迴圈攻擊

  4. RSA演算法的小結

    • 第一個實用的公開金鑰演算法
    • 目前使用最多的一種公鑰密碼演算法
    • RSA的理論基礎是數論的尤拉定理
    • RSA的安全性依賴於大數的素因子分解的困難性
    • 密碼分析者既不能證明也不能否定RSA的安全性
    • 既能用於加密也能用於數字簽名
    • 目前金鑰長度1024位是安全的
  5. 針對ElGamal演算法攻擊的小步大步的基本思想

  6. 與RSA、Elgamal演算法相比,ECC演算法的優勢

    • 安全效能更高(160位等同RSA的1024位)
    • 在保持同等安全的條件下所需的金鑰長度更小
    • 計算量小,處理速度快
    • 儲存空間佔用小
    • 頻寬要求低
    • 應用前景非常好,特別在行動通訊、無線裝置上的應用
  7. RSA、ElGamal、ECC演算法的正確性證明

    屬於數學證明,完成數學計算證明題即可。

  8. IBE演算法的優勢與不足

    優點:

    • 公鑰的真實性容易實現,大大簡化了公鑰的管理。

    不足:

    • 身份確認本來就是一件複雜的事情,尤其使用者數量很大時難以保證。也就是說,IBE適合應用於使用者群小的場合。
    • 可信第三方如何安全地將使用者的私鑰送到使用者手中
    • 使用者私鑰由可信第三方生成和掌握,不具備唯一性,實現不可否認性時易引發爭議。

第九、十講:hash函式及其應用

  1. 雜湊函式的性質

    輸入:訊息是任意有限長度

    輸出:雜湊值時固定長度

    容易計算:對於任意給定的訊息,容易計算出其雜湊值(正向容易)

    單向性:對於給定的雜湊值h,要找到M使得H(M)=h在計算上是不可行的。(逆向不可行)

  2. 雜湊函式的安全性

    抗弱碰撞性:對於給定的訊息M1,要發現另一個訊息M2,滿足H(M1)=H(M2)在計算上是不可行的。

    抗強碰撞性:找任意一對不同的訊息M1, M2,使H(M1)=H(M2)在計算上是不可行的。

    隨機性:當一個輸入位發生變化時,輸出位將發生很大的變化。(雪崩效應)

  3. 訊息認證碼的作用

    • 接收方能夠相信傳送發發來的訊息未被篡改。這是因為攻擊者不知道金鑰,所以不能夠在篡改訊息後相應地篡改MAC,而如果僅篡改訊息,則接收方計算的新MAC將與收到的MAC一定是不同的。
    • 接收方相信傳送方不是冒充的。這是因為除收發雙方外再無其他人知道金鑰,因此其他人不可能對傳送方傳送的訊息計算出正確的MAC。
  4. 數字簽名與手寫簽名的不同

    • 簽名:手寫簽名是被籤檔案的物理組成部分;數字簽名是連線到被籤訊息上的數字串。
    • 傳輸方式:數字簽名和所簽名的訊息能夠在通訊網路中傳輸;手寫簽名使用傳統的安全方式傳輸。
    • 驗證:手寫簽名是通過將它與真實的簽名進行比較來驗證;而數字簽名是利用已經公開的驗證演算法來驗證。
    • 數字簽名的複製是有效的;而手寫簽名的複製品是無效的。
    • 手寫簽名是模擬的,且因人而異;數字簽名是0和1的數字串,因訊息而異。
  5. 數字簽名演算法的實現要求

    • 簽名的產生必須使用簽名者獨有的一些資訊(私鑰)以防偽造和否認,同時,要求保證獨有的一些資訊的安全性。
    • 簽名的產生應較為容易。
    • 簽名的識別和驗證應較為容易。
    • 對已知的數字簽名構造以新訊息的數字簽名在計算上是不可行的。(Hash的安全)
    • 對已知訊息構造以假冒的數字簽名在計算上是不可行的。(私鑰的安全)
  6. 在ElGamal簽名演算法中,如果使用相同的k對兩個不同的訊息進行簽名,將會發生什麼結果,為什麼?

    不能洩露隨機數k。

    不能使用相同的k對兩個不認同訊息進行簽名。

    【一旦得到k,很容易計算出簽名者的私鑰】

  7. 針對基於離散對數簽名演算法能夠驗證正確性,給出其計算量以及簽名長度

第十一、十二講:金鑰管理技術

  1. 金鑰管理遵循的原則

    • 明確金鑰管理的策略和機制:策略是金鑰管理系統的高階指導,而機制是實現和執行策略的技術機構和方法。
    • 全面安全原則:必須對金鑰生命週期的各個階段採取妥善的安全管理。
    • 最小權利原則:只分配給使用者進行事務處理所需的最小金鑰集合。
    • 責任分離原則:一個金鑰應當專職一種功能,不要讓一個金鑰兼任幾種功能。
    • 金鑰分級原則:對於一個大的系統,所需要的金鑰的種類和數量都很多,根據金鑰的職責和重要性,把金鑰劃分為幾個級別。
    • 金鑰更換原則:金鑰必須按時更換。否則,即使採用很強的密碼演算法,只要攻擊者截獲足夠多的密文,金鑰被破譯的可能性就非常大。
    • 金鑰應有足夠的長度:金鑰安全的一個必要條件是金鑰有足夠的長度。
    • 金鑰體質不同,金鑰管理也不同:由於傳統密碼體制與公開密碼體制是性質不同的兩種密碼,因此它們在管理方面有很大的不同。
  2. 金鑰的生命週期包含哪些階段及其特點

    • 生成:
      • 金鑰的長度與產生機制直接影響密碼系統的安全,對於一個密碼系統,如何產生好的金鑰是很關鍵的,金鑰生成是金鑰生命週期的基礎階段。
      • 金鑰的生成一般首先通過金鑰生成器藉助於某種隨機源產生具有較好統計分析特性的序列,以保障生成金鑰的隨機性和不可預測性,然後再對這些序列進行各種隨機性檢驗以確保其具有較好的密碼特性。
      • 使用者可以自己生成所需的金鑰,也可以從可信中心或金鑰管理中心申請,金鑰長度要適中,至少能夠抵禦窮舉攻擊。
      • 不同的密碼體制或金鑰型別,其金鑰的具體生成方法一般是不相同的,與相應的密碼體制或標準相聯絡。
    • 儲存:
      • 金鑰的安全儲存實際上是針對靜態金鑰的保護。其目的是確保金鑰的祕密性、真實性以及完整性。
    • 建立(分配和協商)
    • 使用:
      • 利用金鑰進行正常的密碼操作,如加密/解密、簽名/驗證等,通常情況下,金鑰在有效期之內授權的使用者都可以使用。
      • 應注意使用環境對金鑰安全性的影響。
      • 金鑰安全使用的原則是不允許金鑰以明文的形式出現在金鑰裝置之外。通常使用智慧裝置來實現,但成本高,效能低。
    • 備份/恢復:
      • 指金鑰處於使用狀態時的短期儲存,為金鑰的恢復提供金鑰源。要求安全方式儲存金鑰,並且具有不低於正在使用的金鑰的安全控制水平,不同的金鑰,其備份的手段和方式差別較大。
      • 如果金鑰過了使用有效期,金鑰將進入存檔階段或銷燬階段。
      • 當金鑰因為認為的操作錯誤或裝置發生故障時可能發生丟失和損壞,因此任何一種密碼裝置應當具有金鑰恢復的措施。從備份或存檔中獲取金鑰的過程稱為金鑰恢復。若金鑰喪失但其安全未受威脅,就可以用安全方式從金鑰備份中恢復。
      • 金鑰恢復措施需要考慮恢復金鑰的效率問題,能在故障發生後及時恢復金鑰。
    • 更新
      • 以下情況需要更新:金鑰有效期結束;金鑰的安全受到威脅;通訊成員中提出更新金鑰。
      • 更新金鑰應不影響資訊系統的正常使用,金鑰注入必須在安全環境下進行並避免外漏。現用金鑰和新金鑰同時存在時應處於同等的安全保護水平下。更換下來的金鑰一般情況下應避免再次使用,除將用於歸檔的金鑰及時採取有效的保護措施以外應及時進行銷燬處理。
      • 更新方法:
        • 利用金鑰建立協議,重新生成新的金鑰
        • 利用已有的金鑰,產生新的金鑰
        • 好處:效率高
        • 安全要求:新金鑰洩漏不設計已有金鑰的安全
    • 撤銷/存檔/銷燬
      • 撤銷:若在金鑰使用中金鑰的安全受到威脅或提前中止,需要將它從正常使用的集合中刪除,金鑰將進入存檔階段或銷燬階段。
      • 存檔:當金鑰不再使用且在有效期內時,需要對其進行存檔,以便在某種特別需要情況下能夠對其進行檢索並使用。存檔的金鑰是離線儲存的,處於使用後狀態。
      • 銷燬:如果金鑰過了有效期,即處於過期狀態,將清除金鑰及與該金鑰相關的痕跡。
  3. 公鑰證書包含哪些內容

    • 版本號:用來區分X.509的不同版本
    • 序列號:由發證機構給予每一個證書的分配唯一的數字型編號
    • 認證機構標識:發證機構的名稱
    • 主體標識:證書持有者的名稱
    • 主體公鑰:與該主體私鑰相對應的公鑰
    • 證書有效期:包括兩個日期,證書開始有效期和證書失效期
    • 證書用途:描述該主體的公/私鑰對的合法用途
    • 擴充套件內容:說明該證書的附加資訊
    • 發證機構簽名:用發證機構私鑰生成的數字簽名
  4. 數字證書驗證包括哪些步驟

    • 使用CA證書驗證終端實體證書有效性
    • 檢查證書的有效期,確保該證書是否有效
    • 檢查該證書的預期用途是否符合CA在該證書中制定的所有策略限制
    • 在證書撤銷列表(CRL)中查詢確認該證書是否被CA撤銷。
  5. 基於KDC的金鑰分配方案

    建立一個負責為使用者分配金鑰的金鑰分配中心,這時每一使用者必須和金鑰分配中心有一個共享金鑰,稱為主金鑰。通過主金鑰分配給一對使用者的金鑰稱為會話金鑰,用於這一對使用者之間的保密通訊。通訊完成後,會話金鑰即被銷燬。如果使用者數為n,則會話金鑰數為n(n-1)/2,但主金鑰數卻只需n個。

  6. Diffie-Hellman金鑰交換方案

  7. 舉例說明檔案加密傳送方案

  8. Shamir門限方案

相關文章