Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
1,81 MB
Nội dung
Đề Tài An Ninh – Bảo Mật Mạng GVHD: Ths PHAN THANH SỬ TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN ĐẠI HỌC QUỐC GIA TP.HCM CƠ SỞ ĐÀO TẠO TẠI TRƯỜNG CHÍNH TRỊ BẾN TRE ĐỀ TÀI TÌM HIỂU MD5 VÀ CÁCH KIỂM TRA MỨC AN TOÀN DỮ LIỆU KHI DOWNLOAD GVHD: Ths PHAN THANH SỬ Nhóm sinh viên thực hiện: Nguyễn Hữu Tài Tăng Trường Thịnh LỚP : CN K5A NĂM HỌC:2010 – 2011 Lớp: CN K5A Trang 1/30 Nhóm SV: Hữu Tài – Trường Thịnh Đề Tài An Ninh – Bảo Mật Mạng GVHD: Ths PHAN THANH SỬ LỜI CẢM ƠN Nhóm chúng em xin chân thành cảm ơn thầy PHAN THANH SỬ người hướng dẫn cho chúng em hoàn thành đề tài Thầy người giảng dạy cho chúng em AN NINH – BẢO MẬT MẠNG, giúp chúng em có kiến thức tảng tốt để tìm hiểu AN NINH – BẢO MẬT MẠNG Nhờ mà nhóm chúng em làm đề tài quan hết chúng em tiếp thu kinh nghiệm thực tế suốt trình thực đề tài Tuy nhiên, đề tài chúng em có tính ứng dụng thực tiễn nên có nhiều thiếu sót, mong thầy bảo thêm cho nhóm chúng em Xin chân thành cảm ơn thầy đóng góp ý kiến cho chúng em thực tốt đề tài Lớp: CN K5A Trang 2/30 Nhóm SV: Hữu Tài – Trường Thịnh Đề Tài An Ninh – Bảo Mật Mạng GVHD: Ths PHAN THANH SỬ NHẬN XÉT CỦA GIÁO VIÊN VIÊN HƯỚNG DẪN Lớp: CN K5A Trang 3/30 Nhóm SV: Hữu Tài – Trường Thịnh Đề Tài An Ninh – Bảo Mật Mạng GVHD: Ths PHAN THANH SỬ LỜI NÓI ĐẦU Ngày nay, ứng dụng Công nghệ thông tin ngày phổ biến rộng rãi ảnh hưởng lớn đến diện mạo đời sống, kinh tế, xã hội Mọi cơng việc hàng ngày thực từ xa với hổ trợ máy vi tính mạng internet (từ việc học tập, giao dịch,… đến việc gửi thư) Tất thông tin liên quan đến công việc máy vi tính quản lý truyền hệ thống mạng Đối với thơng tin bình thường khơng có ý đến, thơng tin mang tính chất sống cịn số cá nhân (hay tổ chức) vấn đề bảo mật thật quan trọng, vấn đề khó khăn đặt giữ thơng tin bí mật giữ địa cần đến Nhiều tổ chức, cá nhân tìm kiếm đưa nhiều giải pháp bảo mật phương pháp mã hóa khóa cơng khai xem phương pháp có tính an tồn cao Như việc đảm bảo an tồn thơng tin, tránh nguy bị thay đổi, chép mát liệu ứng dụng mạng vấn đề xúc, nhiều người quan tâm Trong báo cáo này, em trình bày vấn đề liên quan mã hóa thơng tin, thuật tốn băm MD5 Từ đó, ứng dụng thuật tốn MD5 để phân tích q trình hoạt động chữ ký điện tử Trên cở sở đó, em xin đề giải pháp ứng dụng chữ ký điện tử sở kết hợp thuật tốn băm MD5 q trình gửi nhận văn Lớp: CN K5A Trang 4/30 Nhóm SV: Hữu Tài – Trường Thịnh Đề Tài An Ninh – Bảo Mật Mạng GVHD: Ths PHAN THANH SỬ PHẦN I GIỚI THIỆU ĐỀ TÀI MỤC ĐÍCH Tìm hiểu hàm băm , sâu vào thuật toán MD5 Hàm băm (Hash Function): Cho đầu vào thơng báo có kích thước thay đổi, đầu mã băm có kích thước cố định Giải thuật băm MD5 (Message Digest 5): sử dụng để kiểm tra tính tồn vẹn khối liệu lớn Thuật toán nhận đầu vào đoạn tin có chiều dài bất kỳ, băm thành khối 512 bit tạo đầu đoạn tin 128 bit Xây dựng chương trình mơ hàm băm MD5 Đưa kết chương trình mô kết thu với tài liệu tiêu chuẩn thuật toán MD5 ĐỐI TƯỢNG NGHIÊN CỨU Các phương pháp mật mã hóa Các thuật toán hàm băm MD5 PHẠM VI NGHIÊN CỨU Bài báo cáo tập trung nghiên cứu thuật toán băm MD5 ứng dụng hàm băm Ý NGHĨA ĐỀ TÀI Lớp: CN K5A Trang 5/30 Nhóm SV: Hữu Tài – Trường Thịnh Đề Tài An Ninh – Bảo Mật Mạng GVHD: Ths PHAN THANH SỬ MD5 lĩnh vực sử dụng rộng rải thực tế, nhận thực tin, file văn vấn đề truyền thông tin mạng, xây dụng giải pháp giao dịch điện tử phủ điện tử Nghiên cứu MD5 tìm hiểu lĩnh vực ứng dụng có ý nghĩa quan trọng thực tế MỤC LỤC PHẦN II NỘI DUNG CHƯƠNG I TỔNG QUAN VỀ MẬT MÃ HÓA 1.1 KHÁI NIỆM VỀ MÃ HĨA Mã hố tiến trình biến đổi thơng tin, sử dụng thuật tốn nhằm mục đích khơng cho người khác nắm bắt thiếu vốn thông số định (key) để dịch ngược Đi kèm với mã hố giải mã Có nhiều loại thuật toán mã hoá cho liệu máy tính, chúng gọi tên theo thuật tốn so sánh trực tiếp với nhau, ví dụ mã hoá 128-bit, Triple-DES, 2048-bit RSA Trong loại, dĩ nhiên phép mã hoá 2048-bit RSA mạnh mẽ phép mã hố 1024-bit RSA.Nhưng khơng có nghĩa phép mã hố với độ dài dãy bit lớn xem an toàn Thử liên tưởng đến Lớp: CN K5A Trang 6/30 Nhóm SV: Hữu Tài – Trường Thịnh Đề Tài An Ninh – Bảo Mật Mạng GVHD: Ths PHAN THANH SỬ biệt thự bạn, với cổng khoá ổ khoá chân, chân nằm 10 vị trí, ổ khố mở chân theo mã khoá chủ nhà, để vượt qua, tên trộm cần phải dùng tối đa 10.000 phép thử (brute-force attack) Nhưng tăng ổ khoá lên 10 chân, tạo nên 10 triệu khe cắm khố hợp lệ, khơng đủ thơng minh (hay ngu dốt) để mở khoá cách cơng thuật tốn Họ phá cửa sổ, hay chí phá cổng, giả danh quyền, thợ nước… để đột nhập vào nhà bạn Một ổ khố tốt khơng thể chống lại kiểu cơng Điều cho thấy thuật toán mã hoá cực mạnh hữu sử dụng ở nơi cần thiết, lúc tối ưu Cái cần bảo vệ ngơi nhà bạn đặt hàng rào bẫy hi vọng kẻ trộm dính vào bẫy Với phát triển mạnh mẽ mình, hầu hết kênh thơng tin lấy Internet làm tảng để phát triển Điều tất yếu nảy sinh vấn đề An tồn thơng tin, ngày đó, bạn nhận rằng, thơng tin bạn bị theo dõi Để vừa đảm bảo thông tin kết nối, vừa đảm bảo yếu tố bảo mật thơng tin phương pháp tốt mã hố thơng tin Ngày việc mã hố trở nên phổ cập, quốc gia cơng ty lớn có sách phát triển cơng cụ mã hố riêng biệt để bảo vệ cho thơng tin họ Trên giới có nhiều loại thuật tốn, khn khổ báo cáo, tìm hiểu thuật tốn ứng dụng phổ biển Internet Hình 1.1 Mơ hình hệ thống mã hóa quy ước Mật mã hóa sử dụng phổ biến để đảm bảo an tồn cho thơng tin liên lạc Các thuộc tính yêu cầu là: Lớp: CN K5A Trang 7/30 Nhóm SV: Hữu Tài – Trường Thịnh Đề Tài An Ninh – Bảo Mật Mạng GVHD: Ths PHAN THANH SỬ Bí mật: Chỉ có người nhận xác thực lấy nội dung thông tin chứa đựng dạng mật mã hóa Nói khác đi, khơng thể cho phép thu lượm thông tin đáng kể nội dung thơng điệp Ngun vẹn: Người nhận cần có khả xác định thơng tin có bị thay đổi q trình truyền thơng hay khơng Xác thực: Người nhận cần có khả xác định người gửi kiểm tra xem người gửi có thực gửi thơng tin hay khơng 1.2 CÁC THUẬT TỐN MÃ HĨA 1.2.1 Mã hóa đối xứng Hình 1.2: Ngun lý hệ thống mã hoá đối xứng Nguyên lý hệ thống mã hoá khoá đối xứng (hình 1.2) Có thể thấy chất mã hố đối xứng phía thu phía phát sử dụng khố bí mật (SK), thuật tốn hai phía giống Mã hoá đối xứng dựa vào việc phân phối khoá cách bảo mật hai phía Nhưng thực tế khố chung lại phân phối tới tất người mạng, vấn đề “kênh bảo mật” làm đau đầu nhà quản trị mạng Điều nguy hiểm chiếm khố q trình phân phối có tồn quyền truy nhập tới liệu khố bảo vệ Do đó, q trình phân phối khoá phải “kênh bảo mật”, kênh logic hay kênh vật lý (hình 1.4) Lớp: CN K5A Trang 8/30 Nhóm SV: Hữu Tài – Trường Thịnh Đề Tài An Ninh – Bảo Mật Mạng GVHD: Ths PHAN THANH SỬ Hình 1.3: Kênh nguyên lý hệ thống mã hoá đối xứng 1.2.2 Mã hoá bất đối xứng Ngược lại với mã hoá đối xứng, thuật tốn bất đối xứng hoạt động theo hai khố, hay xác cặp khố (hình 1.2) Khố sử dụng biết đến khố bí mật khố cơng khai có khái niệm mã hố khố cơng khai Mỗi khố sử dụng để mã hoá hay giải mã, khác với thuật toán đối xứng, giá trị khoá phía khác Trong hệ thống RSA, liệu mã hố khố bí mật (KXu) giải mã khố cơng khai cặp khố Cặp khố tạo có liên quan trực tiếp với Mặc dù có quan hệ với biết hay truy nhập khố cơng khai khơng thể tính tốn giá trị khố bí mật Do đó, cơng khai khố mã khơng làm ảnh hưởng tới tính bảo mật hệ thống, địa thư tín cịn khố bí mật ln giữ kín Bản chất mã hố khố cơng khai RSA tin mật mã nhận thực mã hố khố bí mật cịn giải mã khố cơng khai Từ đó, phía thu cịn xác định nguồn gốc tin Bất người giữ khố cơng khai nghe trộm tin mật mã cách tính tốn với kho bí mật, khơng đảm bảo tính tin cậy tin (trong nhóm) mà cịn nhận thực, hay cịn gọi khơng thể từ chối, ví dụ người gửi khơng thể từ chối họ tác giả tin Nó hồn tồn trái ngược với hoạt động khố đối xứng, tin mật mã đảm bảo tính tồn vẹn phía mã hố giải mã, có khố chung phát tin từ chối phát nó, cịn phía thu khơng thể biết đâu tác giả tin Thuật tốn đối xứng u cầu khả tính tốn lớn đó, tốc độ q trình mã hố chậm so với mã hố đối xứng Đó trở ngại hệ thống cho phép tỷ lệ lỗi lớn truyền thơng thoại Do đó, mã hố khố cơng khai khơng phù hợp với tin có chiều dài thông thường, nhiên kết hợp hai chế độ đảm bảo tính nhận thực, tin cậy tồn vẹn tin Nói chung, ứng dụng sử dụng thuật toán bất đối xứng là: Sử dụng giá trị “băm” nhỏ làm chữ ký điện tử Lớp: CN K5A Trang 9/30 Nhóm SV: Hữu Tài – Trường Thịnh Đề Tài An Ninh – Bảo Mật Mạng GVHD: Ths PHAN THANH SỬ Mã hố khố bí mật sử dụng thuật tốn đối xứng Thỏa thuận khóa mã bí mật phía truyền thơng Hình 1.4: Ngun lý mã hố khố cơng khai thuật tốn RSA CHƯƠNG II TỔNG QUAN VỀ HÀM BĂM VÀ THUẬT TỐN HÀM BĂM MD5 2.1 MD5 ? Trong mã học , MD5 ( Message – Digest algorithm ) hàm băm mật mã sử dụng phổ biến với giá trị băm dài 128 bit Là chuẩn internet Lớp: CN K5A Trang 10/30 Nhóm SV: Hữu Tài – Trường Thịnh Đề Tài An Ninh – Bảo Mật Mạng GVHD: Ths PHAN THANH SỬ Vòng 3: HH (a, b, c, d, M5, 4, 0xfffa3942) HH (d, a, b, c, M8, 11, 0x8771f681) HH (c, d, a, b, M11, 16, 0x6d9d6122) HH (b, c, d, a, M14, 23, 0xfde5380c) HH (a, b, c, d, M1, 4, 0xa4beea44) HH (d, a, b, c, M4, 11, 0x4bdecfa9) HH (c, d, a, b, M7, 16, 0xf6bb4b60) HH (b, c, d, a, M10, 23, 0xbebfbc70) HH (a, b, c, d, M13, 4, 0x289b7ec6) HH (d, a, b, c, M0, 11, 0xeaa127fa) HH (c, d, a, b, M3, 16, 0xd4ef3085) HH (b, c, d, a, M6, 23, 0x04881d05) HH (a, b, c, d, M9, 4, 0xd9d4d039) HH (d, a, b, c, M12, 11, 0xe6db99e5) HH (c, d, a, b, M15, 16, 0x1fa27cf8) HH (b, c, d, a, M2, 23, 0xc4ac5665) Vòng 4: II (a, b, c, d, M0, 6, 0xf4292244) II (d, a, b, c, M7, 10, 0x432aff97) II (c, d, a, b, M14, 15, 0xab9423a7) II (b, c, d, a, M5, 21, 0xfc93a039) II (a, b, c, d, M12, 6, 0x655b59c3) II (d, a, b, c, M3, 10, 0x8f0ccc92) II (c, d, a, b, M10, 15, 0xffeff47d) II (b, c, d, a, M1, 21, 0x85845dd1) II (a, b, c, d, M8, 6, 0x6fa87e4f) II (d, a, b, c, M15, 10, 0xfe2ce6e0) II (c, d, a, b, M6, 15, 0xa3013414) II (b, c, d, a, M13, 21, 0x4e0811a1) II (a, b, c, d, M4, 6, 0xf7537e82) II (d, a, b, c, M11, 10, 0xbd3af235) II (c, d, a, b, M2, 15, 0x2ad7d2bb) II (b, c, d, a, M9, 21, 0xeb86d391) Những số ti được chọn theo quy luật sau: bước thứ i giá trị ti là phần nguyên của 232*abs(sin(i)), i = [0 63] được tính theo radian Lớp: CN K5A Trang 16/30 Nhóm SV: Hữu Tài – Trường Thịnh Đề Tài An Ninh – Bảo Mật Mạng GVHD: Ths PHAN THANH SỬ Sau tất cả bước a, b, c và d lần lượt được cộng với A, B, C và D để cho kết quả đầu và thuật toán tiếp tục với khối liệu 512-bit tiếp theo cho đến hết bức điện Đầu cuối là một khối 128-bit của A, B, C và D, chính là hàm Băm nhận được 2.7 Sự khác MD4 MD5 MD4 có ba chu kỳ biến đổi MD5 bổ sung thêm chu kỳ thứ tư giúp tăng mức độ an toàn Mỗi thao tác chu kỳ biến đổi MD5 sử dụng số ti phân biệt MD4 sử dụng số chung cho thao tác chu kỳ biến đổi (Trong MD4, số ti sử dụng chu kỳ 0, 0x5a827999, 0x6ed9eba1) Hàm G chu kỳ hai MD4: G(X, Y, Z)=((X ∧ Y)∨(X ∧ Z)∨(Y ∧ Z)) thay ((X ∧ Z) ∨ (Y ∧ Z)) nhằm giảm tính đối xứng Mỗi bước biến đổi chu kỳ chịu ảnh hưởng kết bước biến đổi trước nhằm tăng nhanh tốc độ hiệu ứng lan truyền (avalanche) Các hệ số dịch chuyển xoay vịng chu kỳ tối ưu hóa nhằm tăng tốc độ hiệu ứng lan truyền Ngoài ra, chu kỳ sử dụng bốn hệ số dịch chuyển khác 2.8 Thuật toán sơ đồ khối 2.8.1 Thuật toán Khởi gán biến: h0 := 0x67452301 h1 := 0xEFCDAB89 h2 := 0x98BADCFE h3 := 0x10325476 Hệ số quay trái R[i]của chu kỳ: Lớp: CN K5A Trang 17/30 Nhóm SV: Hữu Tài – Trường Thịnh Đề Tài An Ninh – Bảo Mật Mạng R[ 15] := { GVHD: Ths PHAN THANH SỬ 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22} R[16 31] := { 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20} R[32 47] := { 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23} R[48 63] := { 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21} Hằng số K[i] for i from to 63 K[i] := floor(abs(sin(i + 1)) × (2 pow 32)) Tiền xử lý: • Thêm bit vào cuối thơng điệp • Thêm vào k bit cho độ dài thông điệp nhận đồng dư 448 (mod 512) • Thêm 64 bit biểu diễn độ dài thơng điệp gốc(giá trị lưu dạng bigendian) Q trình xử lý: • Chia thơng điệp (đã padding) thành khối 512 bit • Với khối 512-bit: o Chia thành 16 word (32 bit, little-endian) w[0 15] o A= h0, B= h1, C= h2, D= h3 Lớp: CN K5A Trang 18/30 Nhóm SV: Hữu Tài – Trường Thịnh Đề Tài An Ninh – Bảo Mật Mạng GVHD: Ths PHAN THANH SỬ o 64 chu kỳ xử lý o h0+=A, h1+=B, h2+=C, h3+=D • Kết quả:= h0 | h1 | h2 | h3 Chu kỳ xử lý MD5 Trong đó: • t số thứ tự chu kỳ • A, B, C, D, word (32 bit) trạng thái • F hàm phi tuyến (thay đổi tùy theo chu kỳ) • Đầu tiên, bốn biến A, B, C, D khởi tạo Những biến gọi chaining variables Bốn chu kỳ biến đổi MD5 hoàn toàn khác sử dụng hàm F, G, H I Mỗi hàm có tham số X, Y, Z từ 32 bit kết từ 32 bit •