Ch1

  • CIA triad :
    • Confidentiality(隱密性)
    • Integrity(完整性)
    • Availability(可用性)
  • OSI模型 :
    • Security Attack :
      → goal : Detect and Recover
      • Passive Attack
      • Active Attack
    • Security Services :
      • Defined by X.800 or RFC 4949
      • 分類 :
        1. Authentication :
          • Peer entity authentication : 確認雙方protocol相等、提供身分授權
          • Data origin authentication : 確認數據來源
        2. Access Control : 確認每個實體在連接前都需要被認證
        3. Data Confidentiality :
          • 保護資料以避免passive attack
          • 讓attacker無法觀察到流量的來源和目的地
        4. Data Integrity :
          * Connection-oriented integrity service(連接導向完整性服務) : 處理整個訊息流,避免其發送時沒有被重新處理過
          * Connectionless integrity service(無連接完整性服務) : 只針對單個訊息的保護
        5. Nonrepudiation(不可否認性) : 預防sender或rceiver否認曾經傳送過的訊息
    • Security Mechanisms :
      • Specific Security Mechanisms :
        • 加密(Encipherment)
        • 數位簽章(Digital Signature)
        • 存取控制(Access Control)
        • 資料完整性(Data Integrity)
        • 驗證交換(Authentication Exchange)
        • 路由控制(Routing Control)
        • 公證(Notarization)
      • Two kinds of threats of program:
        • Information access threats(資訊存取威脅)
        • Service threats : 利用服務漏洞去禁止合法用戶使用
      • 避免unwanted access :
        1. Gatekeeper function :
          • 只讓有授權的user通過
          • 偵測並拒絕attack
        2. Internal Control : 監測活動與分析

Ch2

  • Symmetric Encryption :
    • 兩大需求 :
      1. Strong Encryption Algorithm
      2. 雙方都要把key收好(Don’t need to keep the algorithm secret; but only keep the key secret.)
    • Cryptographic Systems :
      • Substitution : 以取代的方式將文字做順序的位移,讓原本的文字變成另一個文字
      • Transposition : 將原本字串的順序重新排列
    • Attacking approach:
      • Cryptanalysis(密碼破譯) : 利用常理或統計方式來分析密文
      • Brute-force attack(暴力攻擊) : 嘗試所有可能的key組合
        → 平均上,測試一半的可能key組合便能成功
    • Encryption Scheme :
      • Unconditionally secure : 不論opponent有多少時間都不可能破解,因為所需的訊息並不存在那裏
      • Computationally secure(二擇一) :
        1. 破解密文的成本大於其明文的價值
        2. 破解密文的時間大於其明文有用的lifetime
    • Caesar Cipher(凱薩加密法) :
      • 公式 : $C = E(k,p) = (p+k) mod 26$
      • 可以用Brute-force,但其遇到以下狀況就行不通 :
        • Key很大的時候
        • 不知道明文的語言時
    • Monoalphabetic Substitution Cipher(單表加密法) :
      • 定義 : 每個密文字母在訊息中都有用到
      • 如果明文由26個字母所組成,那Key就有26!種組合
      • 缺點 : 容易透過字母出現的頻率去破解
        1. 單字母 : e
        2. 雙字母 : th
        3. 三字母 : the
    • Playfair Cipher(波雷費密碼) :
      • Multiple Substitutes
      • 作法 :
        1. 清除KEY重複字母,將其塞入5X5矩陣中,剩下空的依序補上未填入的字母
        2. 將明文塞入X,EX : ballon → BA LX LO ON
        3. 找密文 :
          • 同橫行 : 往右移一格
          • 同直行 : 往下移一格
          • 都不是 : 找對角兩個
      • 優點 :
        • 有26*26=676種組合
        • 較難使用頻率分析
      • 缺點 :
        • 仍保留了明文語言的一部分結構
    • Hill Cipher(希爾密碼) :
      • 透過n*n矩陣將長度n的明文轉換為長度n的密文
      • 加密公式 : $C = PKmod 26$
      • 解密公式 : $P = CK^{-1}mod 26$
      • 優點 :
        • 可以完全隱藏單字母的出現頻率
        • 可以抵擋ciphertext-only attack
      • 缺點 :
        • 不能抵擋known plaintext attack(得知明文與密文之相對)
    • Vigenère Cipher(維吉尼亞密碼) :
      • polyalphabetic substitution ciphers(多表加密)
      • 由26個凱撒密碼組成,移位範圍為0到25
      • 使用方式 :
        • 假如明文是「TAKETHATHILL」
        • 假如keyword為YANG,則key就是 「YANGYANGYANG」
        • 加總後就可以得到密文「RAXKRHNZFIYR」
      • 公式 : $C_i = (P_i+K_i)mod 26$
      • 優點 : 每個明文字母都對應多個密文字母
      • 缺點 : 可以透過密文重複的次數與間隔來推算keyword
    • Vigenère Autokey System :
      • 使用方式 :
        • 類似Vigenère Cipher,但key變成「YANGTAKETHAT」(keyword+明文)
        • 優點 : 一個明文字母可以對應多個密文字母,讓字母頻率不好被分辨出
        • 缺點 : keyword和明文擁有相同的文字頻率,透過分析技術還是能輕易地分辨出來
    • Vernam Cipher
      • 明文和key先各自轉2元進位,再做互斥或
      • 優點 :
        • 不易進行密碼分析(cryptanalysis)
      • 缺點 :
        • key是由running loop of tape所產生,但它轉到最後還是會循環
        • 只要有足夠的密文或明文依然能破解
    • One-Time Pad(一次性密碼本) :
      • 使用和明文一樣長的key → 讓key不會有重複的問題
      • 每一個key使用完畢後就要丟棄
      • 優點 :
        • 理論上,因為密文和明文之間毫無統計關係,因此根本無法破解
        • 可以用在需要高安全性的低頻率通道
      • 缺點 :
        • 無法產生出那麼多隨機key
    • Rail Fence Cipher(籬笆密碼法) :
      • 使用方法 :
        1. 假設明文為「meet me after the toga party」
        2. 使用depth = 2的Rail Fence Cipher :
          MEMATRHTGPRY
          ETEFETEOAAT
        3. 密文就是MEMATRHTGPRYETEFETEOAAT
    • Row Transposition Cipher(列置換加密法) :
      • key記錄了row排列的順序
      • 使用方法 :
        1. 將明文排成一列一列
        2. 依key的順序取出,拼湊起來就是密文
        3. 例如 :
          ![](https://i.imgur.com/ndr2mPA.png =80%x)
      • 缺點 : 還是能看出字母頻率
    • Multiple Transposition :
      • 使用多次Row Transposition Cipher
      • 優點 : 讓cryptanalyze(密碼分析)更加不易