Nghiên cứu độ an toàn của hàm băm MD5

64 519 2
Nghiên cứu độ 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

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN HỮU HOÀNG NGHIÊN CỨU ĐỘ AN TOÀN CỦA HÀM BĂM MD5 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên - 2013 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN HỮU HOÀNG NGHIÊN CỨU ĐỘ AN TOÀN CỦA HÀM BĂM MD5 Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC TS Hồ Văn Canh Thái Nguyên - 2013 i MỤC LỤC 1.1 Định nghĩa hàm băm 1.3 Xung đột băm 1.5 Một số hàm băm phổ biến 1.5.1 Hàm băm MD4 1.5.2 Hàm băm SHA-1 1.5.3 Hàm băm SHA-256 1.5.4 Hàm băm SHA-384, SHA-512 10 CHƯƠNG 15 HÀM BĂM MD5 15 CHƯƠNG 25 ĐÁNH GIÁ ĐỘ AN TOÀN MD5 25 DỰA TRÊN THỬ NGHIỆM TẤN CÔNG .25 3.1 Tấn công hàm băm 25 3.2 Các phương pháp công hàm băm phổ biến .25 3.2.1 Tấn công dựa lý thuyết ngày sinh 25 3.2.3 Tấn công thuật toán 29 3.2.4 Tấn công theo nguyên lý vét cạn .36 3.3.3 Kết luận độ an toàn MD5 48 KẾT LUẬN 52 ii LỜI CẢM ƠN Đầu tiên, xin gửi lời cảm ơn chân thành sắc tới Tiến sỹ Hồ Văn Canh, thầy tận tình bảo giúp đỡ suốt trình làm luận văn Bên cạnh kiến thức học hỏi thầy tinh thần làm việc khoa học nghiêm túc Tôi xin chân thành cám ơn tới Khoa CNTT Trường Đại học Công nghệ thông tin Truyền thông, thầy cô giúp đỡ tận tình truyền đạt kiến thức cho suốt trình học tập nghiên cứu Tôi xin cảm ơn ban chủ nhiệm khoa cán tạo điều kiện tốt cho trình học tập hoàn thành luận văn Tôi xin bày tỏ lòng biết ơn tới gia đình, bạn bè, đồng nghiệp người thân động viên khích lệ tinh thần giúp đỡ hoàn thành luận văn iii LỜI CAM ĐOAN Tôi xin cam đoan, toàn nội dung liên quan tới đề tài trình bày luận văn thân tự tìm hiểu nghiên cứu, hướng dẫn Thầy giáo TS Hồ Văn Canh Các tài liệu, số liệu tham khảo trích dẫn đầy đủ nguồn gốc Tôi xin chịu trách nhiệm trước pháp luật lời cam đoan Học viên thực Nguyễn Hữu Hoàng iv THUẬT NGỮ VIẾT TẮT Số thứ tự Thuật Ngữ Tên Đầy Đủ MAC Message Authentication Code HMAC Keyed-Hash Message Authentication Code opad Outer pad ipad Inner pad SHA Secure Hash Algorithm MD Merkle-Damgård TLS Transport Layer Security CA Certification Authority IPSec Internet Protocol Security 10 GPU Graphic Proccessing Unit 11 SM Streaming Multiprocessor Ý NGHĨA CÁC KÝ HIỆU Số thứ tự Ký hiệu Ý nghĩa v ⊕ Phép toán XOR the number of passwords on one batch, is equal to the number of threads in parallel k -> the maximum length of passwords **********************************************/ Initialize_MPI; Calculate the number of GPUs on each node; for i = to np-1 in parallel /* Initialize base at node level */ base_nodei = (GPUs_node0 + GPUs_node1 + + + GPUs_nodei-1)*p; /* Initialize base at GPU level */ for j = to GPUs_nodei base_GPUj = base_nodei + j*p; for len = to k { /*Call kernels on each node to inspect batches of passwords;*/ for id = to p-1 in parallel Klen(base_GPUi, id); 46 /*Update bases */ base_GPUi += totalGPU*p; } while ( not end of PWlen) Thực thuật toán cụm GPU Kết thử nghiệm Việc giải mã MD5 dựa cluster GPU, triển khai môi trường thử nghiệm, cụm GPU bao gồm hai nút, nút trang bị card đồ họa kép NVIDIA GeForce GTX 295, card Tesla C1060, nút lại trang bị card đồ họa kép NVIDIA GeForce GTX 295 Kết kiểm tra đầu vào: S = {az, AZ ,0-9}, số thread khối 128, số khối 256 (16x16) Các thuật toán song song thực môi trường phần cứng nêu tốc độ tạo kiểm tra mật khẩu, tốc độ khôi phục mật tăng đáng kể so sánh với phiên dựa CPU Bảng sau so sánh tốc độ tạo kiểm tra mật GPU CPU Số lượng CPU / GPU Số lượng mật kiểm tra giây 1CPU 1,436,192 khóa/s 1GPUs 194,379,500 khóa/s 2GPUs 352,468,356 khóa/s 4GPUs 678,091,868 khóa/s 47 7GPUs 918,472,592 khóa/s Bảng 3.4 So sánh tốc độ Tạo Kiểm tra khóa CPU / GPU Thời gian cho Phục hồi mật GPU Chiều dài tối đa Số lượng mật GPU 2GPUs 4GPUs 7GPUs mật 62 0.33ms 0.28ms 0.25ms 0.23ms 3,906 0.65ms 0.58ms 0.44ms 0.47ms 242,234 ms 1.4ms 0.88ms 0.87ms 15,018,571 76 ms 47ms 22ms 16ms 931,151,403 5s 2.9s 1.4 s 1s 57,731,386,987 318s 194s 91 s 66s 3,579,345,993,195 5h 7m 2h 59m 1h 38m 1h 14m 221,919,451,578,091 13d 5h 8m 7d 6h 54m 3d 18h 2d 19h 7m 54m Bảng 3.5 Thời gian cho Phục hồi mật GPU Theo bảng 3.16 ta thấy, giây kiểm tra 918.472.592 mật Nếu so với việc kiểm tra CPU tốc độ tạo kiểm tra mật tăng khoảng 135 lần (trên GPU), 472 lần (4 GPU) 639 lần (với GPU) so với phiên dựa CPU Bảng 3.17 thời gian để khôi phục mật (có chiều dài tối đa 1-8 ký tự) GPU Với hệ 48 thống thử nghiệm tại, thời gian để khôi phục mật MD5 với độ dài ký tự - thuộc tập hợp{az, AZ ,0-9} – chấp nhận Các thí nghiệm chứng minh ứng dụng tiềm Cluster GPU lĩnh vực phân tích mật mã 3.3.3 Kết luận độ an toàn MD5 Với phát triển mạnh mẽ công nghệ chế tạo thiết bị phần cứng giúp tăng tốc trình tính toán đặc biệt khả thực liệu song song GPU MD5 trở nên không thật an toàn việc bảo vệ liệu người dùng Một mật có độ dài 10 kí tự bị tìm vòng vài đồng hồ Vì tổ chức dần chuyển sang sử dụng phương thức mã hóa an toàn SHA-384, SHA-512 MD5 sử rộng rãi thực tế nên việc chuyển đổi cần nhiều thời gian Giải pháp đưa sử dụng kết hợp phương pháp mã hóa nhằm mang lại hiệu Kết luận chương Tìm hiểu phương pháp công hàm băm phổ biến: -Tấn công dựa lý thuyết ngày sinh -Tấn công mở rộng chiều dài MD5 (Length-Extension Attack) -Tấn công thuật toán -Tấn công theo nguyên lý vét cạn Đề xuất sử dụng xử lí đồ họa đa nhân công khôi phục mật MD5 theo nguyên lý vét cạn nhằm đánh giá độ an toàn Trả lời câu hỏi đặt đầu chương: Làm để chủ động đánh giá mức độ an toàn MD5? 49 PHỤ LỤC Mô trình demo công MD5 cluster GPU Như biết hệ thống sử dụng phương thức mã hóa mật MD5 lưu vào database giá trị băm tương ứng với đầu vào password user nhập vào Trong hình 3.7 với password là: Caohock10a giá trị lưu database chuỗi: 6f71f8cc2a455a71c863562a50e38c1b Hình 3.9 Tạo giá trị băm cho mật Giả sử ta biết giá trị băm mật tiến hành khôi phục mật Các bước tiến hành hình sau: 50 Hình 3.10 Add giá trị băm mật vào phần mềm Hình 3.11 Quá trình tạo kiểm tra mật 51 Hình 3.12 Tìm kiếm mật thành công Như thời gian ngắn khôi phục mật có độ dài 10 kí tự bao gồm chữ viết thường, chữ viết hoa chữ số Chứng minh GPU lựa chọn thích hợp cho việc giải mã MD5 52 KẾT LUẬN Qua trình tìm hiểu hoàn thành luận văn, hiểu nắm bắt vấn đề mấu chốt thuật toán mã hóa, hàm băm Qua đó, hiểu chế làm việc hàm, thư viện Framework sử dụng phổ biến phát triển phần mềm ngày nay, giúp ích nhiều công việc đặc biệt trình lựa chọn phương pháp mã hóa, băm liệu để đảm bảo an toàn không bị công Tiến hành thử demo công khôi phục mật MD5 Cluster GPU bước đầu thu số kết định chứng minh ứng dụng tiềm GPU lĩnh vực phân tích mật mã MD5 sử dụng rộng rãi hiệu quả, nhiên mà công nghệ tính toán ngày phát triển mạnh mẽ việc sử dụng riêng rẽ hàm băm tỏ không hiệu có khả bị công, cần sử dụng song song hàm băm kết hợp với phương pháp mã hóa khác nhằm đem lại hiệu cao việc bảo vệ liệu 53 TÀI LIỆU THAM KHẢO Tiếng Việt [1] GS.TS Nguyễn Bình, TS Trần Đức Sự (2000) Giáo trình sở lý thuyết mật mã Ban yếu phủ, học viện kỹ thuật mật mã, Hà nội [2] Hồ Văn Canh, Nguyễn Viết Thế (2010), Nhập môn: phân tích thông tin có bảo mật, NXB Thông tin Truyền thông năm 2010 [3] Phan Đình Diệu (1999), Lý thuyết mật mã an toàn thông tin, Đại học Quốc gia Hà Nội [4] TS Dương Anh Đức - ThS Trần Minh Triết (2005), Mã hóa ứng dụng, Khoa Công nghệ Thông tin, Trường Đại học Khoa học Tự nhiên, Đại học Quốc gia thành phố Hồ Chí Minh [5] PGS.TS Hồ Thuần (2000), Lý thuyết mật mã an toàn liệu, Trường Đại học Bách Khoa Hà Nội [6] TS Nguyễn Đình Vinh (2006), Giáo trình sở an toàn thông tin, Ban yếu phủ, học viện kỹ thuật mật mã, Hà nội Tiếng Anh [7] Xiaoyun Wang, Hongbo Yu, How to Break MD5 and Other Hash Functions, EUROCRYPT 2005, LNCS 3494, pp.19-35, Springer-Verlag, 2005 [8] Man Young Rhee (2003), Internet Security, Nhà xuất John Wiley and Sons [9] R Rivest (1992), The MD5 Message-Digest Algorithm, MIT Laboratory for Computer Science and RSA Data Security, Inc [10] A Menezes, P van Oorschot, and S Vanstone (1997) Handbook of Applied Cryptography, CRC Press, Inc 54 Web [11] http://www.nvidia.com/object/cuda_home_new.html, ngày 18/5/2013 [12] http://en.wikipedia.org/wiki/MD5, ngày 15/5/2013 [13] http://www.faqs.org/rfcs/rfc1321.html, ngày 18/6/2013 [14] http://en.wikipedia.org/wiki/MD5CRK, ngày 11/5/2013 [15] http://www.manpages.info/freebsd/md5.1.html, ngày 20/5/2013 [16] http://www.elcomsoft.com/md5crack.html, ngày 15/6/2013 [17] http://bvernoux.free.fr/md5/index.php, ngày 18/6/2013 [...]... chủ động đánh giá mức độ an toàn của MD5? Chương 3 luận văn sẽ từng bước trả lời câu hỏi trên với giải pháp đánh giá độ an toàn hàm băm MD5 dựa trên thử nghiệm tấn công theo nguyên lí vét cạn, sử dụng khả năng tính toán song song của các bộ sử lí đồ họa GPU đa nhân 3.1 Tấn công hàm băm Tấn công hàm băm là việc phá vỡ các yêu cầu với hàm băm Attacker thường tấn công vào hai tính chất sau đối với hàm băm. .. phát triển, tên gọi, những tính chất và ứng dụng của hàm băm MD5 Khảo sát hàm băm MD5 thông qua ví dụ cụ thể So sánh giữa MD5 và MD4 để thấy được những ưu điểm vượt trội của MD5 giải thích được vì sao MD5 lại được sử dụng rộng rãi, và đang được coi là một chuẩn trên internet 25 Chương 3 ĐÁNH GIÁ ĐỘ AN TOÀN MD5 DỰA TRÊN THỬ NGHIỆM TẤN CÔNG MD5 hiện vẫn đang được sử dụng rộng rãi trong các ứng dụng trên... nhiều công trình nghiên cứu về hàm băm và mức độ an toàn của chúng[3][4][5][6] Vậy, một câu hỏi được đặt ra hiện nay là: Mức độ an toàn của các hàm băm đến đâu trong thực tế khi mà công nghệ tính toán ngày càng phát triển mạnh mẽ như hiện nay? Trong Luận văn này tôi trình bày một cách tiếp cận mới đó là việc sử dụng các bộ xử lý đồ họa đa lõi hiện đại để tính toàn khôi phục thông điệp MD5[ 14][16][17]... trong từng chu kỳ chịu ảnh hưởng kết quả của bước biến đổi trước đó nhằm tăng nhanh tốc độ của hiệu ứng lan truyền (avalanche) Các hệ số dịch chuyển xoay vòng trong mỗi chu kỳ được tối ưu hóa nhằm tăng tốc độ hiệu ứng lan truyền Ngoài ra, mỗi chu kỳ sử dụng bốn hệ số dịch chuyển khác nhau [9][12] Kết luận chương 2 Tập chung nghiên cứu hàm băm MD5, một họ hàm băm được sử dụng rất rộng rãi hiện nay Giới... các hàm băm trên [6] Tên hàm băm MD4 SHA-1 SHA-384 SHA-512 Chiều dài khối dữ liệu 512 512 1024 1024 Độ dài Chiều dài đầu từ 32 32 64 64 ra 128 160 384 512 Số Năm công vòng 64 80 80 80 bố 1990 1995 2002 2002 Bảng 1 1.Bảng so sánh các loại hàm băm Kết luận chương 1 Nội dung chương 1 tập trung vào cơ sở lý thuyết của hàm băm, các định nghĩa, tính chất, điều kiện xảy ra đụng độ và ứng dụng của hàm băm. .. thiệu, khảo sát một số hàm băm được sử dụng nhiều trong thực tế hiện nay như SHA-1, SHA-384, SHA-512 và đưa ra sự so sánh 15 Chương 2 HÀM BĂM MD5 2.1 Giới thiệu Hàm băm MD4 (Message Digest 4) được Giáo sư Rivest đề nghị vào năm 1990 Vài năm sau, phiên bản cải tiến MD5 của thuật toán này ra đời Cùng với phương pháp SHA, đây là ba phương pháp có ưu điểm tốc độ xử lý rất nhanh và độ an toàn cao nên được... pháp để đảm bảo an toàn cho các giao dịch này Một trong các biện pháp đó là việc sử dụng hàm băm (hash function) trong công tác bảo an Hàm băm không những đảm bảo được sự toàn vẹn của các giao dịch mà còn có thể đảm bảo sự bí mật về dữ liệu của các bên giao dịch[1][2] Người ta đã khẳng định rằng: “sự ra đời của các hệ mật mã khóa công khai cùng với các hàm băm là một cuộc cách mạng của kỹ thuật mật... hữu hạn (chiều dài của M không vượt quá 2 64 bít, nếu chiều dài của M vượt quá 2 64 bít thì chỉ có 2 64 bít đầu được sử lý, còn tất cả các bít được bỏ qua trong quá trình tính toán của hàm băm) 3 - Hàm băm được sử dụng trong việc mã hóa password, chữ ký số, giao dịch điện tử, kiểm tra sự toàn vẹn của một file, v.v Hàm băm được sử dụng phổ biến nhất là hàm băm một chiều (one-way) MD5 và SHA-*[9][12]... H(M)=H(M’) Tính chất 3: Hàm băm H là hàm một chiều Hàm băm H có tính một chiều (one-way) có nghĩa là cho trước M việc tính H(M) được thực hiện nhanh chóng nhưng nếu cho trước giá trị H(M) thì sẽ khó có thể tìm được giá trị M[9] 1.3 Xung đột băm Có nghĩa là hai thông điệp khác nhau khi băm thì chúng tạo ra cùng giá trị băm Gọi M, M’ là hai thông điệp sao cho M ≠ M’, H là hàm băm, xung đột băm xảy ra khi H(M)=H(M’)... mã khóa công khai cùng với các hàm băm là một cuộc cách mạng của kỹ thuật mật mã Chính vì vậy nhiều người nói rằng hàm băm là một phương thức mật mã không dùng khóa Một ứng dụng quan trọng không thể thiếu đối với hàm băm là ứng dụng trong chữ ký số[2][12][13] 1.5 Một số hàm băm phổ biến Các hàm băm chúng ta xem xét dưới đây có hai thành phần chính Thành phần đầu tiên là hàm nén nhận đầu vào là một chuỗi ... nay, hàm băm sử dụng nhiều Việt Nam giới MD5 họ SHA Do tầm quan trọng hàm băm mà có nhiều công trình nghiên cứu hàm băm mức độ an toàn chúng[3][4][5][6] Vậy, câu hỏi đặt là: Mức độ an toàn hàm băm. .. nghĩa hàm băm 1.3 Xung đột băm 1.5 Một số hàm băm phổ biến 1.5.1 Hàm băm MD4 1.5.2 Hàm băm SHA-1 1.5.3 Hàm băm SHA-256... NGUYỄN HỮU HOÀNG NGHIÊN CỨU ĐỘ AN TOÀN CỦA HÀM BĂM MD5 Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC TS Hồ Văn Canh Thái Nguyên -

Ngày đăng: 09/12/2016, 15:33

Từ khóa liên quan

Mục lục

  • 1.1. Định nghĩa hàm băm

  • 1.3. Xung đột băm

  • 1.5. Một số hàm băm phổ biến

    • 1.5.1. Hàm băm MD4

    • 1.5.2. Hàm băm SHA-1

    • 1.5.3. Hàm băm SHA-256

    • 1.5.4. Hàm băm SHA-384, SHA-512

    • Chương 2

    • HÀM BĂM MD5

    • Chương 3

    • ĐÁNH GIÁ ĐỘ AN TOÀN MD5

    • DỰA TRÊN THỬ NGHIỆM TẤN CÔNG

      • 3.1. Tấn công hàm băm

      • 3.2. Các phương pháp tấn công hàm băm phổ biến

        • 3.2.1. Tấn công dựa trên lý thuyết ngày sinh

        • 3.2.3. Tấn công thuật toán

        • 3.2.4. Tấn công theo nguyên lý vét cạn

        • 3.3.3. Kết luận về độ an toàn MD5

        • KẾT LUẬN

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

Tài liệu liên quan