Tìm hiểu về độ an toàn của hàm băm MD5

24 57 0
Tìm hiểu về độ an toàn của hàm băm MD5

Đ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

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG Khoa Viễn Thông I - BÀI TIỂU LUẬN MƠN HỌC: AN NINH MẠNG ĐỀ TÀI: TÌM HIỂU ĐỘ AN TOÀN CỦA HÀM BĂM MD5 Giảng viên hướng dẫn : TS Phạm Anh Thư Mã học phần :TEL1401M Nhóm mơn học : 06 Nhóm tiểu luận : 05 Sinh viên thực hiện: Vũ Hải Nam B17DCVT259 Nguyễn Thành Đơ B17DCVT062 Lê Đình Huynh B18DCVT209 Hà Nội, 06/2021 Bài thi cuối kỳ môn An ninh mạng BẢNG PHÂN CÔNG CÔNG VIỆC Tên thành viên Vũ Hải Nam Cơng việc Tính an tồn hàm băm MD5 ứng dụng bảo vệ mật Lê Đình Huynh Lý thuyết hàm băm phương pháp cơng phổ biến Nguyễn Thành Đơ Tìm hiểu hàm băm MD5 -Nhóm tiểu luận số 05 Bài thi cuối kỳ môn An ninh mạng MỤC LỤC KHÁI QUÁT VỀ HÀM BĂM 1.1 Định nghĩa hàm băm 1.2 Các tính chất hàm băm 1.3 Ứng dụng hàm băm 1.4 Một số hàm băm phổ biến 10 HÀM BĂM MD5 12 2.1 Giới thiệu 12 2.2 Khái niệm 12 2.3 Ứng dụng 12 2.4 Thuật toán MD5 14 2.5 Sự khác MD5 MD4 16 ĐÁNH GIÁ ĐỘ AN TOÀN CỦA HÀM BĂM MD5 18 3.1 Các kiểu công 18 3.1.1 Tấn công dựa lý thuyết ngày sinh 18 3.1.2 Tấn công mở rộng chiều dài MD5 18 3.1.3 Tấn công theo nguyên lý vét cạn 18 3.1.4 Tấn cơng thuật tốn 19 3.2 Tính an tồn hàm băm MD5 ứng dụng bảo vệ mật 19 3.2.1 Kỹ thuật công Brute Force Attack 19 3.2.2 Kỹ thuật công bảng cầu vồng ( Ranibow Table Attack) 20 3.2.3 Kỹ thuật công từ điển 21 KẾT LUẬN 23 TÀI LIỆU THAM KHẢO 24 -Nhóm tiểu luận số 05 Bài thi cuối kỳ môn An ninh mạng -THUẬT NGỮ VIẾT TẮT Từ viết tắt MD5 MD4 SHA IP Nghĩa tiếng anh Message-Digest algorithm Message-Digest algorithm Secure Hash Algorithm Internet Protocol Nghĩa tiếng Việt Giải thuật Digest Giải thuật Digest Giải thuật băm Giao thức Internet -Nhóm tiểu luận số 05 Bài thi cuối kỳ môn An ninh mạng DANH MỤC HÌNH VẼ Hình 1: Quá trình tạo giá trị băm Hình 2: Ví dụ cụ thể tạo giá trị băm Hình 1: Lưu trữ mật hàm băm MD5 13 Hình 2: Hoạt động hàm MD5 14 Hình 3: MD5 xử lý khối 512bit 15 Hình 4: Thao tác thực vịng ( bước) 16 Hình 1: Phương thức hoạt động bảng cầu vồng 20 Hình 2: Tấn công từ điển trang md5decrypter.co.uk 22 -Nhóm tiểu luận số 05 Bài thi cuối kỳ môn An ninh mạng -MỞ ĐẦU Với bùng nổ mạng Internet nay, mạng máy tính ngày đóng vai trị thiết yếu lĩnh vực hoạt động toàn xã hội, trở thành phương tiện điều hành hệ thống nhu cầu bảo mật thơng tin đặt lên hàng đầu Để giải vấn đề xác nhận chữ ký truyền thống (ký tay) kinh doanh mua bán, việc áp dụng công nghệ thông tin thay đổi giúp tối ưu việc xử lý bảo mật văn giao dịch Người ta đưa cách giải hiệu áp dụng chữ ký điện tử vào cơng việc Với mục tiêu đánh giá độ an toàn thơng tin sử dụng thuật tốn băm MD5 ứng dụng nó, nhóm sử dung phương pháp khảo sát kỹ thuật công MD5 sâu vào đánh giá mực độ thành cơng dị tìm mật kỹ thuật công từ điển, công brute force Đề tài “ Tìm hiểu độ an tồn hàm băm MD5” nhóm chia thành phần Phần 1: Lý thuyết hàm băm Phần 2: Tìm hiểu hàm băm MD5 Phần 3: Đánh giá độ an toàn hàm băm MD5 -Nhóm tiểu luận số 05 Bài thi cuối kỳ môn An ninh mạng KHÁI QUÁT VỀ HÀM BĂM 1.1 Định nghĩa hàm băm Hàm băm (hash function) giải thuật tạo giá trị băm tương ứng với khối liệu Giá trị băm có vai trị gần khóa để phân biệt khối liệu Hàm băm H nhận đầu vào chuỗi liệu M có chiều dài tạo giá trị băm (hay cịn gọi "hash value") có chiều dài cố định theo công thức sau: h = H (M) Hình 1: Quá trình tạo giá trị băm -Nhóm tiểu luận số 05 Bài thi cuối kỳ môn An ninh mạng Hình 2: Ví dụ cụ thể tạo giá trị băm 1.2 Các tính chất hàm băm Tính chất 1: Hàm băm H hàm chiều Hàm băm H có tính chiều (oneway) có nghĩa cho trước M việc tính H(M) thực nhanh chóng ngược lại cho trước giá trị H(M) khó tìm giá trị M Tính chất 2: Hàm băm H không va chạm yếu Hàm băm H phải có phi xung đột yếu (weak-collision), có nghĩa cho trước M ta khó tìm thông điệp M’ khác M cho H(M) = H(M’) Tính chất 3: Hàm băm H khơng va chạm mạnh Hàm băm H có tính phi đụng độ cao (strong collision), điều có nghĩa khó tìm cặp thơng điệp (M, M’) M’ khác M cho H(M)=H(M’) 1.3 Ứng dụng hàm băm Hàm băm sử dụng rộng rãi giới phần mềm để đảm bảo tập tin tải không bị hỏng Người sử dụng so sánh thông số kiểm tra phần mềm Hàm băm công bố với thông số kiểm tra phần mềm tải Hàm băm Hệ điều hành Unix sử dụng MD5 để kiểm tra gói mà phân phối, hệ điều hành Windows sử dụng phần mềm bên thứ ba -Nhóm tiểu luận số 05 Bài thi cuối kỳ môn An ninh mạng -Hàm băm dùng để mã hóa mật Mục đích việc mã hóa biến đổi chuổi mật thành đoạn mã hoàn tồn khác, cho từ đoạn mã khó lần mật Có nghĩa việc giải mã phải khoảng thời gian lâu (đủ để làm nản lòng hacker) Tạo mã chứng thực thông điệp ứng dụng chứng số, đời hệ mật mã khóa cơng khai với hàm băm cách mạng kỹ thuật mật mã Chính nhiều người nói hàm băm phương thức mật mã khơng dùng khóa Một ứng dụng quan trọng thiếu hàm băm ứng dụng chữ ký số 1.4 Một số hàm băm phổ biến  Hàm băm MD4 MD4 (Message-Digest thuật toán 4) hàm băm mật mã phát triển Ronald Rivest vào năm 1990 Độ dài tiêu hóa 128 bit Thuật toán ảnh hưởng đến thiết kế sau cá thuật toán RIPEMD, MD5, SHA-1,…  Hàm băm SHA-1 SHA-1 (Secure Hash Algorithm 1) hàm băm mật mã lấy đầu vào tạo giá trị băm có độ dài 160 bit (20 byte) gọi thông báo tiêu hóa - thường hiển thị dạng số thập lục phân, có độ dài 40 chữ số Nó thiết kế quan an ninh quốc gia hoa kì tiêu chuẩn quan xử lý thông tin liên bang  Hàm băm SHA-256 SHA256-Secure Hash Algorithm 256-bit (Thuật toán băm bảo mật 256 bit) sử dụng để bảo mật mật mã Thuật toán băm mật mã tạo hàm băm khơng thể đảo ngược có Số lượng hàm băm có lớn, xác suất để hai giá trị tạo giá trị băm trở nên nhỏ Việc đệm thực tương tự việc đệm thuật toán cho hàm băm MD5.Chia thông điệp thành khối có độ dài 512 bit -về bên trái s đơn vị; s thay dổi tùy theo tác vụ phép cộng thêm với modulo 232 Hình 4: Thao tác thực vòng ( bước) 2.5 Sự khác MD5 MD4 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 riêng 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) -Nhóm tiểu luận số 05 16 Bài thi cuối kỳ môn An ninh mạng -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 Kết luận Tập chung nghiên cứu hàm băm MD5, họ hàm băm sử dụng rộng rãi Giới thiệu lịch sử phát triển, tên gọi, tính chất ứng dụng hàm băm MD5 So sánh MD5 MD4 để thấy ưu điểm vượt trội MD5 giải thích MD5 lại sử dụng rộng rãi, coi chuẩn internet -Nhóm tiểu luận số 05 17 Bài thi cuối kỳ môn An ninh mạng -3 ĐÁNH GIÁ ĐỘ AN TOÀN CỦA HÀM BĂM MD5 3.1 Các kiểu công 3.1.1 Tấn công dựa lý thuyết ngày sinh Tấn công Ngày sinh loại công mật mã khai thác dựa vào vấn đề Ngày sinh(Birthday problem)- tượng xác suất tạo nghịch lý cảm giác người chúng ta, cịn gọi “Nghịch lý Ngày sinh”(Birthday paradox) Ví dụ cụ thể bạn nhóm người ngẫu nhiên phịng với số người lớn 23, bạn cá với có cặp người có trùng ngày sinh, phần thắng nghiêng bạn Một năm có 365 ngày nên có 365 ngày sinh khác nhau, lớn nhiều 23 làm cho có cảm giác điều Nhưng theo lý thuyết xác suất thống kê chứng minh với 23 người ngẫu nhiên xác suất có hai người có trùng ngày sinh 50% 3.1.2 Tấn công mở rộng chiều dài MD5 Tấn công mở rộng chiều dài loại công phổ biến hàm băm xây dựng cấu trúc lặp Merkle-Damgård hàm băm MD0-MD5 hàm băm SHA0-SHA2 Với phương pháp cơng người dựa giá trị băm h(m) chiều dài len(m) thơng điệp m để tính giá trị băm h(m||pad(m)||m') với thông điệp m' 3.1.3 Tấn công theo nguyên lý vét cạn Trong khoa học máy tính phương pháp công vét cạn cách tổng qt, nội dung kiểu cơng việc cơng hàm băm kiểm tra tất đầu vào sau băm giá trị hàm băm, kiểm tra giá trị với giá trị băm cho trước, chúng giống có nghĩa attacker cơng thành cơng, cịn chúng khác attacker tìm thông điệp khác băm chúng hàm băm chúng tạo giá trị băm mong muốn Kiểu công không phụ thuộc vào cấu trúc hàm băm mà phụ thuộc vào chiều dài đầu hàm băm, để nâng cao tính bảo mật cần cho đầu càng dài tốt Yêu cầu tài nguyên cho việc công bùng nổ tổ hợp với chiều dài đầu hàm băm, ta tăng chiều dài đầu lớn khả để công thành công nhỏ, gọi chiều dài đầu n cần thử 2^n lần để tìm công thành công -Nhóm tiểu luận số 05 18 Bài thi cuối kỳ môn An ninh mạng -3.1.4 Tấn cơng thuật tốn Hàm băm MD5 bị công vào năm 2004 Wang Cơ sở việc cơng dựa phép tốn XOR ( X =X’ X, X message block, chaining variable….) phép trừ mod 32 ( X =X’-X mod 32 ) 3.2 Tính an tồn hàm băm MD5 ứng dụng bảo vệ mật 3.2.1 Kỹ thuật công Brute Force Attack Tấn công Brute Force dựa nguyên lý vét cạn Nội dung kiểu cơng việc công hàm băm MD5 duyệt thơng điệp đầu vào có khả mật ký tự lựa chọn sau băm giá trị hàm băm MD5 kiểm tra giá trị với giá trị băm cho trước, chúng có nghĩa hacker cơng thành cơng, cịn khơng hacker tìm thông điệp khác băm chúng hàm băm giá trị băm mong muốn.Kiểu công không phụ thuộc vào cấu trúc hàm băm mà phụ thuộc khơng gian xây dựng mật Hãy tưởng tượng hacker nắm tay danh sách lớn username mật phổ biến sử dụng Sau họ liên tục gửi truy vấn đăng nhập vào file wp-login.php bạn tài khoản sai bỏ qua thử tiếp tài khoản khác Cứ vậy, sau lại trộn mật đến đăng nhập thơi Đó brute force attack Ta hiểu phương thức cách để dò mật tài khoản người quản trị cao Hình thức cơng dễ phịng chống lại dễ bị công ta chủ quan việc đặt mật username Thường người dùng dễ bị công theo kiểu brute force khi:     Đặt username admin, administrator tương tự Mật khơng an tồn, dễ đốn ra, sử dụng phổ biến Không bảo mật đường dẫn đăng nhập Không thay đổi mật thường xuyên -Nhóm tiểu luận số 05 19 Bài thi cuối kỳ môn An ninh mạng -Cách phát công brute force:  Dấu hiệu cho thấy kẻ xấu cố gắng công brute force vào hệ thống bạn theo dõi lần đăng nhập không thành cơng Nếu người dùng thấy có nhiều lần đăng nhập khơng thành cơng nghi ngờ ( nghi ngờ qua dấu hiệu qua nhiều lần đăng nhập không thành công qua địa IP việc sử dụng nhiều tên người dùng từ địa IP)  Các dấu hiệu khác bao gồm nhiều địa IP không nhận dạng cố gắng đăng nhập không thành công vào tài khoản, dạng số bảng chữ bất thường lần đăng nhập không thành công nhiều lần đăng nhập thành công khoảng thời gian ngắn 3.2.2 Kỹ thuật công bảng cầu vồng ( Ranibow Table Attack) Ranibow Tables (bảng cầu vồng) tập giá trị băm tính tốn trước cho hầu hết kết hợp kí tự đặc biệt, chữ biểu tượng Tấn công mật sử dụng phương thức brute force để phá mật tính tốn cho giá trị băm sử dụng bảng cầu bồng tồn giá trị băm có sẵn nhớ RAM Ưu điểm bảng cầu vồng tiết kiệm thời gian lấy mật tất giá trị hash tính tốn trước Tuy nhiên nhược điểm tốn thời gian để tạo bảng cầu vồng ban đầu Để tạo bảng cầu vồng ban đầu, sử dụng cơng cụ sau: RanibowCrack, Ophcrack Hình 1: Phương thức hoạt động bảng cầu vồng -Nhóm tiểu luận số 05 20 Bài thi cuối kỳ môn An ninh mạng -Kích thước tập tin bảng cầu vồng phụ thuộc vào mật gồm loại ký tự ( chữ cái, chữ chữ số hay tồn tập ký tự) Kích thước tập tin yếu tố quan trọng số lượng lớn tập tin bảng cầu vồng 3.2.3 Kỹ thuật công từ điển Kỹ thuật công từ điển cách công đơn giản nhanh loại hình cơng Nó sử dụng để xác định mật từ thực tế mật tìm thấy từ điển Thông thường nhất, công sử dụng tập tin từ đển từ có thể, sau sử dụng thuật toán sử dụng trình xác thực Các hàm băm từ tử điển so sánh với hàm băm mật người dùng đăng nhập vào, với mật lưu trữ tập tin máy chủ Dictionary Attack làm việc mật thực thể có từ điển Nhưng kiểu cơng có số hạn chế khơng thể sử dụng với mật mạnh có chứa số ký hiệu khác Dictionary attack kỹ thuật công cách thử nghiệm trường hợp mật người khác sử dụng Hoạt động theo phương thức thử nghiệm với tất key danh sách có sẵn: sử dụng danh sách (được xếp) mật ( hash password) có sẵn thử đăng nhập (hoặc so mẫu với mật cần crack) Với phương pháp này, liệu thử chia sẻ nhiều, không tốn nhiều thời gian công sức đem lại hiệu khả quan Điểm hạn chế phương pháp không gian mật vô lớn, xu hướng người dùng sử dụng mật có độ bảo mật cao ( có độ dài lớn, gồm ký tự thường, ký tự hoa, chữ số, ký tự đặc biệt khơng theo cấu trúc) cơng từ điển đạt độ thành công định -Nhóm tiểu luận số 05 21 Bài thi cuối kỳ môn An ninh mạng Hình 2: Tấn công từ điển trang md5decrypter.co.uk Kết luận: Mật bị crack số kỹ thuật công công từ điển, công bảng cầu vồng, công brute force kết hợp với công nghệ tính tốn hiệu cao Đặt mật khó dài cách tiết kiệm thời gian, chi phí mà đem lại hiệu cao Mã hóa mật MD5 nhiều lần kết hợp MD5 với SHA, cộng vào sau mã MD5 số ngẫu nhiên làm tăng độ phức tạp thời gian crack mật lên nhiều -Nhóm tiểu luận số 05 22 Bài thi cuối kỳ môn An ninh mạng KẾT LUẬN Với mục tiêu đánh giá độ an tồn thơng tin sử dụng thuật tốn băm MD5 ứng dụng nó, tác giả sử dụng phương pháp khảo sát kỹ thuật công MD5 sâu vào đánh giá mức độ thành cơng dị tìm mật kỹ thuật công từ điển, công brute force Trên thực tế ứng dụng bảo vệ mật giải thuật MD5 sử dụng rộng rãi Có nhiều phương pháp kỹ thuật cơng mật công bố mức độ thành công phương pháp phụ thuộc lớn vào tài nguyên máy tính cách đặt mật -Nhóm tiểu luận số 05 23 Bài thi cuối kỳ môn An ninh mạng TÀI LIỆU THAM KHẢO Tiếng Anh [1] A Narayanan and V Shmatikov (2005), “Fast dictionary attacks on passwords using time space tradeoff”, in CCS05: Proceedings of the 12th ACM conference on Computer and communications security, pp 364–372, New York [2] D Göddeke, R Strzodka, J Mohd-Yusof, P McCormick, S Buijssen, M Grajewski, and S Tureka (2007), “Exploring weak scalability for FEM calculations on a GPU-enhanced cluster”, Parallel Computing, vol 33, pp 685-699 [3] D Kahn (1996), “ The Codebreakers - The Story of Secret Writing”, Scribner, New York [4] H M Weir, S Aggarwal, B d Medeiros, and B Glodek.(2009), “Password cracking using probabilistic context-free grammars”, In the 2009 30th IEEE Symposium on Security and Privacy, pp.391, USA [5] J Black - M Cochran -T Highland (2006), A Study of the MD5 Attacks: Insights and Improvements, USA Tiếng Việt [6] Bản dịch Nguyễn Bình (1995), Mật mã Lý thuyết thực hành, D.R.Stinson [7] Vũ Đình Cường (2011), Cách bảo vệ liệu quan trọng phương pháp phát thâm nhập, NXBLĐXH [8] Phan Đình Diệu (2002), Lý thuyết mật mã an tồn thơng tin, NXB ĐHQGHN [11] ĐH Nha Trang (2008), Bài giảng An tồn bảo mật thơng tin -Nhóm tiểu luận số 05 24 ... công brute force Đề tài “ Tìm hiểu độ an tồn hàm băm MD5? ?? nhóm chia thành phần Phần 1: Lý thuyết hàm băm Phần 2: Tìm hiểu hàm băm MD5 Phần 3: Đánh giá độ an toàn hàm băm MD5 ... LỤC KHÁI QUÁT VỀ HÀM BĂM 1.1 Định nghĩa hàm băm 1.2 Các tính chất hàm băm 1.3 Ứng dụng hàm băm 1.4 Một số hàm băm phổ biến 10 HÀM BĂM MD5 ... trị băm 1.2 Các tính chất hàm băm Tính chất 1: Hàm băm H hàm chiều Hàm băm H có tính chiều (oneway) có nghĩa cho trước M việc tính H(M) thực nhanh chóng ngược lại cho trước giá trị H(M) khó tìm

Ngày đăng: 02/09/2021, 16:43

Tài liệu cùng người dùng

Tài liệu liên quan