1. Trang chủ
  2. » Tất cả

An ninh mạng viễn thông đề tài hàm băm

28 1 0

Đ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 28
Dung lượng 1,7 MB

Nội dung

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA VIỄN THÔNG I TIỂU LUẬN KẾT THÚC HỌC PHẦN AN NINH MẠNG VIỄN THÔNG ĐỀ TÀI: HÀM BĂM Bài tập tiểu luận môn An ninh mạng LỜI CẢM ƠN Em Thạch Thọ Quỳnh, em xin thay mặt nhóm 13 gửi lời cảm ơn sâu sắc đến Học viện Công nghệ Bưu Viễn thơng đưa mơn “An ninh mạng Viễn Thơng” vào chương trình giảng dạy khoa, em cảm thấy mơn hữu ích thân nói riêng sinh viên Học viện nói chung, sau học xong mơn em thấy nhận nhiều kiến thức an ninh mạng giúp ích em q trình học tập làm việc Đặc biệt em xin chân thành cảm ơn đến TS Hoàng Trọng Minh – giảng viên môn “An ninh mạng Viễn Thông” truyền đạt kiến thức quý báu cho chúng em suốt thời gian học tập kì vừa qua Mặc dù cố gắng hiểu biết kỹ môn học chúng em nhiều hạn chế Do tiểu luận nhóm em khó tránh khỏi thiếu sót, chỗ chưa xác, mong thầy xem xét góp ý giúp em để tiểu luận hoàn thiện Em xin chân thành cảm ơn! Bài tập tiểu luận môn An ninh mạng LỜI MỞ ĐẦU Thông tin truyền qua mạng ngày bị ảnh hưởng tác động, thám tử có mặt khắp nơi, ln đề phịng để đánh cắp cố tình làm thay đổi thông tin Để bảo vệ tin nhắn, cần phải bảo vệ tốt tính bảo mật tính tồn vẹn liệu tin nhắn Ngồi lượng thơng tin này, phải xác thực Và với phát triển kỹ thuật mật mã, hàm băm đời Hàm băm tạo mã băm sử dụng cho nhiều mục đích Các ứng dụng điển hình hàm băm mật mã là: xác thực, đảm bảo tính tồn vẹn liệu, tạo chữ ký số, Nghiên cứu xây dựng tạo hàm băm nâng cao cung cấp thông tin chi tiết khả ứng dụng giúp tăng tính bảo mật tính xác thực tính tồn vẹn bảo mật liệu đảm bảo thông tin Với phát triển ngày nhanh chóng Internet ứng dụng giao dịch điện tử mạng, nhu cầu bảo vệ thông tin hệ thống ứng dụng điện tử ngày quan tâm có ý nghĩa quan trọng Về bản, băm trình chuyển đổi liệu đầu vào có độ dài thành chuỗi đầu đặc trưng có độ dài cố định Q trình băm thực cách sử dụng hàm băm Hash chức sử dụng để ánh xạ liệu có kích thước thành giá trị có kích thước cố định Các giá trị trả hàm băm gọi thông điệp băm, giá trị băm, mã băm hash Nhóm em chọn đề tài “Tìm hiểu Hàm Băm” với nội dung tiểu luận chia làm chương, với cấu trúc chương sau: Chương 1: Giới thiệu hàm băm Chương 2: Thuật toán băm Chương 3: Ứng dụng hàm băm Chương 4: Các yêu cầu độ an toàn hàm băm Chương 5: Kết luận chung Bài tập tiểu luận môn An ninh mạng MỤC LỤC LỜI CẢM ƠN LỜI MỞ ĐẦU MỤC LỤC BẢNG PHÂN CƠNG CƠNG VIỆC CỦA NHĨM DANH MỤC KÝ HIỆU, THUẬT NGỮ VIẾT TẮT DANH MỤC HÌNH VẼ DANH MỤC BẢNG BIỂU CHƯƠNG 1: GIỚI THIỆU VỀ HÀM BĂM 1.1 Khái niệm hàm băm (hash function) 1.2 Đặc tính hàm băm 1.3 Các hàm băm mật mã học 10 1.4 Tính chất hàm băm 11 CHƯƠNG 2: THUẬT TOÁN 12 2.1 Hàm băm dòng MD5 12 2.1.1 Giới thiệu hàm băm MD5 12 2.1.2 Thuật toán MD5 .12 2.2 Hàm băm an toàn SHA-1 .15 2.2.1 Giới thiệu hàm băm SHA-1 15 2.2.2 Thuật toán SHA-1 15 2.3 So sánh MD5 SHA-1 .18 CHƯƠNG 3: ỨNG DỤNG CỦA HÀM BĂM 19 3.1 Định danh tệp liệu 19 3.2 Bảo vệ tính tồn vẹn thơng điệp tệp tin gửi qua mạng 19 3.3 Xác thực mật .19 3.4 Xác thực thông điệp .20 3.5 Hashing blockchain 21 3.6 Tạo chữ ký điện tử .22 3.7 Chống giả mạo .23 CHƯƠNG 4: CÁC YÊU CẦU VÀ ĐỘ AN TOÀN CỦA HÀM BĂM 24 4.1 Các yêu cầu bảo mật cho hàm băm bảo mật 24 4.1.1 Các cơng đốn thử sai .25 Bài tập tiểu luận môn An ninh mạng 4.1.2 Tấn công vào nghịch ảnh nghịch ảnh bậc hai 25 4.1.3 Tấn công vào chống xung đột 26 4.2 Độ an toàn hàm băm 26 4.2.1 Độ an toàn hàm băm SHA 26 4.2.2 Độ an toàn hàm băm MD5 26 V KẾT LUẬN CHUNG 27 DANH MỤC TÀI LIỆU THAM KHẢO 28 Bài tập tiểu luận môn An ninh mạng BẢNG PHÂN CƠNG CƠNG VIỆC CỦA NHĨM Họ tên Mã sinh viên Nội dung thực Nội dung phân chia báo cáo công việc Chương 1: Tìm hiểu * Tổng hợp, trích dẫn hàm băm từ tài liệu tham Chương 2: Thuật khảo để làm nội dung toán băm * Tổng hợp thống kê danh mục hình ảnh Chương 1: Tìm hiểu * Chỉnh sửa, tổng hàm băm hợp, xếp hoàn Chương 3: Ứng dụng thiện word hàm băm * Viết lời mở đầu, đặt Chương 5: Kết luận vấn đề, lập danh mục bảng biểu, hình chung vẽ, mục lục,… * Tổng hợp tài liệu tham khảo * Phân chia nội dung cho thành viên nhóm Chương 1: Tìm hiểu * Tổng hợp, trích dẫn hàm băm từ tài liệu tham Chương 4: Các yêu khảo để làm nội dung cầu độ an toàn * Tổng hợp thống hàm băm kê danh mục hình ảnh Bài tập tiểu luận môn An ninh mạng DANH MỤC KÝ HIỆU, THUẬT NGỮ VIẾT TẮT Từ viết tắt Thuật ngữ tiếng anh Thuật ngữ tiếng việt MD5 Message-Digest Algorithm Hàm băm MD5 SHA Secure Hash Algorithm Thuật toán băm an tồn MD Message – Digest Tóm lược thơng điệp MD4 Message-Digest Algorithm Hàm băm MD4 NIST National Institute of Standards and Technology Viện Tiêu chuẩn Công nghệ Quốc gia Mỹ Bài tập tiểu luận môn An ninh mạng DANH MỤC HÌNH VẼ Hình 1.1…………………………………………………………………………….… Hình 2.1: Qúa trình vịng………………………………………………… 15 Hình 2.2: Phương thức mã hóa SHA-1…………………………………………….…….18 Hình 3.1: Password Hash Salting…………………………………………………… 20 Hình 3.2: Nguyên lý hoạt động Blockchain……………………………… …… 21 DANH MỤC BẢNG BIỂU Bảng 1.1: Các hàm băm mật mã học………………………………………………… 10 Bảng 2.1 Các giá trị bảng T có 64 phần tử………………………………… … 14 Bảng 4.1: Các yêu cầu hàm băm bảo mật……………………………………… … 25 Bài tập tiểu luận môn An ninh mạng CHƯƠNG 1: GIỚI THIỆU VỀ HÀM BĂM 1.1 Khái niệm hàm băm (hash function) Hàm băm (Hash function) hàm tốn học chuyển đổi thơng điệp đầu vào có độ dài thành dãy bit có độ dài cố định (theo thuật tốn băm) Dãy bit gọi thông điệp rút gọn (message digest) hay giá trị băm (hash value), đại diện cho thông điệp gốc Hàm băm hàm chiều giá trị băm nhất, khó để suy nội dung gốc độ dài ban đầu tài liệu gốc Hình 1.1: 1.2 Đặc tính hàm băm - Hàm băm h hàm chiều (one-way hash) với đặc tính sau: 1) Với thơng điệp đầu vào x thu băm z = h(x) 2) Nếu liệu thông điệp x thay đổi để thành thơng điệp x’ h(x’)  h(x)  Hai thơng điệp hồn tồn khác giá trị hàm băm khác 3) Nội dung thơng điệp gốc khó thể bị suy từ giá trị hàm băm  Với thông điệp x dễ dàng tính z = h(x), ngược lại khó thể suy ngược lại x biết giá trị hàm băm h Bài tập tiểu luận môn An ninh mạng 1.3 Các hàm băm mật mã học Thuật tốn Kích thước Kích đầu trạng HAVAL 256/224/192 256 /160/128 MD2 128 MD4 thước Kích thái thước khối Độ dài Kích Xung thước đột word 1024 64 32 Có 384 128 Khơng Khả lớn 128 128 512 64 32 Có MD5 128 128 512 64 32 Có PANAMA 256 8736 256 No 32 Có lỗi RIPEMD 128 128 512 64 32 Có RIPEMD128/256 128/256 128/256 512 64 32 Khơng RIPEMD160/320 160/320 160/320 512 64 32 Không SHA-0 160 160 512 64 32 Khơng SHA-1 160 160 512 64 32 Có lỗi SHA-256/224 256/224 256 512 64 32 Không SHA-512/384 512/384 512 1024 128 64 Không Tiger(2)192/160/128 192/160/128 192 512 64 64 Không VEST-4/8 (hash mode) 160/256 256/384 80/128 Không VEST-16/32 (hash mode) 320/512 512/768 160/25 Không WHIRLPOO L 512 512 512 256 Không Bảng 1.1 Các hàm băm mật mã học 10 Bài tập tiểu luận môn An ninh mạng F(X,Y,Z) = X ˄ Y ˅ ̚ X ˄ Z G(X,Y,Z) = X ˄ Z ˅ Y ˄ ̚ Z H(X,Y,Z) = X xor Y xor Z I(X,Y,Z) = Y xor (X ˅ ̚ Z)  Mảng 64 phần tử tính theo cơng thức: T[i] = 232 x abs(sin(i)) i tính theo radian  Kết vòng cộng (theo modulo 232với đầu vào CVq để tạo CVq +1 T[1] = d76aa478 T[17] = f61e2562 T[33] = fffa3942 T[49] = f4292244 T[2] = e8c7b756 T[18] = c040b340 T[34] = 8771f681 T[50] = 432aff97 T[3] = 242070db T[19] = 265e5a51 T[35] = 6d9d6122 T[51] = ab9423a7 T[4] = c1bdceee T[20] = e9b6c7aa T[36] = fde5380c T[52] = fc93a039 T[5] = f57c0faf T[21] = d62f105d T[37] = a4beea44 T[53] = 655b59c3 T[6] = 4787c62a T[22] = 2441453 T[38] = 4bdecfa9 T[54] = 8f0ccc92 T[7] = a8304613 T[23] = d8a1e681 T[39] = f6bb4b60 T[55] = ffeff47d T[8] = fd469501 T[24] = e7d3fbc8 T[40] = bebfbc70 T[56] = 85845dd1 T[9] = 698098d8 T[25] = 21e1cde6 T[41] = 289b7ec6 T[57] = 6fa87e4f T[10] = 8b44f7af T[26] = c33707d6 T[42] = eaa127fa T[58] = fe2ce6e0 T[11] = ffff5bb1 T[27] = f4d50d87 T[43] = d4ef3085 T[59] = a3014314 T[12] = 895cd7be T[28] = 455a14ed T[44] = 4881d05 T[60] = 4e0811a1 T[13] = 6b901122 T[29] = a9e3e905 T[14] = fd987193 T[30] = fcefa3f8 T[45] = d9d4d039 T[61] = f7537e82 T[46] = e6db99e5 T[62] = bd3af235 T[31] = 676f02d9 T[47] = 1fa27cf8 T[63] = 2ad7d2bb T[16] = 49b40821 T[32] = 8d2a4c8a T[48] = c4ac5665 T[64] = eb86d391 T[15] = a679438e Bảng 2.1 Các giá trị bảng T có 64 phần tử Bước 5: Xuất kết  Sau xử lý tất khối L 512-bit, đầu xử lý thứ L giá trị băm 128bit Nhóm 13 – Hàm Băm 14 Bài tập tiểu luận mơn An ninh mạng Hình 2.1 Qúa trình vịng 2.2 Hàm băm an tồn SHA-1 2.2.1 Giới thiệu hàm băm SHA-1 - Năm 1990 Ron Rivest phát triển hàm băm MD4 Sau đó, ơng cải tiến tạo hàm băm khác, MD5 Năm 1993, Cơ quan An ninh Quốc gia Hoa Kỳ / Cơ quan An ninh Trung ương (NSA) công bố hàm băm giống với MD5 SHA Năm 1995, sau khắc phục cố kỹ thuật, NSA thay đổi SHA thành hàm băm mật mã khác gọi SHA-1 - SHA-1 thuật toán dựa thuật toán MD4 Thuật toán SHA-1 tạo chuỗi mã băm có chiều dài 160 bit cố định từ chuỗi bit liệu đầu vào x có chiều dài tùy ý 2.2.2 Thuật toán SHA-1 Đầu vào: Thông điệp với độ dài tối đa 264 bits Đầu ra: Giá trị băm (message digest) có độ dài 160 bits Thuật toán: bước thao tác khối 512 bit Bước 1: Nhồi thêm liệu  Thông điệp thêm bits cho độ dài l  448 mod 512 hay l = n * 512 + 448 (n,l nguyên)   Luôn nhồi thêm liệu vào thông điệp Số bits nhồi thêm nằm khoảng đến 512 Nhóm 13 – Hàm Băm 15 Bài tập tiểu luận môn An ninh mạng  Phần liệu nhồi thêm gồm bit theo sau bít Bước 2: Thêm vào độ dài    Độ dài khối liệu ban đầu biểu diễn dạng nhị phân 64-bit thêm vào cuối chuỗi nhị phân kết bước Độ dài biểu diễn dạng nhị phân 64-bit không dấu Kết có từ bước đầu khối liệu có độ dài bội số 512 Khối liệu biểu diễn: + Bằng dãy L khối 512-bit Y0, Y1,, YL-1 + Bằng dãy N từ (word) 32-bit M0, M1, MN-1 Vậy N = L x 16 ( 32 x 16 = 512) Bước 3: Khởi tạo đệm MD (MD buffer)  Một đệm 160-bit dùng lưu trữ giá trị băm trung gian kết Bộ đệm biểu diễn ghi 32- bit với giá trị khởi tạo dạng bigendian (byte có trọng số lớn từ nằm địa thấp nhất) sau: A = 01 23 45 67 B = 89 AB CD EF C = FE DC BA 98 D = 76 54 32 10 E = C3 D2 E1 F0  Các giá trị tương đương với từ 32-bit sau: A = 01 23 45 67 B = 89 AB CD EF C = FE DC BA 98 D = 76 54 32 10 E = C3 D2 E1 F0 Bước 4: Các khối liệu 512-bit xử lý  Trọng tâm giải thuật bao gồm vòng lặp thực 80 bước  vịng lặp có cấu trúc khác hàm logic f1, f2, f3, f4  Mỗi vịng có đầu vào gồm đệm 160-bit ABCDE khối 512-bit thời  Mỗi bước dùng số Kt (0  t 79) Kt = 5A827999(0 t  ) Kt = 6ED9EBA1 (20  t  39) Nhóm 13 – Hàm Băm 16 Bài tập tiểu luận môn An ninh mạng Kt = 8F1BBCDC (40  t  59) Kt = CA62C1D6 (60  t  79)  Đầu vòng (bước 80) cộng với đầu bước CVq CVq+1 Bước 5: Xuất kết   Kết khối thứ L bảng băm 160-bit Giải thuật tóm tắt sau: CV0 = IV CVq+1 = SUM32(CVq, ABCDEq) MD=CVL Với: IV = giá trị khởi tạo đệm ABCDE ABCDEq = đầu hàm nén khối thứ q L = số khối 512-bit thông điệp SUM32 = phép cộng modulo 232 từ (32 bits) đầu vào MD = giá trị băm Giải thuật thực tất 80 bước, bước mô tả sau: Nhóm 13 – Hàm Băm 17 Bài tập tiểu luận mơn An ninh mạng Hình 2.2: Phương thức mã hóa SHA-1 2.3 So sánh MD5 SHA-1 - Khả chống lại công brute-force:  Cần 2128 thao tác với MD5 2160 với SHA-1 để tạo thơng điệp có giá trị băm cho trước  Sẽ cần 264 thao tác với MD5 280 với SHA-1 để tìm thơng điệp có giá trị băm  Cả có cấu trúc tốt để chống lại thám mã - Tốc độ:  SHA-1 MD5 dựa phép toán 32 bit, thực tốt kiến trúc 32 bit  MD5 có tốc độ thực nhanh SHA-1 thực 16 bước - Tính đơn giản: SHA-1 MD5 mô tả đơn giản dễ dàng cài đặt phần cứng phần mềm Nhóm 13 – Hàm Băm 18 Bài tập tiểu luận môn An ninh mạng CHƯƠNG 3: ỨNG DỤNG CỦA HÀM BĂM 3.1 Định danh tệp liệu Hashing sử dụng phương tiện để xác định tập tin cách đáng tin cậy Một số hệ thống quản lý mã nguồn, Monotone, Mercurial hay Git, sử dụng giá trị SHA1sum nội dung thư mục, thông tin thư mục gốc, tệp v.v để định danh chúng Giá trị băm sử dụng để định danh tệp mạng chia sẻ tệp ngang hàng nhằm cung cấp đủ thông tin để định vị nguồn tệp xác minh nội dung tải xuống Giá trị ứng dụng chúng mở rộng thông qua việc áp dụng cấu trúc liệu bổ sung (chẳng hạn danh sách băm băm (Merkle Tree)) Tuy nhiên, so với hàm băm tiêu chuẩn, hàm băm mật mã thường phức tạp địi hỏi nhiều tài ngun tính tốn Do đó, chúng có xu hướng sử dụng người dùng cần tự bảo vệ tính an tồn cho thơng điệp trước khả bị sửa đổi giả mạo 3.2 Bảo vệ tính tồn vẹn thơng điệp tệp tin gửi qua mạng Hàm băm mật mã có tính chất hàm chiều Từ khối liệu giá trị đầu vào có giá trị băm lấy Đối với tính chất hàm chiều biết Có nghĩa là, việc ghi lại hàm băm khơng thể suy giá trị, hàm băm ban đầu thơng điệp Ví dụ, để xác định xem tệp tin nhắn thay đổi hay chưa, bạn so sánh tính chất thơng điệp báo trước sau đăng (hoặc kiện khác) Thơng báo tóm tắt sử dụng phương tiện nhận dạng tệp đáng tin cậy Các hàm băm thường sử dụng bảng băm để giảm nỗ lực tính tốn cần thiết để tìm khối liệu tập hợp Giá trị băm hoạt động gần giống chìa khóa để phân biệt khối liệu 3.3 Xác thực mật Xác minh mật thường dựa hàm băm mật mã Mật người dùng, cung cấp rõ ràng, tạo lỗ hỏng bảo mật nghiêm trọng tệp mật bị xâm phạm Đối với chế này, thường lưu giá trị băm mật Để xác thực người dùng, mật người dùng nhập băm so sánh với giá trị băm lưu trữ tương ứng Mật ban đầu khơng thể tính tốn lại từ giá trị băm lưu trữ sở liệu Nhóm 13 – Hàm Băm 19 Bài tập tiểu luận mơn An ninh mạng Hình 3.1: Password Hash Salting Các hàm băm mật mã tiêu chuẩn thiết kế để tính tốn nhanh chóng cố gắng đoán mật tốc độ cực cao Bộ xử lý đồ họa thơng thường (GPU) cố gắng đốn hàng tỷ mật có giây Để tăng tính bảo mật, hàm băm mật thực phần mở rộng khóa, chẳng hạn PBKDF2, Argon2 scrypt, thường sử dụng lệnh gọi lặp lại đến hàm băm mật mã để tăng thời gian (và số trường hợp nhớ máy tính), băm mật lưu trữ công yêu cầu để thực công vét cạn Hàm băm mật yêu cầu sử dụng giá trị muối (Salt) ngẫu nhiên lưu trữ với hàm băm mật Salt ngẫu nhiên hóa đầu mật băm khiến kẻ công lưu bảng mã băm mật Đầu hàm băm mật sử dụng khóa mật mã Do đó, hàm băm mật cịn gọi Hàm dẫn xuất khóa dựa mật (PBKDF) 3.4 Xác thực thông điệp Giá trị đầu vào (dữ liệu, tin nhắn ) bị thay đổi tương ứng, giá trị băm bị thay đổi, kẻ công phá hủy thay đổi liệu, máy chủ phát Nhóm 13 – Hàm Băm 20 Bài tập tiểu luận môn An ninh mạng 3.5 Hashing blockchain Một số hàm băm mật mã sử dụng phổ biến liệt kê đây:   Bitcoin sử dụng SHA 256 Ethereum sử dụng Keccak-256 Hình 3.2: Nguyên lý hoạt động Blockchain Các hàm băm không sử dụng để tạo chứng cơng việc mà cịn để xác định khối kết hợp chúng với mật mã khóa cơng khai để tạo mã nhận dạng cho người dùng mạng Ý nghĩa hash blockchain Xương sống tiền điện tử Blockchain nó, sổ toàn cầu bao gồm việc liên kết khối liệu giao dịch riêng lẻ, giúp ngăn chặn giao dịch gian lận chi tiêu gấp đơi Qúa trình xác nhận dựa liệu mã hóa thuật tốn băm Giá trị mã hóa kết dãy số chữ không khớp với liệu gốc gọi hàm băm Hàm băm sử dụng khai thác tiền điện tử Việc băm yêu cầu hàm toán học để xử lý liệu từ khối, dẫn đến kết đầu có độ dài cố định Sử dụng đầu có độ dài cố định tăng tính bảo mật người cố gắng Việc giải mã hàm băm xác định đầu vào dài hay ngắn dựa độ dài đầu ra; hàm sử dụng để tạo hàm băm xác định; có nghĩa Nhóm 13 – Hàm Băm 21 Bài tập tiểu luận mơn An ninh mạng tạo kết bạn sử dụng tạo đầu vào băm hiệu quả; gây khó khăn cho việc xác định đầu vào (dẫn đến khai thác); thay đổi nhỏ kết đầu vào dẫn đến hàm băm khác Xử lý hàm băm cần thiết để mã hóa khối địi hỏi sức mạnh tính tốn đáng kể, điều tốn Công nghệ, mạng lưới tiền điện tử cho họ mã thơng báo tiền điện tử phí giao dịch Những người khai thác bồi thường họ người tạo hàm băm đáp ứng yêu cầu đặt hàm băm đích Giải hàm băm có nghĩa giải toán phức tạp bắt đầu với liệu có sẵn tiêu đề khối Mỗi tiêu đề khối chứa số phiên bản, dấu thời gian, băm sử dụng khối trước đó, hàm băm Merkle Root, băm nonce băm đích Các thợ mỏ tập trung vào nonce, chuỗi số Số thêm vào nội dung băm khối trước đó, sau thêm vào Nếu hàm băm nhỏ hàm băm mục tiêu, chấp nhận giải pháp, người khai thác thưởng khối thêm vào blockchain Để giải mã hàm băm, người khai thác phải xác định chuỗi sử dụng làm chuỗi null, thân chuỗi đòi hỏi lượng thử nghiệm sai sót đáng kể Điều nonce chuỗi ngẫu nhiên Rất khả người khai thác thành công lần thử đầu tiên, có nghĩa người khai thác thử số lượng lớn tùy chọn nonce trước thực yêu cầu người khai thác Độ khó, thước đo mức độ cao, khó khăn việc tạo hàm băm đáp ứng yêu cầu hàm băm mục tiêu; nhiều thời gian để tạo giải pháp 3.6 Tạo chữ ký điện tử Chữ ký điện tử có cách mã hóa tóm tắt thơng điệp khóa riêng người ký Nhóm 13 – Hàm Băm 22 Bài tập tiểu luận môn An ninh mạng Chứng thực chữ số: Nếu kết băm giống thơng điệp xác thực Lý sao? Bởi BIT M hay SIG thay đổi, kết băm khác  Đây ứng dụng quan trọng hàm băm, đặc biệt thương mại điện tử 3.7 Chống giả mạo Liên kết băm tin nhắn với gốc người nhận tin tái băm tin nhắn so sánh với băm cung cấp Nếu băm khớp tin nhắn khơng bị thay đổi Ứng dụng dùng để xác nhận liệu có bị hay khơng q trình truyền tải Nhóm 13 – Hàm Băm 23 Bài tập tiểu luận môn An ninh mạng CHƯƠNG 4: CÁC YÊU CẦU VÀ ĐỘ AN TOÀN CỦA HÀM BĂM Để hiểu rõ yêu cầu an toàn hàm băm, ta cần định nghĩa hai điều kiện: Đối với giá trị băm h = H(x), x gọi nghịch ảnh h Nghĩa x khối liệu có hàm băm h sử dụng hàm H Vì hàm H phép ánh xạ từ nhiều phần tử thành một, nên với giá trị h cho trước, tạo nhiều nghịch ảnh Một xung đột xảy x ≠ y H(x) = H(y) Do sử dụng hàm băm để đảm bảo tính tồn vẹn liệu nên xung đột điều không mong muốn Chúng ta phân tích xem có nghịch ảnh tạo với giá trị băm cho trước phép đo số xung đột xảy với giá trị băm cho trước Giả sử rằng, độ dài giá trị băm n bit hàm H có tin đầu vào hay khối liệu có độ dài b bit (b > n) Khi đó, tổng số tin 2b tổng số giá trị băm 2n Trung bình, giá trị băm tương ứng với 2b – n nghịch ảnh Trên thực tế, H phân bố giá trị băm giá trị băm có xấp xỉ 2b – n nghịch ảnh Nếu bây giờ, xét đầu vào có độ dài bất kỳ, khơng phải độ dài cố định trước số nghịch ảnh tạo từ giá trị băm giá trị lớn Tuy nhiên,rủi ro an ninh việc sử dụng hàm băm không nghiêm trọng theo phân tích Để hiểu vấn đề bảo mật hàm băm mã hóa, cần định nghĩa xác yêu cầu bảo mật chúng 4.1 Các yêu cầu bảo mật cho hàm băm bảo mật Ba yêu cầu áp dụng cho ứng dụng thực tế hàm băm: + Kích thước đầu vào + Kích thước đầu + Hiệu Yêu cầu thứ tư, chống nghịch ảnh, đặc tính chiều, nghĩa là: mã băm dễ dàng tạo tin cho trước khả tái tạo lại tin thơng qua mã băm cho trước Đặc tính vơ quan trọng kỹ thuật xác thực sử dụng giá trị bí mật Giá trị bí mật khơng gửi hàm băm hàm chiều kẻ cơng dễ dàng phát giá trị bí mật Nếu kẻ cơng quan sát chặn đường truyền, kẻ cơng thu tin M mã băm h = H(S || M) Sau đó, kẻ cơng triển khai ngược hàm băm để lấy S||M = H-1(MDM) Do bây giờ, kẻ cơng có M SAB||M, nên dễ dàng tìm SAB Nhóm 13 – Hàm Băm 24 Bài tập tiểu luận môn An ninh mạng Bảng 4.1: Các yêu cầu hàm băm bảo mật Đặc tính thứ năm, chống nghịch ảnh bậc 2, đảm bảo việc khơng thể tìm tin thay với giá trị băm tin cho trước điều ngăn chặn giả mạo mã băm mã hóa sử dụng Nếu đặc tính khơng thỏa mãn, kẻ cơng có khả thực hành động sau đây: Đầu tiên, quan sát chặn tin với mã băm mã hóa nó; tiếp theo, tạo mã băm khơng mã hóa từ tin; cuối cùng, tạo tin thay với mã băm tương tự  Hàm băm thỏa mãn năm đặc tính xem hàm băm yếu Nếu đặc tính thứ sáu, chống xung đột, thỏa mãn hàm băm gọi hàm băm mạnh Một hàm băm mạnh có khả chống lại cơng dó bên tạo tin cho bên khác ký 4.1.1 Các cơng đốn thử sai Đối với thuật tốn mã hóa, có hai loại cơng nhằm vào hàm băm là: Tấn cơng đốn thử sai giải mã Tấn cơng đốn thử sai khơng phụ thuộc vào thuật toán cụ thể mà phụ thuộc vào độ dài bit Trong trường hợp hàm băm, cơng đốn thử sai phụ thuộc vào độ dài giá trị băm Ngược lại, giải mã công dựa điểm yếu thuật tốn mã hóa cụ thể 4.1.2 Tấn công vào nghịch ảnh nghịch ảnh bậc hai Đối với công vào nghịch ảnh nghịch ảnh bậc hai, kẻ cơng muốn tìm giá trị y theo hàm H(y) có giá trị giá trị băm h cho trước Phương pháp cơng đốn thử sai chọn giá trị y ngẫu nhiên thử xung đột xảy Đối với giá trị băm m-bit, số phép thử tỉ lệ với 2m Nghĩa là, kẻ công cần phải thử 2m-1 giá trị y để tìm giá trị xác Nhóm 13 – Hàm Băm 25 Bài tập tiểu luận môn An ninh mạng 4.1.3Tấn công vào chống xung đột Đối với cơng vào đặc tính chống xung đột, kẻ xấu muốn tìm hai tin khối liệu x y, có hàm băm H(x) = H(y) Tấn công cần phép đốn thử so với cơng vào nghịch ảnh nghịch ảnh bậc hai Các nỗ lực cần giải thích kết tốn học, nghịch lý ngày sinh (birthday paradox) Về bản, biến ngẫu nhiên phân bố dải từ đến N-1 xác suất để phần tử lặplại vượt 0.5 sau √N lựa chọn thực Do đó, giá trị băm m-bit, khối liệu chọn cách ngẫu nhiên, hy vọng tìm thấy hai khối liệu có giá trị băm sau √2𝑚 = 22/𝑚 phép thử 4.2 Độ an toàn hàm băm 4.2.1 Độ an toàn hàm băm SHA  Ưu điểm: SHA họ hàm băm coi an tồn vì: + Thứ nhất: với giá trị băm định tạo thuật tốn SHA, khơng thể xử lý khối liệu để tìm liệu gốc + Thứ hai: khơng thể tìm thấy hai khối liệu có hàm băm tạo hai thuật toán SHA Ngay thay đổi nhỏ liệu gốc thực Nó tạo giá trị băm hồn toàn khác với xác suất cao SHA-1 sử dụng rộng rãi nhiều giao thức ứng dụng bảo mật SHA-1 coi giải pháp thay cho MD5, thuật toán băm 128 bit khác  Nhược điểm: SHA-1 khơng cịn coi an toàn nữa, kể từ năm 2005, ba nhà mật mã Trung Quốc phát triển thành công thuật tốn mà với hai phần liệu tìm thấy Một số liệu có kết băm tạo SHA-1 Mặc dù điều tương tự khơng thực với SHA-2, thuật tốn SHA-2 khơng khác nhiều so với SHA-1, nhiều nhà khoa học bắt đầu phát triển thuật toán tốt SHA, NIST bắt đầu thi để phát triển thuật toán băm an tồn SHA, tương tự quy trình phát triển cho tiêu chuẩn mật mã nâng cao AES 4.2.2 Độ an toàn hàm băm MD5 MD5 chậm so với MD4 tốc độ sinh chuỗi cốt yếu MD5 lại an toàn nhiều so với MD4 Thuật tốn số hóa thơng điệp MD5 đơn giản để thực cung cấp hàm băm thơng điệp mức độ cao Khó khăn tìm thơng điệp có giá trị băm giả định khoảng 264 bước khó khăn tìm thơng điệp có giá trị băm cụ thể 2128 bước Tuy nhiên, lỗ hỏng phát thuật tốn MD5 cho phép kẻ cơng tạo tệp giả máy tính tiêu chuẩn vài Hàm băm MD5 với độ dài 128 bit độ dài khơng đủ an tồn để chống lại số công, đặc biệt cơng nhắm vào ngày sinh nhật Nhóm 13 – Hàm Băm 26 Bài tập tiểu luận môn An ninh mạng V KẾT LUẬN CHUNG Các hàm băm truyền thống có nhiều trường hợp sử dụng bao gồm tìm kiếm sở liệu, phân tích tệp lớn quản lý liệu Ngoài ra, hàm băm mật mã sử dụng rộng rãi ứng dụng bảo mật thông tin mật mã xác thực vân tay tin nhắn Khi sử dụng Bitcoin, hàm băm mật mã phần thiết yếu q trình khai thác góp phần tạo địa khóa Về bản, băm công cụ mạnh mẽ để xử lý lượng lớn thơng tin Chúng ta băm tệp tập liệu lớn sử dụng đầu từ để xử lý nhanh chóng Kiểm tra nhanh độ xác tính tồn vẹn liệu Nhờ kỹ thuật này, khơng cịn phải lưu trữ "ghi nhớ" lượng lớn thông tin Hashing coi quy trình hữu ích cơng nghệ blockchain Trên thực tế, hầu hết tất giao thức mật mã dựa vào băm để liên kết thu gọn nhóm giao dịch thành khối để tạo liên kết mật mã tạo khối, tạo chuỗi khối cách hiệu Hiện nay, với phát triển công nghệ thông tin, khơng có khơng thể hack được, nhiên, hàm băm gần có giới hạn Các Ngày nay, hàng triệu hàng tỷ năm để hack hàm băm Tuy nhiên, có lo ngại máy tính lượng tử Điều làm gián đoạn hàm băm sử dụng Bitcoin Nhóm 13 – Hàm Băm 27 Bài tập tiểu luận môn An ninh mạng DANH MỤC TÀI LIỆU THAM KHẢO [1]https://vi.wikipedia.org/wiki/MD5 [2] https://fr.scribd.com/document/57082475/BAO-CAO-MD5 [3]Bart PRENEEL Analysis and Design of Cryptographic Hash Functions 2003 [4] B Kaliski and M Robshaw Message Authentication with MD5 RSA Labs' CryptoBytes, Vol No 1, Spring 1995 [5]Diplomarbeit, Christian Knopf Cryptographic Hash Functions 2007 [6] G Tsudik Message authentication with one-way hash functions ACM Computer Communications Review, 22(5):29–38, 1992 [7]Joseph Sterling Grah Hash Functions in Cryptography 2008 [8] Nguyễn Chiến Trinh, Nguyễn Tiến Ban, Hoàng Trọng Minh, Nguyễn Thanh Trà, Phạm Anh Thư Bài giảng An ninh mạng viễn thông Học viện Công Nghệ Bưu Viễn thơng, 2016 [9] Trần Thị Kim Thùy Nghiên cứu ứng dụng chuyển mật mã nâng cao (AES) xây dựng hàm băm Học Viện Công nghệ Bưu Viễn thơng, 2012 Nhóm 13 – Hàm Băm 28 ... 512 512 512 256 Không Bảng 1.1 Các hàm băm mật mã học 10 Bài tập tiểu luận mơn An ninh mạng 1.4 Tính chất hàm băm Tính chất – hàm băm h hàm chiều: hàm băm h gọi hàm chiều cho trước tóm lược thơng... trị băm 128bit Nhóm 13 – Hàm Băm 14 Bài tập tiểu luận môn An ninh mạng Hình 2.1 Qúa trình vịng 2.2 Hàm băm an toàn SHA-1 2.2.1 Giới thiệu hàm băm SHA-1 - Năm 1990 Ron Rivest phát triển hàm băm. .. Nhóm 13 – Hàm Băm 23 Bài tập tiểu luận môn An ninh mạng CHƯƠNG 4: CÁC YÊU CẦU VÀ ĐỘ AN TOÀN CỦA HÀM BĂM Để hiểu rõ yêu cầu an toàn hàm băm, ta cần định nghĩa hai điều kiện: Đối với giá trị băm h

Ngày đăng: 26/02/2023, 17:42

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

TÀI LIỆU LIÊN QUAN

w