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

KHẢ NĂNG TẤNCÔNG ĐẠI DIỆN THÔNG ĐIỆP - Tiểu luận môn an ninh hệ thống thông tin

18 786 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 18
Dung lượng 237 KB

Nội dung

Mục lục1.Một số khái niệm:31.1 Đại diện thông điệp:31.2 Các phương pháp tấn công đại diện thông điệp:32. Các bài toán và giải pháp:43. Hàm băm (hash function)43.1.Đặc trưng:43.2. Phân loại:53.3. Hàm băm và tính toàn vẹn của dữ liệu63.4. Hàm băm mật mã93.4.1 Giới thiệu93.4.2 Các khái niệm và định nghĩa :103.4.3Cấu trúc cơ bản của thuật toán băm:113.4.4 Giải thuật MD4123.4.5 Giải thuật MD5123.4.6 Giải thuật SHA – 1:143.5.Mật mã học và mật mã khóa công khai163.5.1 Một số thuật ngữ và khái niệm164. Chương trình Demo:17 1.Một số khái niệm: 1.1 Đại diện thông điệp:Là đại diện của một thông điệp, được tạo ra nhờ hàm băm. Thông điệp đầu vào có dung lương, kích thước tùy tùy ý, các đại điện thông điệp thu được có kích thước cố định: 128 bit với MD, 160 bit với SHA1.Với mỗi thông điệp đầu vào thì chỉ tính được một đại diện duy nhất, khó suy ngược lại nội dung thông điệp từ đại diện của nó. Hai thông điệp khác nhau sẽ có hai đại diện thông điệp khác nhau.1.2 Các phương pháp tấn công đại diện thông điệp:Cho một đại diện thông điệp, tìm được một thông điệp(chưa biết) khớp với đại diện đã cho.Tìm các “ xung đột băm” để hai thông điệp khác nhau có cùng đại diện thông điệp.Nếu có thể thực hiện một trong hai việc trên, một người có thể tấn công bằng cách dùng các cách trên để thay một thông điệp không được xác nhận (unauthorized message) vào chỗ của một thông điệp được xác nhận hoặc có thể tìm hiểu được điều gì đó hữu ích về một thông điệp nếu biết đại diện của nó.Tìm các biện pháp cần thiết để chống đối lại các hành động phá hoại như sau:●Để lộ bí mật: giữ bí mật nội dung mẩu tin, chỉ cho người có quyền biết.●Thám mã đường truyền: không cho theo dõi hoặc làm trì hoãn việc truyền tin.●Giả mạo: lấy danh nghĩa người khác để gửi tin. ●Sửa đổi nội dung: thay đổi, cắt xén, thêm bớt thông tin. ●Thay đổi trình tự các gói tin nhỏ của mẩu tin truyền. ●Sửa đổi thời gian: làm trì hoãn mẩu tin.

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ - CHUYÊN ĐỀ: KHẢ NĂNG “TẤNCÔNG ĐẠI DIỆN THÔNG ĐIỆP” GV: PGS.TS Trịnh Nhật Tiến Học viên: Kiều Minh Nguyệt Khóa: K19-HTTT Hà Nội - 2013 1.Một số khái niệm: .4 1.1 Đại diện thông điệp: 1.2 Các phương pháp công đại diện thông điệp: .4 Các toán giải pháp: Hàm băm (hash function) .5 3.1.Đặc trưng: 3.2 Phân loại: 3.3 Hàm băm tính tồn vẹn liệu 3.4 Hàm băm mật mã 10 3.4.1 Giới thiệu 10 3.4.2 Các khái niệm định nghĩa : 11 3.4.3Cấu trúc thuật toán băm: 12 3.4.4 Giải thuật MD4 13 3.4.5 Giải thuật MD5 13 3.4.6 Giải thuật SHA – 1: 16 3.5.Mật mã học mật mã khóa cơng khai 17 3.5.1 Một số thuật ngữ khái niệm 17 Chương trình Demo: 18 Một số khái niệm: 1.1 Đại diện thông điệp: - Là đại diện thông điệp, tạo nhờ hàm băm Thông điệp đầu vào có dung lương, kích thước tùy tùy ý, đại điện thơng điệp thu có kích thước cố định: 128 bit với MD, 160 bit với SHA-1 - Với thơng điệp đầu vào tính đại diện nhất, khó suy ngược lại nội dung thơng điệp từ đại diện Hai thơng điệp khác có hai đại diện thông điệp khác 1.2 Các phương pháp công đại diện thông điệp: - Cho đại diện thông điệp, tìm thơng điệp(chưa biết) khớp với đại diện cho - Tìm “ xung đột băm” để hai thơng điệp khác có đại diện thơng điệp Nếu thực hai việc trên, người cơng cách dùng cách để thay thông điệp không xác nhận (unauthorized message) vào chỗ thông điệp xác nhận tìm hiểu điều hữu ích thơng điệp biết đại diện Tìm biện pháp cần thiết để chống đối lại hành động phá hoại sau: ●Để lộ bí mật: giữ bí mật nội dung mẩu tin, cho người có quyền biết ●Thám mã đường truyền: khơng cho theo dõi làm trì hoãn việc truyền tin ●Giả mạo: lấy danh nghĩa người khác để gửi tin ●Sửa đổi nội dung: thay đổi, cắt xén, thêm bớt thơng tin ●Thay đổi trình tự gói tin nhỏ mẩu tin truyền ●Sửa đổi thời gian: làm trì hỗn mẩu tin ●Từ chối gốc: không cho phép người gửi từ chối trách nhiệm tác giả mẩu tin ●Từ chối đích: khơng cho phép người nhận phủ định tồn đến đích mẩu tin gửi Các tốn giải pháp: ●Bảo vệ tính tồn vẹn mẩu tin: bảo vệ mẩu tin không bị thay đổi có biện pháp phát mẩu tin bị thay đổi đường truyền ●Kiểm chứng danh tính, nguồn gốc: xem xét mẩu tin có người xưng tên gửi không hay kẻ mạo danh khác gửi ●Không chối từ gốc: trường hợp cần thiết, thân mẩu tin chứa thông tin chứng tỏ có người xưng danh gửi, khơng khác làm điều => Người gửi khơng thể từ chối hành động gửi, thời gian gửi nội dung mẩu tin Để giải toán trên, ta dùng hàm băm để tạo đại diện thông điệp Hàm băm (hash function) ●Hàm băm thuật tốn khơng sử dụng khóa để mã hóa, có nhiệm vụ băm thơng điệp đưa vào theo thuật tốn h chiều đó, đưa băm – văn đại diện – có kích thước cố định Do người nhận nội dung hay độ dài ban đầu thông điệp băm hàm băm ●Giá trị hàm băm nhất, thông điệp từ giá trị băm khó suy ngược lại nội dung 3.1.Đặc trưng: ●Hàm băm h hàm chiều (one-way hash) với đặc tính: Với thơng điệp đầu vào x thu băm z = h(x) 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 ●Nội dung thông điệp gốc bị suy từ giá trị hàm băm => Với thông điệp x dễ dàng tính z = h(x), lại khơng thể (thực chất khó) suy ngược lại x biết giá trị hàm băm h Vai trò hàm băm mật mã đại: - Được dùng để xác thực tính nguyên vẹn liệu - Được dùng q trình tạo chữ kí số giao dịch điện tử Các hàm băm lấy thông báo đầu vào tạo đầu xem là: o Mã băm (hash code), o Kết băm (hash result), o Hoặc giá trị băm (hash value) - Vai trò hàm băm mật mã giá trị băm coi ảnh đại diện thu gọn, gọi dấu vết (imprint), vân tay số (digital fingerprint), tóm lược thơng báo (message digest) xâu đầu vào, dùng định danh với xâu - Các hàm băm thường dùng cho toàn vẹn liệu kết hợp với lược đồ chữ kí số - Một lớp hàm băm riêng gọi mã xác thực thông báo (MAC) cho phép xác thực thông báo kĩ thuật mã đối xứng 3.2 Phân loại: 3.3 Hàm băm tính tồn vẹn liệu Việc sử dụng hệ mật mã sơ đồ chữ ký số, thường mã hóa ký số bit thông tin, tỷ lệ với thời gian để mã hóa dung lượng thơng tin ●Thêm vào xảy trường hợp: Với nhiều thông điệp đầu vào khác nhau, sử dụng hệ mật mã, sơ đồ ký số giống (có thể khác nhau) cho kết mã, ký số giống (ánh xạ N-1: nhiều – một) Điều dẫn đến số rắc rối sau cho việc xác thực thông tin Với sơ đồ ký số, cho phép ký thông điệp (thơng tin) có kích thước nhỏ sau ký, ký số có kích thước gấp đơi thơng điệp gốc Ví dụ: với sơ đồ chữ ký chuẩn DSS ký thơng điệp có kích thước 160 bit, ký số có kích thước 320 bit Trong thực tế, ta cần phải ký thơng điệp có kích thước lớn nhiều, chẳng hạn vài chục MB Hơn nữa, liệu truyền qua mạng không thông điệp gốc, mà cịn bao gồm ký số (có dung lượng gấp đôi dung lượng thông điệp gốc), để đáp ứng việc xác thực sau thông tin đến người nhận Một cách đơn giản để giải tốn (với thơng điệp có kích thước vài chục MB) chia thông điệp thành nhiều đoạn 160 bit, sau ký lên đoạn độc lập Nhưng biện pháp có số vấn đề việc tạo chữ ký số: ●Thứ nhất: với thơng điệp có kích thước a, sau ký kích thước chữ ký 2a (trong trường hợp sử dụng DSS) ●Thứ hai: với chữ ký “an tồn” tốc độ chậm chúng dùng nhiều phép tính số học phức tạp số mũ modulo ●Thứ ba: vấn đề nghiêm trọng kết sau ký, nội dung thông điệp bị xáo trộn đoạn với nhau, số đoạn chúng bị mát, người nhận cần phải xác minh lại thơng điệp Ta cần phải bảo vệ tính tồn vẹn thông điệp Giải pháp cho vấn đề vướng mắc đến chữ ký số dùng “hàm băm” để trợ giúp cho việc ký số - Các thuật toán băm với đầu vào thơng điệp có dung lượng, kích thước tùy ý (vài KB đến vài chục MB …) – thơng điệp dạng văn bản, hình ảnh, âm thanh, file ứng dụng v.v… - với thuật toán băm: MD2, MD4, MD5, SHA cho băm đầu có kích thước cố định: 128 bit với dịng MD, 160 bit với SHA1 - Như vậy, thơng điệp kích thước tùy ý sau băm thu gọn thành băm – gọi “văn đại diện” – có kích thước cố định (128 bit 160 bit) - Với thông điệp đầu vào tính văn đại diện – giá trị băm tương ứng – - Hai thơng điệp khác chắn có hai văn đại diện khác Khi có văn đại diện cho thông điệp, áp dụng sơ đồ chữ ký số ký văn đại diện Giả sử A muốn gửi cho B thông điệp x A thực bước sau: A băm thông điệp x, thu đại diện z = h(x) – có kích thước cố định 128 bit 160 bit A ký số đại diện z, khóa bí mật mình, thu ký số y = sig(z) A gửi (x, y) cho B Khi B nhận (x, y) B thực bước sau: B kiểm tra chữ ký số để xác minh xem thơng điệp mà nhận có phải gửi từ A hay không cách giải mã chữ ký số y, khóa cơng khai A, z B dùng thuật toán băm – tương ứng với thuật toán băm mà A dùng – để băm thông điệp x kèm, nhận h(x) B so sánh giá trị băm z h(x), giống chắn thơng điệp x – mà A muốn gửi cho B – nguyên vẹn, bên cạnh xác thực người gửi thơng tin 3.4 Hàm băm mật mã 3.4.1 Giới thiệu Trong ngành mật mã học, hàm băm mật mã học (cryptographic hash function) hàm băm với số tính chất bảo mật định để phù hợp việc sử dụng nhiều ứng dụng bảo mật thông tin đa dạng, chẳng hạn chứng thực (authentication) kiểm tra tính ngun vẹn thơng điệp (message integrity) Một hàm băm nhận đầu vào xâu ký tự dài (hay thơng điệp) có độ dài tùy ý tạo kết xâu ký tự có độ dài cố định, đơi gọi tóm tắt thơng điệp (message digest) chữ ký số (digital fingerprint)[11] Các hàm băm nhận chuỗi bit có chiều dài tùy ý ( hữu hạn) làm liệu đầu vào tạo chuỗi bit có chiều dài cố định n bit, gọi mã băm Sự thay đổi nhỏ chuỗi đầu vào làm thay đổi giá trị băm Ký hiệu D miền xác định, R miền giá trị hàm băm h(x) h(x) : D  R Ta có số lượng phần tử tập D lớn giá trị tập R  hàm băm h(x) đơn ánh  Luôn tồn cặp đầu vào khác có giá trị băm 10 Giả sử hạn chế hàm h(x) miền xác định bao gồm chuỗi bit có chiều dài t ( t>n) Nếu h(x) ngẫu nhiên với tất giá trị đầu có xác suất có khoảng 2(t-n) đầu ánh xạ vào giá trị đầu Xác suất để hai giá trị( có chiều dài nhau) đầu vào ánh xạ vào giá trị 2-n(không phụ thuộc vào t)  Nếu n lơn 2-n nhỏ Như biết trước giá trị băm để tìm đầu vào có giá trị băm với giá trị băm biết khó chọn h(x) thích hợp n đủ lớn Trong lĩnh vực mã hóa thơng tin, mã băm xem đặc trưng thu gọn chuỗi bit tùy ý dùng để nhận chuỗi bit Hàm băm công cụ để tạo chữ ký số đảm bảo an toàn liệu 3.4.2 Các khái niệm định nghĩa : Hàm băm giải thụât nhằm sinh giá trị băm tương ứng với khối liệu Giá trị băm đóng vai trị gần khóa để phân biệt khối liệu [11] Hinh 1.3 : Ảnh minh họa làm việc hàm băm Phân loại : - Hàm băm chiều : (one – way hash functions) : Là hàm băm mang chất : với mã băm biết trước, khơng thể tính tốn để tìm chuỗi bit ban đầu vào có mã băm với mã băm cho [8] - Hàm băm kháng xung đột : (collision resistant hash funtions) hàm băm mang tính chất : khơng thể tính tốn để tìm hai chuỗi bit có giá trị băm Một số tính chất hàm băm : (i) Có thể áp dụng với thơng báo đầu vào có độ dài 11 (ii) Tạo giá trị băm y = h(x) có độ dài cố định (iii) h(x) dễ dàng tính với x (iv) Tính chiều : Với đầu y cho trước tìm x’ cho h(x’) giá trị y cho trước (v) Tính chống xung đột yếu : Với liệu đầu vào x1 cho trước tìm giá trị x2 (x2 khác x1) mà h(x2) = h(x1) (vi) Tính chống xung đột mạnh : Khơng thể tính tốn đẻ tìm hai liệu đầu vào x1 x2 phân biệt cho chúng có giá trị băm (h(x1) = h(x2)) Như dựa theo tính chất ta thấy hàm băm chiều thỏa mãn tính chất (iv) tính chất (v), cịn hàm băm kháng xung đột thỏa mãn tính chất (iv) (vi) 3.4.3 Cấu trúc thuật toán băm: Khối liệu đầu vào x có chiều dài hữu hạn tùy ý phân thành khối liên tiếp có chiều dài cố định r, giả sử đánh số x1,x2, ,xm Tuy nhiên chiều dài khối liệu ban đầu x tùy ý, cần phải thêm vào liệu ban đầu số bit phụ cho tổng số bit khối liệu x’ sau thêm vào bội số r Ngoài khối bit thêm vào thường chứa khối bit (có chiều dài cố định trước, thường 64 bit) xác định chiều dài thực khối bt liệu chưa thêm bit phụ [1] Tiếp theo, cắt khối r bit từ khối mở rộng x’ Mỗi khối r bit xi bước qua hàm nén f hàm băm h(x) Tại bước thứ i, hàm nén f nhận liệu đàu vào xi kết trung gian bước trước (bước i – 1) để tạo đầu kết trung gian bước thứ i, ký hiệu Hi Kết trung gian bước Hi chuỗi bit có độ dài cố định n > Kết ký hiệu IV giá trị ban đầu (cho H0 ), trình lặp xử lý dãy khối x1,x2, ,xm mô tả : H0 = IV Hi = f(Hi-1,xi) (i = 1,2, ,m) h(x) = g(Hm) Các biến Hi biến dây chuyền Hàm g(x) lấy biến dây chuyền cuối để tạo mã băm cuối cần tìm Trong hầu hết thuật toán g(x) thường chọn ánh xạ đồng tức g(Hm) = Hm Khâu then chốt xây dựng hàm băm thiết kế hàm nén f Giá trị hàm băm mật mã thông điệp gọi Message Digest (MD) Một số hàm băm mật mã thông dụng : MD4,MD5 SHA-1 12 3.4.4 Giải thuật MD4 MD4 (Message-Digest thuật toán 4) thơng điệp tiêu hóa thuật tốn (thứ tư loạt a) thiết kế Giáo sư Ronald Rivest MIT vào năm 1990 Nó thực hàm băm mật mã để sử dụng kiểm tra tính tồn vẹn thơng điệp Chiều dài giá trị băm 128 bit Thuật toán MD4 nhận liệu đầu vào chuỗi bit x có chiều dài b >= tùy ý sinh mã băm x có chiều dài cố định 128 bit Trước tiên chuỗi bit x định dạng lại cách thêm r > bit phụ thuộc vào x cho chiều dài chuỗi bit b’ = b + r bội số 512 Sau chia chuỗi bit thành m khối, khối có độ dài 512 bit Mỗi khối bit lại chia thành 16 từ, từ có 32 bit Thuật toán MD4 xử lý dãy m khối m lượt tính tốn Dữ liệu đầu vào lượt tính tốn thứ k (1

Ngày đăng: 21/08/2014, 15:38

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w