Slide 150
Slide 150 text
小抄/懶人包
1. 非對稱加密相關問題與建議
1a. 非對稱式加密應該搭配對稱式加密使用。
1b. RSA不能直接用,需要搭配專門的
Padding Scheme。
1c. RSA存在Weak Key。(Pollard p-1 Factorization, Shared Factor, Weiner)。
1d. 可以考慮ECC系列演算法,因為安全性下,需要較少運算。
1e. RSA跟ECC都存在Timing/Power Side Channel,如果要避免,
可以考慮Ed25519。
1f. ECDSA每次簽章的k必須隨機不重複。(PS3因此被破解)
1g. 簽章驗證應該依照標準檢測所有參數。
(ie. CVE-2016-1494)
2. 對稱演算法相關問題與建議
2a. Stream Cipher必須有Nounce,且必須每次不一樣。
2b. 部份Blocker Cipher有Weak Key。(例如Blowfish)。
2c. Block Cipher應注意Cipher Mode,不該單純用ECB。
2d. Block Cipher的Padding Oracle問題。
2e. Block Cipher Mode建議使用GCM模式,因為性能較優異且帶有驗證功能。
3. Hash相關問題與建議
3a. md5/sha1應淘汰。
3b. 密碼不應該用單純Hash存,應該使用PBKDF或scrypt。
3c. 注意Length Extension Attack,因此HMAC請照標準HMAC格式走。
4. 其他
4a. 亂數應該使用標準的亂數演算法
(NIST系列,DUAL_EC_DRBG除外)。
4b. 亂數應確保有足夠的Entropy。
4c. 封包的大小與Timing有Side Channel。
4d. 承4c,該漏洞可利用於破解通話加密,以及分析
TLS裡面瀏覽的網站內容。
4e. TLS有SNI會洩漏你瀏覽哪個網站。
4f. 除非必要,建議使用現成,常用的套件或協定
(ie. OpenSSL+TLS)
4g. 注意殘留,硬碟/記憶體需要Shred,如果使用現成套件,用完要釋放。