(二)請說明何謂訊息鑑別代碼(message authentication code, MAC)?並說明雜湊函 數在資訊安全上有何應用?亦即,可用來保障哪些安全特性?【4 分】
詳解 (共 1 筆)
詳解
何謂訊息鑑別代碼(Message Authentication Code, MAC)?
訊息鑑別代碼(MAC)是一種用於驗證訊息完整性和訊息來源真實性的技術。MAC 是基於雜湊函數或加密演算法生成的固定長度的碼,使用一個共享密鑰來生成和驗證。MAC 的主要特點包括:
- 完整性驗證:確保訊息在傳輸過程中沒有被篡改。
- 來源鑑別:確認訊息是由正確的發送者發出,而不是由未授權的第三方偽造。
- 共享密鑰:發送者和接收者共享一個密鑰來生成和驗證 MAC。
生成 MAC 的過程包括:
- 發送者使用訊息和共享密鑰生成 MAC。
- 接收者收到訊息後,使用相同的密鑰重新生成 MAC,並與接收到的 MAC 進行比較。
- 如果兩者相符,則訊息未被篡改且來源真實;否則,訊息可能已被修改或偽造。
雜湊函數在資訊安全上的應用
雜湊函數在資訊安全中有多種應用,主要保障以下安全特性:
1. 數據完整性(Data Integrity)
雜湊函數可以用來驗證數據的完整性。通過比較數據傳輸前後的雜湊值,可以檢測數據在傳輸過程中是否被篡改。
- 應用例子:文件完整性校驗、數據庫完整性驗證。
2. 數字簽名(Digital Signature)
雜湊函數在數字簽名中起著關鍵作用。數字簽名使用雜湊函數生成文件的雜湊值,再用私鑰對該雜湊值進行加密,形成數字簽名。驗證時,用戶可以用簽名者的公鑰解密數字簽名,並與原文件的雜湊值進行比較。
- 應用例子:電子郵件簽名、電子合同簽名。
3. 訊息鑑別碼(Message Authentication Code, MAC)
MAC 是基於雜湊函數和密鑰的認證碼,用於驗證訊息的完整性和訊息來源的真實性。發送者使用密鑰和訊息生成 MAC,接收者用相同的密鑰和訊息重新計算 MAC 進行驗證。
- 應用例子:安全訊息傳輸、驗證數據來源。
4. 密碼儲存(Password Storage)
雜湊函數用於將密碼轉換成雜湊值存儲在系統中,防止密碼被直接存取。當用戶登入時,系統會將輸入的密碼經過同樣的雜湊函數運算,並與存儲的雜湊值比較。
- 應用例子:用戶密碼管理、登入認證。
5. 資料指紋(Data Fingerprinting)
雜湊函數可以用於生成數據的唯一指紋,以快速比較和查找重複數據。
- 應用例子:重複數據刪除、資料庫查重。
表格形式解釋
| 安全特性 | 說明 | 雜湊函數應用 | MAC 應用 |
|---|---|---|---|
| 數據完整性 | 驗證數據是否被篡改 | 文件完整性校驗、數據庫完整性驗證 | 確保訊息未被篡改 |
| 數字簽名 | 驗證數據來源和不可否認性 | 電子郵件簽名、電子合同簽名 | - |
| 訊息鑑別 | 驗證訊息的完整性和真實性 | - | 安全訊息傳輸、驗證數據來源 |
| 密碼儲存 | 將密碼轉換成雜湊值存儲 | 用戶密碼管理、登入認證 | - |
| 資料指紋 | 生成數據唯一指紋 | 重複數據刪除、資料庫查重 | - |
總結
訊息鑑別代碼(MAC)是基於共享密鑰生成的固定長度碼,用於驗證訊息的完整性和來源真實性。雜湊函數在資訊安全中具有廣泛應用,包括數據完整性驗證、數字簽名、訊息鑑別碼生成、密碼儲存和資料指紋生成。這些應用共同保障了數據的安全性和系統的可靠性,使雜湊函數成為現代計算機安全中不可或缺的工具。