120 likes | 303 Views
第六章 訊息確認. 6-1 訊息確認簡介 6-2 完整性檢查 6-3 訊息確認碼 – MAC 6-4 MAC 演算法強度 6-5 MAC-DES 演算法 6-6 HMAC 演算法 6-7 MAC 操作模式. 6-1 訊息確認簡介. Message Authentication (MA) 收到一份訊息時,須考慮的問題: 該訊息(或郵件)在傳遞當中是否遭受他人竄改。 該訊息果真是由對方所發送的? 『 完整性檢查 』(Integrity Check) 雜湊函數 訊息確認 :秘密鑰匙系統 數位簽章 :公開鑰匙系統 雜湊函數
E N D
第六章 訊息確認 • 6-1 訊息確認簡介 • 6-2 完整性檢查 • 6-3 訊息確認碼 – MAC • 6-4 MAC 演算法強度 • 6-5 MAC-DES 演算法 • 6-6 HMAC 演算法 • 6-7 MAC操作模式
6-1 訊息確認簡介 • Message Authentication (MA) • 收到一份訊息時,須考慮的問題: • 該訊息(或郵件)在傳遞當中是否遭受他人竄改。 • 該訊息果真是由對方所發送的? • 『完整性檢查』(Integrity Check) • 雜湊函數 • 訊息確認:秘密鑰匙系統 • 數位簽章:公開鑰匙系統 • 雜湊函數 • 加密或簽章演算法 (訊息確認演算法)
6-2 完整性檢查 • Integrity Check Value (ICV) • 利用雜湊演算法: • MD5 • MD4 • SHA-1 • 明文計算 ICV • 利用訊息明文計算出 ICV • 密文計算 ICV • 利用訊息密文計算出 ICV
6-3 訊息確認碼 - MAC • (Message Authentication Code (MAC) • MAC-DES 演算法 • HMAC 演算法 • 演算法: • 雜湊演算法 • 鑰匙嵌入方法 • 運作程序:
6-4 MAC 演算法強度 (一) • MAC 強度 • 攻擊 MAC 的方法: • 暴力攻擊法 • 生日攻擊法
暴力攻擊法 嘗試找出『秘密鑰匙』之破解 MAC 演算法: MAC = CK(M) 其中: MAC: MAC 值,長度為 k 。 C: MAC 演算法。 K:秘密鑰匙,長度為 n ,如 n > k。 M:訊息。 可能出現的鑰匙為 2n 可能出現的 MAC 碼為 2k 兩者之間可能相符的機會為 2(n-k) 蒐集:({M1, MAC1}、{M2, MAC2}、{M3, MAC3}, …,) 使用已知的演算法,並測試鑰匙。 破解步驟如下: 第一回合: 給予:M1與MAC1 = CK(M1) 對所有2k支鑰匙測試MAC1 = Ci(M1),i = 1, 2, …, 2k 約有2(n-k)把鑰匙符合。 第二回合: 給予:M2與MAC2 = CK(M2) 測試2(n-k)支鑰匙MAC = Ci(M1),i = 1, 2, …, 2(n-k) 約有2(n-2k)把鑰匙符合。 6-4 MAC 演算法強度 (二)
6-4 MAC 演算法強度 (三) • 生日攻擊法 • 不破解鑰匙,利用已知明文(M1),去偽造另一個明文(M2)。 • CK(M1) = CK(M2)
MAC 演算法 MAC-DES 演算法 HMAC 演算法 MAC-DES 演算法 FIPS PUB-113 標準 ANSI X9.17 標準 Data Authentication Algorithm (DAA) Data Authentication Code (DAC) 運作程序: DES區塊加密 區塊長度:64 bits 鑰匙長度:56 bits 6-5 MAC-DES 演算法
6-6 HMAC 演算法 (一) • Hash Message Authentication Code (HMAC) • RFC 2104 標準 • 可嵌入多種雜湊演算法:MD4、MD5 與 SHA-1 • 加入『秘密鑰匙』
6-6 HMAC 演算法 (二) • HMAC 架構 • HMACK(M) =H [(K+⊕ opad) || H [(K+⊕ ipad) || M]] • 鑰匙 K 以 0 補滿 512 bits • ipad:將00110110 重複b/8 次 • opad:將01011100 重複b/8 次
MAC 操作模式 明文與 MAC 傳送 明文與 MAC 加密後傳送 密文與 MAC 傳送 密文計算 MAC 後傳送 明文與 MAC 傳送 明文與 MAC 加密後傳送 6-7 MAC 操作模式 (一)
6-7 MAC 操作模式 (二) • 密文與 MAC 傳送 • 密文計算 MAC 後傳送