1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu kỹ thuật rainbow crack thám khóa mã CR4 và ứng dụng

73 480 4

Đ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

Thông tin cơ bản

Định dạng
Số trang 73
Dung lượng 1,48 MB

Nội dung

i LỜI CAM ĐOAN Tôi cam đoan công trình nghiên cứu riêng Các số liệu, kết nêu luận văn trung thực chưa công bố công trình khác Qua em xin chân thành cảm ơn toàn thể thầy cô khoa đào tạo sau đại học trường Đại học Công nghệ Thông tin Truyền thông đặc biệt Thầy TS Nguyễn Ngọc Cương, tạo điều kiện thuận lợi hướng dẫn em để hoàn thành luận văn ii MỤC LỤC LỜI CAM ĐOAN i MỤC LỤC ii DANH MỤC BẢNG BIỂU iv DANH MỤC HÌNH ẢNH v LỜI MỞ ĐẦU 1.Tính cấp thiết đề tài Mục tiêu nghiên cứu: Nội dung nghiên cứu: Chương 1: MẬT MÃ RC4 VÀ KỸ THUẬT TIME-MEMORY TRADE –OFF ÁP DỤNG TRONG BÀI TOÁN TẤN CÔNG MẬT MÃ 1.1 Tổng quan RC4 1.2 Các kỹ thuật thám mã 1.2.1 WEP 1.2.2 Tấn công chọn mã 1.2.3 Thám mã tích cực: 1.2.4 Thám mã Affine 1.2.5 Thám mã Vigenere 1.2.6 Các tính RainbowCrack: 1.2.7 Các công cụ mối quan hệ chúng RainbowCrack 1.3 Xây dựng RainbowCrack: 1.4 Thuận toán MD5 15 1.4.1 Giới thiệu thuật toán: 15 1.4.2 Thuật toán MD5 21 Chương 2: KỸ THUẬT TẤN CÔNG RAINBOW ĐỐI VỚI RC4 26 2.1 Các kỹ thuật công mật 26 2.1.1 Kỹ thuật công Bruteforce 26 2.2.2 Kỹ thuật công vào hệ thống có cấu hình không an toàn 26 2.2.3 Kỹ thuật công dùng Cookies 26 2.2.4 Kỹ thuật time – memory trade –off (TMTO) áp dụng toán công mật mã 27 2.2.5 Kỹ thuật RainbowCrack: 28 iii 2.2.6 Xác thực mật bảo mật văn MS- Word 2007 28 2.2.6.1 Lược đồ xác thực mật bảo mật văn 29 2.2.6.2 Cấu trúc phần mềm RainbowCrack 30 2.2.6.3 Cấu trúc tổng thể phần mềm RainbowCrack 32 2.2.6.4 Một số hàm RainbowRack 33 2.2.7 Cấu trúc phần mềm Wcracker 36 2.2.7.1 Phần mềm Wcracker 36 2.2.7.2 Nâng cấp Wcracker 37 2.2.8.Mô hình bảo mật tệp văn MS- Word 2007 42 2.2.9 Lựa chọn điểm công 44 2.2.10 Phần mềm song song tìm khóa RC4 Word 2007 46 2.2.10.1 Mô hình tính toán song song 46 2.2.10.2 Lưu đồ trạng thái Master Slave 46 2.2.11 Phần mềm tính toán tham số công Rainbow RC4 47 2.2.11.1 Cấu trúc tĩnh chương trình 47 2.2.11.2 Giải thuật hàm chức 49 Chương 3: XÂY DỰNG CHƯƠNG TRÌNH TÍNH TOÁN THAM SỐ TẤN CÔNG RAINBOW ĐỐI VỚI RC4 53 3.1 Các tính công RC4 Wcracker 53 3.1.1 Chức kiểm tra mật 53 3.1.2 Chức thiết lập tham số công 55 3.1.3 Chức công tìm khóa RC4 56 3.1.4 Cài đặt chương trình 57 3.2 Lựa chọn tham số Rainbow để công RC4 62 3.3 Xây dựng bảng Rainbow 62 3.4 Thử nghiệm tính mở rộng Wcracker 63 3.5 Kết phân tích khóa phần mềm xử lý song song 64 KẾT LUẬN 65 TÀI LIỆU THAM KHẢO 67 iv DANH MỤC BẢNG BIỂU Bảng 1.1: Bảng Thám mã Affine Bảng1.2: Bản mã hệ mật mã Vigenere Bảng 2.1: Bảng cầu vồng-Rainbow Table 28 v DANH MỤC HÌNH ẢNH Hình 1.1: Các tính RainbowCrack Hình1.2: Các công cụ Phần mềm RainbowCrack Hình 1.3: Giao diện Rainbow Crack 10 Hình 1.4: Mô hình tổng quát sản sinh thông báo rút gọn sử dụng MD5 17 Hình 1.5: Mô hình biểu diễn công việc xử lý khối đơn 512 bit (HMD5) 18 Hình 1.6: Các yếu tố MD5 20 Hình 2.1: Bảng cầu vồng-Rainbow Table 28 Hình 2.2: Lược đồ xác thực mật bảo mật văn 29 Hình 2.3: Cấu trúc tổng thể phần mềm RainbowCrack 32 Hình 2.4: Hộp thoại option Wcracker 37 Hình 2.5: Mô hình bảo mật mật MS- Word 2007 44 Hình 2.6: Mô hình bảo mật mật 45 Hình 2.7: Mô hình tính toán song song 46 Hình 2.8: Lưu đồ trạng thái Master Slave 47 Hình 3.1: Thử nghiệm với văn MS-Word 2007 53 Hình 3.2: Thử nghiệm với văn MS-Word 2007 54 Hình 3.3: Tính cài đặt tham số Wcracker 55 Hình 3.4: Các tham số Wcracker lưu trữ registry 56 Hình 3.5: Tấn công tìm khóa RC4 56 Hình 3.6: Kết thử nghiệm công với tệp TestTest.doc 57 Hình 3.7: Lựa chọn tham số Rainbow để công RC4 62 Hình 3.8: Kết thử nghiệm chức kiểm tra mật Wcracke 63 Hình 3.9: Kết chức công tìm khóa RC4 63 LỜI MỞ ĐẦU 1.Tính cấp thiết đề tài RC4 tên thuật toán mã hóa sử dụng WEP, MS-OFFICE Một thuật toán mã hóa tập hợp hoạt động mà sử dụng để biến đổi văn chưa mã hóa thành mật mã Nó hữu ích, trừ có thuật toán giải mã tương ứng Trong trường hợp RC4, thuật toán sử dụng để mã hóa giải mã Giá trị thuật toán mã hóa khả bảo mật cao dễ dàng sử dụng Sức mạnh thuật toán đo độ khó để crack mã mã hóa thuật toán Chắc chắn có phương pháp mạnh RC4 Tuy nhiên, RC4 đơn giản để thực coi mạnh, sử dụng cách Kỹ thuật đánh đổi nhớ-thời gian (Time Memory Trade –Off) có tên gọi khác đánh đổi không gian-thời gian dùng để việc sử dụng nhớ lưu trữ liệu tính toán trước với mục đích giảm thời gian tính toán thao tác cụ thể Đây kỹ thuật áp dụng số toán chia thao tác tính toán thành hai phần: tính toán trước tra cứu liệu chuẩn bị trước Nếu tính toán lưu trữ trước nhiều thời gian giải toán cụ thể tương đương với thời gian tra cứu Các phương tiện lưu trữ máy tính ngày lớn làm cho khả ứng dụng kỹ thuật TMTO ngày thực Đã có nhiều ứng dụng sử dụng kỹ thuật TMTO để giải vấn đề tốc độ nhớ lưu trữ Chẳng hạn, toán liên quan đến tra cứu bảng liệu, toán lưu trữ liệu dạng nén, toán lưu trữ thuật toán, lưu trữ kết hình ảnh hiển thị công thức toán học trang HTML, Kỹ thuật mật mã cần làm việc với không gian liệu lớn (không gian khóa) Tuy nhiên, số chế độ làm việc, tổ chức tính toán sẵn mã rõ để thành lập từ điển tra cứu cho phép mã hóa giải mã nhanh Mã thám lợi dụng tính chất để công mật mã (kiểu công Brute-Force) có đủ nhớ Đề tài luận văn lựa chọn mật mã RC4 với độ dài khoá 40 bit để nghiên cứu Đây dạng RC4 ứng dụng nhiều phần mềm Độ dài khóa tương đương với số kết nghiên cứu ứng dụng kỹ thuật TMTO công bố số thuật toán mật mã khác Kết nghiên cứu đề tài hướng mở cho nghiên cứu ứng dụng công mật bảo vệ tệp văn soạn số phần mềm xử lý văn Đồng thời kinh nghiệm cho mã thám viên kỹ thuật TMTO áp dụng cho công nhiều dạng mật mã ứng dụng khác Đề tài luận văn tìm hiểu lý thuyết kỹ thuật TMTO, vấn đề cần quan tâm ứng dụng, cải tiến công bố gần cho kỹ thuật TMTO Đề tài tiến hành áp dụng kỹ thuật TMTO vào thực tế công giải thuật mật mã cụ thể có khả triển khai ứng dụng thực tế Mục tiêu nghiên cứu: - Nghiên cứu kỹ thuật Time Memory Trade-Off (TMTO) đánh đổi không gian lưu trữ với thời gian công mật mã Nghiên cứu cải tiến “Điểm phân biệt” “Bảng cầu vồng” công bố kỹ thuật - Sử dụng kỹ thuật TMTO Oechslin áp dụng với cải tiến “Rainbow Crack” công thám khoá mã RC4 ứng dụng phần mềm soạn thảo văn MS-WORD phiên 2007 MicroSoft Nội dung nghiên cứu: Luận văn trình bày chương, có phần mở đầu, phần kết luận, phần mục lục, phần tài liệu tham khảo Các nội dung luận văn trình bày theo cấu trúc sau: Chương 1: Mật mã RC4 kỹ thuật Time-Memory Trade-Off áp dụng toán công mật Chương 2: Kỹ thuật công Rainbow RC4 Chương 3: Xây dựng chương trình tính toán tham số công Rainbow RC4 Bằng cố gắng nỗ lực thân đặc biệt giúp đỡ tận tình, chu đáo thầy giáo TS Nguyễn Ngọc Cương , em hoàn thành luận văn thời hạn Do thời gian làm đồ án có hạn trình độ nhiều hạn chế nên tránh khỏi thiếu sót Em mong nhận đóng góp ý kiến thầy cô bạn sinh viên để luận văn hoàn thiện Chương 1: MẬT MÃ RC4 VÀ KỸ THUẬT TIME­MEMORY TRADE –OFF ÁP DỤNG TRONG BÀI TOÁN TẤN CÔNG MẬT MÃ Trong chương trình bày tập hợp thông tin sở kỹ thuật TMTO; cải tiến “điểm phân biệt” Rivest “bảng cầu vồng” Oechslin Nội dung chương làm rõ phương thức chia không gian tìm kiếm thành phận tổ chức lưu trữ hiệu phận không gian tìm kiếm Đặc biệt phương pháp tổ chức “bảng cầu vồng” Oechslin, phương pháp ứng dụng hiệu phần mềm OPH-Crack Thuật toán mật mã RC4 đóng vai trò trung tâm lược đồ xác thực mật Bên cạnh phương pháp thám mã khác áp dụng nhiều thực tế 1.1 Tổng quan RC4 RC4 tên thuật toán mã hóa sử dụng WEP, MS-OFFICE Một thuật toán mã hóa tập hợp hoạt động mà sử dụng để biến đổi văn chưa mã hóa thành mật mã Nó hữu ích, trừ có thuật toán giải mã tương ứng Trong trường hợp RC4, thuật toán sử dụng để mã hóa giải mã Giá trị thuật toán mã hóa khả bảo mật cao dễ dàng sử dụng Sức mạnh thuật toán đo độ khó để crack mã mã hóa thuật toán Chắc chắn có phương pháp mạnh RC4 Tuy nhiên, RC4 đơn giản để thực coi mạnh, sử dụng cách Thật may mắn RC4 đơn giản để thực mô tả Ý tưởng mã hóa RC4 tạo chuỗi trình tự giả ngẫu nhiên (giả ngẫu nhiên) byte gọi khóa dòng, sau kết hợp với liệu cách sử dụng toán tử OR (XOR) Toán tử XOR kết hợp hai byte tạo byte Nó làm điều cách so sánh bit tương ứng byte Nếu chúng nhau, kết 0, chúng khác nhau, kết Về mặt lý thuyết, RC4 hệ thống mã hóa hoàn toàn an toàn tạo dòng giả ngẫu nhiên chính, byte thực ngẫu nhiên Nhưng đủ chắn an toàn cho ứng dụng, áp dụng RC4 mật mã có cỡ khóa biến đổi Ron Rivest phát triển vào năm 1987 cho liên hợp an ninh liệu RSA Trong bảy năm sở hữu độc quyền chi tiết thuật toán ta có sau ký thỏa thuận không tiết lộ bí mật Vào tháng năm 1994, người lạc danh gửi mã nguồn qua bưu điện vào danh sách thư tín Cypherpunks, Nó nhanh chóng lan tỏa đến nhóm Usenet qua Internet đến site ftp giới Liên hiệp an ninh liệu RSA tuyên bố bí mật thương mại công bố, việc muộn Bởi thảo luận phân tích kỹ Usenet, đọc phân phát hội nghị đưa vào giáo trình mật mã RC4 có địa vị xuất đặc biệt độ dài khóa 40 bít Địa vị xuất đặc biệt dẫn đến việc để làm độ an toàn thuật toán, liên hợp an ninh liệu RSA nói bóng gió nhiều nãm có Tên thuật toán ðýợc thýõng mại hóa ðó ngýời viết mã riêng phải gọi tên khác Các tài liệu bên khác liên hợp an ninh liệu RSA chưa công bố RC4 phần mềm sản phẩm mật mã thương mại, bao gồm Lotus Notes, Apple Computer’s AOCE ORACLE Security SQL Nó phận dẫn kỹ thuật Cellular Digital Packed Data RC4 họ thuật toán phụ thuộc vào tham số nguyên dương, mà điển hình trường hợp n= Ở thời điểm t, trạng thái bên RC4 gồm bảng n S1=(S1(l)) l20 1 có từ n-bít trỏ n-bít it jt Do cỡ nhớ la M=n2n+2n(bít) Gọi Zt từ n-bít RC4 thời điểm t Bít có nghĩa thấp từ bít bên trái 1.2 Các kỹ thuật thám mã 1.2.1 WEP WEP (Wired Equivalent Privacy) thuật toán nhằm bảo vệ trao đổi thông tin chống lại nghe trộm, chống lại kết nối mạng không cho phép chống lại việc thay đổi làm nhiễu thông tin truyền WEP sử dụng stream cipher RC4 với mã 40 bit số ngẫu nhiên 24 bit (initialization vector - IV) để mã hóa thông tin Thông tin mã hóa IV gửi đến người nhận Người nhận giải mã thông tin dựa vào khóa WEP biết trước 1.2.2 Tấn công chọn mã Tấn công chọn mã (chosen ciphertext): người thám mã tạm thời có quyền truy xuất tới Bộ giải mã, có khả chọn mã xây dựng lại tin rõ tương ứng Trong trường hợp, mục đích tìm khóa mã sử dụng Kiểu công chọn mã thực với hệ mật mã khóa công khai mà xem xét chương Trong phần thảo luận kiểu công xem “yếu nhất” - Tấn công biết mã Nhiều kỹ thuật thám mã sử dụng đặc điểm thống kê tiếng Anh, dựa vào tần suất xuất 26 chữ văn thông thường để tiến hành phân tích mã Becker Piper chia 26 chữ thành năm nhóm xác suất nhóm sau: E, có xác suất khoảng 0.120 T, A, O, I, N, S, H, R, chữ có xác xuất nằm khoảng từ 0.06 đến 0.09 D, L, chữ có xác xuất xấp xỉ 0.04 C, U, M, W, F, G, Y, P, B, chữ có xác xuất nằm khoảng từ 0.015 đến 0.023 V, K, J, X, Q, Z, chữ có xác xuất nhỏ 0.01 Ngoài ra, tần suất xuất dãy hai hay ba chữ liên thứ tự giảm dần sau [11]: TH, HE, IN, ER … THE, ING, AND, HER… 1.2.3 Thám mã tích cực: Thám mã tích cực việc thám mã sau tìm cách làm sai lạc liệu truyền, nhận liệu lưu trữ phục vụ mục đích người thám mã Thám mã thụ động: Thám mã thụ động việc thám mã để có thông tin tin rõ phục vụ mục đích người thám mã 1.2.4 Thám mã Affine Giả sử Trudy lấy mã sau đây: FMXVEDKAPHFERBNDKRXRSREFMORUDSDKDVSHVUFEDKAPRK DLYEVLRHHRH Trudy thống kê tần suất xuất 26 chữ bảng sau: 54 Với mật đúng, Wcracker xác nhận mật hợp lệ (VALID PASSWORD), thông báo mật dạng rõ giá trị HASH mật Khóa RC4 byte đầu giá trị HASHPASS Hình 3.2: Thử nghiệm với văn MS-Word 2007 Các hình thử nghiệm với văn MS-Word 2007 có tên TestTest.doc Đây tệp văn có cài đặt mật Các giá trị tham gia trình xác thực mật gồm: DOCID = 7400621C6B3A642D0248FA9C94DFCF7A (Hexa) SALT = D6B92DEC5F2F1FBA24D2E4E721585405 (Hexa, mã hóa) HASHSALT = 7AEE5518193E92A47FEDF1BA2DA6CDD0 (Hexa, mã hóa) Với mật “testtest” mà người sử dụng đưa ra, Wcracker xác nhận mật đúng: 55 HashedPass:9B2BB6008362C3D49EE054E4AC6C1E1C (Hexa) VALID PASSWORD = testtest Như hàm thư viện RC4, lưu đồ thuật toán xác thực mật MSWord 2007 mà Đề tài nghiên cứu cài đặt xác Giá trị HASHPASS sử dụng để so sánh với kết công tìm khóa RC4 mô tả Kiểm tra mật bước nghiên cứu quan trọng nhằm đảm bảo lưu đồ xác thực mật hàm thư viện mật mã, hàm băm hoạt động 3.1.2 Chức thiết lập tham số công Tấn công mật MS-Word 2007 sử dụng bảng Rainbow yêu cầu cài đặt tham số cho Wcracker Đó tên bảng Rainbow mà giải thuật công cần sử dụng Tính cài đặt tham số Wcracker mở rộng hình Hình 3.3: Tính cài đặt tham số Wcracker Các tham số Wcracker lưu trữ registry hệ thống để cần thiết lập lần cho lần công với bảng Rainbow 56 Hình 3.4: Các tham số Wcracker lưu trữ registry 3.1.3 Chức công tìm khóa RC4 Tấn công tìm khóa RC4 xây dựng theo phương thức lợi dụng tính có “sắp đặt” chuỗi Rainbow MD5 Các giá trị MD5 chuỗi truy vấn sử dụng làm khóa RC4 lưu đồ xác thực mật Với khóa đúng, lưu đồ xác nhận giá trị băm mật lưu trữ giá trị băm tính toán Đến đó, việc truy vấn chuỗi Rainbow dừng lại Khóa thông báo cho người sử dụng Hình 3.5: Tấn công tìm khóa RC4 Cần lưu ý, Đề tài không đặt mục tiêu giải mã tệp văn với khóa RC4 Chúng ta có phần mềm thực thao tác thực tế Việc xây dựng thêm chức giải mã khó khăn với thư viện WV, gói mã nguồn Abi-Word 57 Hình 3.6: Kết thử nghiệm công với tệp TestTest.doc Hình kết thử nghiệm công với tệp TestTest.doc (có mật testtest) Thời gian thực công lớn, chưa đáp ứng yêu cầu hiệu mà Đề tài đặt 3.1.4 Cài đặt chương trình Sau cài đặt Master, Slave chương trình TMTO Môi trường lập trình Linux, sử dụng truyền thông điệp LAM/MPI +) Master ///////////////////////////////////////////////////////////////// // Master.h Header file of TMTO Project // Created: 16-10-2014 @dang cong // Please put all data types, prototypes ref in Master.c here ///////////////////////////////////////////////////////////////// #ifndef TDH_TMTO_MASTER_H #define TDH_TMTO_MASTER_H #include #include #include "tmto.h" void master_init (void); void master_finalize (void); void getCmdInputs (void); 58 void getCmdFile (FILE *p); void getTimeDiff (char *s, struct timeb *sb, struct timeb *st); void get_input (void); void do_master (void); void work_in_parallel (void); unit_of_work_t *get_next_work_item (size_t *count); BYTE *put_mem (size_t *count, unit_of_work_t *gwork); void process_results (size_t, BYTE *mem, int id); #endif //TDH_TMTO_MASTER_H 59 +) Slave ///////////////////////////////////////////////////////////////// // Slave.h Header file of TMTO Project // Created: 16-10-2014 @ dang cong // Please put all data types, prototypes ref in Master.c here ///////////////////////////////////////////////////////////////// #ifndef TDH_TMTO_SLAVE_H #define TDH_TMTO_SLAVE_H #include "tmto.h" size_t get_mem (BYTE *mem, unit_of_work_t *work); void slave_init (void); void slave_finalize (void); BYTE do_compare (BYTE *block1, BYTE *block2, size_t); void do_slave (void); int key_searchEX (unit_of_work_t *work); #endif//TDH_TMTO_SLAVE_H 60 +) TMTO ///////////////////////////////////////////////////////////////// // TMTO.h Header file of TMTO Project // Created: 16-10-2014 @ dang cong // Please put all data types, prototypes ref in TMTO Proj here ///////////////////////////////////////////////////////////////// #ifndef TDH_TMTO_TMTO_H #define TDH_TMTO_TMTO_H #include #include "mpi.h" #define WORKTAG #define DIEDTAG #define DONETAG #define IDLETAG //#define KEY_BLOCK 1048576 // = 2^20 //#define KEY_BLOCK 4194304 // = 2^22 #define KEY_BLOCK 67108864 // = 2^26 #define MAX_KEY 1099511627776 // = 2^40 typedef unsigned char U8; typedef unsigned long int U32; typedef unsigned long long int U64; typedef unsigned char BYTE; typedef struct { U32 crank; //node ID U64 start_key; //begin point of RC4 key range U64 end_key; //end point of RC4 key range U8 tmp_salt[64]; U8 tmp_hsalt[16]; //Salt for comparison //Encrypted hash salt for comparison } unit_of_work_t; #endif //TDH_TMTO_TMTO_H 61 +) Mã nguồn TMTO #include #include "mpi.h" //Refs to LAM/MPI communicator #include "tmto.h" //Refs to TMTO header file #include "master.h" //Refs to TMTO master functions #include "slave.h" //Refs to TMTO slave functions int myrank; int main (int argc, char ** argv) { /* Initialize MPI */ MPI_Init (&argc, &argv); /* Find out my identification in the communicator */ MPI_Comm_rank (MPI_COMM_WORLD, &myrank); if (myrank == 0) { do_master (); } else { do_slave (); } /* Shutdown MPI communicator */ MPI_Finalize (); return (0); } 62 3.2 Lựa chọn tham số Rainbow để công RC4 Theo kết nghiên cứu công bố, với máy tính có vi xử lý Pentium 4, tần số xung nhịp 1.5GHz, nhớ 500MB SDRAM (tương đương với máy tính xách tay loại trung bình), tốc độ tính toán cho mắt xích chuỗi Rainbow khoảng 700.000/s; ổ địa cứng truy vấn liệu với tốc độ 610 truy vấn 19 giây; không gian khóa RC4 256^5 Lựa chọn tham số: số bảng Rainbow (l) 8; bảng gồm chuỗi có độ dài (t) 10.000; số chuỗi bảng Rainbow (m) là: 76.447.744 Kết tính toán dựa tham số sau: Hình 3.7: Lựa chọn tham số Rainbow để công RC4 Với tham số lựa chọn, công RC4-40bit biết tham số thuật toán đạt tỷ lệ thành công 99% với thời gian trung bình 154 giây Thời gian tính toán trước 100 ngày 3.3 Xây dựng bảng Rainbow Sử dụng chương trình phần mềm gói phần mềm RainbowCrack, Đề tài xây dựng bảng Rainbow cho MD5 với tham số m = 1.000.000, t=1.600 Bảng Rainbow xếp lưu tệp “md5_byte#45_0_1000000x1600_test.rt” Tệp sử dụng Wcracker cho chức công tìm khóa RC4 63 3.4 Thử nghiệm tính mở rộng Wcracker Hình kết thử nghiệm chức kiểm tra mật Wcracker người sử dụng cho biết mật Hình 3.8: Kết thử nghiệm chức kiểm tra mật Wcracke Hình 3.9 cho biết kết chức công tìm khóa RC4 tìm khóa từ chuỗi bảng Rainbow Hình 3.9: Kết chức công tìm khóa RC4 64 3.5 Kết phân tích khóa phần mềm xử lý song song Thử nghiệm với tệp Test.doc, mật để mở tệp Chương trình tính toán song song chạy máy tính 20Gflop với cấu hình 64 node tính toán Kết tìm thấy khóa RC4 sau ngày thực 65 KẾT LUẬN Đề tài thực nghiên cứu về: 1.Giải thuật xác thực mật bảo mật văn MS- Word sử dụng thuật toán mã hóa RC4 Giải thuật xác thực mật ứng dụng MS-Word phức tạp có kết hợp yếu tố ngẫu nhiên (bao gồm DOCID SALT), tăng cường khả chống lại công dựa từ điển mã hóa (ECB-Electronic Code Book) Mỗi văn soạn thảo MS-Word gắn với giá trị ngẫu nhiên xác định văn (Document Identification Number- DOCID) muối mật (SALT), văn có mật bảo mật có giá trị mã hóa lưu trữ tệp văn khác Tấn công TMTO dựa tính toán trước để giảm thời gian công dạng từ điển mã nên gặp khó khăn Gói phần mềm Rainbow-crack Rainbow-crack Project Đây gói phần mềm tính toán sẵn, sau xếp bảng lưu trữ giá trị tính toán sẵn thành chuỗi phân lập, đặt tên chuỗi cầu vồng (Rainbow) gần với tán sắc ánh sáng tượng tự nhiên Không gian mã thuật toán mật mã lựa chọn phân lập thành chuỗi liên kết lại với nhau, tương tự thành phần ánh sáng màu tạo thành dải màu cầu vồng Với kết cấu vậy, cần lưu trữ điểm đầu điểm cuối chuỗi cầu vồng xác định thuật toán xây dựng lại giá trị trung gian đủ để lưu trữ từ điển mã thuật toán mật mã Tuy nhiên muốn lưu trữ toàn không gian mật mã (xác suất công đạt 100%) số số lượng chuỗi cầu vồng tăng Philippe Oechslin để tính toán tham số xây dựng bảng rainbow cho RC4 với mã khóa 40 bít Phần mềm tính toán tham số xây dựng , tham số xác định : t=10.000; m= 76.447.744; l= 8; thời gian tính toán trước 101ngày, xác suất đạt 99% Nghiên cứu Rainbow-crack xác định chương trình công mật vào hệ thống Windows (Lmpass, Nthansh, MD5hash ) ứng dụng hiệu xác định mật truy nhập hệ thống Windows có giá trị mã mật Tuy nhiên, kết nghiên cứu giải thuật sử dụng RC4 ứng dụng cụ thể MS-Word để xác thực mật bảo mật không thuận lợi cho tính toán áp dụng TMTO, nên đề tài không tiến hành xây dựng bảng Rainbow cho RC4 Thay vào đó, Đề tài lựa chọn hướng triển khai áp dụng TMTO thông qua bảng 66 MD5 trực tiếp xây dựng khóa RC4 để công tìm khóa mã cho văn bảo mật mật Chương trình phần mềm chạy hệ điều hành Windows chương trình tính toán song song hệ điều hành Linux LAM/MPI xây dựng thử nghiệm công Chương trình phần mềm tính toán song song cho kết tìm khóa mã RC4 để giải mã văn Để thực công thử nghiệm, Đề tài sử dụng RainbowCrack để xây dựng bảng rainbow MD5 cho mật có độ dài đến byte tập 356 giá trị byte Bảng Rainbow lựa chọn kích thước gồm 1.000.000 chuỗi với độ dài chuỗi 16.000 phần tử Chương trình phần mềm chạy hệ điều hành Windows chương trình tính toán song song hệ điều hành Linux LAM/MPI xây dựng thử nghiệm công Chương trình phần mềm tính toán song song cho kết tìm khóa mã RC4 để giải mã văn 67 TÀI LIỆU THAM KHẢO Phần liệt kê số phần mềm mà Đề tài sử dụng để cài đặt chương trình phần mềm nội dung nghiên cứu đề [1]McKenzie, Patrick (9 tháng năm 2014) “What Heartbleed Can Teach The OSS Community About Marketing” (bằng tiếng Anh) Truy cập ngày 10 tháng năm 2014 [2] Biggs, John (9 tháng năm 2014) “Heartbleed, The First Security Bug With A Cool Logo” TechCrunch (bằng tiếng Anh) Truy cập ngày 10 tháng năm 2014 [3]Goodin, Dan (8 tháng năm 2014) “Critical crypto bug in OpenSSL opens twothirds of the Web to eavesdropping” Ars Technica (bằng tiếng Anh) Truy cập ngày tháng năm 2014 [4] Seggelmann, R.; Tuexen, M.; Williams, M (tháng năm 2012) “RFC 6520: Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) Heartbeat Extension” (bằng tiếng Anh) Internet Engineering Task Force Truy cập ngày tháng năm 2014 [5] Mutton, Paul (8 tháng năm 2014) “Half a million widely trusted websites vulnerable to Heartbleed bug” (bằng tiếng Anh) Netcraft Truy cập ngày tháng năm 2014 [6] Thư viện RainbowCrack Zhu Shuanglei@hotmail.comcài đặt phương pháp công TMTO Philippe Oechslin đề xuất năm 1994 [7] Martin Hellman, IEEE Transaction on information theory vol IT -26, No 4, July 7/1980, A cryptanalytic time –memory trade-off [8] D.R Stinson, Crytography: Theory and Practice, 1995 by CRC Press Inc [9] Philippe Oechslin, Lecture notes in computer science volume 2729, 2003, phương pháp617-630, Making a faster A cryptanalytic time –memory trade-off [10] Man Young Rhee, Wilay, Internet Security - Cryptographic Principles, Algorithms and Protocols, 2003 [11] William Stallings, Network Security Essentials: Applications and Standards, Prentice Hall, New Jersey, 1999 68 [12] William Stallings, Network Security Essentials, 2009 [13] Wasim.E Rajput Commerce Systems-Architecture & Application, 2013 [14] Douglas R Stinson, Cryptography Theory and Practice, University of Nebraska-Lincoln [15] Leong Yu Kiang Living with Mathematics 3rd Edition 2011 McGraw-Hill Education (Asia), Singapore ISBN 978-007-132677-3 [16] G Paul, S Rathi and S.Maitra, “Non-negligible Bias of the First Output Byte of RC4 towards the First Three Bytes of the Secret Key”, Proceedings of the International Workshop on Coding and Cryptography (WCC) 2007, pp 285294 and Designs, Codes and Cryptography Journal, pp 123-134, vol 49, no 1-3, December 2008 [...]... rtsort s ghi nhn rainbow table ó c sp xp cỏc tp tin gc Bõy gi tin trỡnh sp xp rainbow table hon thnh Bc 3: S dng chng trỡnh rcrack tra cu rainbow tables Chng trỡnh rcrack c s dng tra cu cỏc bng cu vng Nú ch chp nhn cỏc rainbow tables ó sp xp v t trong th mc c: \ rt, crack bm n dũng lnh s l: rcrack c:\rt\*.rt -h your_hash_comes_here rcrack c: \ rt \ * rt-h 15 your_hash_comes_here crack nhiu bm, t... giõy Rainbow tables nh s lm gim nhu cu lu tr v tng hiu sut ca cụng c rcrack 10 Ophcrack l cụng cc b khúa password ỏp dng k thut rainbow table RainbowCrack bao gm ba cụng c c s dng trỡnh ỡnh t t thc hin nhng iu sau Bc c 1: S dng ch chng trỡnh rtgen to ra cỏc rainbow inbow tables tables Bc 2: chng trỡnh ỡnh rtsort s s dng sp xp bng cu vng c to ra bi rtgen Bc c 3: S dng ch chng trỡnh rcrack tra cu rainbow. .. cỏc cụng c Hỡnh1.2: Cỏc cụng c ca Phn mm RainbowCrack 1.3 Xõy dng RainbowCrack: RainbowCrack techniqueis the implementation of Philippe Oechslin's faster time-memory trade-off technique RainbowCrack lm vic da trờn vic tớnh trc tt c password cú th cú Sau khi quỏ trỡnh time-consuming ny hon thnh,password v thụng tin khỏc c mó húa ca chỳng c cha trong mt file gi l rainbow table Mt password c mó húa cú th... CUDA) Thng nht nh dng tp tin rainbow table trờn tt c cỏc h iu hnh h Giao din ngi dựng dũng lnh tr 9 Giao din ngi dựng ha (Windows) ,chy trờn Windows XP 32-bit, Windows Vista 32-bit v Windows 7 32-bit Hỡnh 1.1: Cỏc tớnh nng trong RainbowCrack 1.2.7 Cỏc cụng c v mi quan h gia chỳng trong RainbowCrack Phn mm RainbowCrack bao gm nm cụng c: rtgen, rtsort, rt2rtc, rtc2rt v rcrack Hỡnh di õy gii thớch mi... được phát triển và kế thừa từ MD4 do vậy về cơ bản MD5 vẫn có nhiều nét đặc trưng tương tự như MD4 Nhưng thay vì sử dụng 4 vòng trong MD4, MD5 đã sử dụng 4 vòng với một số hàm phức tạp hơn Thuật toán thực hiện đầu vào là một thông báo có độ dài bất kỳ và xây dựng một đầu ra là một thông báo 128 bit rút gọn Đầu vào xử lý các khối bit có độ dài 512 bit Quá trình xây dựng thông báo rút gọn thuật toán thực... nu cú b nh 28 2.2.5 K thut RainbowCrack: RainbowCrack l chng trỡnh to ra cỏc bng cu vng c dựng crack password ó c mó húa L cụng c b khúa mt khu "mnh m" rt hiu qu v gim thiu thi gian crack Password Rainbow Table l mt bng lookup a ra mt Time-Memory Trade-Off c s dng khụi phc mt khu dng text t mt password hash (bm) Cỏc chng trỡnh thng s dng gii thut bm (hash) lu tr mt khu, Rainbow Table c s dng lm... nhúm nghiờn cu tip tc tỡm hiu b phn mm RainbowCrack theo hng to cỏc khúa quan h dựng thay th cho bc (8) ca lc xỏc thc khúa ca MS-Word 2.2.6.2 Cu trỳc b phn mm RainbowCrack B phn mm RainbowCrack gm hai thnh phn: 1) To cỏc bng Rainbow bng cỏc thut toỏn to lp khúa nh SHA1, MD5, LMHash v tp ký t u vo m cỏc mt khu cú th s dng; v 2) Tn cụng mt khu s dng cỏc hm, bng Rainbow phự hp Da vo kt qu nghiờn cu ta... 1 1 1 1 1 1 0 1.4.2 Thut toỏn MD5 /* Quá trình xử lý thực hiện từng khối 512 bit (16 từ) */ For q=0 to (N/16)-1 do /* Copy khối i vào X */ For j=0 to 15 do Set X[j] to M[q*16 + j] end /* Kết thúc vòng lặp trong j */ /* Lưu giá trị của A vào AA, B vào BB, C vào CC, và D vào DD */ AA = A BB = B CC = C DD = D /* Round 1 */ /* Cho [abcd k s i] được thể hiện bởi công thức tính như sau a = b + ((a + F(b,c,d)... kờ [11] ta tỡm c khúa mó l: JANET Vy bn tin rừ s l: the almond tree was in 1.2.6 Cỏc tớnh nng trong RainbowCrack: Tớch hp cụng c Full time-memory tradeoff, bao gm cỏc x lý trờn rainbow table , sp xp, chuyn i v tra cu H tr rainbow table ca bt k thut toỏn bm H tr rainbow table ca bt k ký t H tr rainbow table trong nh dng tp tin nguyờn (rt.) V nh dng file nộn ( Rtc) Tớnh toỏn v h tr x lý a lừi ... vng" trong bng cu chain_num vng chain_num Mt "rainbow chain" cú kớch thc 16 byte l n v nh part_index nht trong mt rainbow table Mt rainbow table cú cha rt part_index nhiu cỏc chui cu vng chain_num l s lng cỏc chui cu vng trong rainbow table part_index xỏc nh "im bt u" trong mi chui cu vng c to ra nh th no Nú phi l mt s (hoc bt u bng s mt) trong RainbowCrack 12 Cu hỡnh c a ra di õy s sn sng cho cụng ... Cỏc cụng c ca Phn mm RainbowCrack 1.3 Xõy dng RainbowCrack: RainbowCrack techniqueis the implementation of Philippe Oechslin's faster time-memory trade-off technique RainbowCrack lm vic da trờn... 2.1: Bng cu vng -Rainbow Table 28 v DANH MC HèNH NH Hỡnh 1.1: Cỏc tớnh nng RainbowCrack Hỡnh1.2: Cỏc cụng c ca Phn mm RainbowCrack Hỡnh 1.3: Giao din ca Rainbow Crack ... 1.2.5 Thỏm mó Vigenere 1.2.6 Cỏc tớnh nng RainbowCrack: 1.2.7 Cỏc cụng c v mi quan h gia chỳng RainbowCrack 1.3 Xõy dng RainbowCrack: 1.4 Thun toỏn MD5 15

Ngày đăng: 12/12/2016, 22:50

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w