歡迎光臨
每天分享高質量文章

信息安全與密碼學概論

作者:CUG_UESTC 

出處:http://blog.csdn.net/qq_31192383/article/details/53331833


一篇文章讓你初步瞭解信息安全領域。


 1、簡述安全攻擊,安全機制,安全服務 

  • 安全攻擊:任何危及信息系統安全的行為。

  • 安全機制:用來檢測、阻止攻擊或者從攻擊狀態恢復到正常狀態的過程。

  • 安全服務(安全屬性):使用一種或多種安全機制來增強安全、對抗安全攻擊的過程。


 2、安全服務(安全屬性)的幾個屬性及定義 

  • 身份認證(鑒別):確保每個物體都是他們所聲稱的物體

  • 訪問控制:防止對資源的未授權使用

  • 資料機密性:保護資料免受非授權泄露

  • 資料完整性:保護資料免受非授權篡改

  • 不可否認/真實性:保護通信中針對任何一方的否認攻擊

  • 可用性:確保資源能在需要時被授權方獲得


 3、瞭解幾個典型的安全機制 

單一的機制不能提供完全的安全服務,但是加密(密碼學)是主要採取的技術。

  • 特定安全機制: 

    加密、數字簽名、訪問控制、資料完整性、認證交換、流量填充、路由控制、公證

  • 普遍安全機制: 

    可信功能、安全標簽、事件檢測、安全審計跟蹤、安全回覆


 4、安全攻擊中破壞的是什麼安全屬性 

  • 偷聽/泄露——攻擊機密性

  • 偽造——攻擊真實性/不可否認性

  • 重放——攻擊認證和真實性

  • 篡改——攻擊完整性

  • 中斷——攻擊可用性(狹義:破壞硬體、拒絕服務DOS)


 5 、主動攻擊與被動攻擊的區別 

  • 被動攻擊: 

    包括偷聽和流量分析,不對資料進行修改。 

    主要是攻擊保密性。 

    難以檢測。 

    可以預防——加密,流量填充

  • 主動攻擊: 

    包括對資料流、系統狀態的修改、創建虛假信息。 

    主要攻擊真實性、不可否認性、完整性、可用性 

    難以預防 

    可以檢測——數字簽名、HASH、入侵檢測等


 6、密碼體制的五要素 

  • 明文(Plaintext/Message)

  • 密文(Ciphertext)

  • 密鑰(Key)

  • 加密演算法(encrypt)

  • 解密演算法(decrypt)


 7、密碼體制的三種分類 

  • 流密碼/序列密碼:以bit或字符的方式處理輸入輸出

  • 分組密碼:以塊的方式處理輸入輸出

  • 哈希函式——無密鑰

  • 秘密(對稱/傳統/單鑰)密鑰碼——一個密鑰

  • 公鑰(非對稱/雙鑰)密碼——兩個密鑰(公鑰和私鑰)

  • 受限演算法:保密演算法——古典密碼

  • 基於密鑰的演算法:保密密鑰——現代密碼

  • 基於保密的內容

  • 基於密鑰個數

  • 基於明文加密處理方式


 8、傳統密碼與公鑰密碼的優缺點 

  • 傳統密碼優點:加解密速度快。

  • 傳統密碼缺點:難以分配和管理密鑰,實現數字簽名困難。

  • 公鑰密碼優點:易於分配和管理密鑰,實現數字簽名容易。

  • 公鑰密碼缺點:難以生產密鑰,加解密速度慢。


 9、古典加密與現代加密的特點 

  • 古典加密:資料的安全依賴於演算法的保密。

  • 現代加密: 資料的安全依賴於密鑰的保密而不是演算法的保密。


 10、三種密碼分析方法及各自特點 

  • 暴力破解攻擊(嘗試所有密鑰,直到找到正確明文): 

    理論上可以破解任何密碼系統,平均嘗試一半的密鑰空間可以破解成功。

  • 統計分析攻擊(比較和分析密文的統計特征): 

    能破解絕大多數古典密碼。

  • 數學分析攻擊(根據數學理論進行密碼破解): 

    攻擊公鑰密碼的主要方法。


 11、無條件安全與計算上安全 

  • 無條件安全:絕對安全,無論何種計算機資源都無法破解的密碼,只有香農提出的

    次一密滿足。 

  • 一次一密特點:使用明文一樣長的隨機密鑰,且不重覆,明密文統計無關,密鑰產

    和分配困難。

  • 計算機上的安全:破解密碼的代價超過加密信息的價值;破解密碼的時間超過信息(M或K)的有效期。


 12、代替和置換的定義 

  • 代替:明文被其他字母、數字或者符號代替;明文被看做bit流,將明文bit流替換為密文bit流。

  • 置換: 不改變實際使用的字母,而是通過重新排列字母順序來隱藏信息。

 13、單字母代替(單表代替,多表代替)與多字母代替 

  • 單表代替 

    一個明文字母表對應一個密文字母表

  • 多表代替 

    一個明文字母表對應多個密文字母表

  • 單字母代替 

    將每個明文字母獨立的映射為密文字母。 

  • 多字母代替 

    字母映射以組的方式進行,依賴於其背景關係的位置。


 14、通用凱撒密碼(單字母單表代替)的公式 

凱撒密碼公式: 

    C = E(m) = (m + k) mod 26 

    m = D(C) = (C – k) mod 26 

    K = 0~25(取0沒意義)(密鑰是一個數) 

通過25種窮舉搜索就能夠攻破通用的凱撒密碼。


 15、置亂密碼(單字母單表)的統計分析攻擊 

不是對字母表進行移位,而是任意的打亂字母表,每個明文字母匹配一個隨機的密文字母。 

密鑰:明文字母表和密文字母表的對應關係。 

由於人類語言中所有字母不是被等概率的使用,可以通過統計(頻率)分析攻破。


 16、維吉尼亞密碼(最著名的多表代替密碼)公式,密鑰長度,密鑰空間以及破解方式與維納密碼(流密碼)的一次一密思想 

  • Vigenere密碼 

    迴圈使用26個凱撒密碼密鑰,每個密鑰用完之後再從頭開始重覆使用。 

    多個密文表,平滑了頻率分佈,從而使得密碼分析更加困難。 

    密鑰詞重覆使用使得密鑰跟明文一樣長。 

    公式:Ci = (Pi + K[i mod m]) mod 26    Ki=a~z 

    密鑰: 密鑰由重覆的密鑰詞構成,m為密鑰詞長度,密鑰空間為26^m。 

    重覆的密文暴露密鑰周期,如果密鑰長度短,可以窮舉攻擊;如果密鑰長度長,可

    假設密鑰詞長度為m,則通過m次單字母頻率分析得到m個密鑰詞字母。

  • Vernam密碼 

    流密碼:基於bit而不是字母 

    Ci=pi⊕ki 

    pi=Ci⊕ki 

    安全性依賴於密鑰的隨機性。(個人理解:)雖然計算計算原理不一樣,但效果可以看成密鑰長度為明文長度的置亂密碼。

  • 一次一密 

    密鑰與明文一樣長,且永不重覆 

    明文和密文統計無關 

    無條件安全(永不可破) 

    密鑰產生和分配困難,只被軍用


 17、playfair矩陣(多字母單表代替)的形成,及其加密演算法 

舉例: 

加密演算法規則: 

1、從第一個字母開始,每兩個字母一組,如果有重覆的一組,則在它們之間填充一個字母,然後再把重覆字母中的後一個當做第一個字母繼續1的步驟,直到明文結束。 

     例如: “balloon” 被填充為”ba lx lo on”  

2、如果雙字母位於同一行,用每個字母右邊的字母去代替原字母。(行尾回滾至行首) 

3、如果雙字母位於同一列,用每個字母下麵的字母去代替原字母。(列尾回滾至列首) 

4、否則,每個字母用與它同一行,與另一字母同一列交叉點的字母代替。

解密:同行同行的話與加密操作相反,否則與加密操作相同。

同樣可以對比單字母的26個字母頻率統計,這裡只是需要統計26X25=650組雙字母組合的頻率。


 18、置換密碼(柵欄密碼,列置換密碼,多步置換,乘積密碼,轉輪機)其中註意轉輪機每輸入一個字母快速轉子就會轉動一格 

  • 柵欄密碼 

       將明文字母以對角線的方式寫入,再逐行讀出密文字母。 

       例子: 

  • 列置換密碼 

    明文以矩形方式一行行寫入,但一列列的讀出,密鑰是矩形的長度和列讀出順序。 

    例子:

  • 多步置換密碼

    多次進行列置換密碼操作,這樣難以反向重構。 

    例子: 

  • 乘積密碼 

    由於語言的統計特征,單純使用代替或者置換是不夠的。 

    連續多次使用密碼使得演算法更安全:兩次代替得到更為複雜的代替密碼,兩次置換

    到更為複雜的置換密碼,一次代替加一次置換得到安全性高得多的密碼。 

    是從古典密碼過渡到現代密碼的橋梁。

  • 轉輪機 

    每個轉子對應一個代替密碼; 

    每個轉子產生一個對應著26個密文字母表的多表代替密碼(維吉尼亞密碼); 

    每次按鍵後,轉子旋轉一個刻度; 

    每個轉子的輸出是下一個轉子的輸入; 

    在每個轉子迴圈完一個周期後,相鄰的下一個轉子旋轉一個刻度。 

    (一個3-轉子轉輪機產生26^3個密文表)


 19、對公鑰密碼的一些誤解 

  • 公鑰密碼比對稱密碼更安全

  • 公鑰密碼的出現使得對稱密碼變得過時

  • 與對稱密碼使用KDC繁瑣的握手方式分配密鑰相比,公鑰密碼的密鑰分配容易。


 20、公鑰密碼的要求 

  • 用公鑰加密的信息可以用私鑰解密恢復(基本條件)   D(E(M,PU),PR)=M

  • 給定加密密鑰,想得到解密密鑰從計算上不可行(安全條件)

  • 當相關的加密密鑰已知,做相應加密操作是快速高效的(工程使用條件)

  • 加密的順序可以互換(可選條件)D(E(M,PU),PR)=D(E(M,PR),PU)=M


 21、對稱密碼與公鑰密碼的對比 分析

  • 公鑰密碼 

  • 使用兩個密鑰(公鑰和私鑰)

  • PU的公開不會泄露PR

  • 由於通信不對稱,加密信息的人不能解密信息

  • 基於數學函式而不是代替和置換


  • 對稱密鑰(秘密鑰): 

  • 使用一個密鑰,雙方共享

  • 密鑰泄露導致通信的安全性被破壞

  • 由於通信對稱,雙方地位平等,因此不能防止發送者否認發送,也不能防止接收者偽造信息並宣告是發送者發送的。

 22、公鑰密碼體制的幾張圖以及相關的安全屬性 

加解密——保密性
數字簽名——認證、完整性和不可否認性
密鑰交換——提供會話密鑰


 23、單向函式與單向陷門函式 

  • 單項函式:每個函式值都存在唯一的逆,並且計算函式值是容易的,但求逆卻是不可行的。

  • 單向陷門函式:一個函式,若計算函式值很容易,並且在缺少一些附加信息時計算函式的逆是不可行的,但是已知這些附加信息時,可以在多項式時間內計算出函式的逆。


 24、公鑰密碼分析 

  • 針對PR的窮舉攻擊

  • 數學分析攻擊:從PU中視圖推出PR

  • 窮舉訊息攻擊


 25、哈希函式的定義及六種基本使用樣式 

  • hash函式H將可邊長的資料塊M作為輸入,產生固定長度的Hash值h=H(M)。 

 26、抗強碰撞性,抗弱碰撞性 

  • 單向性:給定h,反向求出x,使得H(x)=h不可行

  • 抗弱碰撞性:給定x,找到y,使得H(x)=H(y)不可行

  • 抗強碰撞性:找到任意的x,y使得H(x)=H(y)不可行


 27、哈希函式的通用結構(迭代壓縮函式)

如果每個f是抗碰撞的,則哈希結果也是抗碰撞的。


 28、數字簽名包含的屬性及定義 

簽名的屬性: 

  • 防止發送方抵賴,包括簽名內容、時間(不可否認性)

  • 除了發送方,其他人不能偽造簽名和被簽名內容(真實性,完整性)

  • 可被第三方驗證以解決爭端(可仲裁性)

定義:數字簽名是一種認證機制,是訊息產生者在訊息後附加的一個簽名碼。 可以保證訊息來源的真實性/不可否認性、完整性。

數字簽名的屬性:

  • 必須依賴被簽名信息——確保完整性

  • 必須使用發送者獨一無二的信息(PR)——防止偽造和否認(真實性/不可否認性)

  • 相對容易產生

  • 相對容易驗證(PU)

  • 計算上不能被偽造(對於給定數字簽名偽造新訊息與之對應、對於給定訊息偽造數字簽名與之對應)

  • 儲存數字簽名的拷貝是可行的


 29、哈希函式在數字簽名中的用處 

  • 減少數字簽名和通信的長度

  • 維護訊息和簽名的對應關係以防偽造(真實性、完整性)

 30、仲裁數字簽名


 31、口令儲存機制 

原理:Hash函式,給定h(口令),難以反向得到口令
過程:用戶口令以哈希值儲存h(口令),當用戶輸入口令,系統計算口令的哈希值,然後與口令檔案中儲存的哈希值相比較,磁盤中不儲存口令原文。


 32、口令字典的字典攻擊
俗稱猜密碼。


 33、引入鹽的三個目的 

  • 防止口令檔案中出現相同的口令

  • 有效增加口令長度

  • 阻止硬體實現DES


 34、入侵檢測系統 

  • 能及時識別出入侵者

  • 有效的入侵檢測系統能預防入侵

  • 入侵檢測能收集入侵信息,以便用於增強入侵預防功能。


 35、註意入侵者和授權用戶的行為輪廓那張圖 


 36、瞭解誤判和漏判,哪種情況造成誤判,哪種情況造成漏判和入侵檢測技術 

  • 放寬對入侵的定義會導致誤報——將授權用戶識別為入侵者

  • 嚴格對入侵的定義會導致漏報——將入侵者識別為授權用戶

入侵檢測技術

  • 誤用檢測:定義現有的入侵樣式,難以發現新的入侵

  • 異常檢測:定義正常使用輪廓,判斷入侵行為和正常行為的偏差

  • 能檢測出未知入侵

 37、挑戰應答認證機制 

  • 3.0 

    在協議2.0的基礎上,A再加一個秘密口令證明自己是A,C可以進行重放攻擊。

  • 3.1

    在3.0的基礎上,將秘密口令加密,然並卵。。。

  • 協議1.0

    A直接發送明文給B,C可以直接偽裝A給B發訊息。

  • 協議2.0 

    A將自己的IP地址和明文一起發給B,C可以創建一個資料包,通過IP欺騙冒充A

  • 協議3.0和協議3.1

  • 協議4.0 

    B向A發送一個隨機數N,A用AB共享的對稱密鑰加密,若B能解密得到N,則A就是A

  • 協議5.0 

    在4.0的基礎上,將對稱密碼換成A的私鑰加密,B用A的公鑰解密。


 38、X.509 服務體制下的密鑰分配,認證服務,驗證證書,交叉認證,證書撤銷 以及PKI 

  • 密鑰分配:通過數字簽名確保公鑰資料庫PKDB中PU的真實性和完整性;證書是由可信第三方對用戶識別符號和其公鑰PU的數字簽名載體;CA對PU進行簽名的可信第三方物體

  • 認證服務:定義服務的框架(將公鑰證書存放在目錄中,由CA用其私鑰PR來簽署證書);使用公鑰演算法和數字簽名技術;公鑰證書是公鑰PU的可信載體,能安全分配公鑰。

  • 驗證證書:用戶可以在CA的證書中獲取CA的公鑰,然後用來驗證其他用戶證書中公鑰的安全性;CA的證書可以自簽或者由他的父CA簽署得到。

  • 交叉認證: 

  • 證書撤銷:

    證書都有有效期,可以提前撤銷證書(私鑰泄露、用戶與CA不再信任、CA證書被破壞),通過數字簽名維護一個證書的撤銷串列(CRL),用戶定期更新CRL併在使用證書前檢查其CA的CRL串列的證書名,出於速度考慮,本機快取CRL串列

  • PKI(public key infrastructure)公鑰基礎設施 

    定義:PKI系統是由硬體、軟體、人、策略和相應處理構成的一整套體系,用來創建、管理、儲存、分發和撤銷其上的數字證書(PU)

    標的:分發公鑰PU。信任通過證書傳遞。

    元素:端物體、認證機構CA、註冊機構RA(可選)、證書撤銷串列CRL發佈點(可選)、證書存取庫(證書和CRL)

    任務:用戶註冊、用戶初始化(密鑰對的產生和分配)、認證(證書產生和儲存)、密鑰對的備份和恢復(對於資料加密,備份PU和PR;對於數字簽名只能備份PU)、自動密鑰對更新、證書撤銷請求、交叉認證(CA間互相簽署證書)


 39、LSB演算法,數字水印,針對隱私的鏈接攻擊 

LSB(最低有效位)演算法: 

  • 修改數字圖像中指示顏色的低位bit來隱藏信息,一個像素點包含24bit的RGB顏色信息,修改最低有效位LSB不會顯著改變圖像的品質

  • 優點:快速 、簡單

  • 缺點:隱藏的信息可能會通過信息處理被破壞,如:信號轉換、圖像壓縮

數字水印 : 

  • 在數字媒體中添加一個“不可察覺”的版權信息(唯一的識別符號或序列號),數字水印可以在需要被提取以作為非授權拷貝的證據。

  • 特點:版權信息的嵌入或提取不會影響宿主媒體的正常使用

  • 要求:透明性、魯棒性

  • 分為時空域和頻域兩種技術

  • 與隱寫術技術相同但用途不同

針對隱私的鏈接攻擊: 
鏈接攻擊是從發佈的資料表中獲取隱私資料的常見方法。其基本思想為:攻擊者通過對發佈的資料和其他渠道獲取的外部資料進行鏈接操作,以推理出隱私資料,從而造成隱私泄露。

 40、K-匿名演算法熟悉以及泛化過程 

K-匿名演算法思想:每次計算都只能選擇某一個屬性值來泛化,被選中的這某一屬性的值域集合的基數在其他剩餘屬性中是最大的,重覆之前的步驟直到選取完準識別符號屬性。 


 41、什麼是訪問控制及訪問控制的目的 

  • 訪問控制定義:主體依據某些控制策略,獲得不同的權限訪問客體

  • 訪問控制目的:提供主體和客體一定的安全防護,確保不會有非法者使用合法或敏感信息,也確保合法者能夠正確使用這些資源,從而實現安全的分級管理。


 42、訪問控制的三要素及實現 

三要素: 

  • 主體:對客體提出訪問請求的物體,簡稱S,也稱為用戶User或授權訪問者。

  • 客體:接受主體訪問請求的被動物體,簡稱為O

  • 控制策略:主體對客體的訪問規則集,簡稱為P

訪問控制的實現:

框架:

實現: 

  • 身份認證:主體S和客體O之間的雙向認證。

  • 策略的制定和實現:制定——創建用戶;實現——用戶行為

  • 審計:審計是訪問控制的重要內容和補充,審計可以對用戶使用何種信息資源、使用的時間、以及如何使用進行記錄和監控。

 43、兩種訪問控制(DAC,MAC)的定義及區別 

DAC(自主訪問控制):屬於無層次多級安全,又稱任意訪問控制,允許合法用戶以用戶或用戶組的身份訪問策略規定的客體,同時阻止非授權用戶訪問客體;某些用戶還可以自主的把自己所擁有的客體的訪問權限授予其他用戶。

MAC(強制訪問控制):屬於層次性多級安全,系統事先給主體和客體分配不同的安全級別;在實施訪問控制時,系統先對主體和客體的安全級別進行比較,再決定主體能否訪問該客體。

DAC和MAC區別:

  • DAC是無層次型;MAC是層次型。

  • DAC的訪問權限可以自由的授權給其他用戶,授權基於用戶;MAC的訪問權限是嚴格的按照安全等級來執行的,授權基於安全等級,只能被安全管理員修改。


 44、四種訪問方式 

  • 向下讀(rd):主體安全級別高於客體安全級別時允許的讀操作

  • 向上讀(ru):主體安全級別低於客體安全級別時允許的讀操作

  • 向下寫(wd):主體安全級別高於客體安全級別時允許執行或是寫操作

  • 向上寫(wu):主體安全級別低於客體安全級別時允許執行或是寫操作


 45、MAC下的BLP模型及Biba 模型 

  • Bell-LaPadual(BLP)模型:具有隻允許向下讀、向上寫的特點,可以有效地防止機密信息向下級泄露。缺點:使非法、越權篡改成為可能

  • Biba模型:具有隻允許向上讀、向下寫的特點,可以有效地保護資料的完整性。缺點:忽略了保密性


 46、DAC下的訪問控制串列及訪問控制矩陣 

  • 訪問控制串列:以檔案為中心 


  • 訪問控制矩陣:包括所有主體客體的完整矩陣 

47、MAC下的安全標簽串列 
主體和客體的安全級別集合

 48、授權與審計的差別 

  • 授權:是訪問控制的前提,是客體授予主體的權限。授權基於信任模型(建立和管理信任關係的框架,信任關係是指主體符合客體所假定的期望值)

  • 審計:是對訪問控制的必要補充,是實現系統安全的最後一道防線,處於系統最高層,作用是跟蹤記錄系統行為和用戶行為。審計不但有助於確保系統及其資源免受非法授權用戶侵害,還能在一定程度上防止合法用戶越權使用,同時還能提供對資料恢復的幫助。


 49、審計內容 

  • 個人職能

  • 事件重建

  • 入侵檢測

  • 故障分析



●編號723,輸入編號直達本文

●輸入m獲取文章目錄

推薦↓↓↓

 

Linux學習

更多推薦18個技術類微信公眾號

涵蓋:程式人生、演算法與資料結構、黑客技術與網絡安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

赞(0)

分享創造快樂