SlideShare a Scribd company logo
1 of 21
GIẢNG VIÊN PHỤ TRÁCH: TS. HOÀNG ĐỨC THỌ
HỌC VIÊN THỰC HIỆN: NGUYỄN THỊ HỒNG LÊ
HOÀNG VĂN LONG
TRẦN QUỐC HƯNG
NGUYỄN VIỆT NHẬT
Nội dung chính
 Tổng quan mã xác thực thông điệp.
 Mã xác thực thông điệp dựa trên hệ mật (CMAC).
 Mã xác thực thông điệp dựa trên hàm băm (HMAC).
 Cài đặt và thử nghiệm.
Mã xác thực thông điệp
Mã xác thực thông điệp
Mã xác thực thông điệp (Message Authentication Code - MAC): là khối dữ liệu có kích thước nhỏ
cố định được tạo từ một thông điệp và một khoá bí mật. Chỉ có người gửi và người nhận biết. Độ
dài thông điệp có thể tùy ý còn độ dài của MAC là cố định (128 bit)
Mã xác 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.
Mã xác thực thông điệp
5
Ý nghĩa của Mã xác thực thông điệp
Xác nhận nguồn gốc của dữ liệu
Là cơ sở để kiểm tra chứng minh dữ liệu 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
Ứng dụng mã xác thực thông điệp
- Dùng để xác thực giữa các bên trong kênh liên lạc.
- Ứng dụng trong các giao thức SSL, TSL, IPsec.
- Được sử dụng rộng rãi và phổ biến trong nhiều ứng dụng yêu cầu bảo mật cao.
Một số mô hình Mã xác thực thông điệp
Một số mô hình Mã xác thực thông điệp
Ưu – Nhược điểm của Mã xác thực thông
điệp
Ưu điểm của MAC:
• MAC chỉ hỗ trợ xác thực, không hỗ trợ bảo mậtcó lợi trong nhiều trường hợp (các thông
báo công cộng,…)
• Có kích thước nhỏ, thời gian tạo ra nhanh hơn so với mã hóa toàn bộ thông điệp.
• Dễ dàng triển khai.
• Chú ý: MAC không phải là chữ ký điện tử
Nhược điểm của MAC:
• MAC mặc định không chống được tấn công phát lại.
• Phụ thuộc vào độ tin cậy của khóa bí mật, quản lý khóa bí mật.
Các hình thức tấn công vào MAC
Cryptanalytic Attacks: Đây là một phương pháp phân tích mật mã thống kê. Tấn
công này sử dụng sự khác biệt giữa các khối thông điệp để xác định các giá trị
của khóa, khai thác vài đặc tính của thuật toán MAC hoặc hàm hash
Khai thác vài đặc 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 MAC hơn hàm hash nên tấn công MAC
khó khăn hơn hàm hash.
11
Các hình thức tấn công vào MAC
Tấn công phát lại (Replay attack)
Kẻ tấn công phát lại bản tin M đã được chứng thực trong phiên trước đó.
Thiết kế MAC mặc định không chống được tấn công phát lại  cần thêm các
yếu tố chống tấn công phát lại trong các giao thức truyền thông sử dụng MAC
Một số kỹ thuật chống tấn công phát lại:
◦ Giá trị ngẫu nhiên thêm vào thông điệp/OTP/session ID/
◦ Tem thời gian/thiết lập thời gian cho thông điệp.
12
Các hình thức tấn công vào MAC
13
Mã xác thực thông điệp dựa trên hệ mật
(CMAC)
Cipher-based Message Authentication Code (CMAC) là một thuật toán mã hóa
được sử dụng để tạo ra một mã xác thực thông điệp trên cơ sở khối mã hóa đối
xứng, như AES. CMAC là một phiên bản của MAC (Message Authentication
Code) được thiết kế để cung cấp tính năng xác thực và chống lại các cuộc tấn
công giả mạo dữ liệu.
CMAC được tạo ra bằng cách chia dữ liệu thành nhiều khối, từ khóa bí mật K
tạo ra 2 khóa con K1 và K2. Có 2 trường hợp của CMAC tương ứng với việc phân
chia các khối.
Mã xác thực thông điệp dựa trên hệ mật
(CMAC)
15
TH1-Thông điệp là bội số chẵn các khối TH2-Khối cuối cùng có kích thước nhỏ, thêm đệm
Bảo mật CMAC
Cách thức tấn công:
Lựa chọn ngẫu nhiên 1 chuỗi bit có cùng độ dài với Tlen, và sẽ có xác suất để kẻ tấn
công có thể đoán được MAC Tag.
Giải pháp:
Lựa chọn độ dài CMAC phù hợp (khuyến cáo là 64 bits):
- Ngắn quá thì kẻ tấn công dễ đoán.
- Dài quá thì ảnh hướng đến hiệu suất
Giới hạn số lần xác minh không thành công.
Mã xác thực thông điệp dựa trên hàm băm
(HMAC)
HMAC (Hash-based Message Authentication Code) là một thuật toán mã
hóa xác thực thông điệp HMAC kết hợp giữa một khóa bí mật và một hàm
băm để tạo ra một mã xác thực. Mã xác thực này được gửi cùng với thông
điệp qua kênh truyền và được sử dụng để xác thực thông điệp tại phía
đích.
HMAC được sử dụng để xác thực tính toàn vẹn và nguồn gốc của một
thông điệp được truyền qua một kênh bất đối xứng.
17
Mã xác thực thông điệp dựa trên hàm
băm (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
Quá trình thực hiện
Khóa bí mật được sử dụng để tạo ra HMAC được chia
thành hai khóa con.
Hàm băm được áp dụng cho thông điệp, kết quả của
hàm băm được gọi là giá trị trung gian.
Một khóa con được sử dụng để tạo ra một chuỗi giá trị
bí mật.
Giá trị trung gian được kết hợp với chuỗi giá trị bí mật
sử dụng một phép toán XOR.
Khóa con còn lại được sử dụng để tạo ra một chuỗi giá
trị xác thực cuối cùng.
19
Mã xác thực thông điệp dựa trên hàm
băm (HMAC)
Mã xác thực thông điệp dựa trên hàm băm
(HMAC)
Bảo mật của HMAC
Dựa trên bảo mật của hàm băm
Các hình thức 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
20
Mã xác thực thông điệp-edited.pptx

More Related Content

What's hot

Chuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tánChuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tánduysu
 
Nhóm 9-khái-niệm-ims
Nhóm 9-khái-niệm-imsNhóm 9-khái-niệm-ims
Nhóm 9-khái-niệm-imsNhân Nhầm
 
Huong dan thi nghiem wireshark
Huong dan thi nghiem wiresharkHuong dan thi nghiem wireshark
Huong dan thi nghiem wiresharkhien tran
 
Lập trình C cho VĐK 8051
Lập trình C cho VĐK 8051Lập trình C cho VĐK 8051
Lập trình C cho VĐK 8051Mr Giap
 
Ask fsk-psk-qpsk-qam-modulation-demolation
Ask fsk-psk-qpsk-qam-modulation-demolationAsk fsk-psk-qpsk-qam-modulation-demolation
Ask fsk-psk-qpsk-qam-modulation-demolationLuân Thiên
 
75291064 rsa-co-ban
75291064 rsa-co-ban75291064 rsa-co-ban
75291064 rsa-co-banNgo Kiet
 
bao cao linux
bao cao linuxbao cao linux
bao cao linuxbinhnv186
 
bài giảng MẠNG CẢM BIẾN KHÔNG DÂY
bài giảng MẠNG CẢM BIẾN KHÔNG DÂY bài giảng MẠNG CẢM BIẾN KHÔNG DÂY
bài giảng MẠNG CẢM BIẾN KHÔNG DÂY nataliej4
 
[123doc] dieu-khien-thiet-bi-qua-module-wifi-esp8266
[123doc]   dieu-khien-thiet-bi-qua-module-wifi-esp8266[123doc]   dieu-khien-thiet-bi-qua-module-wifi-esp8266
[123doc] dieu-khien-thiet-bi-qua-module-wifi-esp8266Ngo Gia HAi
 

What's hot (20)

Chuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tánChuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tán
 
Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ
Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ
Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ
 
Nhóm 9-khái-niệm-ims
Nhóm 9-khái-niệm-imsNhóm 9-khái-niệm-ims
Nhóm 9-khái-niệm-ims
 
Slide mang may tinh
Slide mang may tinhSlide mang may tinh
Slide mang may tinh
 
Đề tài: Tiêu chuẩn IEEE 802.11 và công nghệ Wifi, HAY
Đề tài: Tiêu chuẩn IEEE 802.11 và công nghệ Wifi, HAYĐề tài: Tiêu chuẩn IEEE 802.11 và công nghệ Wifi, HAY
Đề tài: Tiêu chuẩn IEEE 802.11 và công nghệ Wifi, HAY
 
Huong dan thi nghiem wireshark
Huong dan thi nghiem wiresharkHuong dan thi nghiem wireshark
Huong dan thi nghiem wireshark
 
CSMA/CA
CSMA/CACSMA/CA
CSMA/CA
 
Đề tài: Sử dụng hiệu quả phổ và nâng cao chất lượng kênh truyền
Đề tài: Sử dụng hiệu quả phổ và nâng cao chất lượng kênh truyềnĐề tài: Sử dụng hiệu quả phổ và nâng cao chất lượng kênh truyền
Đề tài: Sử dụng hiệu quả phổ và nâng cao chất lượng kênh truyền
 
Lập trình C cho VĐK 8051
Lập trình C cho VĐK 8051Lập trình C cho VĐK 8051
Lập trình C cho VĐK 8051
 
Hệ mật mã Elgamal
Hệ mật mã ElgamalHệ mật mã Elgamal
Hệ mật mã Elgamal
 
Đề tài: Thiết kế hệ thống mạng máy tính, HAY, 9đ - tải qua zalo=> 0909232620
Đề tài: Thiết kế hệ thống mạng máy tính, HAY, 9đ - tải qua zalo=> 0909232620Đề tài: Thiết kế hệ thống mạng máy tính, HAY, 9đ - tải qua zalo=> 0909232620
Đề tài: Thiết kế hệ thống mạng máy tính, HAY, 9đ - tải qua zalo=> 0909232620
 
Ask fsk-psk-qpsk-qam-modulation-demolation
Ask fsk-psk-qpsk-qam-modulation-demolationAsk fsk-psk-qpsk-qam-modulation-demolation
Ask fsk-psk-qpsk-qam-modulation-demolation
 
75291064 rsa-co-ban
75291064 rsa-co-ban75291064 rsa-co-ban
75291064 rsa-co-ban
 
He thong truyen dan PDH va SDH
He thong truyen dan PDH va SDHHe thong truyen dan PDH va SDH
He thong truyen dan PDH va SDH
 
bao cao linux
bao cao linuxbao cao linux
bao cao linux
 
bài giảng MẠNG CẢM BIẾN KHÔNG DÂY
bài giảng MẠNG CẢM BIẾN KHÔNG DÂY bài giảng MẠNG CẢM BIẾN KHÔNG DÂY
bài giảng MẠNG CẢM BIẾN KHÔNG DÂY
 
Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012
Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012
Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012
 
[123doc] dieu-khien-thiet-bi-qua-module-wifi-esp8266
[123doc]   dieu-khien-thiet-bi-qua-module-wifi-esp8266[123doc]   dieu-khien-thiet-bi-qua-module-wifi-esp8266
[123doc] dieu-khien-thiet-bi-qua-module-wifi-esp8266
 
Đề tài: Xây dựng, triển khai và quản lý mô hình mạng, HAY
Đề tài: Xây dựng, triển khai và quản lý mô hình mạng, HAYĐề tài: Xây dựng, triển khai và quản lý mô hình mạng, HAY
Đề tài: Xây dựng, triển khai và quản lý mô hình mạng, HAY
 
Luận văn: Ảnh hưởng của kênh Fading tới điều chế không gian
Luận văn: Ảnh hưởng của kênh Fading tới điều chế không gianLuận văn: Ảnh hưởng của kênh Fading tới điều chế không gian
Luận văn: Ảnh hưởng của kênh Fading tới điều chế không gian
 

Similar to Mã xác thực thông điệp-edited.pptx

Bao cao_9_4_2023.pptx
Bao cao_9_4_2023.pptxBao cao_9_4_2023.pptx
Bao cao_9_4_2023.pptxssuserbc08fb
 
Report password cracking (2)
Report password cracking (2)Report password cracking (2)
Report password cracking (2)phanleson
 
Mã hóa: hash
Mã hóa: hashMã hóa: hash
Mã hóa: hashNam Vu
 
Bảo mật nội bộ và an toàn ip
Bảo mật nội bộ và an toàn ipBảo mật nội bộ và an toàn ip
Bảo mật nội bộ và an toàn ipNgcHng148
 
Bao cao hash injection
Bao cao hash injectionBao cao hash injection
Bao cao hash injectionphanleson
 
Ssl report
Ssl reportSsl report
Ssl reportDiodeZ
 
Nguyen minhthanh cain & abel
Nguyen minhthanh cain & abelNguyen minhthanh cain & abel
Nguyen minhthanh cain & abelphanleson
 
Ssl project it-slideshares.blogspot.com
Ssl project it-slideshares.blogspot.comSsl project it-slideshares.blogspot.com
Ssl project it-slideshares.blogspot.comphanleson
 
HẠ TẦNG KHÓA CÔNG KHAI(PKI)
HẠ TẦNG KHÓA CÔNG KHAI(PKI)HẠ TẦNG KHÓA CÔNG KHAI(PKI)
HẠ TẦNG KHÓA CÔNG KHAI(PKI)ducmanhkthd
 
Slide bai giang_an_toan_va_bao_mat_thong_tin
Slide bai giang_an_toan_va_bao_mat_thong_tinSlide bai giang_an_toan_va_bao_mat_thong_tin
Slide bai giang_an_toan_va_bao_mat_thong_tinLang Codon
 
Password cracking
Password crackingPassword cracking
Password crackinghuuhauit
 
mat-ma-hoc__chuong-4--chung-thuc-du-lieu - [cuuduongthancong.com].pdf
mat-ma-hoc__chuong-4--chung-thuc-du-lieu - [cuuduongthancong.com].pdfmat-ma-hoc__chuong-4--chung-thuc-du-lieu - [cuuduongthancong.com].pdf
mat-ma-hoc__chuong-4--chung-thuc-du-lieu - [cuuduongthancong.com].pdfChannelRelaxation
 
Lab security+ Bài 11: SSL
Lab security+ Bài 11: SSLLab security+ Bài 11: SSL
Lab security+ Bài 11: SSLxeroxk
 
Nghien cuu ma nguon mo openvpn
Nghien cuu ma nguon mo openvpnNghien cuu ma nguon mo openvpn
Nghien cuu ma nguon mo openvpnpeterh18
 

Similar to Mã xác thực thông điệp-edited.pptx (20)

Bao cao_9_4_2023.pptx
Bao cao_9_4_2023.pptxBao cao_9_4_2023.pptx
Bao cao_9_4_2023.pptx
 
Report password cracking (2)
Report password cracking (2)Report password cracking (2)
Report password cracking (2)
 
Encryptions
EncryptionsEncryptions
Encryptions
 
Mã hóa: hash
Mã hóa: hashMã hóa: hash
Mã hóa: hash
 
Bảo mật nội bộ và an toàn ip
Bảo mật nội bộ và an toàn ipBảo mật nội bộ và an toàn ip
Bảo mật nội bộ và an toàn ip
 
Bao cao hash injection
Bao cao hash injectionBao cao hash injection
Bao cao hash injection
 
Ssl report
Ssl reportSsl report
Ssl report
 
Nguyen minhthanh cain & abel
Nguyen minhthanh cain & abelNguyen minhthanh cain & abel
Nguyen minhthanh cain & abel
 
Ssl project it-slideshares.blogspot.com
Ssl project it-slideshares.blogspot.comSsl project it-slideshares.blogspot.com
Ssl project it-slideshares.blogspot.com
 
HẠ TẦNG KHÓA CÔNG KHAI(PKI)
HẠ TẦNG KHÓA CÔNG KHAI(PKI)HẠ TẦNG KHÓA CÔNG KHAI(PKI)
HẠ TẦNG KHÓA CÔNG KHAI(PKI)
 
ssl1
ssl1ssl1
ssl1
 
Slide bai giang_an_toan_va_bao_mat_thong_tin
Slide bai giang_an_toan_va_bao_mat_thong_tinSlide bai giang_an_toan_va_bao_mat_thong_tin
Slide bai giang_an_toan_va_bao_mat_thong_tin
 
Password cracking
Password crackingPassword cracking
Password cracking
 
mat-ma-hoc__chuong-4--chung-thuc-du-lieu - [cuuduongthancong.com].pdf
mat-ma-hoc__chuong-4--chung-thuc-du-lieu - [cuuduongthancong.com].pdfmat-ma-hoc__chuong-4--chung-thuc-du-lieu - [cuuduongthancong.com].pdf
mat-ma-hoc__chuong-4--chung-thuc-du-lieu - [cuuduongthancong.com].pdf
 
Cain & abel
Cain & abelCain & abel
Cain & abel
 
Ch12
Ch12Ch12
Ch12
 
Ch12
Ch12Ch12
Ch12
 
Lab security+ Bài 11: SSL
Lab security+ Bài 11: SSLLab security+ Bài 11: SSL
Lab security+ Bài 11: SSL
 
Nghien cuu ma nguon mo openvpn
Nghien cuu ma nguon mo openvpnNghien cuu ma nguon mo openvpn
Nghien cuu ma nguon mo openvpn
 
Ch16
Ch16Ch16
Ch16
 

Mã xác thực thông điệp-edited.pptx

  • 1. GIẢNG VIÊN PHỤ TRÁCH: TS. HOÀNG ĐỨC THỌ HỌC VIÊN THỰC HIỆN: NGUYỄN THỊ HỒNG LÊ HOÀNG VĂN LONG TRẦN QUỐC HƯNG NGUYỄN VIỆT NHẬT
  • 2. Nội dung chính  Tổng quan mã xác thực thông điệp.  Mã xác thực thông điệp dựa trên hệ mật (CMAC).  Mã xác thực thông điệp dựa trên hàm băm (HMAC).  Cài đặt và thử nghiệm.
  • 3. Mã xác thực thông điệp
  • 4. Mã xác thực thông điệp Mã xác thực thông điệp (Message Authentication Code - MAC): là khối dữ liệu có kích thước nhỏ cố định được tạo từ một thông điệp và một khoá bí mật. Chỉ có người gửi và người nhận biết. Độ dài thông điệp có thể tùy ý còn độ dài của MAC là cố định (128 bit) Mã xác 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.
  • 5. Mã xác thực thông điệp 5
  • 6. Ý nghĩa của Mã xác thực thông điệp Xác nhận nguồn gốc của dữ liệu Là cơ sở để kiểm tra chứng minh dữ liệu 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
  • 7. Ứng dụng mã xác thực thông điệp - Dùng để xác thực giữa các bên trong kênh liên lạc. - Ứng dụng trong các giao thức SSL, TSL, IPsec. - Được sử dụng rộng rãi và phổ biến trong nhiều ứng dụng yêu cầu bảo mật cao.
  • 8. Một số mô hình Mã xác thực thông điệp
  • 9. Một số mô hình Mã xác thực thông điệp
  • 10. Ưu – Nhược điểm của Mã xác thực thông điệp Ưu điểm của MAC: • MAC chỉ hỗ trợ xác thực, không hỗ trợ bảo mậtcó lợi trong nhiều trường hợp (các thông báo công cộng,…) • Có kích thước nhỏ, thời gian tạo ra nhanh hơn so với mã hóa toàn bộ thông điệp. • Dễ dàng triển khai. • Chú ý: MAC không phải là chữ ký điện tử Nhược điểm của MAC: • MAC mặc định không chống được tấn công phát lại. • Phụ thuộc vào độ tin cậy của khóa bí mật, quản lý khóa bí mật.
  • 11. Các hình thức tấn công vào MAC Cryptanalytic Attacks: Đây là một phương pháp phân tích mật mã thống kê. Tấn công này sử dụng sự khác biệt giữa các khối thông điệp để xác định các giá trị của khóa, khai thác vài đặc tính của thuật toán MAC hoặc hàm hash Khai thác vài đặc 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 MAC hơn hàm hash nên tấn công MAC khó khăn hơn hàm hash. 11
  • 12. Các hình thức tấn công vào MAC Tấn công phát lại (Replay attack) Kẻ tấn công phát lại bản tin M đã được chứng thực trong phiên trước đó. Thiết kế MAC mặc định không chống được tấn công phát lại  cần thêm các yếu tố chống tấn công phát lại trong các giao thức truyền thông sử dụng MAC Một số kỹ thuật chống tấn công phát lại: ◦ Giá trị ngẫu nhiên thêm vào thông điệp/OTP/session ID/ ◦ Tem thời gian/thiết lập thời gian cho thông điệp. 12
  • 13. Các hình thức tấn công vào MAC 13
  • 14. Mã xác thực thông điệp dựa trên hệ mật (CMAC) Cipher-based Message Authentication Code (CMAC) là một thuật toán mã hóa được sử dụng để tạo ra một mã xác thực thông điệp trên cơ sở khối mã hóa đối xứng, như AES. CMAC là một phiên bản của MAC (Message Authentication Code) được thiết kế để cung cấp tính năng xác thực và chống lại các cuộc tấn công giả mạo dữ liệu. CMAC được tạo ra bằng cách chia dữ liệu thành nhiều khối, từ khóa bí mật K tạo ra 2 khóa con K1 và K2. Có 2 trường hợp của CMAC tương ứng với việc phân chia các khối.
  • 15. Mã xác thực thông điệp dựa trên hệ mật (CMAC) 15 TH1-Thông điệp là bội số chẵn các khối TH2-Khối cuối cùng có kích thước nhỏ, thêm đệm
  • 16. Bảo mật CMAC Cách thức tấn công: Lựa chọn ngẫu nhiên 1 chuỗi bit có cùng độ dài với Tlen, và sẽ có xác suất để kẻ tấn công có thể đoán được MAC Tag. Giải pháp: Lựa chọn độ dài CMAC phù hợp (khuyến cáo là 64 bits): - Ngắn quá thì kẻ tấn công dễ đoán. - Dài quá thì ảnh hướng đến hiệu suất Giới hạn số lần xác minh không thành công.
  • 17. Mã xác thực thông điệp dựa trên hàm băm (HMAC) HMAC (Hash-based Message Authentication Code) là một thuật toán mã hóa xác thực thông điệp HMAC kết hợp giữa một khóa bí mật và một hàm băm để tạo ra một mã xác thực. Mã xác thực này được gửi cùng với thông điệp qua kênh truyền và được sử dụng để xác thực thông điệp tại phía đích. HMAC được sử dụng để xác thực tính toàn vẹn và nguồn gốc của một thông điệp được truyền qua một kênh bất đối xứng. 17
  • 18. Mã xác thực thông điệp dựa trên hàm băm (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
  • 19. Quá trình thực hiện Khóa bí mật được sử dụng để tạo ra HMAC được chia thành hai khóa con. Hàm băm được áp dụng cho thông điệp, kết quả của hàm băm được gọi là giá trị trung gian. Một khóa con được sử dụng để tạo ra một chuỗi giá trị bí mật. Giá trị trung gian được kết hợp với chuỗi giá trị bí mật sử dụng một phép toán XOR. Khóa con còn lại được sử dụng để tạo ra một chuỗi giá trị xác thực cuối cùng. 19 Mã xác thực thông điệp dựa trên hàm băm (HMAC)
  • 20. Mã xác thực thông điệp dựa trên hàm băm (HMAC) Bảo mật của HMAC Dựa trên bảo mật của hàm băm Các hình thức 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 20

Editor's Notes

  1. 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 khoá bí mật K. Khi A có một thông điệp gửi đến B, A sẽ tính toán MAC như là một hàm của thông điệp và khoá: 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: khoá 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 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 toá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 quá 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.
  2. tấn công trên MAC khó hơn trên hàm băm bởi vì đòi cần cần phải biết cặp M-MAC(M)
  3. Để đảm bảo toàn vẹn thông điệp và xác nhận nguồn gốc thông điệp, chúng ta cần thay MDC thành MAC MAC có thể được 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 đó: M là thông điệp cần tính MAC K là khóa bí mật được chia sẽ giữa người gửi và người nhận C là hàm tính MAC Chỉ có người gửi và người nhận (có khóa K) mới có thể tính được MAC tương ứng
  4. Để đảm bảo toàn vẹn thông điệp và xác nhận nguồn gốc thông điệp, chúng ta cần thay MDC thành MAC MAC có thể được 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 đó: M là thông điệp cần tính MAC K là khóa bí mật được chia sẽ giữa người gửi và người nhận C là hàm tính MAC Chỉ có người gửi và người nhận (có khóa K) mới có thể tính được MAC tương ứng
  5. Các bước thực hiện Thông điệp được chia thành N blocks, n-bit Khóa bí mật là khóa b-bit được đệm thêm bên trái các bit 0 (trước khi dệm, khóa bí mật dài hơn n-bit, n là kích cở của HMAC) Kết quả của bước 2 được exclusive-or với một hằng số được gọi là ipad (input pad) để tạo ra block có b-bit. Giá trị của ipad là b/8 lặp đi lặp lại một cách tuần tự 00110110 Block kết quả được suy gắn với N-block thông điệp (thành N+1 block) Kết quả bước 4 được băm để tạo ra b-bit cốt. Chúng ta gọi HMAC bán thành phẩm HMAC trung gian được left pad với các bit 0 để tạo ra khối b-bit Bước 2 và 3 được lặp lại bởi hằng opad (output pad). Giá trị của opad là b/8 được lặp lại tuần tự 01011100 (5C trong hệ 16) Kết quả bước 7 được gắn với khối ở bước 6 Kết quả bước 8 được băm với cùng thuật toán băm để tạo ra n-bit HMAC