Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 65 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
65
Dung lượng
1,46 MB
Nội dung
ĐẠ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 HỒ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 Ngun - 2013 Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ Số hóa Trung tâm Học liệu Số hóa Trung tâm Học lieäu http://lrc.tnu.edu.vn/ http://lrc.tnu.edu.vn/ ĐẠ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 HỒ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 Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ i MỤC LỤC MỞ ĐẦU CHƢƠNG LÝ THUYẾ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 Xung đột băm 1.4 Ứng dụng 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 HÀM BĂM MD5 15 2.1 Giới thiệu 15 2.2 Khái niệm 15 2.3 Ứng dụng 16 2.4 Thuật giải 16 2.5 Sự khác MD4 MD5 24 CHƢƠNG ĐÁNH GIÁ ĐỘ AN TOÀN MD5 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.2 Tấn công mở rộng chiều dài MD5 (Length-Extension Attack)27 3.2.3 Tấn cơng thuật tốn 29 3.2.4 Tấn công theo nguyên lý vét cạn 36 Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ ii 3.3 Đánh giá độ an toàn MD5 dựa việ GPU 36 3.3.1 Những ƣu điểm GPU so với CPU 37 3.3.2 Sử dụ 39 3.3.3 Kết luận độ an toàn MD5 48 KẾT LUẬN 52 TÀI LIỆU THAM KHẢO 53 Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ iii LỜI CẢM ƠN Đầu tiên, tơi 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 đỡ tơi suốt q trình làm luận văn Bên cạnh kiến thức tơi cịn học hỏi đƣợc 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 tơi suốt q 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 hồ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 đỡ tơi hồn thành luận văn Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ iv LỜI CAM ĐOAN Tơi xin cam đoan, toàn nội dung liên quan tới đề tài đƣợc trình bày luận văn thân tơi tự tìm hiểu nghiên cứu, dƣới 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 đƣợc 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 Hồng Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ v 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 Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ vi Ý NGHĨA CÁC KÝ HIỆU Số thứ tự Ký hiệu Ý nghĩa 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); /*Update bases */ Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ 46 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, đƣợc triển khai môi trƣờng thử nghiệm, cụm GPU bao gồm hai nút, nút đƣợc trang bị card đồ họa kép NVIDIA GeForce GTX 295, card Tesla C1060, nút lại đƣợc trang bị card đồ họa kép NVIDIA GeForce GTX 295 Kết đƣợc 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 tố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 đƣợc 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 Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ 47 7GPUs 918,472,592 khóa/s Bảng 3.3 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 8m 5h 7d 54m 6h 3d 18h 2d 54m 19h 7m Bảng 3.4 Thời gian cho Phục hồi mật GPU Theo bảng 3.16 ta thấy, giây kiểm tra đƣợc 918.472.592 mật Nếu so với việc kiểm tra CPU tốc độ tạo Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ 48 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ệ 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á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 tốn đặc biệt khả thực liệu song song GPU MD5 trở nên khơng thật an tồ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 tồn nhƣ SHA-384, SHA-512 nhƣng MD5 đƣợc 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 đƣợc đƣa sử dụng kết hợp phƣơng pháp mã hóa nhằm mang lại hiệu 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 tố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 tồn Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ 49 Trả lời câu hỏi đặt đầu chƣơng: Làm để chủ động đánh giá mức độ an toàn MD5? PHỤ LỤC Mơ q 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ị đƣợc lƣu database chuỗi: 6f71f8cc2a455a71c863562a50e38c1b Hình 3.7 Tạo giá trị băm cho mật Giả sử ta biết đƣợc giá trị băm mật tiến hành khơi phục mật Các bƣớc tiến hành nhƣ hình sau: Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ 50 Hình 3.8 Add giá trị băm mật vào phần mềm Hình 3.9 Quá trình tạo kiểm tra mật Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ 51 Hình 3.10 Tìm kiếm mật thành công Nhƣ thời gian ngắn khơi phục đƣợ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 Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ 52 KẾT LUẬN Qua q trình tìm hiểu hồn thành luận văn, hiểu nắm bắt đƣợc vấn đề mấu chốt thuật tốn mã hóa, hàm băm Qua đó, tơi hiểu đƣợc chế làm việc hàm, thƣ viện Framework đƣợc sử dụng phổ biến phát triển phần mềm ngày nay, giúp ích tơi 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 tồ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 đƣợc 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 đƣợc sử dụng rộng rãi hiệu quả, nhiên mà cơng nghệ tính tốn ngày phát triển mạnh mẽ nhƣ 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 Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ 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 tồ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 tồ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 Số hóa Trung tâm Học lieäu http://lrc.tnu.edu.vn/ 54 Web [11] http://www.nvidia.com/object/cuda_home_new.html, [12] http://en.wikipedia.org/wiki/MD5, 15/5/2013 [13] http://www.faqs.org/rfcs/rfc1321.html, [14] http://en.wikipedia.org/wiki/MD5CRK, 18/6/2013 11/5/2013 [15] http://www.manpages.info/freebsd/md5.1.html, [16] http://www.elcomsoft.com/md5crack.html, [17] http://bvernoux.free.fr/md5/index.php, Số hóa Trung tâm Học liệu 18/5/2013 20/5/2013 15/6/2013 18/6/2013 http://lrc.tnu.edu.vn/ ... hàm băm đƣợc sử dụng nhiều Việt Nam nhƣ 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 đƣợc đặt là: Mức độ an. .. chung nghiên cứu hàm băm MD5, họ hàm băm đƣợc 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 Khảo sát hàm băm MD5 thơng qua ví dụ cụ thể So sánh MD5 MD4... THUYẾ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 Xung đột băm 1.4 Ứng dụng 1.5 Một số hàm băm phổ biến 1.5.1 Hàm băm