3
PHẦN II: MÃ XÁC THỰC THÔNG ĐIỆP
(MESSAGE AUTHENTICATION CODES)
Nội dung chính
Khái niệm tồn vẹn và xác thực thông
điệp
Các cơ chế mã xác thực thông điệp
Ứng dụng mã xác thực thông điệp
(Cryptography & Network Security.
McGraw-Hill, Inc., 2007., Chapter 11)
1. Khái niệm xác thực thơng điệp
1.1 Tồn vẹn thơng điệp
(Message Integrity)
1.2 Xác thực thông điệp
(Message Authentication )
3
Integrity Message
Đặt vấn đề
4
Integrity Message
Tính tồn vẹn thơng điệp:
• Cho phép các bên liên lạc xác minh rằng các tin nhắn
nhận được được xác thực.
•
•
•
•
•
Nội dung thơng điệp chưa bị thay đổi
Nguồn của thông điệp tin cậy
Thông điệp chưa bị phát lại
Thông điệp được xác minh đúng thời điểm
Sự liên tục của thông điệp được duy trì
5
1.1 Integrity Message
• Đối phương insert/modify/delete nội dung thơng điệp
6
1.1 Integrity Message
7
Mã xác thực thơng điệp
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 người sử dụng 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 tồn vẹn
và không thể từ chối dữ liệu
8
Mã xác thực thơng điệp
Message Authentication
Định nghĩa
• Là một kỹ thuật chứng thực liên quan đến việc sử dụng
một khoá bí mật để tạo ra một khối dữ liệu có kích thước
nhỏ cố định (checksum hoặc MAC) và được thêm vào
thơng điệp.
• Kỹ thuật này giả sử rằng 2 phía tham gia truyền thông là
A và B chia sẻ một khố bí mật K. Khi A có một thơng
điệp gởi đến B, A sẽ tính tốn MAC như là một hàm của
thơng điệp và khố: MAC=C(K, M), với
•
•
•
•
M: thơng điệp đầu vào có kích thước biến đổi
C: hàm MAC
K: khố bí mật chia sẻ giữa người gởi và người nhận
MAC: mã chứng thực thơng điệp có chiều dài cố định
9
Mã xác thực thông điệp
Message Authentication
10
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 xạ 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
Mã hóa thơng điệp:Xác thực
bằng mật mã khóa đối xứng
• Xác thực bằng mật mã khóa đối xứng
• Đảm bảo thông báo được gửi đúng nguồn do chỉ bên
gửi biết khóa bí mật
• Khơng thể bị thay đổi bởi bên thứ ba do khơng biết
khóa bí mật
12
Mã hóa thơng điệp:sử dụng
mã hóa khóa bí mật
13
Mã hóa thơng điệp:Xác thực
bằng mật mã khóa đối xứng
14
Mã hóa thơng điệp:Xác thực
bằng mật mã khóa đối xứng
• Xác thực bằng mật mã khóa cơng khai
• Khơng những xác thực mà cịn tạo ra được chữ ký số
• Tuy nhiên, phức tạp và tốn thời gian hơn mã đối xứng
• Xác thực bằng mã hóa có nhược điểm:
• Tốn thời gian để mã hóa cũng như giải mã tồn bộ
thơng báo
• Nhiều khi chỉ cần xác thực mà khơng cần bảo mật
thơng báo (cho phép ai cũng có thể biết nội dung, chỉ
cần không được sửa đổi)
15
Mã hóa thơng điệp sử dụng
mật mã khóa cơng khai
16
Xác thực bằng mật mã khóa
cơng khai
17
Hàm băm: 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
18
Message Authentication Code
19
Modification Detection Code
(MDC)
• Một MDC là message digest mà có thể chứng
minh tính tồn vẹn của thơng điệp: thơng điệp
khơng bị thay đổi.
20
Message Authentication Code
(MAC)
• Mã chứng thực thơng điệp (MAC) có thể coi là một dạng
checksum của mã hóa, được tính theo cơng thức
MAC = C(M, K), trong đó:
1. M là thơng điệp cần tính MAC
2. K là khóa bí mật được chia sẻ giữa người gởi và người
nhận
3. C là hàm tính MAC
• Vì MAC có khóa K bít mật giữa người gởi và người nhận
nên chỉ có người gởi và người nhận mới có thể tính được
giá trị MAC tương ứng.
21
Message Authentication Code
(MAC)
• Thơng điệp cộng với MAC được truyền tới người nhận.
• Người nhận thực hiện các tính tốn tương tự trên các
thông điêp đã nhận sử dụng cùng một khóa bí mật, để
tạo ra một MAC mới.
• MAC vừa tạo sẽ được so với MAC nhận. Giả sử chỉ
người nhận và người gửi biết khóa bí mật:
• Nếu MAC nhận phù hợp với MAC vừa tính thì thơng điệp khơng
bị thay đổi trong q trình truyền và chắc chắn được gởi tới từ
người gởi đã biết.
• Nếu MAC nhận khác với MAC vừa tính thì thơng điệp đã bị thay
đổi hoặc bị giả mạo và được gởi từ attacker.
22
Message Authentication Code
(MAC)
• Mơ hình MAC: Bên nhận thực hiện cùng giải thuật của bên gửi
trên thơng báo và khóa bí mật và so sánh giá trị thu được với MAC
trong thông báo
23
Message Authentication Code
• Cơ chế tổng quát
24
Message Authentication Code
(MAC)
• Chiều dài thơng thường của MAC: 32..96 bit.
→ để tấn công cần thực hiện 2n lần thử với n là chiều
dài của MAC (bit).
• Chiều dài thơng thường của khố K: 56..160 bit.
→ để tấn cơng cần thực hiện 2k lần thử với k là chiều dài
của khố K (bit).
• Ứng dụng trong:
• Banking: sử dụng MAC kết hợp triple-DES
• Internet: sử dụng HMAC và MAC kết hợp AES
25