Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Chương 5.

Xác thực nội dung


Xác thực dùng mã MAC checksum
Là khối có kích thước nhỏ cố định gán vào thông điệp. Bên nhận thực hiện cùng giải
thuật trên thông điệp và khóa để so xem MAC có chính xác không.
→ Giải thuật tạo MAC giông giải thuật mã hóa nhưng không cần giải mã

MAC = Ck (M) trong đó

M là bản tin

K là khóa mật được chia sẻ bởi người gửi và người nhận

Ck (M) là hàm xác thực (cho kết quả là một xâu ký tự độ dài nhất định
→ Có thể có nhiều thông điệp cùng chung MAC, nhưng nếu biết MAC rất khó truy
ngược lại

Ví dụ tấn công
Đối phương biết ciphertext C

Pi = DK i (C) cho tất cả khóa Ki


Đến khi Pi khớp với bản rõ plaintext P

Xác thực dùng hàm băm


Tạo ra hàm băm có kích thước xác định từ thông điệp đầu vào: h = H(M)

Chương 5. Xác thực nội dung 1


Hàm băm không cần giữ bí mật, giá trị băm gắn kèm với thông điệp để đảm bảo tính
toàn vẹn của thông điệp. (Vì bất kì thay đổi nhỏ trong M cũng tạo ra sự thay đổi
trong h)
Các yêu cầu của hàm băm

Áp dụng với M có độ dài bất kỳ

Tạo ra giá trị băm h có độ dài cố định

Từ M, dễ dàng tính được H(M) (Nhưng chiều ngược lại là rất khó) (1 chiều)

Rất khó tìm M1 , M2 sao cho H(M1 ) = H(M2 ) (chống giả mạo bản tin)
So sánh MAC với Hash:

MAC là hash có khóa

Các hàm băm đơn giản

Input: file, message… được chia thành chuỗi các block n bit

Xử lý đầu vào: mỗi block được xử lý tại 1 thời điểm và lặp lại với các block
khác ⇒ Tạo ra 1 giá trị băm n bit.

Hàm băm XOR


Thực hiện phép XOR bit by bit. Có thể biểu diễn như sau

Ci = bi1 ⊕ bi2 ⊕ ... ⊕ bim , trong đó


Ci : bit thứ i của mã băm (i = 1…n)
m: Số block n-bit của input

bij : Bit thứ i của block j


Minh họa như sau

Chương 5. Xác thực nội dung 2


Hàm băm RXOR
Xoay đi một bit rồi thực hiện XOR (sang trái 1 bit xong mới xor block)

SHA-1 (Secure Hash Algorithm)


Đây là một hàm băm 1 chiều, có đặc điểm

Input: message có size < 264 , chia thành các block có size 512 bit

Output: một digest có độ dài 160 bit

Sơ đồ

Chương 5. Xác thực nội dung 3


Tóm cái váy lại, có thể xem sơ đồ như dưới đây

Chương 5. Xác thực nội dung 4


Vấn đề của MAC và HMAC (băm)
Sự tồn tại của bản tin đụng độ sẽ tấn công vào hệ thống xác thực.

Bản tin đụng độ


Đụng độ trong MAC: Tồn tại m1 =
 m2 mà S(k, m1 ) = S(k, m2 )
Đụng độ trong hàm băm: Tồn tại m1 =
 m2 mà H(m1 ) = H(m2 )
Nếu tìm được bản tin đụng độ thì gay. Xét ví dụ như sau:
Hacker (Mr Hong) tìm được 2 bản tin có mã MAC giống nhau

1. “I will pay 1000$ to Mr Hong”

2. “I will pay 2000$ to Mr Hong”

Trang Ngân gửi bản tin 1 cho ngân hàng. Nội dung gửi là (1, MAC(1))

Mr Hong sẽ thay bản tin này bằng bản tin thứ 2 rồi mới gửi cho ngân hàng. Tức
nội dung bây giờ thay bằng (2, MAC(1))
→ Ngân hàng nhận được, check hàm MAC thấy MAC(2) = MAC(1) → Ngân
hàng thấy hợp lệ

→ Ngân hàng sẽ chuyển cho Mr Hong 2000$ (trên thực tế Trang Ngân chỉ muốn
chuyển 1000$ thui)

Nghịch lý ngày sinh


Đọc thêm Birthday Paradox

Kiểm tra 2n/2 bản tin có xác suất tìm ra các bản tin đụng độ là ~ 0.5

1. Chọn ra 2n/2 bản tin ngẫu nhiên

2. Tính mã băm/MAC cho các bản tin

3. Kiểm tra sự tồn tại của các bản tin đụng độ. Nếu không có, quay lại bước 1

(Kỳ vọng thành công sau 2 lần thử)

Chương 5. Xác thực nội dung 5

You might also like