Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 40 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
40
Dung lượng
6,76 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THƠNG TIN Học phần: An tồn bảo mật hệ thống thơng tin Bài báo cáo: Tìm hiểu giải thuật băm SHA-0,1,2,3 Các điểm yếu, dạng công vào SHA Cài đặt thử nghiệm SHA1 Giảng viên hướng dẫn: Sinh viên thực hiện: Bùi Quang Danh Ngô Thị Thu Hân Đỗ Đình Tiến Lê Tất Tiến TS Đặng Minh Tuấn Nhóm 11 B15DCCN102 B15DCCN192 B15DCCN553 B15DCCN554 Hà Nội 2017 Mục lục LỜI MỞ ĐẦU DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT DANH MỤC CÁC HÌNH VẼ DANH MỤC BẢNG BIỂU Chương Khái quát hàm băm mật mã 1.Giới thiệu sơ lược hàm băm mật mã 1.3 Tính chất hàm băm mật mã 1.6 Ứng dụng hàm băm 11 Chương Các giải thuật hàm băm SHA 13 2.1 Giới thiệu SHA 13 2.2 Các giải thuật SHA 14 2.2.1 SHA-0 14 2.2.2 SHA-1 16 2.2.3 SHA-2 18 2.2.4 SHA-3 23 Chương Các điểm yếu, dạng công vào hàm băm 28 3.1 Các điểm yếu SHA 28 3.2.Các dạng công vào SHA 28 3.2.1 Tấn công va chạm 28 3.2 2.Tấn công hàm Hash theo kiểu ngày sinh nhật 30 3.2.3 Tấn công hàm hash theo kiểu gặp (meet – in – the – middle attack) 32 Chương Demo 34 Kết luận 36 Tài liệu tham khảo 37 DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT Từ viết tắt AES OWHF Thuật ngữ tiếng Anh/Giải thích Thuật ngữ tiếng Việt/Giải thích Chuẩn mã hóa tiên tiến Hàm băm chiều IPSec Advanced Encryption Standard One Way Hash Functions Collision Resistant Hash Functions Internet Protocol Security MAC Message Authentication Code MD Message Digest MDC Modification Detection Code NIST National Institute of Standards and Technology CRHF Hàm băm kháng xung đột An toàn giao thức Internet Mã xác thực thông điệp (sử dụng hàm băm có khóa) Chuỗi đại diện thơng điệp Mã phát sử đổi (sử dụng hàm băm khơng khóa) Viện Tiêu chuẩn Công nghệ NSA PGP PKI RSA SHA SHS National Security Agency Pretty Good Privacy Public Key Infrastructure RSA Public Key Croptosystem Secure Hash Algorithm Secure Hash Standard Secure Socket Layer / Transport SSL/TLS Layer Security Cơ quan mật vụ liên bang Mỹ Chuẩn bảo mật PGP Hạ tầng khóa cơng khai Hệ mật khóa cơng khai RSA Giải thuật băm an toàn Tiêu chuẩn băm an toàn Bộ giao thức bảo mật SSL / TLS DANH MỤC CÁC HÌNH VẼ Hinh Mơ hình nén thông tin hàm băm Error! Bookmark not defined Hinh Phân loại hàm băm theo khóa sử dụng Error! Bookmark not defined Hinh Mô hình tổng quát sử lý liệu c hàm băm 10 Hinh Mơ hình chi tiết xử lý liệu hàm băm 11 Hinh Chữ ký số 12 Hinh Chứng thực chữ ký số 13 Hình Lưu đồ vòng xử lý SHA-1 18 Hình 2 Lưu đồ vòng lặp SHA-2 19 Hình Bước nội thứ j hàm nén SHA-256 C 20 Hình Lịch trình thơng điệp SHA-256 20 Hình Tạo tin nhắn số SHA3-512 24 Hình Xử lý SHA3-512 khối đơn 1024 bit 26 Hình So sánh hàm băm 27 Hình Sơ đồ tạo hàm Hash Rabin 32 Hình Chương trình SHA-1 34 Hình Demo SHA-1 35 Hình SHA-1 online 35 DANH MỤC BẢNG BIỂU Bảng Các hàm Boolean số SHA-0 16 Bảng Các hàm Boolean số SHA-1 17 DANH MỤC HÌNH VẼ Hình 1: Mơ hình nén liệu hàm băm Hình 2Phân loại hàm băm theo khóa sử dụng LỜI MỞ ĐẦU 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ì việc nghiên cứu chuẩn mật mã nâng cao ứng dụng lĩnh vực bảo mật thông tin cần thiết Ứng dụng chuẩn mật mã nâng cao sử dụng ngày phổ biến nhiều ứng dụng khác Chuẩn mật mã nâng cao không đơn mã hóa giải mã thơng tin mà bao gồm nhiều vấn đề khác cần nghiên cứu giải ứng dụng xây dựng hàm băm phục vụ việc chứng thực nguồn gốc nội dung thông tin ( kỹ thuật chữ ky điện tử), xác thực tính nguyên vẹn liệu,… Một hàm băm sử dụng rộng rãi hàm băm SHA phát triển cục an ninh quốc gia Mỹ ( National Security Agency hay NSA) Với nhiều ưu điểm có nhiều phiên khác phát hành Với tiểu luận với đề tài “ Tìm hiểu giải thuật băm SHA0,1,2,3 Các điểm yếu, dạng công vào SHA Cài đặt thử nghiệm SHA1” tìm hiểu hàm băm SHA ứng dụng để hiểu rõ tiến hành thử nghiệm kiểm chứng Document continues below Discover more An toàn ứng from: dụng web c… AT2021 Học viện Công ng… 291 documents Go to course Toan Cao Cap A1 Học 146 viện CN Bưu chính… An tồn ứng dụng… 100% (8) tham khảo gdqp học 12 phần - có sẵn đáp… An toàn ứng dụng… 100% (5) Tactics toeic audio 17 46 scripts An toàn ứng dụng… 100% (5) TA1-K61Supplementary… An toàn ứng dụng… 100% (5) Dump Splunk Sale 11 Rep - ưedsfg An toàn ứng dụn… 88% (24) CDT1429 Thiet Ke Web Co Ban Baigia… Chương Khái quát hàm băm 217 mật mã 1.Giới thiệu sơ lược hàm băm mật mã An toàn ứng dụng… 100% (3) Hiểu theo nghĩa đơn giản, hàm băm hàm cho tương ứng mảng liệu lớn với mảng liệu nhỏ mà dùng rộng rãi nhiều ứng dụng tin học, không thuộc phạm vi mật mã Ở đây, xét đến hàm băm phạm vi hàm băm mật mã, xem xét cụ thể đến ứng dụng chúng việc đảm bảo tính toàn vẹn liệu Các hàm băm nhận đầu vào chuỗi bit có chiều dài hữu hạn tùy ý tạo chuỗi bit có chiều dài cố định n bit (n > 0) gọi mã băm (hash code) Trong mã hóa, mã băm xem ảnh đại diện thu gọn (compact representative image) chuỗi bit có độ dài hữu hạn tùy ý dùng để nhận diện cho chuỗi bit Kết hợp với cơng cụ tạo chữ ký số, hàm băm dùng cho việc đảm bảo tính tồn vẹn liệu Trong lược đồ chữ ký số, mã băm chuỗi bit tính thời điểm T1 bảo vệ để chống lại thay đổi bất hợp pháp Tại thời điểm T2 sau đó, để kiểm tra xem chuỗi bit x có bị thay đổi hay khơng, người ta thường tính giá trị hàm băm chuổi bit thời điểm T2, mà ta ký hiệu xT2, sau so sánh giá trị vừa tính với mã băm thời điểm T1 Nếu giá trị người ta chấp nhận chuổi bit thời điểm T2 trùng khớp với chuổi bit thời điểm T1, tức chuỗi bit x chưa bị thay đổi Như vấn đề bảo đảm tính tồn vẹn chuỗi bit có chiều dài tùy ý thay việc bảo vệ tồn vẹn chuỗi bit có chiều dài cố định 1.2 Định nghĩa tổng quát hàm băm Hàm băm (hash function) hàm toán học h có tối thiểu thuộc tính: - Nén (Compression): h ánh xạ từ chuỗi đầu vào x có chiều dài sang chuỗi đầu h(x) có chiều dài cố định n bit - Dễ tính tốn (Ease of computation): cho trước hàm h đầu vào x, việc tính tốn h(x) dễ dàng.[1] Hình 1: Mơ hình nén liệu hàm băm Hình 1.1 minh họa mơ hình nén thơng tin hàm băm, theo thơng điệp (Message) đầu vào với chiều dài tùy ý qua nhiều vòng xử lý hàm băm để tạo chuỗi rút gọn, hay chuỗi đại diện (Digest) có kích thước cố định đầu 1.3 Tính chất hàm băm mật mã Một hàm băm mật mã lý tưởng có tính chất sau : 1.3.1 Tính kháng tiền ảnh (Preimage resistance) Với đầu y cho trước, khơng thể tìm liệu đầu vào x cho h(x) = y (hay khơng thể tìm thơng điệp từ giá trị băm cho trước) 1.3.2 Tính kháng tiền ảnh thứ hai (2nd - Preimage resistance) Với liệu đầu vào x cho trước y = h(x), khơng thể tính tốn để tìm giá trị x’x cho h(x’)=h(x) (hay khơng thể tìm thơng điệp khác mà có giá trị băm) 1.3.3 Tính kháng xung đột (Collision resistance) Khơng thể tính tốn để tìm hai liệu đầu vào x x’ phân biệt cho chúng có giá trị băm h(x)=h(x’) (hay khơng thể sửa thông điệp mà không làm thay đổi giá trị băm nó) 1.4 Phân loại hàm băm mật mã Có thể phân loại hàm băm theo khóa sử dụng theo chức Theo khóa sử dụng, hàm băm gồm loại: hàm băm khơng khóa (unkeyed) hàm băm có khóa (keyed), biểu diễn Hình 1.2 Trong hàm băm khơng khóa nhận đầu vào thông điệp (dạng h(x), với hàm băm h thơng điệp x), hàm băm có khóa nhận đầu vào gồm thơng điệp khóa bí mật (theo dạng h(x, K), với hàm băm h thông điệp x K khóa bí mật) Trong hàm băm khơng khóa, mã phát sửa đổi (MDC – Modification Detection Code) sử dụng rộng rãi nhất, bên cạnh số hàm băm khơng khóa khác Tương tự, hàm băm có khóa, mã xác thực thông điệp (MAC Message Authentication Code) sử dụng rộng rãi nhất, bên cạnh số hàm băm có khóa khác.[1] Hình 2Phân loại hàm băm theo khóa sử dụng Theo chức năng, chia hàm băm thành loại chính: b = BB67AE8584CAA73B f = 9B05688C2B3E6C1F c = 3C6EF372FE94F82B g = 1F83D9ABFB41BD6B d = A54FF53A5F1D36F1 h = 5BE0CD19137E2179 Các giá trị lưu trữ định dạng big-endian, yếu tố quan trọng byte từ vị trí byte thấp (cực tả) Những từ thu cách lấy 64 bit phần phân đoạn hình vng gốc tám số ngun tố Bước Thơng báo quy trình khối 1024-bit (128 từ) Tâm thuật toán mơ-đun bao gồm 80 vịng; mơ-đun dán nhãn F Hình 11.8 Logic minh họa Hình 11.9 Mỗi vịng đầu vào giá trị đệm 512-bit, abcdefgh, cập nhật nội dung đệm.Tại đầu vào vòng đầu tiên, đệm có giá trị giá trị băm trung gian, Mỗi vịng sử dụng giá trị 64-bit, xuất phát từ khối 1024-bit xử lý Các giá trị bắt nguồn cách sử dụng lịch trình thơng báo mơ tả sau Mỗi vịng sử dụng số phụ gia, trong số 80 vòng Những từ đại diện cho 64 bit phần phân đoạn cube 80 số nguyên tố đầu tiên.Các số cung cấp "ngẫu nhiên" tập hợp mẫu 64-bit, loại bỏ thường xuyên liệu đầu vào Đầu vòng thứ tám thêm vào đầu vào cho vòng để sản xuất Việc bổ sung thực độc lập cho tám từ đệm với từ tương ứng trong, sử dụng cộng modulo 25 Hình Xử lý SHA3-512 khối đơn 1024 bit Bước Kết đầu Sau tất khối 1024-bit xử lý, đầu từ giai đoạn th thông báo thư thoại 512-bit Chúng ta tóm tắt hành vi SHA-512 sau: H0 = IV Hi =SUM64(Hi=1, abcdefghi) MD = HN IV = giá trị ban đầu đệm abcdefgh, định nghĩa bước Abcdefghi = đầu vịng xử lý cuối thơng điệp thứ khối N = số khối tin nhắn (bao gồm padding chiều dài lĩnh vực) MD = Giá trị cuối cùng[9] VD SHAKE128("The quick brown fox jumps over the lazy dog", 256) 26 f4202e3c5852f9182a0430fd8144f0a74b95e7417ecae17db0f8cfeed0e3e66e SHAKE128("The quick brown fox jumps over the lazy dof", 256) 853f4538be0db9621a6cea659a06c1107b1f83f02b13d18297bd39d7411cf10c Hình So sánh hàm băm Hình 2.7 so sánh hàm băm MD5, SHA-0, SHA-1, họ SHA-2, họ SHA-3 tiêu 27 Chương Các điểm yếu, dạng công vào hàm băm 3.1 Các điểm yếu SHA SHA0: Khi thông điệp muốn mã hóa có giá trị gần nhau, trường hợp họ phát 142 bit số 160 bít va chạm hồn tồn SHA-0 giảm xống 62 80 vòng theo nghiên cứu trước thuật tốn SHA0 khơng sử dụng nhiều thay SHA1 SHA1: Năm 2005, điểm yếu mật mã phát SHA-1 Hàm băm thiết kế để giảm thiểu xác suất liệu đầu vào khác lại cho đầu giá trị băm giống nhau, điều có nghĩa có liệu đầu vào khác cho đầu giá trị băm giống nhau, theo Cryptographic hash collision Khi sử dụng SHA để mã hóa mật khẩu: phương pháp khơng khó khăn cho kẻ cơng chúng có thư viện mật 3.2.Các dạng cơng vào SHA 3.2.1 Tấn cơng va chạm Về mặt tốn học, cơng va chạm tìm thấy hai thơng điệp khác m1 m2, hash (m1) = hash (m2) Trong công va chạm cổ điển, kẻ cơng khơng kiểm sốt nội dung hai thông báo, chúng tùy ý chọn theo thuật tốn Giống mật mã khóa đối xứng dễ bị công vũ lực, hàm băm mật mã vốn dễ bị va chạm sử dụng công sinh nhật Do vấn đề sinh nhật, công nhanh nhiều so với lực lượng tàn bạo Một băm n bit bị hỏng 2n/2 thời gian (đánh giá hàm băm) Có thể thực công hiệu cách sử dụng phân tích mật mã cho hàm băm cụ thể Khi công va chạm phát tìm thấy nhanh công sinh nhật, hàm băm thường bị tố cáo "bị hỏng" Sự cạnh tranh hàm băm NIST phần lớn gây công va chạm công bố chống lại hai hàm băm sử dụng phổ biến, MD5[10] SHA-1 Các công va chạm chống lại MD5 cải thiện nhiều, kể từ năm 2007, vài giây máy tính thơng thường.[11] Va chạm Hash tạo theo cách thường có chiều dài khơng đổi phần lớn khơng có cấu trúc, khơng thể trực tiếp áp dụng để công định dạng tài liệu phổ biến giao thức 28 Tuy nhiên, cách giải cách lạm dụng cấu trúc động có nhiều định dạng Bằng cách này, tạo hai tài liệu tương tự để có giá trị băm Một tài liệu hiển thị cho quan để ký kết, sau chữ ký chép vào tập tin khác Một tài liệu độc hại chứa hai thông điệp khác tài liệu, điều kiện hiển thị nhiều thông tin khác qua thay đổi tinh tế tệp: - Một số định dạng tài liệu PostScript, macro Microsoft Word, có cấu trúc có điều kiện[12] (if-then-else) cho phép kiểm tra xem vị trí tệp tin có giá trị hay vị trí khác để kiểm sốt hiển thị - TIFF chứa hình ảnh cắt, với phần khác hình ảnh hiển thị mà không ảnh hưởng đến giá trị băm.[12] - Các tệp PDF dễ bị công va chạm cách sử dụng giá trị màu (văn thư hiển thị với màu trắng trộn vào văn thư khác hiển thị với màu tối) sau thay đổi để thay đổi nội dung văn có chữ ký [12] Sự mở rộng công va chạm công va chạm tiền tố chọn, cụ thể hàm băm Merkle-Damgård Trong trường hợp này, kẻ cơng chọn hai tài liệu tùy tiện khác nhau, sau nối giá trị tính khác dẫn đến tồn tài liệu có giá trị băm Cuộc cơng mạnh mẽ nhiều so với vụ va chạm cổ điển Toán học cho biết, đưa hai tiền tố khác p1, p2, cơng tìm thấy hai phụ m1 m2 hash (p1 ∥ m2) = hash (p1 ∥ m2) (trong ∥ phép nối) Trong năm 2007, công va chạm tiền tố tìm thấy MD5, đòi hỏi khoảng 250 đánh giá chức MD5 Bài báo chứng tỏ hai chứng X.509 cho tên miền khác nhau, với giá trị băm va chạm Điều có nghĩa quan chứng yêu cầu ký chứng cho tên miền sau chứng sử dụng để giả mạo tên miền khác Một công va chạm thực xuất vào tháng 12 năm 2008 nhóm nhà nghiên cứu bảo mật xuất chứng ký kết X.509 giả mạo sử dụng để giả mạo quan chứng nhận, lợi dụng công va chạm tiền tố chống lại chức băm MD5 Điều có nghĩa kẻ cơng giả mạo trang web bảo mật SSL người đàn ơng giữa, làm chứng thực chứng xây dựng trình duyệt web để bảo vệ thương mại điện tử Chứng giả mạo khơng quan thực tiết lộ có thời gian hết hạn giả mạo tùy ý Mặc dù MD5 yếu năm 2004, quan 29 chứng nhận sẵn sàng ký chứng kiểm chứng MD5 vào tháng 12 năm 2008, chứng ký kết mã Microsoft sử dụng MD5 vào tháng năm 2012 Phần mềm độc hại Flame sử dụng thành công biến thể công va chạm tiền tố lựa chọn để giả mạo việc ký kết thành phần chứng gốc Microsoft sử dụng thuật toán MD5 bị xâm nhập 3.2 2.Tấn công hàm Hash theo kiểu ngày sinh nhật Nếu kích thước hàm Hash nhỏ, tìm văn có giá trị hàm băm, tức có va chạm mà không phụ thuộc vào số lượng biến đổi hàm, cách cơng có tên ngày sinh nhật Ý tưởng phương pháp dựa toán ngày sinh nhật sau Cần phải chọn nhóm người để xác suất hai người có ngày sinh nhật 0.5? Vấn đề chổ xác suất trùng ngày sinh nhật cặp ngẫu nhiên p’=1/365, cịn nhóm gồm n người có n(n 1) / n cặp khác Từ dể dàng nhận đánh giá gần Xác suất để tồn cặp có ngày sinh p p 'n / , từ p=1/2 thu n 1/ p' Chúng ta xem sử dụng tốn ngày sinh nhật để tìm va chạm hàm Hash Giả sử cho H hàm Hash với kích thước đầu m bít Chúng ta có N tin khác M( i) , i N , tính tốn giá trị băm tin này, giá trị tương ứng H (i ) Nếu hàm Hash hàm biến đổi giả ngẫu nhiên dễ dàng tính xác suất cho N giá trị H (i ) khơng tìm hai Đầu tiên xem đánh giá dựa tính tốn gần đúng, cho số lượng va chạm đủ nhỏ Chúng ta chọn số giá trị H (1) Xác suất để khơng trùng với phần cịn lại P (1) (1 2m )N 1 Tiếp tục chọn số giá trị H (2) Xác suất để khơng trùng với phần cịn lại P(2) (1 2 m ) N 2 Chúng ta chọn tương tự giá trị hàm Hash, bước thứ I thu xác suất không trùng P( i) (1 m) N i Tất cần thực N-1 bước kiểm tra không trùng Xác suất để không giá trị chúng không trùng là: P ' (1 2 m ) N 1 (1 2 m ) N (1 2 m ) N i (1 2 m ) (1 2 m ) Với ( N 1) N ( N 1) / Xác suất tìm thấy va chạm p p' (1 2m ) (1 2m ) N 2m 1 30 Với xác suất va chạm ½ ta có biểu thức: N 2m 1 / , Từ xác định gía trị N1/2: m N1 / Chúng ta xem tính cách tính xác xác suất tìm va chạm tập hợp H (i ) ,i N , nhận cách đơn giản sau Chúng ta chọn H (2) Xác suất để H (2) không trùng H (1) p(2) (1 2m ) Tiếp tục chọn H (3) Xác suất để H (3) không trùng với H (2) H (1) , với điều kiện H (1) H (2) không trùng p (3) (1 2 m )(1 2 m ) Một cách tương tự, xác định xác suất p( N ) để H ( N ) không trùng với giá trị H (1) , H (2) ,…, H ( N 1) , với điều kiện giá trị H (1) , H (2) ,…, H ( N 1) khác đôi Chúng ta nhận p ( N ) p( 2) p (3) p( N 1) [1 ( N 1) 2 m ] Như giá trị xác xác suất khơng có va chạm là: N 1 p' p( N ) (1 m ) (1 m ) [1 (i 1) m ] [1 ( N 1) m ] (1 i m ) i Từ xác định xác suất có va chạm p=1-p’ Áp dụng công thức gần x e x Chúng ta thu được: N 1 N 1 N 1 i 1 i 1 i1 p' (1 i m ) exp( i 2 m) exp( i m ) exp[ N ( N 1) 2 m1 ] Xác suất tồn va chạm là: p p ' exp[ N (N 1) 2 m1 ] Từ ta dể dạng nhận điều sau: N N 2m 1 ln , 1 p Hay N 2m 1 ln , 1 p N m 1 ln 1 p Với p=1/2 có N / 1.17 m Chúng ta thấy kết phương án tính xác phương án Và từ công thức thấy, số 23 người chọn ngẫu nhiên có cặp trùng ngày sinh với xác suất ½ Như để thực cơng cần nhớ 1.17 m / m bít cần thực 1.17 2m / tính tốn hàm 31 Hash thực xếp 1.17 2m / số Và từ chúng thấy m không đủ lớn dễ dàng tìm số lượng tin mà có va chạm Với cơng nghệ địi hỏi m 128 bít 3.2.3 Tấn công hàm hash theo kiểu gặp (meet – in – the – middle attack) Phương pháp công gặp áp dụng cho hàm Hash xây dựng sở mã khối, mà tìm hiểu phần trước Phương pháp cho kết tốt phương pháp công theo ngày sinh nhật Trong công theo kiểu ngày sinh nhật tìm va chạm giá trị nhận hàm Hash tìm kiếm va chạm ngẫu nhiên Tấn công đề xuất công hàm Hash xây dựng sở sơ đồ Rabin xem hình 3.1 M1 H0 M2 H1 E Mi H2 E H i-1 Mn Hi E H n-1 Hn E Hình Sơ đồ tạo hàm Hash Rabin Sơ đồ dựa thuật toán mã khối an toàn Sơ đồ dựa ý tưởng tính tốn phức tạp xác định khóa biết đầu vào đẩu khối liệu Khối liệu Mi sử dụng khóa tương ứng với vịng tính tốn hàm Hash Tìm kiếm va chạm liên quan đến tốn tính tốn khóa Ví dụ, cơng thay số khối Mk thành M’k Điều dẫn đến nhận giá trị vịng hàm hash H’k Có thể tồn số khóa mã M’k+1, mà nhận đẳng thức sau: H k' 1 EM' k 1 ( Hk' ) H k 1 Nếu cách thám mã tìm M 'k cho thay khối liệu M k M k 1 thành M 'k M 'k , tức ta tìm tin mới, mà có giá trị hàm Hash với giá trị hàm Hash tin ban đầu Nếu thuật toán mã khối vững phép cơng sở biết tin, phép cơng cho hàm Hash có độ tính phức tạp cao Chúng ta xem cụ thể phép công Giả sử cho tin M, giá trị hàm Hash M H Mục đích phép cơng tìm tin khác M’ mà gía trị hàm Hash M’ H Chúng ta chia tin M (M1, M , , M k , M k 1, , M n ) thành hai phần M (1) ( M1 , M , , Mk ) M ( ) ( M k1 , , M n ) Phần đẩu tiên tin biến dạng nhiều lần biến dạng giá trị hàm Hash tính H (1) Giả sử nhận N1 gía trị H (1) từ N1 phương án phần thứ (xem hình …) Phần thứ hai tin M (2 ) biến dạng nhiều lần, từ biến dạng hàm Hash tính theo thuật tốn 32 khác, tính theo thứ tự ngược sử dụng hàm giải mã D, tương ứng vơi hàm mã hóa E (xem hình…) Giả sử thu N2 giá trị H ( 2) từ N2 phương án phần hai Khi số lượng N1 N2 đủ lớn tìm cặp giá trị số H (1) H ( 2) vớ xác suất lớn Giả sử tương ứng với hai tin M ' (1) M '( 2) Rõ ràng tin M ' (M '(1) , M '( 2) ) M mà H(M)=H(M’) Vậy tìm va chạm Giờ xác định xem cần nhớ độ khó phương pháp công Chúng ta giả sử N1 N2 tồn giá trị nhỏ 2m , m kích thước giá trị băm Như thế, với giá trị xác suất gần đủ xác tiếp nhận, cho giá trị H (1) từ tập H (1) không trùng với giá trị tập H ( 2) p1 (1 2 m ) N2 Xác suất để không giá trị tập H (1) trùng với giá trị tập H( 2) p ' (1 2m ) N2 N1 Như xác suất để tìm cặp trùng tập H (1) tập H( 2) p p' (1 2 m ) N 1N (1 N1N2 2 m ) N1 N 2 m Bây với điều kiện N1 N2 2m / đốiv với trường hợp N1 N2 N dễ dàng xác định giá trị N1/2, với xác suất va chạm ½: N 1/ 2m 1 Để nhận đánh giá xác N1 N2 m / nhận gía trị p=0.63 Như cần nhớ cần thiết cho phép công m 2m bít, độ khó cơng N1 N m 33 Chương Demo Hình Chương trình SHA-1 Hình 4.1 Thể đoạn chương trình sử dụng thuật tốn SHA-1 java để cài đặt thử nghiệm 34 Hình Demo SHA-1 Hình SHA-1 online 35 Kết luận Bài báo cáo trình bày khái niệm tổng quát hàm băm mật mã, hàm băm SHA với tính chất, phân loại ứng dụng chúng từ ứng dụng vào phân tích giải thuật băm SHA để thấy hoạt động thay đổi phiên họ hàm băm SHA Với tính chất hàm băm chiều SHA sử dụng vào hầu hết ứng dụng thương mại điện tử, xác thực mật khẩu, thông điệp chữ ký số giúp làm giảm thời gian mã hóa/ ký số, đưa kết cho mã hóa, đảm bảo tính tồn vẹn thông tin giảm thiểu thời gian truyền tin qua mạng Bài báo cáo sâu tìm hiểu vào số điểm yếu, dạng công vào SHA để tìm giải pháp nghiên cứu mới, hướng Mặc dù SHA-1 tuyên bố không an toàn nhà nghiên cứu từ thập kỷ trước Microsoft tháng 10/2013 công bố sau năm 2016 không chấp nhận chứng thư số SHA-1, nhiên SHA1 sử dụng rộng rãi Internet Để đảm bảo an toàn Internet, đến lúc loại bỏ SHA-1 sử dụng hàm băm mật mã an toàn SHA-256 SHA-3 36 Tài liệu tham khảo H X Dậu, “An toàn tồn bảo mật hệ thố ng thơng tin,” 2017 Wikipedia, “SHA – Wikipedia tiếng Việt.” [Online] Available: https://vi.wikipedia.org/wiki/SHA [Accessed: 13-Mar-2018] [3] B Schneier, “Cryptanalysis of SHA-1 - Schneier on Security.” [Online] Available: https://www.schneier.com/blog/archives/2005/02/cryptanalysis_o.html [Accessed: 13-Mar-2018] [4] S Manuel and T Peyrin, “Collisions on SHA-0 in one hour,” Lect Notes Comput Sci (including Subser Lect Notes Artif Intell Lect Notes Bioinformatics), vol 5086 LNCS, pp 16–35, 2008 [5] X Wang, Y L Yin, and H Yu, “Finding Collisions in the Full SHA-1,” no 90304009, pp 17–36, 2005 [6] W Penard and T van Werkhoven, “On the Secure Hash Algorithm family,” p 17, 2008 [7] N H Function, “Description of SHA-256, SHA-384 AND SHA-512,” Www.Iwar.Org.Uk/Comsec/Resources/Cipher/Sha256-384-512.Pdf, pp 1–50, 2004 [8] J Luis, G Pardo, and C Gómez-rodríguez, “The SHA-3 Family of Cryptographic Hash Functions and Extendable-Output Functions,” 2015 [9] W Stallings, Cryptography and network security principles and practice, 5th ed., vol 139, no 2011 [10] Xiaoyun Wang and Dengguo Feng and Xuejia Lai and Hongbo Yu, “Cryptology ePrint Archive: Report 2004/199,” 2004 [Online] Available: https://eprint.iacr.org/2004/199 [Accessed: 13-Mar-2018] [11] M Stevens, “On collisions for MD5,” Http://Www.Win.Tue.Nl/, no June, p 89, 2007 [12] M Gebhardt, G Illies, and W Schindler, “A Note on the Practical Value of Single Hash Collisions for Special File Formats,” October, no October, 2005 [1] [2] 37 More from: An tồn ứng dụng web c… AT2021 Học viện Cơng… 291 documents Go to course 146 Toan Cao Cap A1 Học viện CN Bưu chính… An tồn ứng dụng… 100% (8) tham khảo gdqp học 12 phần - có sẵn đáp… An toàn ứng dụng… 100% (5) Tactics toeic audio 17 46 scripts An toàn ứng dụng… 100% (5) TA1-K61Supplementary… An toàn ứng dụng… 100% (5) Recommended for you 11 15 12 118 Dump Splunk Sale Rep - ưedsfg An toàn ứng dụn… 88% (24) Tipping Point IPS Dump - sdfg An toàn ứng dụng… 100% (1) Email Security for Financial Institutions An toàn ứng dụng… 100% (1) Lower Secondary Answers Log on to IT Physics 100% (2)