:::

[圖資]942網概期中考重點

4月 17, 2006 4 Comments Edit Post

CHAPTER 6

DATA INTEGRITY 資料完整性

6.2 簡易偵錯技術 Parity Checks(同位元偵錯)

  1. even parity 偶同位元
  2. odd parity 奇同位元

分析同位元的偵錯能力

  • burst error 集叢錯誤:多個位元錯誤
  • 偵測出burst error的機率為50%,不足以使用在網路環境
  • Parity Checking是偵錯技術的基礎

總和檢查法

  1. 將資料以32-bits切成部分
  2. 當成10位數
  3. 求其餘數

6.3 CRC偵錯

Cyclic redundancy check(CRC) 循環冗餘檢查法

CRC在送方的處理方法

  1. 在原字串加入除式最高次方個0
    B(X)
  2. B(X) 被除式 / G(X) 除式 → R(X) 餘式
  3. T(X) = B(X) - R(X)
  4. 送出T(X)

CRC在收方的處理方法

  1. 收方收到的是T'(X),有可能不是原本的T(X)
  2. T'(X) / G(X)
    • 整除→正確
    • 不整除→錯誤

多項式的除法:XoR (exclusive OR, 互斥閘)

   11010
/) 11001
---------
   00011
  • 兩數相同→0
  • 兩數相異→1
  • XoR特色:
    T(X) / G(X) = A(X)
    A(X) / G(X) = T(X)

CRC偵錯能力的分析

  • 只要G(X)有兩項以上,即為X+1,便能偵測到所有的錯誤
  • 錯誤發生機率:1 / 2 ^ (r-1),r為G(X)的最高次方
    → G(X)越長,越不容易無法偵錯

6.4 Hamming Codes (漢明碼) 錯誤偵測

位元位置 1 2 3 4 5 6 7 8 9 10 11 12
要傳送的資料 m1 m2 m3 m4 m5 m6 m7 m8        
Hamming code p1 p2 m1 p3 m2 m3 m4 p4 m5 m6 m7 m8
  ↑第一個位元 第12個位元↑
p1偶同位元(6個) 1   3   5   7   9   11  
p2偶同位元(6個)   2 3     6 7     10 11  
p3偶同位元(5個)       4 5 6 7         12
p4偶同位元(5個)               8 9 10 11 12

幫助p記憶的方法:

  • 開頭的位置,都是自己的號碼
  • p1: 1到11的奇數
    p2: 兩兩相合,中間皆間隔兩個位置
    p3: 連續四個,外加12
    p4: 連續四個,外加12,p3 跟p4是一對的

漢明碼中多位元錯誤的更正

  • d:漢明最小距離
  • 錯誤的位元數目小於d/2,即可被偵錯
    → d越大,越容易偵錯
  • 重置影響最小漢明距離,也就是同位元的插入位置

CHAPTER 7

DATA SECURITY 資料隱密性

7.2 加密演算法 Encryption Algorithms

  • encryption: 加密,即重新編碼資料,只有能夠解密的人才能得知資料的內容
  • decryption: 解密
  • plaintext: 原文,未加密的文字
  • ciphertext: 加密文,加密過的文字
  • encryption key: 加密鍵,代碼為k,加密與解密所使用的關鍵資料

各種資料加密的方法

Caesar Cipher 凱薩密碼

  • 用亂碼字母取代特定字元,使人無法直接解讀
  • 缺點:保留了字母的頻率與組合,多看幾次就可以找出其規律

Polyalphabetic Cipher 多字元加密

用多個因素來取代字元:

  1. 字母
  2. 所在位置

Transposition Cipher

  • 橫排直送
  • 破解
    1. 欄位
    2. 送出順序

Bit-Level Ciphering

加密與解密:步驟相同,原理請看XoR的特性
  1. 設定encryption key:即為一串位元
  2. 將資料依照key的長度切割成數個部份字串(substrings)
  3. 每個部份字串都與key做XoR
  4. 組合得到的結果,再進行傳送

→ encryption key長度越長,則越不容易重複,越不容易被破解

資料加密的標準

DES, Data Encryption Standard 資料加密標準

  • 1970年IBM開發,1977年NIST國家安全局採用,1981年ANSI採用
  • 方法: (詳細過程不重要,大概看一下就好)
    1. block cipher: 區塊分割
    2. 64-bit為單位分割
    3. 56-bit key來做bit-level ciphering
  • DES Cracker,可破解DES
  • 實際上IBM開發時是使用128-bit key
  • Triple DES:DES做三次

7.3 加密鍵的傳送與保護

Shamir's Method 夏米爾的方法

  • 將key拆成數個部份各別儲存
  • 要將key的所有部份找齊才能進行加密/解密,十分麻煩

Diffie-Hellman Key Exchange 蒂菲-地獄人(XD)加密鍵交換法

  • 作法
    1. A選擇一個Key,稱為x;B選擇一個Key,稱為y
    2. 雙方協議兩個整數:g與n,並將之公開
    3. A傳送gx給B,B傳送gy給A
    4. A: K = (gy)x mod n,B: K = (gx)y mod n,便可獲得一樣的結果
  • man-in-the-middle attack 居中攻擊法:
    1. 偽裝為A傳送給B,收到gy
    2. 反之,收到gx
    3. 即可得到結果

7.4 Public Key Encryption 公開加密鍵

原理:k != k'

RSA Algorithm

數論:因數分解,模數

加密過程

  1. 字母→數字(如ASCII)
  2. p, q為兩個很大的質數,n = p×q
  3. k公開加密鍵:無法整除(p - 1) × (q - 1)
    → ((p - 1) × (q - 1)) ÷ k ,餘數不等於0
  4. 將原文切割成段落
  5. 以段落為單位,將所有位元串合併,再轉成數值
  6. 將數值的k次方,再模數n,即得加密文

解密過程

  1. 找一個k' (私解密鍵)
    k × (k'-1) mod (p-1)(q-1) = 0
  2. 將加密文(轉為數值)的k'次方,再模數n,即得原文(數字)

加密時需要用到:k (公加密鍵)
解密時需要用到:k (公加密鍵)、k' (私解密鍵)

Digital Signatures 數位簽名

用來驗證網路身份的方法

    公開鍵   私有鍵  
送方 ( k , k' )
收方 ( j , j' )

雙重驗證:送方跟收方都要確認身分

  1. 送方將原文P加密為M
    M = Ej(Dk'(P))
  2. 送方傳送M給收方
  3. 收方解密M為P
    Ek(Dj'(M)) = P

Authentication and Message Digests 確定文件完整性

使用hash 雜湊法H()
y 雜湊值 = H(M) M為文件本身

  • 計算文件的雜湊值H(M)
  • 送出 M + Dk'(H(M))
    H:文件
    k':送方私有鍵
    H(M):雜湊值 y
  • 則收方 Ek(Dk'(H(M))) = H(M)
    如果收方解出來H(M) != H(M'),則知道有誤

單向雜湊函數

  1. 產生固定長度值
    H(M) = V
  2. H(M)要容易計算
  3. 從V不能反計算回M
    即H(M') != V
  4. H(M1) != H(M2)

MD5 現成的hash

  1. 128-bit
  2. 512-bit 分段
  3. 每一步驟經四道加密
  4. 前一段輸出的內容,可當後一段的輸入加密鍵

PGP, Pretty Good Privacy 電子郵件用的加密法

7.5 傳輸層隱密性以及網站的確認

如何確保網站正確安全?

  1. SSL:網址會從http改成https
  2. TLS
  3. X.509 軟體認證機構

7.6 Firewalls 防火牆

只要電腦連上網路,便可能遭受攻擊。防火牆便能防禦這種問題。

Packet Filtering 封包過濾

最簡單的方法:檢查封包頭

兩種限制

  1. 限制IP:管制機器(伺服器、網站)
  2. 限制PORT:管制服務(程式)

限制策略(注意其比較)

  1. Allow:允許
    default Allow, other Block→要注意新的攻擊
  2. Block:阻擋
    default Block, other Allow→要注意需求

IP address spoofing IP位置欺騙

改變IP封包頭的資訊

應用層門閘 Application-level Gateway

檢查所有封包的要求,具彈性,但工作量也大

  1. packet filtering: 只能限制不能使用FTP的port 21
  2. application-level gateway:限制FTP只能上傳,不能下載

狀態檢查 Stateful Inspection

根據封包之前的狀態,檢查現在的封包是否能夠通過。

  1. 如果之前沒有要求的封包,那麼就不該有回應的封包。
  2. 要求封包的來源位置,與回應封包的目的位置不同,那就是錯誤的。

7.7 Viruses 病毒

檔案感染 Infecting Files

  1. 修改執行檔的開頭與結尾
  2. 在執行程式的時候,會先執行到branch (分枝)
  3. 由branch指引到結尾的病毒碼
  4. 病毒碼結束後會再執行到另一個branch
  5. 由branch指引到真正的程式本身

記憶體常駐病毒 Memory-resident Viruses

常駐在記憶體當中,能感染每一個執行的程式。方法是修改中斷向量表:



┌─




└→

 
中斷向量表
 
服務常式
 
記憶體常駐病毒
分枝
 



←┐



─┘

發生中斷→查詢中斷向量表→病毒→服務常式

病毒與防毒程式的演化

偵測病毒的方法:比對特徵

  1. 病毒碼不長
  2. 會在執行檔的開頭與結尾

病毒隱藏特徵:加密 (附帶解密程式)

偵測解密病毒:檢查解密的演算法

  • x-raying 檢查:先嘗試各種演算法看能不能還原出病毒碼

突變病毒 Polymorphic virus:每次加密的方法都不一樣

模擬環境 generic decryption, GD

  • 用電腦模擬作業執行環境→欺騙病毒現形

病毒的來源與散佈

  • 一開始是個人創作
  • 現在靠網路散佈得更快
  • 病毒可以竊取資料,因此變得有商業利益

7.8 威脅與攻擊

  • 蠕蟲 Worm:透過作業系統漏洞進行攻擊
    UNIX中,因C語言的溢位漏洞,透過fingerd來取得管理者權限
  • 字典攻擊法:猜測帳號密碼,高達50%成功率
  • 電腦駭客 Computer Hackers
  • DoS, Denial of Service:拒絕服務攻擊→傳送大量要求以癱瘓系統服務
  • packet sniffer:攔截網路封包,取得封包內的隱密資料
  • spyware:自動且隱密地安裝在電腦上,並傳送使用者的資料到網路上

CHAPTER 8

FLOW CONTROL 流量管制

8.2 號誌 Signaling

  1. 收方與送方
  2. 收方傳送號誌,告訴送方可以傳送資料了
  3. 收方傳送號誌,告訴送方停止傳送資料
    (因有傳送時間,所以要在Buffer填滿出來的之前送出,此界限稱之為臨界值 threshold )

DTE-DCE 流量控制,硬體控制

用特別的兩條線路來傳送訊號

X-ON/X-OFF,軟體控制

將控制訊號夾雜在資料裡面

ASCII為此訊號作定義

  • DC3:X-OFF
  • DC1:X-ON

可使用X-ON/X-OFF做螢幕鎖定

總共4 則留言, (我要發問)