加密:
通常可以解密
雜湊:
不是設計來解密還原的
明文:
原本看得懂、可以辨識的資料
明文經過:
加密演算法 + 金鑰
變成:
密文 Ciphertext
加密主要是為了保護:
機密性
👤 IPAS 115-1 Q37
資料加解密,最主要保護 CIA 中的哪一個?
答案:
機密性 Confidentiality
簡單來說:
用什麼方法去加密
分成兩類:
例如:
簡單來說:
以上的加密演算法用什麼值去做加密
解密時必須知道的秘密。
例如:
密碼被往後移了幾格
加密與解密:
使用相同金鑰
常見包含:
適合:
大量資料加密
金鑰分配問題
雙方要用同一把金鑰,
但該如何把金鑰安全地交給對方?
通常會用:
非對稱式加密
來解決這個問題。
又稱:
公開金鑰密碼學
使用一對不同但互相有關的金鑰:
可以公開給他人。
只有擁有者安全保管。
假設:
用鎖頭舉例應該比較好理解
保護好私鑰是非對稱式加密的安全前提
不必先共享同一把秘密金鑰。
適合:
安全交換金鑰
也可以支援:
Digital Signature(數位簽章)
速度通常比對稱式加密慢
用來證明:
基本概念:
私鑰簽署、公鑰驗證
目的是:
例如:
雜湊函數屬於:
單方向函數
原則上:
無法從雜湊值反推回原始資料
不同長度的輸入,
都會產生:
固定長度的雜湊結果
以 SHA-256 為例:
不管是輸入:
A
還是輸入:
MIKEY
輸出的長度都會是一樣的。
👤 IPAS 115-1 Q38
關於雜湊函數,
下列敘述何者正確?
答案:
C:雜湊函數可將任意長度的資料轉換成固定長度的訊息特徵值
常用於:
確認完整性
例如:
Python 的檔案,
就有使用雜湊值來確認檔案的完整性。
👤 IPAS 115-1 Q4
軟體更新檔旁提供:
雜湊值,
主要目的是實現資通安全的哪一項觀念?
答案:
A:完整性
資料庫中直接存:
User = MIKEY
Password = 123456
如果資料庫外洩或被攻擊:
攻擊者會直接看到密碼,毫不費力
比較好的方式是:
Password Hash(密碼雜湊)
但常見的密碼及 Hash,
攻擊者還是可能建立:
Rainbow Table(彩虹表)
進行破解。
在密碼進行雜湊前:
加入隨機產生的值
例如:
User = MIKEY
Password = 123456
Salt = AAA
Hash = QWE
User = TONY
Password = 123456
Salt = BBB
Hash = ASD
兩個密碼一樣,
但因為鹽值不同,
最後產生的雜湊值也不同。
能夠降低:
預先計算 Hash / 彩虹表攻擊的效果
👤 IPAS 115-1 Q39
為有效防範:
「預運算雜湊攻擊」(如彩虹表攻擊)
並確保相同密碼在系統中產生的雜湊值具有唯一性,
系統通常會在:
執行雜湊運算前
於明文密碼中加入一段:
隨機產生的唯一字串
下列哪一項是此種技術於密碼學領域之專業術語?
答案:
A:鹽值 Salt
但:
鹽值只是讓相同密碼產生不同雜湊,並不是加密金鑰
通常:
不同的資料應該會得到不同的雜湊值
但有一種例外:
碰撞 Collision
意思是:
兩份不同的輸入,卻輸出了同一個雜湊值
Hash = 12345
Hash = 12345