Bài giảng An toàn hệ thống thông tin - Chương 3b: Mã xác thực thông điệp (Message authentication codes) - Nguyễn Thị Hạnh

07/01/2018  
Chương 3b:  
MÃ XÁC THỰC THÔNG ĐIỆP  
(MESSAGE AUTHENTICATION CODES)  
GV: Nguyễn Thị Hạnh  
Nội dung chính  
1. Khái niệm toàn vẹn và xác thực thông điệp  
2. MAC (Message Authentication Code)  
3. Thảo luận vài cơ chế MAC  
° Nested MAC  
° HMAC  
° CMAC  
(Cryptography & Network Security. McGraw-Hill,  
Inc., 2007., Chapter 11)  
1
07/01/2018  
Mục tiêu  
˗ Khái niệm về toàn vẹn và xác thực thông điệp  
° Toàn vẹn là gì  
° Phương pháp nhận diện dữ liệu không toàn vẹn  
° Mục tiêu của MAC; Các phương pháp để xác thực  
thông điệp  
˗ Tìm hiểu về MAC  
° Mô hình tổng quát MAC  
° Bảo mật MAC  
° Đặc tính của MAC  
° Yêu cầu đối với MAC  
° An toàn của MAC  
3
Mục tiêu  
˗ Thảo luận về và cơ chế MAC  
° Nested MAC  
° Keyed Hash Function  
° HMAC  
° CMAC  
4
2
07/01/2018  
1. Khái niệm xác thực thông điệp  
1.1 Toàn vẹn thông điệp  
(Message Integrity)  
1.2 Xác thực thông điệp  
(Message Authentication )  
5
1.1 Integrity Message  
˗ Đối phương insert/modify/delete nội dung  
thông điệp  
6
3
07/01/2018  
1.1 Integrity Message  
˗ Phương pháp chứng minh hoặc phát hiện  
đối phương đã thay thế thông điệp M bằng  
thông điệp giả mạo M’  
° Message Digest  
° Message Detection Code (MDC)  
7
Message Digest  
˗ Tạo bản băm của thông điệp m: y=h(M)  
˗ Giống như “fingerprint” của thông điệp  
8
4
07/01/2018  
Modification Detection Code (MDC)  
˗ Một MDC là message digest mà có thể chứng  
minh tính toàn vẹn của thông điệp: thông điệp  
không bị thay đổi.  
9
1.2 Message Authentication  
Mục tiêu  
˗ Xác nhận nguồn gốc của dữ liệu  
˗ Thuyết phục với NSD là dữ liệu này chưa bị  
sửa đổi hoặc giả mạo.  
˗ Là cơ chê  
́
quan trọng để duy trì tính toàn vẹn  
và không thê  
̉
từ chối dữ liệu  
10  
5
07/01/2018  
1.2 Message Authentication  
Các phương pháp Message Authetication:  
˗ Mã hóa thông điệp: sử dụng mã hóa khóa bí  
mật, mã hóa khóa công khai  
˗ Hàm băm (Hash Function): Một hàm ánh xa  
một thông điệp có chiều dài bất kỳ vào một giá  
trị băm có chiều dài cô định sử dụng đê chứng  
thực.  
̣
́
̉
˗ Mã chứng thực thông điệp (MAC): một hàm  
và một khóa bí mật tạo ra một giá trị có chiều  
dài cố định sử dụng để chứng thực  
11  
2. Message Authentication Code  
˗ Cơ chế tổng quát  
12  
6
07/01/2018  
2. Message Authentication Code  
Bảo mật của MAC tùy thuộc vào  
bảo mật của hàm băm  
13  
Đặc điểm của MAC  
˗ MAC là một cryptographic checksum  
MAC=CK(M)  
° Nén một thông điệm M có chiều dài bất kỳ  
° Dùng một khóa bí mật K  
° Thành một xác thực kích thước cô  
́ định  
˗ Một hàm many-to-one  
° Nhiều thông điệp có cùng MAC  
° Nhưng tìm ra ra chúng là không dê  
̃
14  
7
07/01/2018  
Yêu cầu đối với MAC  
˗ Tính toán đến các loại tấn công  
˗ MAC phải thỏa mãn những điều sau:  
° Biết một thông điệp và MAC, thì không thể tìm ra  
một thông điệp khác có cùng MAC  
° Các MAC nên được phân bố đồng đều  
° MAC nên tùy thuộc ngang nhau trên tất cả các bit  
của thông điệp  
15  
An toàn của MAC  
˗ Brute-force attacks:  
° Cho một hoặc nhiều cặp [xi, MAC(K, xi)], rất khó để  
tính toán tìm ra x≠xi mà có cùng giá trị MAC của xi  
° Có 2 hướng:  
• Tấn công không gian khóa: 2k (với k – kích cở khóa)  
• hoặc giá trị MAC: 2n (Ít nhất 128-bit MAC thì mới an toàn)  
˗ Cryptanalytic Attacks: Khai thác vài đặt tính của  
thuận toán MACs hoặc hàm hash  
° Tốt hơn vét cạn  
° Có nhiều biến thể trong cấu trúc của MACs hơn  
hàm hash nên tấn công MACs khó khăn hơn hàm  
hash.  
16  
8
07/01/2018  
3. Vài cơ chế MAC  
3.1 Nested MAC  
3.2 Keyed Hash Functions as MACs  
3.3 MAC dựa vào hàm băm (HMAC)  
3.4 MAC dựa vào mã hóa khối (CMAC)  
17  
3.1 Nested MAC  
˗ Để tăng bảo mật của MAC  
˗ Băm được áp dụng nhiều lần  
18  
9
07/01/2018  
3.2 Keyed Hash Functions as MACs  
˗ Mong muốn có môt MAC dựa trên hàm băm  
° Các hàm băm nhanh hơn mã khối đối xứng  
° Mã hàm băm có thể áp dụng một cách rộng rãi  
˗ Băm bao gồm một khóa (key) cùng với thông  
điệp  
KeyedHash=Hash(Key|Message)  
° Một vài điểm yếu đã được chỉ ra với hàm này  
‰ Phát triển HMAC  
19  
3.3 MAC dựa vào hàm băm (HMAC)  
˗ Gọi là HMAC  
˗ Đặc điểm  
° Dùng hàm băm nguyên mẫu (không chỉnh sửa)  
° Cho phép thay thế dễ dàng hàm băm được nhúng  
vào trong trường hợp các hàm băm nhanh hơn hoặc  
nhiều bảo mật được tìm ra hoặc yêu cầu  
° Duy trì hiệu năng ban đầu của hàm băm mà không  
mắc phải sự suy giảm nghiêm trọng  
° Dùng và quản lý các khóa một cách dễ dàng.  
° Có một sự phân tích mật mã hiểu được về sức mạnh  
của sự chứng thực  
20  
10  
07/01/2018  
3.3 MAC dựa vào hàm băm (HMAC)  
˗ Quá trình thực hiện  
21  
3.3 MAC dựa vào hàm băm (HMAC)  
Bảo mật của HMAC  
˗ Dựa lên bảo mật của hàm băm  
˗ Tấn công HMAC:  
° Tấn công brute force trên khóa được dùng  
° Tấn công ngày sinh nhật  
˗ Hàm băm được chọn sử dụng dựa trên ràng  
buộc về tốc độ và bảo mật  
22  
11  
07/01/2018  
3.4 MAC dựa vào mã hóa khối (CMAC)  
˗ Có DAA (Data Authentication Algorithm), hiện  
nay đã lỗi thời  
˗ CMAC (Cipher-based Message Authentication  
Code), được thiết kế để khắt phục những yếu  
kém của DAA  
° Được dùng rộng rãi trong chính phủ và doanh  
nghiệp  
° Có kích cở thông điệp giới hạn  
° Dùng 2 khóa và padding  
° Được thông qua bởi NIST SO800-38B  
23  
CMAC  
24  
12  
07/01/2018  
Câu hỏi và bài tập  
1. Phân biệt giữa toàn vẹn thông điệp và chứng  
thực thông điệp  
2. Phân biệt giữa MDC và MAC  
3. Phân biệt giữa HMAC và CMAC  
4. Giải thích tại sao Public Key không được  
dùng trong việc tạo một MAC  
25  
13  
pdf 13 trang baolam 25480 Free
Bạn đang xem tài liệu "Bài giảng An toàn hệ thống thông tin - Chương 3b: Mã xác thực thông điệp (Message authentication codes) - Nguyễn Thị Hạnh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_an_toan_he_thong_thong_tin_chuong_3b_ma_xac_thuc_t.pdf