文件訊息鑑別 (Message Authentication)

Slides:



Advertisements
Similar presentations
變數與函數 大綱 : 對應關係 函數 函數值 顧震宇 台灣數位學習科技股份有限公司. 對應關係 蛋餅飯糰土司漢堡咖啡奶茶 25 元 30 元 25 元 35 元 25 元 20 元 顧震宇 老師 台灣數位學習科技股份有限公司 變數與函數 下表是早餐店價格表的一部分: 蛋餅 飯糰 土司 漢堡 咖啡 奶茶.
Advertisements

3.1 信息加密技术概述 3.2 密码技术 3.3 密钥管理 3.4 网络加密技术 习题与思考题 参考文献 实训指南
第六章 杂凑函数 聂旭云
诚信为本、操守为重、坚持准则、不做假账 第 九 章 会 计 报 表.
電子商務安全防護 線上交易安全機制.
LinkIt ONE開發板的簡介.
Chapter 1: 概論 1.1 密碼學術語簡介及假設
教科書:資訊與網路安全概論,黃明祥、林詠章著,Mc Graw Hill出版,普林斯頓總經銷
第六章 加密技術應用 6-1 建立信任關係 6-2 對稱金鑰加密技術 6-3 不對稱金鑰加密技術 6-4 雜湊加密技術 6-5 加密工具程式
Chapter 6 資料加密標準. 學習目標 回顧 DES 的發展歷史。 定義 DES 的基本結構。 描述 DES 建構元件的詳細情形。 描述回合金鑰產生程序。 分析 DES 。
電子資料保護 吳啟文 100年6月7日.
06資訊安全-加解密.
财经法规与会计职业道德 (3) 四川财经职业学院.
温 馨 提 示 感谢您从“河姆渡教师教育网”下载使用该PPT文件,仅供学习参考,未经作者同意勿在公开场合使用,谢谢合作!
我国三大自然区.
 第20讲 中国的交通.
第十二单元 第28讲 第28讲 古代中国的科技和文艺   知识诠释  思维发散.
一、液压与气压传动的控制元件分类 1、按用途分类 根据控制元件在系统中的作用,可分为下几类: 方向控制阀 压力控制阀 3) 流量控制阀
Project 2 JMVC code tracing
密碼學簡介與簡單生活應用 Introduction to Cryptography & Simple Applications in Life 2010 Spring ADSP 05/07.
題目:十六對一多工器 姓名:李國豪 學號:B
資訊安全-資料加解密 主講:陳建民.
《计算机网络安全的理论与实践(第3版)》. 【美】王杰、【美】Z. Kissel 、孔凡玉, 高等教育出版社, 2017年.
第三章 公钥基础设施PKI 本章学习重点掌握内容: 密码学基本术语 密码体制分类 私钥密码体制的主要特点 公钥密码体制的主要特点
Visual C++ introduction
TCP協定 (傳輸層).
Module 2:電子商務之安全.
CH19資訊安全 認識資訊安全與其重要性 了解傳統與公開金鑰密碼系統, 以及基本的安全性觀念 了解訊息鑑別與雜湊函數 了解數位簽章法
資電學院 計算機概論 F7810 第十七章 資訊安全 陳邦治編著 旗標出版社.
2-3 基本數位邏輯處理※.
使用VHDL設計—4位元加法器 通訊一甲 B 楊穎穆.
计算机安全与保密 (Computer Security and Applied Cryptography )
SQL Stored Procedure SQL 預存程序.
SSL加解密原理 姓名:林子鈞 指導老師:梁明章老師
第十二讲 数字签名算法 郑东 上海交通大学计算机科学与工程系.
基礎密碼學 數位簽章及其應用 樹德科技大學 資訊工程系 林峻立 助理教授.
網路安全期末報告─SSL/TLS 指導教授:梁明章 報告學生:A 徐英智.
雜湊與MAC演算法 Hash and MAC Algorithms
一、认真审题,明确作图目的。 二、作图按投影规律准确无误。 三、图线粗细分明。 四、需要保留作图线的一定保留。
Introduction to FinTech
網路安全技術 OSI七層 學生:A 郭瀝婷 指導教授:梁明章.
密碼學 Chapter 4 基於電腦的非對稱性金鑰密碼學演算法
Topic Introduction—RMI
Ch20. 計算器 (Mac 版本).
為何電子商務的安全性令人擔憂? 電子商務資訊安全 實體商務也擔心安全-但數位化的偽造數量會更多更快
七、机械能守恒定律的应用.
Introduction to C Programming
Definition of Trace Function
使用VHDL設計 七段顯示器 通訊工程系 一年甲班 姓名 : 蘇建宇 學號 : B
挑戰C++程式語言 ──第8章 進一步談字元與字串
密碼學 Chapter 4 基於電腦的非對稱性金鑰密碼學演算法
基础会计.
電子商務交易安全 A 楊凱翔.
電子商務資訊安全 網路資訊安全.
moica.nat.gov.tw 內政部憑證管理中心
函數應用(二)與自定函數.
網路安全技術 A 林建宏 指導教授:梁明章老師
1.理解力和运动的关系,知道物体的运动不需要力来维持。
使用VHDL設計-8x3編碼電路 通訊一甲 B 楊穎穆.
為何電子商務的安全性令人擔憂? 第二節 電子商務資訊安全 實體商務也擔心安全-but數位化的偽造數量會很多 網際網路是互聯的(匿名與距離性)
打Mole不打Ladybug (IV): 讓使用者控制Ladybug移動 靜宜大學資管系 楊子青
資料表示方法 資料儲存單位.
ARP攻擊 A 吳峻誠.
多站台網路預約系統之 AJAX即時資料更新機制
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
使用VHDL設計-七段顯示 通訊一甲 B 楊穎穆.
Chapter 4 Multi-Threads (多執行緒).
應用加密技術 張維哲 指導老師:梁明章.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
Presentation transcript:

文件訊息鑑別 (Message Authentication)

本 章 內 容 8.1 前言 8.2 向雜湊函數 8.3 件訊息的完整性驗證 8.4 MD5單向雜湊函數 8.5 SHA單向雜湊函數 8.1 前言 8.2 向雜湊函數 8.3 件訊息的完整性驗證 8.4 MD5單向雜湊函數 8.5 SHA單向雜湊函數 8.6 文件訊息的來源驗證 8.7 訊息鑑別碼

8.1 前言 在網路上公開的傳送文件訊息(Document or Message)很容易遭到駭客攔截篡改、新增或刪除等攻擊。 需對文件訊息作完整性(Integrity)驗證。 利用單向雜湊函數(One-Way Hash Function, Secure Hash Function) : MD5, SHA 該文件訊息是否確實為某人所送過來的文件訊息,而非由他人假冒。 需驗證訊息的來源是否正確,亦可作完整性驗證。 利用 Message Authentication Code (MAC)

8.2 單向雜湊函數 ◎ 單向雜湊函數二個主要功能 (1) 將文件訊息打散及重組,使其不能再還 原為原始文件訊息。 (2) 將任意長度的文件訊息壓縮成固定長度 的訊息摘要(Message Digest, MD)。 ◎ 數學式子 MD=H(M) Example: H(M) = M 2 mod 2n-1 令n=5 ,H(M) = M 2 mod 31, H(M)介於 {0, …30} 令n=128 ,H(M) = M 2 mod 2128-1, H(M)介於 {0, …2128-2 } H(.):一單向雜湊函數 M :表一任意長度文件訊息

單向雜湊函數特性 MD=H(M) ◎ 單向雜湊函數三種特性 (1) 給定文件訊息M,可很容易算出其對應的訊息摘要MD 。 (2) 給定一訊息摘要MD,很難從MD去找到一個文件訊息M’,使H(M’)= MD。 (3) 給定一文件訊息M,很難再找到另一文件訊息M’,使H(M)=H(M’) , 避免碰撞的情況發生 (Collision-resistance) 。 對於訊息 M,在計算上是無法找出另一個訊息 M’ ≠ M,使得 H(M) = H(M’) 。 『弱雜湊函數』(Weak Hash Function) 若 H(M) = H(M’),則 M = M’,若 H(M)≠H(M’),則 M≠M’。 『強雜湊函數』(Strong Hash Function)

8.3 文件訊息的完整性驗證 ◎ 以單向雜湊函數做文件訊息的完整驗證,其驗證 方式如下: = H(M) = H(M) MD = MD’ 達到完整性 M 未被竄改 = H(M) = H(M) 缺乏訊息的來源作鑑別 將M做壓縮處理以降低資料傳輸與比較時間

比較與前章數位簽章的差異 SA=EdA(M) DeA(SA)=DeA (EdA(M)) E D M = DeA (EdA(M)) 達到完整性且訊息來源確認 M與 SA未被竄改

破解雜湊函數 破解雜湊函數的基本原理 偽造訊息M’,使其與原來訊息M的雜湊值相同 M’ ≠ M,使得 H(M) = H(M’) 碰撞的情況發生 (Collision-resistance) => 破壞完整性

8.4 MD5單向雜湊函數 MD5雜湊函數是麻省理工學院教授R.Rivest設計 源自於更早的MD4雜湊函數加以改良而成 RFC 1321標準文件不只提供MD5程式,也含有測試程式,容易瞭解 MD5演算法的輸入是一個不超過264個位元長度的訊息,而固定產生輸出為128位元的訊息雜湊值 MD5已被中國山東大學的王小雲教授等學者於2004年所破解 9

文件分割 將訊息分割成N個512位元的小區塊,Y0、Y1、...、YN-1,其總長度等於N × 512位元。將分割後的512位元訊息區塊,再分割為十六個32位元的字元,以M[0]、M[1]、...、M[15]來表示這16個32位元的字元。 (1) 文件分割 (2) M[0]… M[15] MD 10

初始化暫存器 Initial Vector, IV A: 01 23 45 67 B: 89 AB CD EF C: FE DC BA 98 Note: hexadecimal values A: 01 23 45 67 B: 89 AB CD EF C: FE DC BA 98 D: 76 54 32 10 11

MD5單向雜湊函數 添加位元及長度資訊 (L+X) mod 512=448 12

單一訊息區塊的運算過程

HMD5之每一回合運算過程

MD5的非線性計算方式及其真值表

MD5的T [i]參數值

8.5 安全雜湊演算法 安全雜湊演算法(Secure Hash Algorithm, SHA)是由 NIST及NSA於1993年所發展 SHA是以MD4雜湊函數為基礎 而其設計方式與MD4非常類似 在1995年公佈修訂版本 SHA-1 SHA-1也同時列為RFC 3174 RFC 3174內容與FIPS 180-1完全相同,但還加入C的實作程式碼 SHA-1會產生160位元的雜湊值

Secure Hash Algorithm (SHA-1) MD

安全雜湊演算法 NIST在2002年又對此標準修訂並公佈了FIPS 180-2,這定義了SHA的三個新版本: SHA-2 雜湊值長度為256、384、512的SHA-256、SHA-384 、SHA-512 2004年2月,發佈了一次FIPS PUB 180-2的變更通知,加入了一個額外的變種SHA-224,這是為了符合雙金鑰3DES所需的金鑰長度而定義。 這些新版的架構都相同,也使用如同SHA-1的模數算術和二進位邏輯運算 NIST在2005年表示將逐步淘汰SHA-1,並且將在2010年之前以其他的SHA作為正式標準

SHA-512處理過程

SHA家族 演算法 輸出雜湊值長度 (bits) 中繼雜湊值長度 (bits) 資料區塊長度 (bits) 最大輸入訊息長度 (bits) 一個Word長度 (bits) 迴圈次數 使用到的運算子 碰撞攻擊 SHA-0 160 512 264 − 1 32 80 +,and,or,xor,rotl 是 SHA-1 存在263的攻擊 SHA-256/224 256/224 256 64 +,and,or,xor,shr,rotr 尚未出現 SHA-512/384 512/384 1024 2128 − 1

OpenSSL進行SHA-256運算 假設將三位元組”abc”放於檔案”foo”,那麼可用下列指令來計算檔案”foo”的SHA-256雜湊函數值 openssl dgst –sha256 foo

8.6 文件訊息的來源驗證 單向雜湊函數雖然可用來作訊息的完整性驗證但實際運用上卻是行不通的。 問題在於沒有對訊息的來源作鑑別(Authentication)。

8.6.1 植基於對稱式密碼系統的文件訊息鑑別機制 × ◎ 對稱式密碼系統文件訊息鑑別機制的鑑別式如下: 若M很大傳輸與比較時間太長 (1)完整性驗證 M=M’ × =EK(M) =DK(C) =DK(EK(M))=M (2)訊息的來源作鑑別 張三李四用同一把K

8.6.2 植基於公開金鑰密碼系統的文件訊息鑑別機制 ◎ 以公開金鑰密碼系統來做數位簽章,其文件訊息 鑑別方式如下: =H(M) (1)完整性驗證 MD=MD’ =EPRa(H(M)) =DPUa(S) =DPUa(EPRa(H(M))) =H(M) E D =H(M) 公開金鑰密碼系統運算時間費時 (2)訊息的來源作鑑別 因用張三公鑰解簽章 代表張三用私鑰簽章

8.7 訊息鑑別碼 為改善前面方法需大量運算的缺點 文件訊息鑑別碼(Message Authentication Codes, MAC) 可用來驗證文件訊息是否為約定好通訊的雙方所傳送(訊息的來源作鑑別),並可驗證文件訊息在傳遞過程中是否遭到篡改(完整性驗證)。 利用對稱式密碼系統(8.7.1) 及金鑰相依單向雜湊函數(8.6.3 & 8.7.2)所構成的MAC 相較數位簽章 MAC缺少不可否認性 (1)完整性驗證 MAC=MAC’ (2)訊息的來源作鑑別

8.7.1 CBC-MAC ◎ CBC-MAC是一種用CBC區塊加密模式來實作文件訊 息鑑別的作法,只需將文件訊息用CBC模式來加密 即可。 (1)將所要傳遞文件訊息長度擴充為64位元的位數, 不足以0補上。 (2)將此擴充文件訊息依每64位元切割成一個區塊。 (3)先對第一個區塊作DES的加密,加密時需輸入一 56位元的祕密金鑰,所得到的64位元的密文,再 與下一個文件訊息區塊作互斥或(XOR)運算,然後 再用DES對其加密,以此類推。

CBC-MAC(RIPE-MAC1) MAC機制 MAC 3DES (RIPE-MAC3) AES MAC = ON =EK(BN⊕ON-1) =EK(BN⊕EK(BN-1⊕ON-2)) =EK(BN⊕EK(BN-1⊕EK(BN-2⊕… ⊕ EK(B2⊕ EK(B1))))) 3DES (RIPE-MAC3) AES

8.6.3 金鑰相依單向雜湊函數的訊息鑑別機制 為改善前面方法需大量運算的缺點,便有了植基於金鑰相依單向雜湊函數,此種機制又稱文件訊息鑑別碼(Message Authentication Codes, MAC) (1)完整性驗證 MAC=MAC’ (2)訊息的來源作鑑別 (1)MAC= H(K||M) =>不安全 (2)MAC= H(M||K)、MAC=H(K1||M||K2) (3)MAC=H(K || H(K||M))、MAC=H(K1 || H(K2||M))

8.7.2 單向雜湊函數MAC (HMAC) ◎ 這種MAC類型是利用一單向雜湊函數,配合一祕密金鑰所構成的文件訊息鑑別碼。 ◎ 串接方式可以是H(K||M),但不安全。較安全的串接方式是H(M||K)、H(K1||M||K2)、H(K || H(K||M))、H(K1 || H(K2||M))。 ◎ 此類的文件訊息鑑別碼機制也可讓使用者自行來 決定要採用何種單向雜湊函數,在實作上相當便利 也具有彈性。例如: MD5、SHA-1、RIPEMD-160、Whirlpool

以H(K||M)串接方式不安全 可任加一個區塊的文件訊息M’到原文件訊息的後面其驗證的結果都會正確。 以MD5單向雜湊函數演算法為例,若王五攔截到張三要傳給李四的文件訊息M及其訊息鑑別碼H(K||M),那麼王五根本不需要知道張三跟李四所協議的共同秘密金鑰K就可以任加一段訊息M'至原訊息後面,且有辦法得到正確的訊息鑑別碼H(K||M||M')。 利用攔截到的128位元訊息鑑別碼H(K||M)作為MD5中A、B、C、D四個暫存器的初始值。 將添加訊息M'分割成數個512位元的訊息區塊,再透過MD5演算法來做運算。 原來H(K||M)最後得到的128位元輸出結果就等於H(K||M||M’)。 SHA也有同樣的問題 31

單向雜湊函數MAC (HMAC) 利用雜湊函數建構MAC稱HMAC,也成為近年來的新趨勢: 因為雜湊函數通常較快 密碼雜湊函數的程式庫函式相當普遍 SHA之類的雜湊函數並非為MAC設計,且因這類的雜湊函數不依靠金鑰,因此不能直接用在MAC 任何以雜湊函數為基礎的MAC函數安全性,是由所採用的雜湊函數強度決定 HMAC已經被納入多項國際標準的規格 RFC 2104的內容就是HMAC HMAC也已經是NIST標準(FIPS 198) IP Security規格要求需以HMAC實作MAC SSL等網際網路協定也採用HMAC

單向雜湊函數MAC (HMAC) 架構 HMAC可以如下表示: HMACK(M)= HMAC(K,M) = H [(K+ ⊕ opad) || H [ (K+ ⊕ ipad) ||M)]] K+ = 在K的左邊附加0,使其長度為b位元 ipad = 將00110110(也就是16進位的36)重複b / 8次 opad = 將01011100(也就是16進位法的5C)重複b / 8次 M