170 likes | 335 Views
密碼學與網路安全 第 7 章 對稱式的機密性. 對稱式加密的機密性. 對稱式加密原本是用來保護訊息的機密性. 使用加密場合. 兩個主要場合 連線加密 ( link encryption ) 在所有連線各自加密 意味著必須在連線之間解密流量 每段連線需要一把共同的金鑰 點對點加密 ( end-to-end encryption ) 在原始來源與目的終端之間加密 兩端共用相同的金鑰,所以目的端也能解開加密過的資料. 加密封包交換網路. 使用加密的場合. 使用點對點加密必須必須讓標頭保持明文 網路才能正確的繞送資訊
E N D
對稱式加密的機密性 • 對稱式加密原本是用來保護訊息的機密性
使用加密場合 • 兩個主要場合 • 連線加密(link encryption)在所有連線各自加密 • 意味著必須在連線之間解密流量 • 每段連線需要一把共同的金鑰 • 點對點加密(end-to-end encryption) • 在原始來源與目的終端之間加密 • 兩端共用相同的金鑰,所以目的端也能解開加密過的資料
使用加密的場合 • 使用點對點加密必須必須讓標頭保持明文 • 網路才能正確的繞送資訊 • 因此點對點加密能維持使用者資料的安全,但無法維持流量的安全 • 同時使用兩種加密 • 主機先以點對點加密的金鑰加密使用者資料 • 再以連線加密的金鑰加密整個封包
使用加密的場合 • OSI參考模型的幾個地方能放置加密功能: • 連線加密可以在第1或第2層 • 點對點加密可以在第3、4、6、7層
使用加密的場合 • 前端處理器
流量分析 • 流量分析可獲得的資訊: • 識別同伴的身分 • 和同伴通訊的頻率 • 從訊息的樣式、長度或數量得知是否正在交換重要的資訊 • 特定同伴之間的互有關聯的特定對話 • 利用流量的某些樣式來產生「隱密通道」 • 這是一種通訊設備設計者原本未預期的通訊形式 • 流量填充 traffic padding
分送金鑰 • 若要讓對稱式加密運作 • 通訊雙方必須共用相同的金鑰 • 要保護這把金鑰,不能被他人存取 • 要經常更換金鑰,以降低被攻擊的機率 • 任何密碼系統的強度在於分送金鑰的技術 • 將金鑰傳遞到想要交換訊息的兩端,但又不會讓其他人得知金鑰的方法
分送金鑰 • 對A、B等兩端而言,以下數種方式能分送金鑰: • A選擇金鑰並親自送給B • 第三者選擇金鑰,然後親自送給A和B • 若A和B最近曾用過某把金鑰,其中一方可以舊金鑰加密新金鑰,然後將新金鑰傳送給另一方 • 若A和B兩者皆與第三方C(金鑰分送中心)有加密連線,C就能以加密連線將金鑰傳給A和B
金鑰分送中心使用的階層架構 • 金鑰分送中心的使用,是根據金鑰的階層式架構,而且至少會用到兩階層的金鑰 • 連線金鑰 • 臨時金鑰 • 用來加密使用者之間的資料 • 通常只用在邏輯連線,連線結束就會丟棄連線金鑰 • 主金鑰 • 用來加密連線金鑰 • 由金鑰分送中心與終端系統(或使用者)共用 shared by user & key distribution center
亂數產生器 • 亂數在各種加密應用扮演了重要角色 • 隨意值 • 連線金鑰 • 產生RSA公開金鑰 • 單次金鑰加密的金鑰流 • 這些應用對產生亂數引發了不同且不相容的需求 : • 隨機性 • 不可預測性
偽亂數產生器Pseudorandom Number Generators (PRNG) • 密碼學的應用程式通常是以演算法來產生亂數 • 這些演算法都具決定性, • 因此所產生的亂數序列都非統計上的亂數 • 但若所用的演算法夠好,所產生的亂數將能通過許多合理的亂數測試 • 這類數字稱為偽亂數 • 這類的演算法稱為偽亂數產生器
線性同餘產生器(skipped) • 亂數序列可反覆經由以下列方程式獲得: Xn+1 = (aXn + c) mod m • 線性同餘演算法的強度,是選擇適當的乘數和模數 • 整個演算法除了選取的起始值X0之外,演算法本身並不隨機 • 而且只要選定了X0,也就決定了接下來所要產生的數字 • 這也暗示著這種演算法可被破解 • 如果攻擊者知道我們使用的是線性同餘演算法,而且也知道所使用的參數 • 那麼只要攻擊者發現一個數字,就能找出後續所有的數字 • 即使攻擊者只知道我們使用線性同餘演算法 • 但只要知道整組數字的一小部分,攻擊者就能找出演算法的參數
總結 • 利用對稱式加密保護機密性 • 分送金鑰 • 階層式 • 金鑰的生命週期 • 金鑰的控管 • 亂數產生器