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

Mã xác thực bản tin mac và ứng dụng

23 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

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 875,42 KB

Nội dung

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA VIỄN THÔNG 1 TIỂU LUẬN KẾT THÚC HỌC PHẦN MÔN AN NINH MẠNG ĐỀ TÀI MÃ XÁC THỰC BẢN TIN MAC VÀ ỨNG DỤNG Bài cuối kỳ môn ANM 1 | P a g e Mục Lục Danh mục hình[.]

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA VIỄN THÔNG TIỂU LUẬN KẾT THÚC HỌC PHẦN MÔN AN NINH MẠNG ĐỀ TÀI: MÃ XÁC THỰC BẢN TIN MAC VÀ ỨNG DỤNG Bài cuối kỳ môn ANM Mục Lục Danh mục hình ảnh Kết kiểm tra trùng lặp Doit Bảng phân chia công việc Lời nói đầu I Tổng quan MAC 1.1 Định nghĩa 1.2 Cơ chế hoạt động MAC 1.3 Một số sơ đồ sử dụng mã MAC 1.3.1 Sơ đồ phương pháp MAC-then-Encrypt 1.3.2 Sơ đồ phương pháp Encrypt-then-MAC 1.3.3 Sơ đồ phương pháp Encrypt-and-MAC 1.4 Các yêu cầu cho mã xác thực tin MAC 1.5 Ưu nhược điểm MAC 1.5.1 Ưu điểm 1.5.2 Nhược điểm 1.6 Mục đích sử dụng II Tính an toàn MAC 10 2.1 Tấn công vét cạn(brute-force) 10 2.2 Phân tích mã 10 III Các biến thể mã MAC 11 3.1 MAC dựa hàm băm (HMAC) 11 3.1.1 Kiến trúc HMAC 11 Hình 3.3: Minh họa thuật tốn HMAC 14 3.1.2 Tính an tồn HMAC 14 3.2 MAC dựa mật mã khối 16 3.2.1 Thuật toán DAA 16 3.2.2 CMAC 17 IV Ứng dụng MAC 20 V Tổng kết 21 Tài liệu tham khảo 22 1|Page Bài cuối kỳ mơn ANM Danh mục hình ảnh 2|Page Bài cuối kỳ môn ANM Bảng phân chia công việc Họ tên Công việc I Tổng quan MAC Phần 1.1 đến 1.4 III Các biến thể mã MAC Phần 3.1 dến 3.2 Phần 1.5 đến 1.6 II Tính an toàn MAC IV Ứng dụng MAC V Tổng kết Sửa word 3|Page Bài cuối kỳ môn ANM Lời nói đầu Trong hệ thống xử lý liệu tự động, người thường quét liệu để xác định xem sửa đổi hay chưa Việc kiểm tra tốn nhiều thời gian số lượng lớn liệu liên quan đến ứng dụng xử lý liệu đại liệu khơng đủ dự phịng để phát lỗi Ngay quét, liệu sửa đổi theo cách mà khó phát Ví dụ: "do" thay đổi thành "do not" "1.000 USD'' đổi thành" 10.000 USD " Nếu khơng có thơng tin bổ sung, máy qt người dễ dàng chấp nhận liệu thay đổi xác thực Mối đe dọa tồn mã hóa liệu sử dụng Do đó, mong muốn có phương tiện tự động để phát sửa đổi có chủ ý khơng chủ ý liệu Các mã phát lỗi thông thường khơng phù hợp, vì, thuật tốn tạo mã biết, tin tặc tạo mã xác sau sửa đổi liệu Không thể phát sửa đổi có chủ ý với mã Tuy nhiên, Mã xác thực thông báo (MAC), loại tổng kiểm tra mật mã, bảo vệ chống lại việc sửa đổi liệu vơ tình hay cố ý, trái phép Trong tiểu luận nhóm nghiên cứu tìm hiểu tổng quan mã xác thực tin MAC với hai biến thể HMAC CMAC, qua đưa số ứng dụng phổ biến bảo mật thông tin người dùng 4|Page Bài cuối kỳ môn ANM I Tổng quan MAC 1.1 Định nghĩa Mã xác thực tin (Message Authentication Code – MAC) đoạn thông tin ngắn dùng để xác thực tin, xác nhận tin gửi từ người gửi nêu nội dung tin không bị thay đổi MAC sinh từ thuật toán sử dụng kỹ thuật chứng thực liên quan tới việc sử dụng khóa bí mật để tạo khối liệu có kích thước nhỏ, cố định sau thêm vào thông điệp 1.2 Cơ chế hoạt động MAC Kỹ thuật giả sử hai phía tham gia truyền thơng A B có chia sẻ khóa bí mật K Khi A có thơng điệp cần gửi đến B, A tính tốn MAC hàm thơng điệp khóa: MAC = C (M, K), đó: (1) o M thơng điệp cần tính MAC o K khóa bí mật chia sẻ người gửi gửi nhận o C hàm tính MAC Hình 1.1: Mơ hình MAC để chứng thực tin 5|Page Bài cuối kỳ môn ANM Ở hình 1.1 ta thấy cách hoạt động MAC là: Từ rõ, người gửi tính MAC khóa bí mật K sau đưa tin MAC tính vào thơng điệp cần truyền Người nhận sau nhận thông điệp gồm tin mã MAC tính mã MAC từ tin nhận khóa bí mật K sau so sánh với mã MAC nhận từ thông điệp, tùy vào kết xảy hai trường hợp đây: - Nếu giá trị MAC trùng chắn tin không bị sửa đổi gửi từ người Nếu giá trị MAC khác chứng tỏ liệu truyền bị cơng bị sửa đổi có kẻ công giả mạo người gửi 1.3 Một số sơ đồ sử dụng mã MAC Ở phần 1.2 ta biết phương thức hoạt động đơn giản MAC, nhiên cách hoạt động đem lại tính xác thực khơng có tính bảo mật nên gần chúng gần không sử dụng thực tiễn Ở phần 1.3 ta tìm hiểu sơ đồ sử dụng MAC thường thấy mà vừa xác thực tin vừa đảm bảo tính bảo mật 1.3.1 Sơ đồ phương pháp MAC-then-Encrypt Hình 1.2: Sơ đồ phương pháp MAC-then-Encrypt Qua hình 1.2 ta thấy cách hoạt động phương pháp sau: - Người gửi tạo giá trị MAC t từ rõ M từ khóa K1 sau mã hóa rõ giá trị MAC vừa tính khóa K2 đưa lên kênh truyền Người nhận sau thu thông điệp gồm mã giá trị MAC mã hóa giải mã khóa K2 thu rõ M’ giá trị MAC t’ Tiếp theo 6|Page Bài cuối kỳ môn ANM - người gửi tạo giá trị MAC từ rõ thu khóa K1 so sánh với giá trị MAC t’ Phương pháp xác thực tồn vẹn rõ khơng xác thực tồn vẹn cho mã (do ta không phát kẻ địch cơng thay mã) Tính bảo mật cung cấp mật mã hóa tin sau thuật toán MAC 1.3.2 Sơ đồ phương pháp Encrypt-then-MAC Hình 1.3: Sơ đồ phương pháp Encrypt-then-MAC Qua hình 1.3 ta thấy cách hoạt động phương pháp sau: - - Người gửi mã hóa rõ M khóa K2 sau tính MAC mã khóa K1 đưa vào kênh truyền Người nhận sau nhận thơng điệp tính giá trị MAC mã khóa K1 Tiếp theo người nhận so sánh giá trị MAC vừa tính với giá trị MAC thu trùng tiếp tục giải mã mã khóa K2 để thu rõ Phương pháp xác thực toàn vẹn rõ đồng thời xác thực toàn vẹn mã Đầu tiên, thơng qua phương pháp ta hồn tồn phát mã bị thay kẻ địch công vào mã Thứ hai, giá trị MAC hồn tồn khơng mang thơng tin rõ nên khơng tiết lộ điều rõ Tinh bảo mật cung cấp cách mật mã hóa tin trước thuật tốn MAC 7|Page Bài cuối kỳ mơn ANM 1.3.3 Sơ đồ phương pháp Encrypt-and-MAC Hình 1.4: Sơ đồ phương pháp Encrypt-and-MAC Qua hình 1.4 ta thấy cách hoạt động phương pháp sau: - - Người gửi đồng thời tính MAC từ rõ khóa K1 mã hóa rõ khóa K2 gửi vào kênh truyền Người nhận sau nhận thông điệp giải mã mã khóa K2 thu rõ Tiếp theo tính giá trị MAC từ rõ vừa thu so sánh với giá trị MAC thu từ thông điệp Phương pháp đảm bảo tính xác thực rõ chưa đảm bảo tính xác thực cho mã giá trị MAC tính từ rõ khiến cho kẻ địch cơng vào mã Tính bảo mật cung cấp cách mật mã hóa tin Kết luận: Qua phương pháp sử dụng MAC ta thấy phương pháp Encryptthen-MAC tốt Bất kỳ sửa đổi mã khơng có MAC hợp lệ lọc trước giải mã, bảo vệ chống lại công vào việc triển khai MAC sử dụng để suy điều rõ 1.4 Các yêu cầu cho mã xác thực tin MAC - Nếu kẻ công quan sát M MAC (K, M), không khả thi với kẻ công tạo tin M’ nhãn (MAC) với M - MAC (K, M) nên có phân bố chuẩn tin lựa chọn ngẫu nhiên, M M’, xác suất để MAC (K, M) = MAC (K, M’) 2-n, n số bit nhãn - Cho M’ kết chuyển đổi M, M’ = f (M) Ví du, f số thao tác nghịch đảo nhiều bit Khi đó: Pr [MAC (K, M) = MAC (K, M’)] = 2-n (2) 8|Page Bài cuối kỳ môn ANM 1.5 Ưu nhược điểm MAC 1.5.1 Ưu điểm • Về chức bảo mật, MAC cung cấp tính tồn vẹn tin xác thực Tuy nhiên, không giống chữ ký điện tử, MAC lược đồ khóa đối xứng chúng khơng cung cấp tính chống thoái thác Một ưu điểm MAC chúng nhanh nhiều so với chữ ký điện tử chúng dựa mật mã khối hàm băm - Bảo vệ tính tồn vẹn tin: bảo vệ tin khơng bị thay đổi có biện pháp phát mẩu tin bị thay đổi đường truyền - Xác thực (Kiểm chứng danh tính nguồn gốc): xem xét tin có người xưng tên gửi không hay kẻ mạo danh khác gửi Các mã xác thực tin MAC cung cấp tin cậy cho người nhận tin khơng bị thay đổi gửi từ đích danh người gửi - Chống thoái thác: trường hợp cần thiết, thân mẩu tin chứa thông tin chứng tỏ có người xưng danh gửi, khơng khác làm điều Như người gửi từ chối hành động gửi, thời gian gửi nội dung mẩu tin Nói cách khác, việc chống thoái thác nguồn gốc chứng minh liệu gửi từ nguồn gốc đó, việc chống thoái thác phân phát chứng minh thơng điệp nhận bên nhận • MAC Có kích thước nhỏ, thời gian tạo nhanh so với mã hóa tồn thơng báo • MAC hỗ trợ xác thực, không hỗ trợ bảo mật nên có lợi nhiều trường hợp (các thơng báo cơng cộng …) 1.5.2 Nhược điểm Sử dụng MAC có nhược điểm MAC phụ thuộc vào mẩu tin người gửi, cần xác thực mẩu tin thơng tin xác thực phụ thuộc mẩu tin để lưu trữ làm chứng cho tính tồn vẹn 1.6 Mục đích sử dụng Mục đích MAC xác thực nguồn thơng điệp tính tồn vẹn Khơng giống băm mật mã, MAC tạo người nhận dự kiến có quyền truy cập vào khóa bí mật Với điều kiện thuật tốn sử dụng để tạo MAC khóa bí mật giống nhau, thông báo định tạo MAC 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 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 9|Page Bài cuối kỳ mơn ANM II Tính an tồn MAC 2.1 Tấn công vét cạn(brute-force) Brute force kiểu công dùng cho tất loại mã hóa công bruteforce bao gồm việc kẻ công gửi nhiều mật cụm mật với mục đích cuối đốn tổ hợp xác Kẻ cơng kiểm tra cách có hệ thống tất mật cụm mật có tìm thấy mật xác Ngồi ra, kẻ cơng cố gắng đốn khóa thường tạo từ mật cách sử dụng chức dẫn xuất khóa Hình 2.1: Tấn công vét cạn brute-force Các công Brute-force hoạt động cách tính tốn kết hợp tạo nên mật kiểm tra để xem liệu có phải mật xác hay khơng Khi độ dài mật tăng lên, lượng thời gian, khả tính tốn trung bình cần thiết để tìm mật xác tăng lên theo cấp số nhân Một cơng brute-force MAC việc khó thực công brute-force vào hàm băm u cầu cặp MAC mẩu thơng tin biết Kẻ công muốn đưa mã MAC hợp lệ cho thông báo x định Có thể có hai đường cơng: Tấn cơng khơng gian chính: kẻ cơng xác định khố MAC, sau tạo giá trị MAC hợp lệ cho đầu vào x Tấn cơng giá trị MAC: mục đích tạo thẻ hợp lệ cho tin nhắn để tìm tin nhắn phù hợp với thẻ định 2.2 Phân tích mã Cũng thuật tốn mã hóa hàm băm, cơng phân tích mật mã thuật tốn MAC tìm cách khai thác số thuộc tính thuật tốn để thực số cơng khác với tìm kiếm tồn diện Cách để đo lường khả chống lại 10 | P a g e Bài cuối kỳ mơn ANM thuật tốn MAC việc phân tích mật mã so sánh sức mạnh với nỗ lực cần thiết cho cơng vét cạn Một thuật tốn MAC lý tưởng yêu cầu nỗ lực phân tích mật mã lớn nỗ lực công brute-force III Các biến thể mã MAC 3.1 MAC dựa hàm băm (HMAC) 3.1.1 Kiến trúc HMAC a) Giới thiệu Với phát triển AES (Advanced Encryption Standard) 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 hàm băm tiếp tục sử dụng rộng rãi Trong năm gần đây, việc phát triển kỹ thuật MAC nhận từ hàm băm mật mã có quan tâm tăng nhanh chóng Các động lực cho quan tâm cụ thể là: • Các hàm băm mã hóa MD5 SHA thường 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 b) Định nghĩa: HMAC (Mã xác thực tin nhắn dựa băm) loại mã xác thực tin nhắn (MAC) có cách thực hàm băm mật mã liệu (nghĩa là) xác thực khóa chia sẻ bí mật Giống MAC nào, sử dụng cho tính tồn vẹn liệu xác thực Việc kiểm tra tính tồn vẹn liệu cần thiết bên tham gia giao tiếp HTTPS, SFTP, FTPS giao thức truyền khác sử dụng HMAC Hàm băm mật mã MD-5, SHA-1 SHA-256 Chữ ký điện tử gần giống với HMAC, tức chúng sử dụng hàm băm khóa chia sẻ Sự khác biệt nằm khóa, tức HMACs sử dụng khóa đối xứng (cùng sao) Chữ ký sử dụng khơng đối xứng (hai khóa khác nhau) c) Mục tiêu thiết hế HMAC ❖ RFC 2104 liệt kê mục tiêu thiết kế sau cho 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 hoạt động tốt phần mềm mã chương trình cung cấp miễn phí rộng rãi • Để cho phép khả thay dễ dàng hàm băm nhúng trường hợp hàm băm khác nhanh an toàn tìm 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 11 | P a g e Bài cuối kỳ mơn ANM • Để có phân tích mã hóa để hiểu rõ độ mạnh chế xác thực dựa giả định 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 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 tồ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 c) Thiết kế HMAC Ban đầu HMAC thiết kế để sử dụng với SHA1, thực tế sử dụng an tồn với hàm hash an tốn khác HMAC sinh hai khóa từ khóa mật cách XOR hai số với Nếu khóa lớn kích thước khối nén, khóa trước hết phải hash, đầu coi khóa mật Khóa mật gán thêm byte zero đảm bảo độ dài độ dài khối nén Khóa thành hai bản, thứ XOR với 0x36 tạo khóa ngồi (outer), thứ hai XOR với 0x5C tạo khóa (inner) Xâu gồm byte 0x36 gọi opad, xâu gồm byte 0x5C ipad Khóa phải bổ sung thêm (padded) để có độ dài độ dài khối nén để thực hash có khóa (keyed hash) thay cho hash thơng qua việc tạo trạng thái hash khởi tạo phụ thuộc khóa HMAC tương đương với việc lấy trạng thái khởi tạo hash cách ngẫu nhiên khóa bí mật Hình 3.1: Sơ đồ khối HMAC 12 | P a g e Bài cuối kỳ mơn ANM d) Thuật tốn Ở đây: • 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 cùa M, 0b, khóa đầu vào hàm băm để tạo khóa n bit) • K+=K bit đệm vào phía trái để chiều dài b bit • Ipad=00110110( 36 - hexa) lặp lại b/8 lần • Opad = 01011100( 5C - hexa) lặp lạ b/8 lần Hình 3.2: Sơ đồ kiến trúc HMAC Định nghĩa lấy từ RFC 2104: Ta miêu tả thuật tốn sau: Các bước Mơ tả bước Bước Nếu độ dài K = b: Đặt K + = K Chuyển đến bước Bước Nếu độ dài K> b: Băm K để có chuỗi L bit, sau thêm số vào (b-L) để tạo chuỗi b bit K + (vd: K + = H (K) || 00 00) Chuyển đến bước Bước Nếu độ dài K

Ngày đăng: 26/02/2023, 15:28

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

TÀI LIỆU LIÊN QUAN

w