[圖資]942網概期中考重點
[圖資]942網概期中考重點
CHAPTER 6
DATA INTEGRITY 資料完整性
6.2 簡易偵錯技術 Parity Checks(同位元偵錯)
- even parity 偶同位元
- odd parity 奇同位元
分析同位元的偵錯能力
- burst error 集叢錯誤:多個位元錯誤
- 偵測出burst error的機率為50%,不足以使用在網路環境
- Parity Checking是偵錯技術的基礎
總和檢查法
- 將資料以32-bits切成部分
- 當成10位數
- 求其餘數
6.3 CRC偵錯
Cyclic redundancy check(CRC) 循環冗餘檢查法
CRC在送方的處理方法
- 在原字串加入除式最高次方個0
B(X) - B(X) 被除式 / G(X) 除式 → R(X) 餘式
- T(X) = B(X) - R(X)
- 送出T(X)
CRC在收方的處理方法
- 收方收到的是T'(X),有可能不是原本的T(X)
- 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 多字元加密
用多個因素來取代字元:
- 字母
- 所在位置
Transposition Cipher
- 橫排直送
- 破解
- 欄位
- 送出順序
Bit-Level Ciphering
加密與解密:步驟相同,原理請看XoR的特性
- 設定encryption key:即為一串位元
- 將資料依照key的長度切割成數個部份字串(substrings)
- 每個部份字串都與key做XoR
- 組合得到的結果,再進行傳送
→ encryption key長度越長,則越不容易重複,越不容易被破解
資料加密的標準
DES, Data Encryption Standard 資料加密標準
- 1970年IBM開發,1977年NIST國家安全局採用,1981年ANSI採用
- 方法:
(詳細過程不重要,大概看一下就好)
- block cipher: 區塊分割
- 64-bit為單位分割
- 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)加密鍵交換法
- 作法
- A選擇一個Key,稱為x;B選擇一個Key,稱為y
- 雙方協議兩個整數:g與n,並將之公開
- A傳送gx給B,B傳送gy給A
- A: K = (gy)x mod n,B: K = (gx)y mod n,便可獲得一樣的結果
- man-in-the-middle attack 居中攻擊法:
- 偽裝為A傳送給B,收到gy
- 反之,收到gx
- 即可得到結果
7.4 Public Key Encryption 公開加密鍵
原理:k != k'
RSA Algorithm
數論:因數分解,模數
加密過程
- 字母→數字(如ASCII)
- p, q為兩個很大的質數,n = p×q
- k公開加密鍵:無法整除(p - 1) × (q - 1)
→ ((p - 1) × (q - 1)) ÷ k ,餘數不等於0 - 將原文切割成段落
- 以段落為單位,將所有位元串合併,再轉成數值
- 將數值的k次方,再模數n,即得加密文
解密過程
- 找一個k' (私解密鍵)
k × (k'-1) mod (p-1)(q-1) = 0 - 將加密文(轉為數值)的k'次方,再模數n,即得原文(數字)
加密時需要用到:k (公加密鍵)
解密時需要用到:k (公加密鍵)、k' (私解密鍵)
Digital Signatures 數位簽名
用來驗證網路身份的方法
公開鍵 | 私有鍵 | ||||
送方 | ( | k | , | k' | ) |
收方 | ( | j | , | j' | ) |
雙重驗證:送方跟收方都要確認身分
- 送方將原文P加密為M
M = Ej(Dk'(P)) - 送方傳送M給收方
- 收方解密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'),則知道有誤
單向雜湊函數
- 產生固定長度值
H(M) = V - H(M)要容易計算
- 從V不能反計算回M
即H(M') != V - H(M1) != H(M2)
MD5 現成的hash
- 128-bit
- 512-bit 分段
- 每一步驟經四道加密
- 前一段輸出的內容,可當後一段的輸入加密鍵
PGP, Pretty Good Privacy 電子郵件用的加密法
7.5 傳輸層隱密性以及網站的確認
如何確保網站正確安全?
- SSL:網址會從http改成https
- TLS
- X.509 軟體認證機構
7.6 Firewalls 防火牆
只要電腦連上網路,便可能遭受攻擊。防火牆便能防禦這種問題。
Packet Filtering 封包過濾
最簡單的方法:檢查封包頭
兩種限制
- 限制IP:管制機器(伺服器、網站)
- 限制PORT:管制服務(程式)
限制策略(注意其比較)
- Allow:允許
default Allow, other Block→要注意新的攻擊 - Block:阻擋
default Block, other Allow→要注意需求
IP address spoofing IP位置欺騙
改變IP封包頭的資訊
應用層門閘 Application-level Gateway
檢查所有封包的要求,具彈性,但工作量也大
- packet filtering: 只能限制不能使用FTP的port 21
- application-level gateway:限制FTP只能上傳,不能下載
狀態檢查 Stateful Inspection
根據封包之前的狀態,檢查現在的封包是否能夠通過。
- 如果之前沒有要求的封包,那麼就不該有回應的封包。
- 要求封包的來源位置,與回應封包的目的位置不同,那就是錯誤的。
7.7 Viruses 病毒
檔案感染 Infecting Files
- 修改執行檔的開頭與結尾
- 在執行程式的時候,會先執行到branch (分枝)
- 由branch指引到結尾的病毒碼
- 病毒碼結束後會再執行到另一個branch
- 由branch指引到真正的程式本身
記憶體常駐病毒 Memory-resident Viruses
常駐在記憶體當中,能感染每一個執行的程式。方法是修改中斷向量表:
|
|
←┐ |
發生中斷→查詢中斷向量表→病毒→服務常式
病毒與防毒程式的演化
偵測病毒的方法:比對特徵
- 病毒碼不長
- 會在執行檔的開頭與結尾
病毒隱藏特徵:加密 (附帶解密程式)
偵測解密病毒:檢查解密的演算法
- 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
- 收方與送方
- 收方傳送號誌,告訴送方可以傳送資料了
- 收方傳送號誌,告訴送方停止傳送資料
(因有傳送時間,所以要在Buffer填滿出來的之前送出,此界限稱之為臨界值 threshold )
DTE-DCE 流量控制,硬體控制
用特別的兩條線路來傳送訊號
X-ON/X-OFF,軟體控制
將控制訊號夾雜在資料裡面
ASCII為此訊號作定義
- DC3:X-OFF
- DC1:X-ON
可使用X-ON/X-OFF做螢幕鎖定
Comments