資訊安全與管理筆記
目錄
第一週
推薦書
William Stallings. Cryptography and Network Security: Principles and Practice (7th Edition). Prentice Hall, 2017(主要)
Behrouz A. Forouzan. Introduction to Cryptography and Network Security. McGraw-Hill, 2007.
Douglas R. Stinson. Cryptography : theory and practice (3/e). Boca Raton : Chapman & Hall/CRC, 2006.
Bruce Schneier. Applied Cryptography: Protocols, Algorithms, and Source Code in C (2/e). John Wiley, 1996.
Jon, C. Graff. Cryptography and E-commerce: A Wiley Tech Brief. Wiley, 2001.
Mostafa Hashem Sherif. Protocols for Secure Electronic Commerce (Second Edition). CRC Press, 2003.
Stephen Northcutt and Judy Novak. Network Intrusion Detection (3rd Edition). Sams Publishing, 2002.
Alfred J. Menezes, Paul C. van Oorschot, and Scott A. Vanstone. Handbook of Applied Cryptography. CRC Press, 1996 (available online at http://www.cacr.math.uwaterloo.ca/hac/).
密碼學(Cryptography)的四大目標
保密性Confidentiality
不讓資料的內容被攻擊者知悉。
完整性Integrity
確保資料沒有被蓄意重複,插入,修改,重新編排,或重放。
認證Authentication
確保訊息是來自正確來源,而非仿冒者。
不可否認性Nonrepudiation
個體傳出的訊息,不可以否認自己傳出訊息的事實。例如某個文件上方有自己的數位簽章,此人就很難否認自己沒有簽署過該文件。
可用性Avaliability
可以維持服務的能力,例如該伺服器在被Dos的情況下仍能維持服務的能力。
安全事件
密碼竊取Password stealing
病毒或特洛伊木馬Viruses & Trojan Horsesg
蠕蟲Worm
拒絕服務攻擊Denial of Service (DOS)
…不勝枚舉,仍可添加。
安全威脅Security Threats
此處列舉出資料外洩的四種形式。
1.中斷 Interruption
訊息傳輸被阻斷。此種攻擊針對服務的可用性()Avaliability)。
2.攔截 Interception
訊息在傳輸過程中被擷取並且被解密,例如:戰爭時間諜找到機會抄錄到軍情相關紙條,儘管紙條還是傳到前線,但是軍情仍被竊取。
3.修改 Modification
訊息被攔截並且加以修改。此種攻擊針對資料的完整性(Integrity)。
4. 捏造Fabrication
攻擊者宣稱自己是合法的訊息傳播者,偽裝成某個人與他人進行通信。此種攻擊針對資料的認證()Authentication)。
被動式威脅Passive Threats
攔截(Interception)訊息,並洩漏訊息內容(release of message contents)。甚至無法解開訊息內容時,也可以進行 流量分析(Traffic Analysis),像是每天早上某個IP都會傳訊息到某企業的網站,這可能代表這個用戶是企業員工。
攻擊者目標是發掘傳輸中的資訊內容。
此種攻擊方式很難被發現,但是可以進行防範。
主動式威脅Active Threats
此種攻擊針對修改數據傳輸,或者製造假的傳輸,例如重放。
這類攻擊容易偵測,但是難以防範。
主動攻擊的四種型態
- 偽裝(成某個使用者)masquerade
- 重放replay
- 修改訊息modification of messages
- 拒絕服務(例如:DDos)denial of service
ITU-T X.800架構
ITU-T X.800標準是OSI提出的安全架構建議書,在網路上可以查詢得到。
上述的保密性,完整性,認證,不可否認性,也由該文件提及。
符合RFC 2828對於安全的定義。
第二週
加密標準
CMVP from NIST
國家標準暨技術研究院(NIST)(美國組織) 加密驗證模塊程序(CMVP)
NIST特別出版品800-140C(NIST Special Publication 800-140C) 其中記載了現代主要的加密驗證模塊的標準CMVP。
該內容包含了
-
對稱加密 AES,TDES,SKIPJACK
-
數位簽章 DSA,RSA,ECDSA
-
安全Hash標準(SHS)
-
SHA-3標準
-
訊息驗證(Triple-DES,AES and HMAC)
FIPS 140-2
聯邦資訊處理標準 (FIPS)出版了,FIPS 140-2,提供了加密模組的一些設計與管理標準。 如果一個加密通訊系統可以滿足FIPS 140-2,則代表可以達到一定的安全標準。
PGP
PGP公司於1997年測試用Brute-force破解密碼的時間長短。
當密碼40bits時,兩秒即可破解。
但是當70bits時則需要700個世紀。
128bits時需要10^16個千年。
所以金鑰長度非常重要。
密碼長度為26個字母重新排列時,共有26!個可能,共有2*(10^26),就算一次嘗試只需要1us,也需要6.4*10^6 年,來嘗試出答案。
傳統加密技術
Subsitution 替代法
凱撒加密
明文:meet me after the toga paety
所有字母往移動三位得到密文,超過Z則會從A開始。
密文:PHHW PH DIWHU WKH WRJD SDUMB
數學表示法: C = E(p) = (p+3) mod (26) P = E(c) = (p-3) mod (26)
這種方式非常容易被Brute-force
嘗試26次以內就能猜到答案。
Monoalphabetic Ciphers
每個英文字母都對應到某個另外一個字母,例如A變成M,B變成E。 此種加密可能性有26!,也就是26的階乘。
但破解的方式,可以使用單字的出現頻率來破解,例如:E在一段文章中出現的頻率約12.702%。
這樣我們就能猜測,出現最多的密文字母可能是E。
Z在一段文章中出現的頻率約11.67%。,所以密文中出現頻率第二高的字母可是Z。
Playfair Cipher
兩個字一組去對應另外一個字,用列表示的方式對應。
詳細請參考:
https://zh.wikipedia.org/wiki/%E6%B3%A2%E9%9B%B7%E8%B2%BB%E5%AF%86%E7%A2%BC
此種方式在第一次世界大戰廣泛被使用,但是此種方法的變化亮還是有限。
Polyalphabetic Ciphers
多表替換加密
Vignere Cipher
每一個英文字,隨著金鑰的不同產生不同的結果。
例如:
明文:abc
金鑰:234
這樣a往後移動1位(2減去1,1代表不移動。),所以a變成b。
b移動2位,b變成d。
c往後移動3位,c變成f。
但是每次金鑰循環內,文字的對應都是固定的。
Autokey Cipher
Vignere Cipher的變體
例如:
明文:abcdefg
金鑰:234"abc"
用前方解出來的明文來做成金鑰的後半段。
但被解出一點點,後面就全部被解出來了。
One-Time Pad
明文: abcdefg
金鑰: 8431765
隨機的金鑰跟明文一樣長,相對比較安全。
但是Key太長,傳送會成為一個問題,並且要產生非常好的隨機數值是很困難的。
只有在傳輸內容短時,才相對比較可能。
Transposition Ciphers 換位法
換位法可以減少字母替代加密法的缺點。
換位法就是用某種方式將明文的內容亂序,並且知道金鑰後可以將亂序內容整合回來。
當前的對稱加密,通常是換位法與替代法的混合。
Rotor Machines (加密機)
有名的有Enigma加密機。
使用轉盤進行機械式的字母替代法。
Steganography 隱寫術
例如:
將圖片的LSB(最不重要的Bit),替換成要傳遞的祕密語音。
少數的Bit被替換調之後,圖片在肉眼之下很難觀察出變化。
隱藏墨水,與隱藏手勢,繪畫中潛藏畫家的訊息…等也都可以算使某種藏密學。
第三週
Block Ciphers 與 Stream Ciphers
Block Cipher一次加密一個Block,也就是數個bit。
Stream Cipher 則是一次加密一個bit。
單純對應的Block Cipher與其問題
例如:
假定我們的一個Block是4個bit
0000 -> 0011
0001 -> 0100
0010 -> 1101
…
單純對應的Block Cipher問題
每一個Block都有其相應的解密。
如果一個Block有64個bits。
則要紀錄64*(2^64)種明文與密文的Block對應。
如果Block太大,儲存資訊量也會非常的龐大。