1. Trang chủ
  2. » Tất cả

Mã xác thực bản tin mac

25 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA VIỄN THÔNG I - - BÁO CÁO TIỂU LUẬN AN NINH MẠNG THÔNG TIN “Mã xác thực tin MAC” Bài tập tiểu luận môn An Ninh Mạng Bảng phân cơng cơng việc BẢNG PHÂN CƠNG CƠNG VIỆC NHĨM Họ tên Mã Sinh Viên Nội dung thực báo cáo Chương : Tìm hiểu chung xác thực thơng điệp, xác thực thơng điệp mã hóa Chương 3:Tìm hiểu MAC dựa HMAC Tài liệu tham khảo Chương : Các khái niệm, đặc điểm, cách thức hoạt động mã xác thực tin thơng điệp MAC Ứng dụng mã hóa MAC Tài liệu tham khảo Kết luận Nội dung phân công cơng việc Tổng hợp, trích xuất từ tài liệu tham khảo để làm nội dung Tổng hợp thống kê danh mục hình ảnh Tổng kết bảng biểu, mục lục Tổng hợp, trích xuất từ tài liệu tham khảo để làm nội dung Chỉnh sửa, tổng hợp, xếp thiết kế Word Viết lời mở đầu đặt vấn đề, kết luận, lập danh mục bảng biểu,hình ảnh, mục lục Tổng hợp thống kế danh mục hình ảnh Chương 4: Tìm hiểu mã xác thực thơng báo mã hóa CMAC Chương 5: Ứng dụng mã hóa MAC Tài liệu tham khảo Tổng hợp, trích xuất từ tài liệu tham khảo để làm nội dung Tổng hợp thống kê danh mục hình ảnh Page | Bài tập tiểu luận môn An Ninh Mạng Mục lục MỤC LỤC MỤC LỤC LỜI MỞ ĐẦU DANH MỤC HÌNH VẼ DANH MỤC KÝ HIỆU, THUẬT NGỮ VIẾT TẮT Chương 1) Xác thực thông điệp, xác thực thơng điệp mã hóa 1.1) Xác thực thông điệp 1.2) Xác thực thơng điệp mã hóa 1.2.1) Khái niệm 1.2.2) Công dụng 1.2.2.1) Mã hoá khoá đối xứng : A  B: E(K, M) 1.2.2.2) Mã hoá khoá công khai: A  B: E(PUb , M) Chương 2) Mã xác thực tin thông điệp MAC 2.1) Tổng quan mã xác thực tin thông điệp MAC 2.2)Cách thức hoạt động 2.2.1) Quá trình sử dụng mã xác thực tin MAC 2.2.2) Quá trình sử dụng mã xác thực tin MAC có tính bảo mật ( Mã hóa tin MAC) 11 2.2.3) Các tính chất đặc điểm cần lưu ý MAC 12 2.3) Các yêu cầu cho mã xác thực tin MAC 12 2.4) Tính an tồn MAC 13 Chương 3) Mã xác thực MAC dựa hàm băm HMAC 14 3.1) Tổng quan HMAC 14 3.2) Các mục tiêu thiết kế HMAC 15 3.3) Thuật toán HMAC 15 3.4) Bảo mật an ninh HMAC 18 Chương 4) Mã xác thực thông báo mã hóa CMAC 20 4.1) Tổng quan CMAC 20 4.2) Thiết kế CMAC 21 4.3) Thuật toán CMAC 22 Chương 5) Ứng dụng mã hóa MAC 24 5.1) MAC sử dụng để chống công lặp 24 5.2) Sử dụng MAC 25 Kết luận 25 Tài liệu tham khảo 25 Page | Bài tập tiểu luận môn An Ninh Mạng Lời mở đầu LỜI MỞ ĐẦU An tồn thơng tin, bảo mật toàn vẹn liệu nhu cầu cấp thiết xu hướng phát triển an ninh mạng nói riêng xã hội nói chung Hiện đối mặt với chuyển biến tồn xã hội trước cách mạng cơng nghiệp lần thứ ( cách mạng công nghiệp 4.0 hay cách mạng công nghệ kỹ thuật số ) Cuộc cách mạng đem đến vơ vàn lợi ích kéo theo nhiều rủi ro, phát triển trỗi dậy nhanh chóng Hacker trẻ nhằm mục đích đánh chiếm, ăn cắp, thay đổi, mạo danh, gây rối loạn gián đoạn thông tin cho phía người dùng Trước chuyển đổi công nghiệp trỗi dậy Hacker vấn đề đặt nhằm giải tốn : phương thức vừa bảo mật thơng tin khỏi tình đánh cắp vừa đảm bảo tính xác thực tồn vẹn thơng tin Để trả lời cho câu hỏi người ta sử dụng phương thức bảo mật thơng tin phương pháp mã hóa bật phương pháp sử dụng mã xác thực tin MAC (Message authentication code) Mã xác thực thông báo (Message Authentication Code) đoạn mã tạo nhằm mục đích xác thực tính tồn vẹn nguồn gốc thông báo Đây chế quan trọng để trì tính tồn vẹn chối bỏ liệu Với giao thức trực tuyến, mã xác thực thông báo sử dụng phổ biến với việc kết hợp với chế khác (như chữ ký số) để đảm bảo tính xác thực bên tham gia giao dịch Từ tính mã xác thực tin MAC đem lại nhiều lợi ích, nhóm em chọn đề tài “ Mã xác thực tin MAC” để làm để tải tiểu luận với mục tiêu phân tích đặc điểm, đánh giá khách quan tính từ nêu ưu nhược điểm hay nguy bị công MAC ứng dụng MAC thời điểm Nội dung tiểu luận trình bày thơng qua năm chương sau: Chương 1: Tìm hiểu chung xác thực thông điệp, xác thực thông điệp mã hóa Chương : Các khái niệm, đặc điểm, cách thức hoạt động mã xác thực tin thơng điệp MAC Chương 3: Tìm hiểu MAC dựa HMAC Chương 4: Tìm hiểu mã xác thực thơng báo mã hóa CMAC Chương 5: Ứng dụng mã hóa MAC Bằng cố gắng nỗ lực chúng em hoàn thành xong tiểu luận Do cịn có hạn chế mặt thời gian mức độ hiểu biết thân nên khơng thể tránh khỏi thiếu sót q trình làm tiểu luận Vì thế, chúng em mong nhận lời góp ý bảo thêm từ thầy để chúng em có thêm kiến thức phục vụ cho học tập công việc sau Page | Bài tập tiểu luận mơn An Ninh Mạng Danh mục hình vẽ DANH MỤC HÌNH VẼ Hình 2.2.1a……………………………………………………………………………….10 Hình 2.2.2a……………………………………………………………………………….11 Hình 2.2.2b……………………………………………………………………………….11 Hình 3.1a…………………………………………………………………………………15 Hình 3.3a…………………………………………………………………………………16 Hình 3.4a…………………………………………………………………………………19 Hình 4.1a…………………………………………………………………………………20 Hình 4.2a…………………………………………………………………………………21 Hình 4.2b…………………………………………………………………………………21 Hình 4.2c…………………………………………………………………………………21 Hình 4.2d…………………………………………………………………………………23 Page | Bài tập tiểu luận môn An Ninh Mạng Thuật ngữ viết tắt DANH MỤC KÝ HIỆU, THUẬT NGỮ VIẾT TẮT Từ ngữ viết tắt Tên tiếng Anh Giải nghĩa MAC Mã xác thực thông điệp IP Message Authentication Code Hash Message Authentication Code National Institute of Standards and Technology Internet Protocol IV Initial Value Mã xác thực thông điệp hàm băm Viện tiêu chuẩn công nghệ Quốc gia (Mĩ) Giao thức giao tiếp mạng Internet Giá trị ban đầu LFSR Linear Feedback Shift Register Thanh ghi phản hồi dịch tuyến tính SHA Secure Hash Algorithm Thuật tốn băm an tồn CMAC Cipher-based Message Authentication Code Mã xác thực thông báo mã hóa HMAC NIST Page | Bài tập tiểu luận môn An Ninh Mạng Chương Chương 1) Xác thực thơng điệp, xác thực thơng điệp mã hóa 1.1) Xác thực thông điệp Xác nhận nguồn gốc liệu Thuyết phục người sử dùng liệu chưa bị sửa đổi giả mạo Xác thực liên quan đến việc đảm bảo q trình truyền thơng xác thực Trong trường hợp có thơng tin, tín hiệu cảnh báo báo thức, chức xác thực đảm bảo với người nhận tin đến từ nguồn xác thực Trong trường hợp có tương tác xảy ra, ví dụ kết nối đầu cuối với thiết bị đầu cuối khác, đầu tiên, thời điểm khởi tạo kết nối, xác thực đảm bảo hai thực thể xác thực Sau đó, phải đảm bảo kết nối không bị cản trở theo cách bên thứ ba mạo danh hai bên hợp pháp để thực việc nhận truyền dẫn không phép Xác thực liệu chế quan trọng để trì tính tồn vẹn khơng thể từ chối liệu Ví dụ việc xác thực thơng qua nhận dạng dựa nhiều yếu tố: Password, mã PIN Smart card Vân tay, võng mạc … Chữ kí v.v Page | Bài tập tiểu luận môn An Ninh Mạng Chương 1.2) Xác thực thông điệp mã hóa 1.2.1) Khái niệm Sử dụng mật mã hố khố đối xứng mật mã hố khố cơng khai để mã hố thơng điệp rõ thành mật mã Mã hóa tin cung cấp giải pháp cho vấn đề nhận thực Sự phân tích khác chế mã hóa khóa đối xứng khóa cơng khai Mã hóa tin cung cấp giải pháp cho vấn đề nhận thực Sự phân tích khác chế mã hóa khóa đối xứng khóa cơng khai 1.2.2) Cơng dụng 1.2.2.1) Mã hoá khoá đối xứng : A  B: E(K, M) - Bảo mật: A B chia sẻ K - Xác thực: + Có thể đến từ A + Không thay đổi trình truyền + Yêu cầu số định dạng dự phịng - Khơng cung cấp chữ ký + Người nhận giả mạo thơng điệp + Người gởi phủ nhận gởi thơng điệp 1.2.2.2) Mã hố khố cơng khai: A  B: E(PUb , M) - Bảo mật: + Chỉ B có PRb giải mã - Không cung cấp chứng thực: + Bất sử dụng PUb để mã hố thơng điệp tự xưng A Chương 2) Mã xác thực tin thông điệp MAC (Message Authentication Code) 2.1) Tổng quan mã xác thực tin thông điệp MAC Mã xác thực thông điệp (Message Authentication Code) đoạn mã tạo nhằm mục đích xác thực tính tồn vẹn nguồn gốc thơng điệp Đây chế quan trọng để trì tính tồn vẹn khơng thể chối bỏ liệu Với giao thức trực tuyến, mã xác thực thông báo sử dụng phổ biến với việc kết hợp với chế khác (như chữ ký số) để đảm bảo tính xác thực bên tham gia giao dịch Mục đích hàm MAC đảm bảo để hai (hay nhiều) bên tham gia giao dịch có chung khóa bí mật giao dịch với nhau, kèm theo khả phát Page | Bài tập tiểu luận môn An Ninh Mạng Chương thay đổi thông báo q trình vận chuyển, nhằm tránh cơng làm thay đổi thơng báo Thuật tốn MAC dựa thơng điệp đầu vào khóa bảo mật để tạo tin MAC Thông điệp tin MAC gửi tới người nhận, người nhận tính lại giá trị MAC so sánh với giá trị tin MAC nhận Nếu hai giá trị MAC trùng coi thơng điệp xác, ngược lại thơng điệp coi bị thay đổi Đối với kẻ công giả mạo thông điệp, mục tiêu đặt phải phá hàm MAC, việc khó tương đương với việc phá khóa bảo vệ thơng điệp Trên thực tế, giao thức thường chia thông điệp dài làm nhiều đoạn nhỏ chúng xác thực độc lập với nhau, dẫn đến phát sinh công lặp lại (Replay Attack) Do thiết kế giao thức có sử dụng MAC cần thận trọng Có hai tiêu chuẩn hàm MAC Tiêu chuẩn thứ mã xác thực thông điệp sử dụng hàm chiều có khóa HMAC (Keyd-Hash Messasge Authentication Code) Chuẩn mơ tả phương pháp an toàn chuyển hàm chiều kháng va chạm Hash thành hàm MAC Chuẩn thứ hai mã xác thực thơng điệp mã hóa (Cipher Message Authentication Code - CMAC) Không giống HMAC, CMAC sử dụng mã khối để thực chức MAC, phù hợp với ứng dụng nhớ hạn chế đủ để dùng cho mã hóa liệu Hàm MAC khác với hàm chiều hash, MAC bảo đảm xác thực thơng điệp khơng phải tồn vẹn thơng điệp, nhiên hai dựa nguyên lý chung Trong hai trường hợp cần tìm cách xác định tính xác, cụ thể tồn vẹn thông điệp Tất nhiên mục tiêu xác thực tìm cách trả lại tính ban đầu thông điệp 2.2)Cách thức hoạt động Mã xác thực Bản tin MAC sinh thuật toán tạo khối liệu có kích thước cố định nhỏ gọi MAC dựa thông điệp M có độ dài thay đổi cách sử dụng khóa bí mật K Khối thơng tin phụ thuộc vào tin khóa bí mật, có cấu trúc giống mã không cần phải giải mã Khối thông tin bổ sung vào tin chữ ký để gửi kèm theo làm chứng xác thực Người nhận thực tính tốn tin kiểm tra xem có phù hợp với mã xác thực MAC đính kèm khơng Từ xác thực tin khơng bị thay đổi đến người gửi 2.2.1) Quá trình sử dụng mã xác thực tin MAC Mã xác thực tin: Page | Chương Bài tập tiểu luận môn An Ninh Mạng Một kỹ thuật nhận thực khác liên quan đến việc sử dụng khóa bí mật để tạo khối liệu nhỏ có kích thước cố định, biết đến tổng kiểm tra mã hóa MAC, thêm vào tin Kỹ thuật giả thiết hai bên tham gia truyền thông, giả sử A B, chia sẻ khóa bí mật chung K Khi A có tin cần gửi tới B, tính MAC hàm tin khóa: MAC=C(K,M) (1) Trong đó: M tin đầu vào C hàm MAC K khóa bí mật chia sẻ MAC mã xác thực tin Bản tin với MAC truyền tới người nhận mong muốn Người nhận thực thao tác tương tự tin đến, sử dụng khóa bí mật, để tạo giá trị MAC Giá trị MAC nhận được so sánh với MAC tính lại hình sau: Hình 2.2.1a: trình xác thực MAC 1.Người gửi A muốn gửi tin nhắn cho người nhận B thông qua MAC, điều cần làm chia sẻ khóa bí mật K Người gửi A tính toán giá trị MAC tin nhắn M cách áp dụng khóa K đính kèm MAC với tin nhắn M người gửi A gửi tin nhắn gốc M với MAC cho người nhận B Khi người nhận B nhận tin nhắn, B dùng khóa bí mật K để tính tốn lại giá trị MAC tin nhắn M nhận Người nhận B so sánh tin MAC1 MAC2 tương đương tin gửi tin nhận Nếu chúng có giá trị, B xác thực tin nhắn nhận không bị thay đổi trình truyền Và ngược lại, giá trị khơng trùng khớp, B từ chối tin nhắn tin nhắn bị thay đổi trình truyền tin Quá trình hình 2.2.1a cung cấp tính xác thực mà khơng có tính bảo mật, toàn tin truyền cách rõ ràng Page | 10 Bài tập tiểu luận môn An Ninh Mạng Chương 2.2.2) Quá trình sử dụng mã xác thực tin MAC có tính bảo mật ( Mã hóa tin MAC) Các mã xác thực mẩu tin MAC cung cấp tin cậy cho người nhận mẩu tin không bị thay đổi gửi từ đích danh người gửi Cũng sử dụng mã xác thực MAC kèm theo với việc mã hóa để bảo mật cách sử dụng khóa riêng biệt cho MAC, khóa chia sẻ bên gửi bên nhận, tính MAC trước sau mã hóa, tốt thực MAC trước mã hóa sau Trường hợp 1: sử dụng mã hóa tin sau thuật tốn MAC Hình 2.2.2a:Bảo mật xác thực thông điệp gắn với gốc Người gửi A muốn gửi tin nhắn cho người nhận B thơng qua MAC, điều cần làm chia sẻ khóa bí mật K1 Người gửi A tính giá trị MAC từ tin nhắn M cách áp dụng khóa K1 đính kèm MAC với tin nhắn M Mã hóa tin nhắn đính kèm MAC dùng khóa bảo mật K2 Người gửi A gửi tin mã hóa (tin nhắn+MAC) đến B Khi người nhận B nhận tin, tiên hành giải mã khóa K2, B dùng khóa K1 để tính lại giá trị MAC tin nhắn M Người nhận B so sánh tin MAC1 MAC2 tương đương tin gửi tin nhận Nếu chúng có giá trị, B xác thực tin nhắn nhận khơng bị thay đổi q trình truyền Và ngược lại, giá trị không trùng khớp, B từ chối tin nhắn tin nhắn bị thay đổi trình truyền tin Trường hợp 2: Sử dụng mã hóa tin trước thuật tốn MAC Hình 2.2.2b: Bảo mật xác thực thơng điệp gắn với mã Page | 11 Bài tập tiểu luận môn An Ninh Mạng Chương Người gửi A muốn gửi tin nhắn cho người nhận B thơng qua MAC, điều cần làm chia sẻ khóa bí mật K1 Người gửi A mã hóa tin nhắn tạo tin mã hóa dùng khóa bảo mật K2 Người gửi A tính giá trị MAC từ tin mã hóa cách dùng khóa bảo mật K1 đính kèm MAC với tin mã hóa A gửi tin mã hóa MAC đến cho B Khi người nhận B nhận tin mã hóa, B dùng khóa K1 để tính lại giá trị MAC nhận từ tin nhắn M Giải mã tin mã hóa cách dùng khóa K2 để nhận tin nhắn gốc Người nhận B so sánh tin MAC1 MAC2 tương đương tin gửi tin nhận Nếu chúng có giá trị, B xác thực tin nhắn nhận không bị thay đổi trình truyền Và ngược lại, giá trị khơng trùng khớp, B từ chối tin nhắn tin nhắn bị thay đổi q trình truyền tin 2.2.3) Các tính chất đặc điểm cần lưu ý MAC MAC thơng tin nén tin kết hợp với khóa MAC = C(K,M) mà đó: Nén tin M có độ dài tùy ý Sử dụng khóa bảo mật K Tạo nên ký hiệu xác thực có độ dài cố định Là hàm nhiều – tới – một, nghĩa có nhiều tin khác có MAC Tuy nhiên ta phải lựa chọn hàm MAC cho xác suất để khối thơng tin có ý nghĩa có MAC trùng nhỏ Việc tìm khối thơng tin tin khó khăn Sử dụng MAC có nhược điểm MAC phụ thuộc vào khối thông tin người gửi, cần xác thực khối tin thơng tin xác thực phụ thuộc khối tin để lưu trữ làm chứng cho tính tồn vẹn Và hàm MAC khơng phổ biến, chia sẻ dùng chung Khi người ta sử dụng hàm Hash thay MAC Cần lưu ý MAC khơng phải chữ ký điện tử, người gửi người nhận biết thông tin khóa bảo mật 2.3) Các yêu cầu cho mã xác thực tin MAC Tùy thuộc vào kiểu cơng mà MAC phải có tính chất khác để chống đối lại MAC phải thỏa mãn điều sau:  Biết khối tin MAC, khơng thể tìm khối tin khác có MAC  Các MAC cần phải phân bố Page | 12 Bài tập tiểu luận môn An Ninh Mạng Chương  MAC phải phụ thuộc vào tất bit khối tin Tức thay đổi bit thơng tin đó, MAC có thay đổi kéo theo Một mã xác thực tin (MAC) biết đến tổng kiểm tra mã hóa, tạo hàm C theo dạng: T= MAC(K,M) (2) Trong đó: M tin có độ dài thay đổi K khóa bí mật chia sẻ người gửi người nhận MAC(K, M) ký hiệu nhận thực có chiều dài cố định, đơi gọi nhãn Nhãn thêm vào tin nguồn thời điểm mà tin xác thực Bên nhận xác thực tin cách tính lại nhãn Từ đó, u cầu thứ tin, kẻ cơng có khả tạo tin để khớp với nhãn cho trước, kẻ công khơng cần tìm hiểu khóa u cầu thứ hai dựa vào yêu cầu cần công vét cạn dựa rõ cho trước Nghĩa là, ta giả sử kẻ địch khơng biết K tiếp cận hàm MAC định tin cho tạo MAC, sau kẻ địch thử nhiều tin khác có tới tìm tin khớp với nhãn cho trước u cầu cuối địi hỏi thuật tốn nhận thực không nên yếu số phần bít định so với phần khác bit khác Ngược lại, kẻ cơng có M MAC(K,M) thực thay dổi M điểm yếu nhiều khả thành công sớm việc tạo tin khớp với nhãn cũ 2.4) Tính an tồn MAC Nếu dựa vào thuật tốn mã hóa hàm băm, ta phân nhóm cơng vào MAC thành hai nhóm: Các cơng vét cạn phân tích mã hóa từ tìm cách chống lại tính tốn Các cơng vét cạn: Nếu kẻ cơng xác định khóa MAC, tạo giá trị MAC hợp lệ đầu vào x Giả sử kích thước khóa khóa bit kẻ cơng biết trước cặp rõ-nhãn Khi kr cơng tính tốn nhãn n bit rõ biết với tất khóa Ít khóa đảm bảo tạo nhãn đúng, khóa ban đầu sử dụng để tạo ta cặp rõ-nhãn biết Một kẻ công tập trung vào nhãn mà khơng cần tạo lại khóa Ở đây, mục tiêu tạo nhãn hợp lệ tin cho trước tìm ta tin khớp với nhãn cho trước Trong trường hợp, mức độ cố gắng so sánh trường hợp công đặc tính chiều chống chịu xung đột mã băm, trường hợp MAC, công tiến Page | 13 Bài tập tiểu luận môn An Ninh Mạng Chương hành điều kiện ngoại tuyến mà khơng có thêm dầu vào; kẻ cơng cần cặp rõ-nhãn chọn thông tin khóa bảo mật Phân tích mã: Như thuật tốn mã hóa hàm băm, cơng phân tích mã MAC tìm kiếm để khai thác đặc tính thuật tốn để thực cơng tìm kiếm vét cạn Phương thức để đo lường khả chống chịu thuật toán MAC cơng phân tích mã so sánh với nỗ lực yêu cầu công vét cạn Nghĩa là, thuật toán MAC lý tưởng yêu cầu nỗ lực phân tích mã lớn nỗ lực cơng vét cạn Có nhiều biến thể cấu trúc MAC so với hàm băm, việc tổng quát hóa cơng phân tích mã MAC khó khăn Hơn nữa, có nghiên cứu thực để phát triển công Chương 3) Mã xác thực MAC dựa hàm băm HMAC 3.1) Tổng quan HMAC Hashed MAC: kết hợp MAC hàm băm để tăng cường an toàn cho hàm băm Chúng ta xem xét ví dụ MAC dựa việc sử dụng mã khối đối xứng Đây tiếp cận chung để cấu trúc nên MAC Trong năm gần đây, quan tầm tăng lên việc phát triển MAC nhận từ hàm băm mã hóa Động lực mối quan tâm là: Các hàm băm mã hóa MD5 hay SHA nói chung thực nhanh phần mềm so với mã khối đối xứng DES Thư viện mã cho hàm băm mã hóa phổ biến rộng rãi Với phát triển AES phổ biến mã chương trình cho thuật tốn mã hóa, đề trở nên quan trọng hơn, MAC dựa hmà băm tiếp tục sử dụng rộng rãi Một hàm băm SHA không thiết kế cho việc sử dụng MAC sử dụng trực tiếp cho mục đích đó, khơng dựa khóa bí mật Đã có số đề xuất đối vứi việc liên kết khóa bí mật với thuật tốn băm có sẵn Tiếp cận nhận nhiều ủng hộ HMAC HMAC đề xuất RFC 2104, chọn MAC buộc phải thực cho an ninh IP, Page | 14 Bài tập tiểu luận môn An Ninh Mạng Chương sử dụng giao thức Internet khác SSL HMAC đề xuất chuẩn NIST Hình 3.1a: Xác thực thơng điệp sử dụng HMAC 3.2) Các mục tiêu thiết kế HMAC RFC 2104 liệt kê mục tiêu thiết kế sau HMAC Để sử dụng mà không cần sửa đổi hàm băm có sẵn Đặc biệt, để sử dụng hàm băm thực tốt phần mềm mã chương trình miễn phí phổ biến Để cho phép khả thay hàm băm nhúng hàm băm khác nhanh bảo mật tìm yêu cầu Để ké thừa hiệu ban đầu hàm băm mà không gây suy giảm đáng kể Để sử dụng xử lý khóa theo cách đơn giản Để có phân tích mã hóa dễ hiểu độ mạnh của chế nhận thực dựa giả thiết hợp lý hàm băm nhúng Hai mục tiêu quan trọng khả chấp nhận HMAC HMAC coi hàm băm “hộp đen” Điều có hai lợi ích Đầu tiên, thực có sẵn hàm băm sử dụng mô-đun thực HMAC Theo cách này, cụm mã HMAC đóng gói trước sẵn sàng sử dụng mà không cần sửa đổi Thứ hai, muốn thay hàm băm cho trước thực HMAC, tất yêu cầu loại bỏ mơđun hàm băm có sẵn đưa mơđun vào Điều thực muốn hàm băm nhanh Quan trọng hơn, an ninh ninh hàm băm nhúng bị xâm hại, an ninh HMAC giữ lại đơn giản cách thay hàm băm nhúng hàm băm an ninh toàn (ví dụ thay SHA-2 SHA-3) Mục tiêu thiết kế cuối danh sách thực tế ưu điểm HMAC chế dựa (hàm) băm (hash-based) đề xuất HMAC chứng minh cung cấp hàm băm nhúng có vài độ mạng mã hóa hợp lý Chúng ta quay lại điểm sau chương này, ta xem xét cấu trúc HMAC 3.3) Thuật toán HMAC Page | 15 Bài tập tiểu luận mơn An Ninh Mạng Chương Hình 3.3a: Hoạt động HMAC Hình minh họa hoạt động HMAC Định nghĩa thuật ngữ sau: H = hàm băm nhúng (ví dụ MD5, SHA-1, RIPEMD-160) IV = giá trị khởi tạo đầu vào hàm băm M = tin đầu vào cho HMAC (bao gồm phần đệm xác định hàm băm nhúng) Yi  block thứ i M,  i  (L - 1) L = số block M b = số bit block n = chiều dài mã băm tạo hàm băm nhúng K = khóa bí mật; chiều dài đề xuất  n ; chiều dài khóa lớn b, khóa đầu vào hàm băm để tạo khóa n bit 𝐾 + = K bit đệm vào phía trái để chiều dài b bit Page | 16 Bài tập tiểu luận môn An Ninh Mạng Chương Ipad = 00110110 (36 hệ hexa) lặp lại b/8 lần Opad = 01011100 (5C hệ hexa) lặp lại b/8 lần Khi HMAC biểu diễn sau: HMAC( K,M ) = H[(𝐾 + ⊕opad || H[(𝐾 + ⊕ipad) || M ]] Thuật toán sau: Thêm số vào phía cuối bên trái K để tạo chuỗi b bit K  (ví dụ K có chiều dài 160 bit b  512 cần thêm 44 số vào K) XOR K  với ipad để tạo khối b bit i S Thêm M vào i S Sử dụng hàm H cho luồng tạo bước XOR K  với opad để tạo khối b bit o S Thêm giá trị băm nhận bước vào o S Sử dụng hàm H với luồng tạo bước đưa kết Lưu ý kết phép XOR với ipad làm đảo nửa số bit K Tương tự, phép XOR với opad làm đảo nửa số bit K, với tập bit khác Trong thực tế, cách đưa i S o S qua hàm nén thuật toán băm, ta tạo hai khóa từ K theo phương thức ngẫu nhiên giả tạp âm Page | 17 Bài tập tiểu luận môn An Ninh Mạng Chương HMAC nên thực thời gian xấp xỉ thời gian hàm băm nhúng tin dài HMAC thêm ba lệnh hàm nén băm (với i S o S khối tạo từ giá trị băm bên trong) Có thể thực hiệu hơn, trình bày hình minh họa Hai đại lượng tính trước: f( IV,( 𝐾 + ⊕ipad)) f( IV,( 𝐾 + ⊕ipad)) Trong f(cv,block) hàm nén hàm băm đóng vai trị đối số biến chuỗi n bit khối b bit tạo biến chuỗi n bit Các đại lượng cần tính lúc ban đầu khóa thay đổi Trên thực tế, đại lượng tính trước thay cho giá trị khởi tạo (IV) hàm băm Với thực này, trường hợp bổ sung hàm nén thêm vào q trình thơng thường sinh hàm băm Sự thực hiệu đặc biệt có giá trị hầu hết tin cần tính MAC ngắn 3.4) Bảo mật an ninh HMAC An ninh hàm MAC dựa hàm băm nhúng phụ thuộc vào độ mạnh mã hóa hàm băm bên theo cách Sự ủng hộ HMAC người thiết kế có khả thể chứng minh mối quan hệ xác độ mạnh hàm băm nhúng độ mạnh HMAC An ninh hàm HMAC biểu diễn tổng quát theo xác suất giả mạo thành công với khoảng thời gian cho trước số cặp tin-mã cho trước tạo với khóa Về bản, [BELL96a] chứng minh với mức độ nỗ lực cho trước (thời gian, cặp tin-nhãn) tin tạo người dùng hợp pháp theo dõi kẻ công, xác suất công vào HMAC thành công tương đương với công sau vào hàm băm nhúng: Kẻ cơng có khả tính tốn đầu hàm nén với IV ngẫu nhiên, bí mật kẻ công trước Kẻ cơng tìm xung đột hàm băm IV ngẫu nhiên bí mật Trong cơng đầu, ta xem hàm nén tương đương với hàm băm áp dụng tin bao gồm khối b bit đơn Với công này, IV hàm băm thay giá trị bí mật, ngẫu nhiên n bit Một cơng vào hàm băm cần có cơng vét cạn vào khóa – có mức độ nỗ lực 2𝑛 , công ngày sinh – trường hợp đặc biệt công thứ hai, thảo luận sau Page | 18 Bài tập tiểu luận môn An Ninh Mạng Chương Trong công thứ hai, kẻ cơng tìm kiếm hai tin M M’ tạo giá trị băm: H(M) = H(M’) Đây công ngày sinh thảo luận chương 11 Chúng tơi trình bày công yêu cầu nỗ lực 2𝑛∕2 giá trị băm có chiều dài n Trên sở đó, an ninh MD5 xem xét lại, mức độ nỗ lực 264 khả thi với công nghệ Một hàm băm 128 bit MD5 phù hợp với HMAC Để công MD5, kẻ cơng chọn bất tập tin làm việc với chúng ngoại tuyến phương tiện tính tốn chun dụng để tìm xung đột Do kẻ cơng biết thuật tốn băm giá trị IV mặc định, kẻ cơng tạo mã băm với tin mà kẻ công tạo Tuy nhiên, công HMAC, kẻ công tạo cặp tin/mã ngoại tuyến kẻ công K Do đó, kẻ cơng phải quan sát chuỗi tin tạo HMAC khóa thực công vào tin biết Với chiều dài mã băm 128 bit, yêu cầu 264 khối quan sát (272 bit ) tạo sử dụng khóa Trên đường truyền tốc độ Gb/giây, người cần quan sát luồng tin liên tục khơng có thay đổi khóa khoảng 150 nghìn năm để thành cơng Do vậy, tốc độ xét tới, hồn tồn chấp nhận việc sử dụng MD5 thay SHA-1 làm hàm băm nhúng cho HMAC Hình 3.4a: Thực HMAC hiệu Page | 19 Bài tập tiểu luận môn An Ninh Mạng Chương Đối với phương pháp mã khóa đối xứng, thành viên chia sẻ khóa khóa bảo vệ thành phần ngồi Hơn nữa, khóa thay đổi thường xuyên nhằm tránh cơng Vì vậy, sức mạnh hệ thống mã hóa lien quan tới kỹ thuật phân phối khóa, thuật ngữ sử dụng để tạo khóa hai thành viên đảm bảo tính bí mật với bên khác Chương 4) Mã xác thực thơng báo mã hóa CMAC CMAC lấy từ dự thảo mã xác thực thơng báo khóa (One - Key Message Authentication Code - OMAC) Nó dựa mã xác thực thông báo chế độ mã CBC ba khóa (Three-key Cipher Block Chaining MAC) MAC mã hóa nguyên thủy NIST CBC - MAC Trong người gửi cần chọn khóa độc lập với khóa mã sử dụng mã theo chế độ CBC Người gửi bỏ qua mã giữa, quan tâm đến mã cuối thẻ MAC Khóa dùng cho CBC-MAC khơng trùng với khóa mã rõ, MAC an tồn 4.1) Tổng quan CMAC Hình 4.1a: Sơ đồ CBC – MAC CMAC nhận khóa mật K đầu vào q trình khởi tạo Nó sử dụng khóa để sinh hai khóa bổ sung Để thuận tiện, khóa tạo phụ thuộc vào nhau, Điều phải trả giá kẻ cơng biết khóa, tìm khóa Tấn cơng hàm MAC cơng trực tuyến Vì tất liệu cần xác thực, kẻ cơng khơng dễ truy vấn tới thiết bị, biết liệu đưa vào MAC Trên thực tế kẻ cơng có thời gian để thực giả mạo mà không bị phát hiện, xác xuất thực thành cơng giả mạo nhỏ Nhìn chung tốc độ CMAC phụ thuộc vào tốc độ mã hóa, với tối ưu hóa hàm tính tốn Page | 20 Bài tập tiểu luận môn An Ninh Mạng Chương 4.2) Thiết kế CMAC Hình 4.2a: Sơ đồ CBC – MAC nguyên thủy Như thông báo chia thành khối có độ dài (bằng độ dài khối khóa) cần dùng khóa Khi thơng báo gồm khối có độ dài khác (độ dài khối cuối nhỏ độ dài khối trước đó) Hình 4.2b: Sơ đồ OMAC thơng báo với khối có độ dài Hình 4.2c: Sơ đồ OMAC thơng báo với khối cuối ngắn khối trước Page | 21 Chương Bài tập tiểu luận môn An Ninh Mạng Để khắc phục, người ta đưa XCBC sử dụng khóa Khóa sử dụng để mã hóa liệu chế độ CBC –MAC Hai khóa cò lại áp dụng cho khối với phép loại trừ (XOR), khối cuối có độ dài với khối trước hay khơng? Đối với XCBC, ba khóa phải độc lập với 4.3) Thuật tốn CMAC Khởi tạo: CMAC nhận khóa mật K đầu vào q trình khởi tạo Nó sử dụng khóa để sinh hai khóa bổ sung K1 K2 Đầu vào: K: Secret key Đầu ra: K1, K2: Khóa CMAC bổ sung L = EncryptK(0) (* Hàm mã khối, với khóa K, khối vào *) If MSB(L) = 0, then K1 = L

Ngày đăng: 26/02/2023, 17:59

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w