Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
1,43 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - - PHẠM THỊ THÚY HIỀN NGHIÊN CỨU PHÁP CẢI THIỆN HIỆU NĂNG BÀIGIẢI TIỂU LUẬN HỆ THỐNG TRUYỀN THÔNG QUANG KHƠNG DÂY AN NINH MẠNG THƠNG TIN n thơng Đề tài: Mã số: 62.52.70.05 MÃ XÁC THỰC BẢN TIN MAC LUẬN ÁN TIẾN SỸ KỸ THUẬT (DỰ THẢO) Hà Nội - 10/2015 Bài tiểu luận An Ninh Mạng MỤC LỤC BẢNG PHÂN CÔNG CÔNG VIỆC .3 BẢNG THUẬT NGỮ VIẾT TẮT DANH MỤC CÁC HÌNH VẼ MỞ ĐẦU NỘI DUNG CHƯƠNG I: MÃ XÁC THỰC BẢN TIN MAC 1.1 Tổng quan 1.1.1 Định nghĩa 1.1.2 Quá trình hoạt động MAC .7 1.2 Một vài cách dùng MAC 1.3 Các thuật toán sử dụng để tạo MAC .9 1.4 Các yêu cầu MAC 1.5 Tính an toàn MAC 10 1.6 Hàm băm MAC 11 1.7 Ưu, nhược điểm MAC .12 1.7.1 Ưu điểm .12 1.7.2 Nhược điểm 12 1.8 Kết luận chương .13 CHƯƠNG GIẢI THUẬT TẠO MÃ XÁC THỰC HMAC 14 2.1 Định nghĩa 14 2.1.1 Giới thiệu .14 2.1.2 Định nghĩa 14 2.2 Thiết kế 15 2.2.1 Mục đích thiết kế HMAC .15 2.2.2 Nguyên tắc thiết kế 16 2.3 Thuật toán .17 2.4 Đặc tính bảo mật quan trọng HMAC .19 2.5 Kết Luận Chương 20 CHƯƠNG 3: ỨNG DỤNG CỦA HÀM MAC TRÊN THỰC TẾ 21 3.1 Chống công lặp 21 3.1.1 Sử dụng Tem thời gian .21 Bài tiểu luận An Ninh Mạng 3.1.2 Sử dụng đếm 22 3.2 Sử dụng MAC 22 3.3 Thứ tự thực mã hóa MAC 23 3.4 Giao thức SSL/TLS 24 3.4.1 Tổng quan 24 3.4.2 Đặc tính chức SSL .25 3.5 Kết luận chương .26 KẾT LUẬN 27 Bài tiểu luận An Ninh Mạng BẢNG PHÂN CÔNG CÔNG VIỆC Sinh viên Nội dung thực Nhiệm vụ Chương 1: Mã xác thực tin MAC Tổng hợp Word Chương 2: Giải thuật tạo mã xác thực HMAC Tổng hợp Word Chương Ứng dụng hàm MAC thực tế Tổng hợp Word Bài tiểu luận An Ninh Mạng BẢNG THUẬT NGỮ VIẾT TẮT Từ viết tắt Tiếng Anh Tiếng Việt MAC Message Authentication Code Mã xác thực tin HMAC Hash Message Authentication Code Mã xác thực thông điệp hàm băm RSA Rivest-Shamir-Adleman Thuật toán mật mã hóa khóa cơng khai SHA Secure Hash Algorithm Thuật tốn băm an toàn MD5 Message-Digest algorithm Giải thuật Tiêu hóa tin DES Data Encryption Standard Tiêu chuẩn mã hóa AES Advanced Encryption Standard Tiêu chuẩn mã hóa nâng cao SSL Secure Socket Layer Giao thức an toàn tầng giao vận IV Nitial Value Giá trị ban đầu CA Certificate Authority Ủy quyền chứng Bài tiểu luận An Ninh Mạng DANH MỤC CÁC HÌNH VẼ, BẢNG Hình 1.1 Quá trình hoạt động MAC Hình 1.2 Các sơ đồ truyền tin MAC Bảng 1.1 Bảng so sánh Hash, MAC Chữ kí số 12 Hình 2.1 Mơ tả HMAC 14 Hình 2.2 Nguyên tắc thiết kế HMAC 16 Hình 2.3 Sơ đồ kiến trúc HMAC 17 Bài tiểu luận An Ninh Mạng MỞ ĐẦU Với phát triển mạnh mẽ công nghệ thông tin, đặt biệt phát triển mạng Internet, ngày có nhiều thơng tin lưu giữ máy vi tính gửi mạng Internet Và xuất nhu cầu an tồn bảo mật thơng tin máy tính Bởi vậy, giải thuật, phương pháp, kế hoạch, hệ thống bảo mật dần đề cao phát triển mạnh, để phục vụ dịch vụ nhu cầu cao bảo mật thông tin Trong đó, dịch vụ tồn vẹn liệu đặc biệt quan trọng Toàn vẹn liệu (Data Integrity) CSDL cách xây dựng CSDL để liệu chứa CSDL phải xác đáng tin cậy Nếu liệu chứa CSDL khơng xác ta nói CSSL tính toàn vẹn (lost data integrity) Và tiểu luận chúng em bàn giải thuật toàn vẹn liệu: MAC dựa hàm băm (HMAC) ứng dụng hàm MAC thực tế Nội dung tiểu luận gồm ba chương: Chương 1: Mã xác thực tin MAC trình bày tổng quan mã xác thực tin MAC, trình hoạt động MAC, thuật toán sử dụng để tạo MAC, yêu cầu, cách sử dụng MAC ưu, nhược điểm mã xác thực tin MAC Chương 2: Giải thuật tạo mã xác thực HMAC giới thiệu giải thuật HMAC, mục đích, nguyên tắc thiết kế HMAC, thuật tốn đặc tính quan trọng HMAC Chương 3: Ứng dụng hàm MAC thực tế trình bày ứng dụng phổ biết hàm MAC chống công lặp, cách sử dụng MAC, thứ tự thực mã hóa ứng dụng MAC giao thức SSL/TLS Tuy cố gắng kiến thức cịn hạn chế nên tiểu luận nhóm chúng em cịn nhiều thiếu sót, mong thầy giáo xem góp ý để chúng em rút kinh nghiệm làm tốt cho lần sau! Qua chúng em xin gửi lời cảm ơn chân thành sâu sắc tới thầy cô Học Viện nói chung thầy Hồng Trọng Minh nói riêng, thầy ln nhiệt tình dạy chúng em, tạo điều kiện cho chúng em nhiều hội để tự học học hỏi lẫn nhau, bổ sung thêm kiến thức thời gian học tập trường! Các thành viên nhóm Bài tiểu luận An Ninh Mạng NỘI DUNG CHƯƠNG I: MÃ XÁC THỰC BẢN TIN MAC 1.1 Tổng quan 1.1.1 Định nghĩa MAC(Message Authentication Code) đoạn thông tin ngắn bổ sung vào tin với nhiệm vụ xác thực tin nhận đến từ nguồn không bị sửa đổi thay Thuật tốn MAC kỹ thuật mật mã khóa đối xứng để cung cấp xác thực thông điệp Để thiết lập quy trình MAC, người gửi người nhận dùng chung khóa K đối xứng 1.1.2 Q trình hoạt động MAC Quá trình sử dụng MAC để xác thực mơ tả hình minh họa sau Hình 1.1 Quá trình hoạt động MAC Người gửi sử dụng số thuật tốn MAC biết đến cơng khai, nhập tin khóa bí mật K tạo giá trị MAC Tương tự hàm băm, hàm MAC nén đầu vào dài tùy ý thành đầu có độ dài cố định Sự khác biệt băm MAC MAC sử dụng khóa bí mật q trình nén Người gửi chuyển tiếp tin với MAC Ở đây, ta giả định tin gửi rõ ràng, lo ngại việc cung cấp xác thực nguồn gốc thơng báo, khơng phải tính bảo mật Nếu yêu cầu bảo mật tin cần mã hóa Khi nhận tin MAC, người nhận nhập tin nhận khóa bí mật chia sẻ K vào thuật tốn MAC tính toán lại giá trị MAC Bài tiểu luận An Ninh Mạng Bây người nhận so sánh giá trị MAC tính tốn với MAC nhận từ người gửi Nếu chúng khớp, người nhận chấp nhận tin nhắn xác nhận tin nhắn gửi người gửi Nếu MAC tính tốn không khớp với MAC người gửi gửi, người nhận khơng thể xác định thơng điệp bị thay đổi tin bị làm giả Vậy nên người nhận cho tin không đáng tin 1.2 Một vài cách dùng MAC Hình 1.2 Các sơ đồ truyền tin MAC Xem xét kịch bản: a) Giả thiết hai bên tham gia truyền thông với bên gửi A bên nhận B A B chia sẻ khóa bí mật chung K A có tin M cần gửi tới B, tính MAC = C(K, M), với C hàm MAC Bản tin M với MAC truyền tới B Người nhận B nhận tin M MAC tiến hành tính tốn MAC với M nhận được( B có khóa bí mật K A), sau tính tốn giá trị MAC mới, B tiến hành so sánh MAC tính toán MAC nhận từ A b) Giả thiết hai bên tham gia truyền thông với bên gửi A bên nhận B A B chia sẻ khóa bí mật chung K1 A có tin M cần gửi tới B, tính MAC = C(K, M), với C hàm MAC Tuy nhiên trước gửi đến B tin gồm M Bài tiểu luận An Ninh Mạng MAC mã hóa với khóa đối xứng K2 để tăng cường tính bảo mật Đến phía nhận B, B giải mã B sở hữu khóa K2 Sau B lại làm quy trình tương tự với M MAC, tính tốn MAC với M nhận so sánh với MAC nhận từ A c) Giả thiết hai bên tham gia truyền thông với bên gửi A bên nhận B Tuy nhiên trường hợp này, tin M mã hóa với khóa đối xứng K2 chia sẻ A B, sau tiến hành tính tốn MAC với khóa bí mật chung K1 Khi B nhận tin mã hóa M với khóa K2 MAC B bắt đầu tiến hành xác thực M, M có thay đổi khơng cần phải giải mã Hoặc B tiến hành song song xác thực M so sánh MAC tính tốn MAC nhận từ A 1.3 Các thuật toán sử dụng để tạo MAC Thông thường, hệ thống mã xác thực tin bao gồm ba thuật toán: Một thuật tốn tạo khóa: chọn khóa từ khơng gian khóa cách đồng cách ngẫu nhiên Thuật tốn ký: trả thẻ gồm khóa tin Thuật toán xác minh: xác minh tính xác thực thẻ gồm khóa tin Có nghĩa là, giá trị tính tốn được chấp nhận tin thẻ không bị giả mạo chỉnh sửa, ngược lại bị từ chối Mã xác thực thơng điệp an tồn phải chống lại nỗ lực giả mạo thẻ kẻ thù, cách ngẫu nhiên, chọn tất thông báo, kể điều kiện văn rõ ràng biết chọn Việc tính tốn khơng khả thi tính thẻ hợp lệ thơng điệp cho mà khơng biết khóa, trường hợp xấu nhất, kẻ công biết thẻ thông báo ngoại trừ thẻ đề cập 1.4 Các yêu cầu MAC Như giải thích trên, tồn tin gửi phải mã hóa sử dụng khóa đối xứng để đảm bảo tính bảo mật, tính bảo mật chế phụ thuộc vào chiều dài chuỗi bit khóa Dựa vào vài điểm yếu thuật tốn, kẻ cơng buộc phải dùng đến cơng vét cạn(sử dụng tất khóa có) Vậy công cần 2(k-1) truy nhập khóa k bit Thơng thường, với công biết ciphertext C (Pi=D(Ki , C), cần phải thực với tất Ki Pi tạo khớp với plaintext chấp nhận Bài tiểu luận An Ninh Mạng CHƯƠNG GIẢI THUẬT TẠO MÃ XÁC THỰC HMAC 2.1 Định nghĩa 2.1.1 Giới thiệu 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 (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 Đã có số đề xuất việc liên kết khóa bí mật với thuật tốn băm có sẵ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, sử dụng giao thức Internet khác SSL HMAC đề xuất chuẩn viện tiêu chuẩn công nghệ quốc gia Mỹ (NIST) 2.1.2 Định nghĩa HMAC ( Hash-based Message Authentication Code ) loại mã xác thực tin nhắn, cụ thể chức băm mật mã mã hóa với khóa bí mật Như với MAC nào, sử dụng để xác minh đồng thời để tính tồn vẹn liệu, tính xác thực liệu Hình 2.1 Mơ tả HMAC 14 Bài tiểu luận An Ninh Mạng 2.2 Thiết kế 2.2.1 Mục đích thiết kế 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 Nhóm 15 Bài tiểu luận An Ninh Mạng 2.2.2 Nguyên tắc thiết kế Hình 2.2 Nguyên tắc thiết kế HMAC HMAC hoạt động dựa vào khả kiểm tra tính tồn vẹn liệu hàm băm tính xác thực mã hóa khóa bí mật Giả sử: ALICE cần gửi cho BOB tệp liệu A Alice thống với BOB trước sử dụng thuật tốn băm SHA-3 khóa bí mật K Trước gửi liệu, Alice sử dụng thuật toán băm SHA-3 cho tệp liệu A mã hóa với khóa bí mật K Sau đó, hàm băm gửi với tệp liệu A Khi nhận tệp liệu mã băm, BOB băm tệp liệu với thuật toán băm SHA-3 giải mã khóa bí mật Nếu giống với kết sau băm BOB trùng với mã băm BOB nhập kết ALICE khơng bị thay đổi Cịn BOB kết không trùng với mã băm nhận có trường hợp: người gửi khơng phải ALICE; tệp liệu A bị thay đổi đường truyền người gửi ALICE tệp liệu bị thay đổi đường truyền Hàm băm phải đảm bảo tính tồn vẹn liệu mã khóa bí mật đảm bảo tính xác thực liệu Nhóm 16 Bài tiểu luận An Ninh Mạng 2.3 Thuật tốn Hình 2.3 Sơ đồ kiến trúc HMAC Ở đâ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 hệ hexa) lặp lại b/8 lần Opad = 01011100( 5C hệ hexa) lặp lạ b/8 lần Định nghĩa lấy từ RFC 2104: Ta miêu tả thuật toán sau: - B1: 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) - B2: XOR K+ với ipad để tạo khối b bit Si - B3: Thêm M vào Si - B4: Sử dụng hàm băm H cho luồng tạo bước - B5: XOR K+ với opad để tạo khối b bit So - B6: Thêm giá trị băm nhận bước vào So - B7: Sử dụng hàm băm H với luồng tạo bước đưa kết Demo q trình tạo HMAC ngơn ngữ lập trình Python: - Sử dụng thư viện hashlib để sử dụng hàm băm SHA-256 - Sử dụng thư viện hmac để sử dụng hàm hmac.new - Đầu vào khóa bí mật KEY tin MESSAGE - Đầu HMAC dựa hàm băm SHA-266 Nhóm 18 Bài tiểu luận An Ninh Mạng 2.4 Đặc tính bảo mật quan trọng 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 - Dựa vào mức độ nỗ lực cho trước thời gian hay cặp tin nhãn, tin tạo người dung 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 khơng biết trước Kẻ cơng tìm xung đột hàm băm IV ngẫu nhiên bí mật -Trong kiểu 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^n -Trong kiểu công thứ 2: 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’) Với kiểu cơng cần u cầu nỗ lực 2^(n/2) giá trị băm có chiều dài n -Ta xét thử VD sử dụng thuật toán băm MD5 HMAC Do kẻ cơng biết thuật tốn băm giá trị IV mặc định Do 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 khơng biết Key Nhóm 19 Bài tiểu luận An Ninh Mạng Do kẻ công phải thực quan sát chuỗi tin thực HMAC khoá thực công tin biết nhắm tìm khố Với chiều dài mã băm 128 bit u cầu, u cầu 2^64 khối quan sát tạo khố Theo tính tốn đường truyền 1GB/giây, người cần quan sát luồng tin liên tục khơng có thay đổi khố khoảng 150 nghìn năm để tìm khố =>>Do ta kết luận hệ thống mã hố mức độ an tồn phụ thuộc nhiều vào độ dài khố kỹ thuật phân phối khoá bên phát bên thu 2.5 Kết Luận Chương MAC dựa hàm băm (HMAC) hoạt động dựa đặc tính quan trọng hàm băm với việc kết hợp sử dụng khố bí mật Ngồi tốc độ nguyên nhân để chọn HMAC HMAC tính tốn nhanh giải thuật Block ciphers DES hay AES biết trước đó, miễn phí ln có sẵn, không chịu ảnh hưởng số luật quyền sử dụng HMAC phụ thuộc nhiều vào độ lớn khố bí mật K Khố bí mật K có độ lớn cao khó bị cơng Nếu khố K bị lộ, HMAC đảm bảo tính tồn vẹn liệu mà khơng cịn tính xác thực Nhóm 20 Bài tiểu luận An Ninh Mạng CHƯƠNG 3: ỨNG DỤNG CỦA HÀM MAC TRÊN THỰC TẾ Hàm MAC thiết kế để đảm bảo xác thực bên kênh liên lạc, giúp việc gửi nhận liệu xác thực với hạn chế khả bị công Tuy để sử dụng chúng cách an toàn hiệu cần đặc biệt lưu ý số vấn đề Ngày nay, MAC sử dụng rộng rãi phổ biến nhiều ứng dụng yêu cầu bảo mật cao, phịng tránh cơng giả mạo, sửa đổi thơng tin Trên thực tế, MAC cịn triển khai sử dụng giao thức SSL/TLS mạng Internet 3.1 Chống công lặp Tấn công lặp hình thức cơng mạng việc truyền liệu hợp lệ độc hại gian lận lặp lặp lại trì hỗn Điều thực người khởi tạo đối thủ chặn liệu truyền lại nó, phần cơng giả trang cách thay gói IP Đây phiên cấp thấp " Tấn công trung gian " Một cách khác để mô tả công là: "một công vào giao thức bảo mật sử dụng tin nhắn lặp lại từ bối cảnh khác vào bối cảnh dự định (hoặc ban đầu dự kiến), đánh lừa người tham gia trung thực nghĩ họ hồn thành thành cơng giao thức chạy Trong q trình trao đổi thơng tin, gói liệu chia thành khối công lặp dễ xảy Khi bị cơng gói lặp giữ ngun việc giải mã bình thường nên điều nguy hiểm khơng dễ phát cơng Có hai giải pháp để chống công lặp sử dụng tem thời gian đếm Nó gắn gói tin vào ngữ cảnh (context), cho phép người nhận xác định đựợc vị trí gói tin luồng liệu 3.1.1 Sử dụng Tem thời gian Các chế xác thực liên quan đến tem thời gian sử dụng thời gian tham chiếu chung mà liên kết logic bên xác thực bên xác thực Đồng hồ tham chiếu đề nghị Thời gian giới phối hợp chung (UTC) Một cửa sổ chấp nhận số kích thước cố định sử dụng bên xác thực Tính thời gian kiểm sốt bên xác thực tính tốn khác tem thời gian thẻ nhận được xác thực thời gian nhận bên xác thực thời điểm thẻ nhận Nếu có khác biệt bên cửa sổ thơng báo chấp nhận Tính xác thực đăng nhập tất thông báo cửa sổ từ chối lần xuất thứ hai thông báo đồng cửa sổ Nhóm 21 Bài tiểu luận An Ninh Mạng Mục đích sử dụng tem thời gian đảm bảo cho thơng báo có hiệu lực khoảng thời gian Ví dụ hệ thống cho phép gói liệu có hiệu lực 30 giây từ tem thời gian dán vào Tuy vậy, từ góc độ an tồn, thật khó đặt tem thời gian đủ nhỏ để tránh cơng lặp Ví dụ ta đặt cửa sổ hiệu lực phút kẻ cơng dễ dàng thực cơng lặp phút Nhưng đặt cửa sổ hiệu lực giây, có khó khăn khoảng thời gian chưa truyền gói liệu Mặt khác vấn đề đồng thời gian nút hệ thống tương đối hệ thống nói chung khơng sử dụng 3.1.2 Sử dụng đếm Chống công lặp có giải pháp hiệu khác sử dụng đếm Ví dụ ta lưu trạng thái ghi dịch phản hồi tuyến tính – LFSR (Linear Feedback Shift Register) gói hy vọng trạng thái LFSR điểm (clocked) gói Nếu trạng thái LFSR không đúng, ta coi khơng nhận gói liệu Một cách tiếp cận đơn giản mà thuận tiện sử dụng giá trị đếm số tự nhiên Chỉ cần giá trị đếm không lặp lại phiên liên lạc Giá trị đếm thỏa thuận hai bên không cần phải ngẫu nhiên, khơng cần khóa MAC sử dụng phiên Khi gói gửi giá trị đếm tăng lên, thân giá trị đếm chứa thông báo phần đầu vào hàm MAC Tức tMAC có giá trị đếm văn mã Có thể mã hóa giá trị đếm, điều khơng quan trọng độ an tồn tăng lên “không đáng kể” Người nhận kiểm tra giá trị đếm trước tiến hành động tác khác Nếu giá trị đếm nhỏ giá trị đếm gói nhất, gói lặp Kích thước đếm có cỡ lớn kích thước gói liệu cần gửi Thường đếm 32 bit đủ, trường hợp đặc biệt 40 bit 48 bit 3.2 Sử dụng MAC Việc sử dụng hàm MAC không nên lạm dụng ứng dụng yêu cầu bảo mật, khơng sử dụng hàm hash hay hàm mã hóa Đơi người ta muốn kết hợp sử dụng CMAC với khóa cố định để tạo hash Nhưng thiết kế lại không an tồn hàm khơng thực PRF (chức giả ngẫu nhiên) Như nên sử dụng CMAC hay HMAC? Dùng CMAC hay HMAC phải dựa vấn đề mà ta cần giải Nếu ta có sở mã hóa đảm bảo sử dụng CMAC hợp lý Có thể sử dụng lại mã chương trình hay thiết bị phần cứng Nhóm 22 Bài tiểu luận An Ninh Mạng để thực xác thực CMAC dựa mã khối với đầu vào nhỏ (so với hash) đầu ngắn gọn, thời gian trễ cho tính tốn nhỏ Ví dụ với thông điệp ngắn khoảng 16 hay 32 byte, CMAC sử dụng AES cho kết nhanh, trễ HMAC HMAC thắng áp dụng cho thông điệp kích thước lớn Hash xử lý liệu với số vịng/byte mã hóa Hash thường tạo liệu thẻ MAC dài theo yêu cầu cụ thể Nhưng HMAC yêu cầu cài đặt hàm hash Do đó, có hash thơng báo khơng q nhỏ ta nên sử dụng HMAC Cịn có mã hóa thơng báo nhỏ thi nên sử dụng CMAC 3.3 Thứ tự thực mã hóa MAC Thứ tự thực mã hóa MAC, nói chung không ảnh hưởng đến yêu cầu độ an tồn, có khác biệt nhỏ hai trường hợp Quan trọng khóa mã khóa MAC khơng có liên hệ với Đơn giản sử dụng hàm tạo khóa phải tách biệt khóa dành cho mã hóa khóa dành cho MAC Trường hợp: Mã hoá trước, MAC sau Ở chế độ mã hóa rõ trước sau MAC mã (cùng với đếm hay tem thời gian) Vì mã hóa ánh xạ cách ngẫu nhiên hồn tồn rõ (địi hỏi lựa chọn IV “Initial Vector” thích hợp) thơng báo ngẫu nhiên Như MAC không lộ thông tin rõ, người nhận khơng cần phải giải mã để từ chối gói liệu khơng hợp lệ Trường hợp: MAC trước, mã hố sau Ở chế độ trước tiên ta MAC rõ (cùng với đếm tem thời gian) sau mã rõ Đầu vào MAC khơng phải ngẫu nhiên phần lớn thuật tốn MAC khơng sử dụng vectơ khởi tạo IV(Initial Vector), đầu MAC không ngẫu nhiên Như đưa cho kẻ công mã thẻ MAC rõ Nếu rõ không đổi, mã thay đổi (do lựa chọn IV tốt), thẻ MAC cũ Tuy nhiên thường ta có tem thời gian đếm phần đầu vào hàm MAC Và MAC PRF (chức giả ngẫu nhiên), nên chống cơng rõ không đổi Tốt áp dụng mã hóa thẻ MAC rõ, giá trị thẻ MAC không bị kẻ công tiếp cận Hạn chế người nhận phải giải mã để so sánh thẻ MAC Nhóm 23 Bài tiểu luận An Ninh Mạng 3.4 Giao thức SSL/TLS 3.4.1 Tổng quan Tiêu chuẩn Secure Socket Layer (SSL) – Giao thức an toàn tầng giao vận tiêu chuẩn ban đầu Netscape Communications phát triển sau Trung tâm Quốc gia Ứng dụng siêu máy tính (NCSA) phát hành Mosaic 1.0, trình duyệt web phổ biến vào năm 1993 Tổ chức IETF (Internet Engineering Task Force ) chuẩn hoá SSL đặt lại tên TLS (Transport Layer Security) Mặc dù có thay đổi tên TSL phiên SSL Phiên TSL 1.0 tương đương với phiên SSL 3.1 Tuy nhiên SSL thuật ngữ sử dụng rộng rãi SSL giao thức có phân lớp Tại lớp, thơng điệp có trường trường độ dài, mô tả nội dung SSL phân mảnh gói liệu ban đầu thành nhiều khối liệu nhỏ quản lý, tùy chọn nén liệu, áp dụng hàm băm: Mã xác thực thơng điệp MAC, mã hóa truyền liệu Dữ liệu nhận giải mã, xác nhận, giải nén tổng hợp lại, sau chuyển tới thành phần khác mức cao SSL giao thức đơn lẻ, mà tập thủ tục chuẩn hoá để thực nhiệm vụ bảo mật sau: Xác thực server: Cho phép người sử dụng xác thực server muốn kết nối Lúc này, phía browser sử dụng kỹ thuật mã hố cơng khai để chắn certificate public ID server có giá trị cấp phát CA (certificate authority) danh sách CA đáng tin cậy client Điều quan trọng người dùng Ví dụ: gửi mã số credit card qua mạng người dùng thực muốn kiểm tra liệu server nhận thơng tin có server mà họ định gửi đến không Xác thực Client: Cho phép phía server xác thực người sử dụng muốn kết nối Phía server sử dụng kỹ thuật mã hố cơng khai để kiểm tra xem certificate public ID server có giá trị hay không cấp phát CA (certificate authority) danh sách CA đáng tin cậy server không Điều quan trọng nhà cung cấp Ví dụ: ngân hàng định gửi thơng tin tài mang tính bảo mật tới khách hàng họ muốn kiểm tra định danh người nhận Mã hoá kết nối: Tất thông tin trao đổi client server mã hoá đường truyền nhằm nâng cao khả bảo mật Điều quan trọng đối Nhóm 24 Bài tiểu luận An Ninh Mạng với hai bên có giao dịch mang tính riêng tư Ngoài ra, tất liệu gửi kết nối SSL mã hoá bảo vệ nhờ chế tự động phát xáo trộn, thay đổi liệu 3.4.2 Đặc tính chức SSL SSL giao thức theo mơ hình khách/chủ (client/server) cung cấp dịch vụ bảo mật việc kết nối ngang hàng Các đặc tính SSL: - Kết nối đáng tin cậy: thông điệp vận chuyển thơng báo bao gồm kiểm tra tính tồn vẹn thơng điệp sử dụng MAC, hàm băm an tồn sử dụng để tính tốn MAC ví dụ SHA, MD5 - Kết nối bí mật: mã hóa sử dụng sau thiết lập kết nối để xác định khóa bí mật Mã hóa đối xứng sử dụng để mã hóa liệu (ví dụ tiêu chuẩn mã hóa: Data Encryption Standard - DES, 3DES – Triple Data Encryption Standard, RC4) - Định danh điểm kết nối: xác thực cách sử dụng mã hóa bất đối xứng khóa cơng khai (ví dụ Rivest-Shamir-Adleman - RSA, Digital Signature Standard - DSS) Chức SSL: SSL xem tầng trung gian tốt tầng giao vận tầng ứng dụng mơ hình TCP/IP SSL có hai chức sau: - Thứ thiết lập kênh kết nối an toàn điểm giao tiếp (xác thực bảo mật) - Thứ hai SSL sử dụng kết nối để truyền tải liệu giao thức tầng cao từ nơi gửi đến nơi nhận cách an tồn Do đó, chia liệu thành phần nhỏ xử lý phần liệu chia đó, phần nén, xác thực với MAC, mã hóa, thêm vào trước với tiêu đề truyền đến nơi nhận Mỗi phần liệu xử lý chuẩn bị theo cách gọi ghi SSL - Về phía người nhận, ghi SSL phải giải mã, xác nhận (sử dụng MAC mình), giải nén, tập hợp lại, trước liệu gửi đến tầng cao tương ứng, thường tầng ứng dụng Nhóm 25 Bài tiểu luận An Ninh Mạng 3.5 Kết luận chương Trên thực tế, MAC ứng dụng rộng rãi nhiều ứng dụng đòi hỏi độ bảo mật cao, MAC triển khai sử dụng giao thức SSL/TLS Internet Giao thức SSL sử dụng rộng rãi World Wide Web việc xác thực mã hố thơng tin client server SSL phát triển cho phép trao đổi riêng tư mạng Internet, cho phép ứng dụng khách/chủ giao tiếp an toàn, ngăn ngừa cơng, bóc tách liệu hay phá hủy thơng điệp trái phép an toàn truyền siêu văn bản, an tồn trao đổi thư điện tử Nhóm 26 Bài tiểu luận An Ninh Mạng KẾT LUẬN Có bốn loại MAC: bảo mật vô điều kiện, dựa hàm băm, dựa mật mã dòng dựa mật mã khối Trước đây, cách tiếp cận phổ biến để tạo MAC sử dụng mật mã khối Tiêu chuẩn mã hóa liệu (DES), MAC dựa băm (HMAC) sử dụng khóa bí mật kết hợp với hàm băm mật mã để tạo mã băm, sử dụng rộng rãi Trong tiểu luận chúng em cung cấp từ đến chi tiết cách hoạt động MAC HMAC từ đưa ứng dụng thực tế MAC thực tế Như thấy sử dụng MAC cách hợp lý vấn đề phức tạp, phụ thuộc vào nhiệm vụ cụ thể, công việc cụ thể, môi trường ứng dụng thực tế Chúng ta thống với hậu khôn lường không sử dụng MAC Tuy nhiên, cần thận trọng sử dụng MAC để đạt mục tiêu an toàn, thuận tiện hiệu Nhóm 27 Bài tiểu luận An Ninh Mạng TÀI LIỆU THAM KHẢO [1] TS Nguyễn Chiến Trinh, PGS.TS Nguyễn Tiến Ban, Ts Hoàng Trọng Minh, TS Phạm Anh Thư, Ths Nguyễn Thanh Trà; (2021); “Bài giảng An Ninh Mạng Viễn Thơng”, Học viện Cơng nghệ Bưu Viễn Thơng; Hà Nội [2] Bùi Trọng Tùng, “Xác thực thông điệp”, Viện công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội [3] Qasim Mohammed Hussein ( May 2020), “A message authentication code” [4] Suhail Hussain, Shail Mullapathi Farooq, Taha Selim Ustun, “Analysis and implementation of Message Authentication Code (MAC)” [5] “The Keyed-Hash Message Authentication Code (HMAC)”, (2008), https://csrc.nist.rip/library/NIST%20FIPS%20198-1.pdf Nhóm 28 ... toàn vẹn liệu: MAC dựa hàm băm (HMAC) ứng dụng hàm MAC thực tế Nội dung tiểu luận gồm ba chương: Chương 1: Mã xác thực tin MAC trình bày tổng quan mã xác thực tin MAC, trình hoạt động MAC, thuật... Mạng BẢNG PHÂN CÔNG CÔNG VIỆC Sinh viên Nội dung thực Nhiệm vụ Chương 1: Mã xác thực tin MAC Tổng hợp Word Chương 2: Giải thuật tạo mã xác thực HMAC Tổng hợp Word Chương Ứng dụng hàm MAC thực. .. sử dụng để tạo MAC, yêu cầu, cách sử dụng MAC ưu, nhược điểm mã xác thực tin MAC Chương 2: Giải thuật tạo mã xác thực HMAC giới thiệu giải thuật HMAC, mục đích, ngun tắc thiết kế HMAC, thuật tốn