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
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:
bai_giang_an_toan_he_thong_thong_tin_chuong_3b_ma_xac_thuc_t.pdf

