Giáo trình lý thuyết mật mã và an toàn dữ liệu

60 487 0
Giáo trình lý thuyết mật mã và an toàn dữ liệu

Đ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

TRƢỜNG ĐẠI HỌC QUẢNG BÌNH KHOA KỸ THUẬT – CÔNG NGHỆ THÔNG TIN GIÁO TRÌNH (Lƣu hành nội bộ) “LÝ THUYẾT MẬT AN TOÀN DỮ LIỆU” (Dành cho Đại học Công nghệ thong tin) Tác giả: ThS Nguyễn Nƣơng Quỳnh Năm 2015 MỤC LỤC LỜI NÓI ĐẦU Error! Bookmark not defined Chƣơng TỔNG QUAN VỀ AN TOÀN BẢO MẬT THÔNG TIN I Vấn đề an toàn bảo mật thông tin mạng máy tính II Các chiến lƣợt an toàn hệ thống III Các mức bảo vệ mạng III Mật học Chƣơng CƠ SỞ TOÁN HỌC CỦA THUYẾT MẬT 11 I Số nguyên 11 II Khái niệm đồng dƣ Modulo 12 III Định đồng dƣ thức 12 IV Phần tử nghịch đảo 12 V Thuật toán Euclide 13 VI Định phần dƣ Trung hoa 14 VII Căn nguyên thủy logarit rời rạc 15 Chƣơng CÁC PHƢƠNG PHÁP HÓA CỔ ĐIỂN 17 I Giới thiệu hóa 17 II Các hệ mật cổ điển 18 Chƣơng CHUẨN DỮ LIỆU 26 I Giới thiệu chung DES 26 II Mô tả DES 26 III Giải DES 34 IV DES thực tế 35 VI Sự an toàn DES 37 Chƣơng MẬT KHÓA CÔNG KHAI 40 I Giới thiệu hệ mật khóa công khai 40 III Hê mật khóa công khai RSA 41 IV Hệ mật Elgamal 46 V Lƣợc đồ trao đổi khóa Diffice – Hellman 47 VI Xác thực 48 Chƣơng CHỮ KÝ SỐ 51 I Khái niệm chữ ký số 51 II Một vài lƣợc đồ chữ ký số 53 III Chuẩn ký số 56 TÀI LIỆU THAM KHẢO 60 Chương TỔNG QUAN VỀ AN TOÀN BẢO MẬT THÔNG TIN I Vấn đề an toàn bảo mật thông tin mạng máy tính Đặc điểm bật mạng máy tính có nhiều ngƣời sử dụng, nhiều ngƣời khai thác kho tái nguyên, đặc biệt tài nguyên thông tin Đặc điểm thứ hai điểm có ngƣời sử dụng thƣờng phân tán mặt địa Hai đặc điểm thể lợi ích to lớn mạng máy tính, đồng thời điều kiện thuận lợi cho ngƣời muốn phá hoại an toàn thông tin mạng máy tính Khi nhu cầu trao đổi thông tin liệu ngày lớn đa dạng, tiến điện tử - viễn thông công nghệ thông tin không ngừng đƣợc phát triển ứng dụng để nâng cao chất lƣợng lƣu lƣợng truyền tin biện pháp bảo vệ thông tin liệu đƣợc đổi Bảo vệ an toàn thông tin liệu chủ đề rộng, có liên quan đến nhiều lĩnh vực thực tế có nhiều phƣơng pháp đƣợc thực để bảo vệ an toàn thông tin liệu Các phƣơng pháp bảo vệ an toàn thông tin liệu đƣợc quy tụ vào ba nhóm sau: - Bảo vệ an toàn thông tin biện pháp hành - Bảo vệ an toàn thông tin biện pháp kỹ thuật (phần cứng) - Bảo vệ an toàn thông tin biện pháp thuật toán (phần mềm) Ba nhóm đƣợc ứng dụng riêng rẽ phối kết hợp Môi trƣờng khó bảo vệ an toàn thông tin môi trƣờng đối phƣơng dễ xâm nhập môi trƣờng mạng truyền tin Biện pháp hiệu kinh tế mạng truyền tin mạng máy tính biện pháp thuật toán An toàn thông tin bao gồm nội dung sau: - Tính bí mật: tính kín đáo riêng tƣ thông tin - Tính xác thực thông tin, bao gồm xác thực đối tác (bài toán nhận danh), xác thực thông tin trao đổi - Tính trách nhiệm: đảm bảo ngƣời gửi thông tin thoái thác trách nhiệm thông tin gửi Để đảm bảo an toàn thông tin liệu đƣờng truyền tin mạng máy tính có hiệu điều trƣớc tiên phải lƣờng trƣớc dự đoán trƣớc khả không an toàn, khả xâm phạm, cố rủi ro xảy thông tin liệu đƣợc lƣu trữ trao đổi đƣờng truyền tin nhƣ mạng Xác định xác nguy nói định đƣợc tốt giải pháp để giảm thiểu thiệt hại Có hai loại hành vi xâm phạm thông tin liệu là: vi phạm chủ động vi phạm thụ động Vi phạm thụ động nhằm mục đích cuối đánh cắp đƣợc thông tin Việc làm có đƣợc nội dung cụ thể nhƣng dò đƣợc ngƣời gửi, ngƣời nhận nhờ thông tin điều khiển giao thức chứa phần đầu gói tin Kẻ xâm nhập kiểm tra đƣợc số lƣợng, độ dài tần số trao đổi Vì vi pham thụ động không làm sai lệch hủy hoại nội dung thông tin liệu đƣợc trao đổi Vi phạm thụ động thƣờng khó phát nhƣng có biện pháp ngăn chặn hiệu Vi phạm chủ động dạng vi phạm làm thay đổi nội dung, xóa bỏ, làm trễ, xắp xếp lại thứ tự làm lặp lại gói tin thời điểm sau thời gian Vi phạm chủ động thêm vào số thông tin ngoại lai để làm sai lệch nội dung thông tin trao đổi Vi phạm chủ động dễ phát nhƣng để ngăn chặn hiệu khó khăn nhiều Một thực tế biện pháp bảo vệ an toàn thông tin liệu an toàn tuyệt đối Một hệ thống đƣợc bảo vệ chắn đến đâu đảm bảo an toàn tuyệt đối II Các chiến lượt an toàn hệ thống a Giới hạn quyền hạn tối thiểu Đây chiến lƣợc nhất, theo nguyên tắc đối tƣợng có quyền hạn định tài nguyên mạng, thâm nhập vào mạng đối tƣợng đƣợc sử dụng số tài nguyên định b Bảo vệ theo chiều sâu Không nên dựa vào chế độ an toàn chúng mạnh, nên tạo nhiều chế an toàn để tƣơng hỗ lẫn c Nút thắt Tạo “cửa khẩu” hẹp, cho phép thông tin vào hệ thống đƣờng “cửa khẩu” => phải tổ chức cấu kiểm soát điều khiển thông tin qua cửa d Điểm nối yếu Kẻ phá hoại thƣờng tìm chỗ yếu hệ thống để công, ta cần phải gia cố yếu điểm hệ thống Thông thƣờng quan tâm đến kẻ công mạng kẻ tiếp cận hệ thống, an toàn vật đƣợc coi yếu điểm hệ thống e Tính toàn cục Các hệ thống an toàn đòi hỏi phải có tính toàn cục hệ thống cục Nếu có kẻ bẻ gãy chế an toàn chúng thành công cách công hệ thống tự sau công hệ thống từ nội bên f Tính đa dạng bảo vệ Cần phải sử dụng nhiều biện pháp bảo vệ khác cho hệ thống khác nhau, kẻ công vào đƣợc hệ thống chúng dễ dàng công vào hệ thống khác III Các mức bảo vệ mạng Vì có giải pháp an toàn tuyệt đối nên ngƣời ta thƣờng phải sử dụng đồng thời nhiều mức bảo vệ khác tạo thành nhiều hàng rào chắn hoạt động xâm phạm Việc bảo vệ thông tin mạng chủ yếu bảo vệ thông tin cất giữ máy tính, đặc biệt server mạng Bởi số biện pháp nhằm chống thất thoát thông tin đƣờng truyền, cố gắng tập trung vào việc xây dựng mức rào chắn từ vào cho hệ thống kết nối vào mạng Thông thƣờng bao gồm mức bảo vệ sau: a Quyền truy nhập Lớp bảo vệ quyền truy nhập nhằm kiểm soát tài nguyên mạng quyền hạn tài nguyên Dĩ nhiên kiểm soát đƣợc cấu trúc liệu chi tiết tốt Hiện việc kiểm soát thƣờng mức tệp b Đăng ký tên /mật Thực kiểm soát quyền truy nhập, nhƣng truy nhập mức thông tin mức hệ thống Đây phƣơng pháp bảo vệ phổ biến đơn giản phí tổn hiệu Mỗi ngƣời sử dụng muốn đƣợc tham gia vào mạng để sử dụng tài nguyên phải có đăng ký tên mật trƣớc Ngƣời quản trị mạng có trách nhiệm quản lý, kiểm soát hoạt động mạng xác định quyền truy nhập ngƣời sử dụng khác theo thời gian không gian (nghĩa ngƣời sử dụng đƣợc truy nhập khoảng thời gian vị trí định đó) Về thuyết ngƣời giữ kín đƣợc mật tên đăng ký không xảy truy nhập trái phép Song điều khó đảm bảo thực tế nhiều nguyên nhân đời thƣờng làm giảm hiệu lớp bảo vệ Có thể khắc phục cách ngƣời quản mạng chịu trách nhiệm đặt mật thay đổi mật theo thời gian c hoá liệu Để bảo mật thông tin đƣờng truyền ngƣời ta sử dụng phƣơng pháp hoá Dữ liệu bị biến đổi từ dạng nhận thức đƣợc sang dạng không nhận thức đƣợc theo thuật toán đƣợc biến đổi ngƣợc lại trạm nhận (giải mã) Đây lớp bảo vệ thông tin quan trọng d Bảo vệ vật Ngăn cản truy nhập vật vào hệ thống Thƣờng dùng biện pháp truyền thống nhƣ ngăn cấm tuyệt đối ngƣời không phận vào phòng đặt máy mạng, dùng ổ khoá máy tính máy trạm ổ mềm e Tƣờng lửa Ngăn chặn thâm nhập trái phép lọc bỏ gói tin không muốn gửi nhận để bảo vệ máy tính mạng nội (intranet) f Quản trị mạng Trong thời đại phát triển công nghệ thông tin, mạng máy tính định toàn hoạt động quan, hay công ty xí nghiệp Vì việc bảo đảm cho hệ thống mạng máy tính hoạt động cách an toàn, không xảy cố công việc cấp thiết hàng đầu Công tác quản trị mạng máy tính phải đƣợc thực cách khoa học đảm bảo yêu cầu sau : - Toàn hệ thống hoạt động bình thƣờng làm việc - Có hệ thống dự phòng có cố phần cứng phần mềm xảy - Backup liệu quan trọng theo định kỳ - Bảo dƣỡng mạng theo định kỳ - Bảo mật liệu, phân quyền truy cập, tổ chức nhóm làm việc mạng III Mật học Mật học bao gồm hai lĩnh vực: hóa (cryptography) thám (cryptanalysis -codebreaking) đó: - hóa: nghiên cứu thuật toán phƣơng thức để đảm bảo tính bí mật xác thực thông tin (thƣờng dƣới dạng văn lƣu trữ máy tính) Các sản phẩm lĩnh vực hệ mật mã, hàm băm, hệ chữ ký điện tử, chế phân phối, quản khóa giao thức mật - Thám mã: Nghiên cứu phƣơng pháp pháp tạo giả Sản phẩm lĩnh vực phƣơng pháp thám mã, phƣơng pháp giả mạo chữ ký, phƣơng pháp công hàm băm giao thức mật Trong giới hạn môn học chủ yếu tập trung vào tìm hiểu vấn đề hóa với hệ mật, hàm băm, chữ ký điện tử, giao thức mật Mật ngành khoa học chuyên nghiên cứu phƣơng pháp truyền tin bí mật Trong tiếng Hy Lạp, “Crypto” (krypte) có nghĩa che dấu hay đảo lộn, “Graphy” (grafik) có nghĩa từ Để bảo vệ thông tin đƣờng truyền ngƣời ta thƣờng biến đổi từ dạng nhận thức đƣợc sang dạng không nhận thức đƣợc trƣớc truyền mạng, trình đƣợc gọi hoá thông tin (encryption), trạm nhận phải thực trình ngƣợc lại, tức biến đổi thông tin từ dạng không nhận thức đƣợc (dữ liệu đƣợc hoá) dạng nhận thức đƣợc (dạng gốc), trình đƣợc gọi giải Đây lớp bảo vệ thông tin quan trọng đƣợc sử dụng rộng rãi môi trƣờng mạng Để bảo vệ thông tin mật ngƣời ta thƣờng tiếp cận theo hai hƣớng: - Theo đƣờng truyền (Link_Oriented_Security) - Từ nút đến nút (End_to_End) Theo cách thứ thông tin đƣợc hoá để bảo vệ đƣờng truyền hai nút không quan tâm đến nguồn đích thông tin Ở ta lƣu ý thông tin đƣợc bảo vệ đƣờng truyền, tức nút có trình giải sau hoá để truyền tiếp, nút cần phải đƣợc bảo vệ tốt Ngƣợc lại theo cách thứ hai thông tin mạng đƣợc bảo vệ toàn đƣờng truyền từ nguồn đến đích Thông tin đƣợc hoá sau tạo đƣợc giải đến đích Cách mắc phải nhƣợc điểm có liệu ngƣời dùng hóa đƣợc liệu điều khiển giữ nguyên để xử nút Vai trò hệ mật Các hệ mật phải thực đƣợc vai trò sau: - Hệ mật phải che dấu đƣợc nội dung văn rõ (PlainText) để đảm bảo cho ngƣời chủ hợp pháp thông tin có quyền truy cập thông tin, hay nói cách khác chống truy nhập không quyền hạn - Tạo yếu tố xác thực thông tin, đảm bảo thông tin lƣu hành hệ thống đến ngƣời nhận hợp pháp xác thực - Tổ chức sơ đồ chữ ký điện tử, đảm bảo tƣợng giả mạo, mạo danh để gửi thông tin mạng Ƣu điểm lớn hệ mật đánh giá đƣợc độ phức tạp tính toán “kẻ địch” phải giải toán để lấy đƣợc thông tin liệu đƣợc hoá Tuy nhiên hệ mật có số ƣu nhƣợc điểm khác nhau, nhƣng nhờ đánh giá đƣợc độ phức tạp tính toán ta áp dụng thuật toán hoá khác cho ứng dụng cụ thể tuỳ theo dộ yêu cầu đọ an toàn Phân loại hệ mật Có nhiều cách để phân loại hệ mật Dựa vào cách truyền khóa phân hệ mật thành hai loại: - Hệ mật đối xứng: hệ mật dùng chung khoá trình hoá liệu giải liệu Do khoá phải đƣợc giữ bí mật tuyệt đối - Hệ mật bất đối xứng: Hay gọi hệ mật công khai, hệ mật dùng khoá để hoá sau dùng khoá khác để giải mã, nghĩa khoá để hoá giải khác Các khoá tạo nên cặp chuyển đổi ngƣợc khoá suy đƣợc từ khoá Khoá dùng để hoá công khai nhƣng khoá dùng để giải phải giữ bí mật Ngoài dựa vào thời gian đƣa hệ mật ta phân làm hai loại: - Mật cổ điển (là hệ mật đời trƣớc năm 1970) - Mật đại (ra đời sau năm 1970) Còn dựa vào cách thức tiến hành hệ mật đƣợc chia làm hai loại: - dòng: tiến hành khối liệu, khối lại dựa vào khóa khác nhau, khóa đƣợc sinh từ hàm sinh khóa, đƣợc gọi dòng khóa - khối tiến hành khối liệu với khóa nhƣ Tiêu chuẩn đánh giá hệ mật Để đánh giá hệ mật ngƣời ta thƣờng đánh giá thông qua tính chất sau: a Độ an toàn: Một hệ mật đƣợc đƣa vào sử dụng điều phải có độ an toàn cao Ƣu điểm mật đánh giá đƣợc độ an toàn thông qua độ an toàn tính toán không cần phải cài đặt Một hệ mật đƣợc coi an toàn để phá hệ mật phải dùng n phép toán để giải n phép toán cần thời gian vô lớn, chấp nhận đƣợc Một hệ mật đƣợc gọi tốt cần phải đảm bảo tiêu chuẩn sau: - Chúng phải có phƣơng pháp bảo vệ dựa bí mật khoá, công khai thuật toán - Khi cho khoá công khai eK rõ P dễ dàng tính đƣợc eK(P) = C Ngƣợc lại cho dK C dễ dàng tính đƣợc dK(M)=P Khi dK khả để tìm đƣợc M từ C, nghĩa cho hàm f: X → Y việc tính y=f(x) với x  X dễ việc tìm x biết y lại vấn đề khó đƣợc gọi hàm chiều - Bản C không đƣợc có đặc điểm gây ý, nghi ngờ b Tốc độ giải mã: Khi đánh giá hệ mật phải ý đến tốc độ giải Hệ mật tốt thời gian giải nhanh c Phân phối khóa: Một hệ mật phụ thuộc vào khóa, khóa đƣợc truyền công khai hay truyền khóa bí mật Phân phối khóa bí mật chi phí cao so với hệ mật có khóa công khai Vì tiêu chí lựa chọn hệ mật Một số ứng dụng mật Ngày khó tìm thấy ứng dụng máy tính ại không sử dụng tới thuật toán giao thức mật Từ ứng dụng cho máy tính cá nhân chƣơng trình hệ thống nhƣ hệ điều hành ứng dụng mạng, hệ sở liệu có sử dụng thuật toán hóa mật ngƣời dùng hệ hàm băm Đặt biệt với phát triển mạnh mẽ thƣơng mại điện tử, mô hình chữ ký điện tử ngày đóng vai trò tích cực cho môi trƣờng an toàn cho ngƣời dùng Tuy vậy, chia lĩnh vực ứng dụng mật thành lĩnh vực nhỏ nhƣ sau: - Bảo mật: Che dấu nội dung thông tin đƣợc truyền mạng thông tin đƣợc lƣu hệ thống máy tính - Xác thực: Đảm bảo nguồn gốc thông tin, ngƣời dùng - Toàn vẹn: Đảm bảo có tổ chức, cá nhân đƣợc xác thực thay đổi nội dung hệ thống máy tính nhƣ thông tin đƣợc truyền mạng - Dịch vụ chối từ (Non-Repudiation): Các bên đƣợc xác thực phủ nhận việc tham gia vào giao dịch hợp lệ - Chữ ký điện tử - Securing Email - Authentication System - Secure E-commerce - Virtual Private Network - Wireless Encrytion 10 x3 = y2 mod n2 x3 = y3 mod n3 áp dụng định phần dƣ Trung Hoa, tìm đƣợc x3 thỏa mãn hệ thên điều kiện < x3 A Tập thông báo đƣợc xác định M = SxA, ek thuộc E Chú ý : Một thông báo gồm rõ cộng với vết xác thực, nhƣ thông báo ký Quy tắc xác thực không cần song ánh Để truyền thông báo Alice Bob thuân thủ theo giao thức sau Đầu tiên họ chọn khóa ngẫu nhiên k, điều đƣợc làm bí mật Sau Alice muốn gửi trạng thái nguồn s thuộc S tới Bob kênh không an toàn, cô tính a = ak(s) gửi thông báo (s,a) cho Bob Khi Bob nhận đƣợc (s,a), anh tính a‟=ek(s) Nếu a = a‟ Bob chấp nhận thông báo, ngƣợc lại từ chối 48 Có hai kiểu công vào xác thực : hai trƣờng hợp Oscar kẻ lừa dối - Thủ vai : Oscar đƣa thông báo (s,a) vào kênh với hy vọng đƣợc Bob chấp nhận xác thực - Thay : Oscar quan sát (s,a) kênh thay (s‟, a‟) với hy vọng đƣợc chấp nhận xác thực Hắn hy vọng đánh lừa Bob s‟ trạng thái nguồn Thông thƣờng có ngƣời muốn tiếp cận hệ thống máy tính, trung tâm phải kiểm tra xemhọ có quyền tiếp cận hay không, không trung tâm từ chối Ở mức độ thấp, ngƣời ta làm nhƣ sau : ngƣời sử dụng có mật Trung tâm lƣu giữ mật bảo vệ an toàn cho Một ngƣời muốn tiếp cận hệ thống phải đƣa mật để kiểm tra Trung tâm duyệt bảng mật xem có hay không Mức độ độ an toàn mật khảu phải dễ nhớ nên đễ bị tìm đƣợc Hơn bảng mật lƣu trung tâm có độ an toàn không cao, bị ngƣời quản nhân viên làm việc lấy liên kết với bên với mục đích xấu Một cải tiến là, bảng mật đƣợc hóa hàm chiều Nghĩa thay lƣu mật x, trung tâm lƣu y = f(x) f hàm chiều Khi ngƣời sử dụng vào mật trung tâm tính f(x), so sánh với y có cho phép ngƣời vào hệ thống Một cải tiến khác, ngƣời ta thêm vào mật ngƣời dãy số ngẫu nhiên để tạo thành x‟, tính y = f(x‟) Điều gây khó khăn cho ngƣời dòm tìm mật khẩu, nhƣng không gây khó khăn cho ngƣời quản trị mạng việc đoán mật ngƣời sử dụng dãy số ngấu nhiên đƣợc lƣu công khai trƣờng sở liệu chứa mật 49 BÀI TẬP CHƢƠNG Bài 1: Giả sử p = 13, q = 17 Ta có n = 221 Φ(n) = 192 Cho b = 11 số công khai Bob a Hãy tìm số mũ bí mật a Bob b Giả sử Alice muốn gửi rõ x = 123 cho Bob Hãy tính Alice gửi cho Bob Bài 2: Với số liệu 1, giả sử Alice gửi cho Bob y = 45 Hãy giải để giúp Bob tìm rõ Bài 3: Biết Bob dùng hệ mật RSA để hóa với n = 667, nhƣng Bob để lộ Φ(n)=616 Hãy tìm p, q Bob Bài 4: Cho p = 23 a Hãy tìm nguyên thủy α Zp b Hãy chọn khóa bí mật a khóa công khai β Bob Bài 5: Giả sử Alice sử dụng hệ mật Elgamal với p = 31847, α = a = 7899, β = 18074 Hãy giải sau Bob: (3781, 14409) (31552, 3930) Bài 6: Giả sử Alice sử dụng hệ mật RSA với p = 101, q = 113 Alice chọn a = 7467 b = Hãy giải c = 8165 Bob gửi cho Alice 50 Chương CHỮ KÝ SỐ I Khái niệm chữ ký số Chữ ký viết tay truyền thống gắn với tài liệu đƣợc dùng để cá nhân tƣơng ứng với Chữ kỳ đƣợc dùng ngày nhƣ viết thƣ, rút tiền ngân hàng, ký hợp đồng,… Lƣợc đồ chữ ký số phƣơng pháp ký thông báo đƣợc lƣu dƣới dạng điện tử thông báo đƣợc ký truyền mạng máy tính Tuy có nhiệm vụ chữ ký, song có khác chữ ký truyền thống chữ ký số Về việc ký tài liệu: Với chữ ký truyền thống, chữ ký phân vật tài liệu đƣợc ký Chữ ký số không đƣợc gắn cách vật với thông báo đƣợc ký, thuật toán phảu „trói‟ chữ ký với thông báo theo cách Chữ ký truyền thống đƣợc kiểm tra cách so sánh với khác, chữ ký xác thực Tất nhiên phƣơng pháp không đƣợc an toàn tƣơng đối dễ đánh lừa chữ ký ngƣời khác Chữ ký số đƣợc kiểm tra cách dùng thuật toán kiểm tra công khai biết Nhƣ vậy, ngƣời kiểm tra chữ ký số Việc sử dụng lƣợc đồ ký an toàn ngăn chặn khả đánh lừa Điều khác khác chỗ „bản sao‟ thông báo số đƣợc ký đồng với gốc Bản chép tài liệu giấy ký thƣờng khác với gốc Đặc điểm có nghĩa phải cẩn thận để ngăn chặn thông báo ký số bị sử dụng lại Chẳng hạn, Bob ký thông báo số trao quyền cho Alice rút $100 từ tài khoản ngân hàng, muốn Alice làm việc lần Do thông báo tự phải chứa thông tin để ngăn chặn Alice làm việc nhiều lần Một lƣợc đồ chữ ký số gồm thàng phần : thuật toán ký thuật toán kiểm tra Bob ký thuật toán x nhờ thuật toán ký (bí mật) sig Chữ ký thu đƣợc sig(x) sau đƣợc kiểm tra nhờ thuật toán kiểm tra công cộng ver Cho cặp (x,y) qua thuật toán kiểm tra trả lời sai phụ thuộc vào việc chữ ký có địch thực không? Định nghĩa: Lƣợc đồ chữ ký số (P, A, K, S, W) thỏa mãn điều kiện sau : - P tập hữu hạn thông báo - A tập hữu hạn chữ ký - K tập hữu hạn khóa (không gian khóa) - với k  K, tồn sigk  S verk  W 51 Mỗi sigk: P→A, verk: PxA→{true, false} Sao cho: true, y  sig k ( x) ver( x, y)    false, y  sig k ( x) Yêu cầu: - với k  K, sigk verk hàm thời gian đa thức - verk hàm công cộng, sigk hàm bí mật Với x, Bob tính đƣợc chữ ký y cho ver(x,y)=true, Oscar thử lần lƣợt y đạt yêu cầu Vì mục đích ta tìm lƣợc đồ chữ ký cho Oscar không đủ thời gian thực tế để thử nhƣ (an toàn tính toán) Xác thực người sử dụng Ở chƣơng trƣớc trình bày lƣợc đồ xác thực, nhiên lƣợc đồ có nhƣợc điểm lớn: Một là: Nếu Bob tự nghĩ thông báo, tính vết nhờ khóa k (đã thỏa thuận với Alice) nói thông báo Alice gửi cho tòa án phân xử đƣợc hai ngƣời có khóa k Hai là, mạng nhiều ngƣời sử dụng, cặp có khóa thỏa thuận nhƣ ngƣời phải lƣu giữ n-1 khóa bí mật Khi n đủ lớn việc phiền phức phức tạp Vì vậy, ngƣời ta nghiêng việc sử dụng lƣợc đồ chữ ký số Alice chọn thuật toán ký bí mật sigA mình, công bố thuật toán kiểm tra công cộng verA thƣ mục công cộng Mỗi ngƣời sử dụng làm nhƣ Khi gửi thông báo cho Bob, Alice tính s = sigA(m), gửi cặp (m,s) cho Bob Nhận đƣợc (m,s), Bob tính verA(s), m = verA(s) Bob chấp nhận m thông báo Alice gửi cho Nếu có tranh cãi, Bob trình cặp (m,s) thuật toán verA cho tòa án Tòa án tính verA(s), tòa tuyên bố m thông báo Alice gửi cho Bob Sở dĩ tòa án làm nhƣ hai điều: - Một là, từ verA không tính đƣợc sigA Alice Do có Alice biết sigA - Hai là, có Alice tính đƣợc s thỏa mãn m = verA(s) Kết hợp chữ ký số với hóa Ngƣời ta kết hợp hóa với xác thực Cho rõ x, Alice tính chữ ký số sigA(x) = y hóa x y thuật toán hóa công khai eB Bob để đƣợc z = eB(x,y) gửi z cho Bob 52 Với z, trƣớc hết Bob giải nhờ thuật toán dB để đƣợc (x,y), sau kiểm tra xem có xảy verA(y) = x hay không? Điều xảy Alice làm chƣ sau: - Tính z = eB(x) - Ký y = sigA(z) - Gửi (y,z) cho Bob Bob nhận đƣợc (y,z) làm nhƣ sau : - Giải x = dB(z) - Kiểm tra z = verA(y) Nhƣng Oscar nhận đƣợc (y,z) thay đổi - Ký y‟ = sigO(z) - Gửi (y‟,z) cho Bob Khi nhận đƣợc (y‟,z) Bob hiểu Oscar gửi cho kiểm tra verO, Bob tin x Oscar gửi cho Nếu x „Tôi nợ Bob $1000‟ Oscar thiệt to, nhƣng thực tế có điện nhƣ Do khó khăn đó, ngƣời ta khuyến cáo: ký trƣớc, sau II Một vài lược đồ chữ ký số Lược đồ chữ ký số RSA Cho n= p.q, p q số nguyên tố khác Cho P = A = Zn a.b ≡ 1(mod(φ(n))) Các giá trị n b công khai, a giữ bí mật với K=(n,p,q,a,b), xác định: Hàm ký: sigk(x)= xa mod n kiểm tra chữ ký: verk (x,y)= true ↔ x ≡ yb (mod n), x, y  Zp Giả sử Bob cần kí điện x lƣợc đồ chữ ký số RSA, Bob dùng thuật toán giải dB Y = sigk(x) = xaB (aB tham số bí mật Bob) Trong trƣờng hợp không cân giữ bí mật x, Bob gửi cặp (x,y) cho Alice Nhận đƣợc thông báo x chữ ký số y, Alice tiến hành kiểm tra đẳng thức X = ybB mod n (bB khóa công khai Bob) 53 Nếu có dấu bằng, Alice công nhân y chữ ký x Bob, dấu bằng, Alice coi x Bob gửi cho Tòa án vào kết kiểm tra đẳng thức để phán Rõ ràng, Bob ngƣời tạo chữ ký aB bí mật sigk bí mật Một ngƣời kiểm tra chữ ký Bob x cách dùng tham số bB công khai Bob Chú ý ngƣời ta giả mạo chữ ký Bob nhƣ sau : chọn y sau tính x = verk(y), y = sigk(x) Trƣớc tòa Bob chối cãi đƣợc y không chữ ký x Để khắc phục khó khăn việc yêu cầu x phải có nghĩa, kiểu giả mạo chữ ký nói thành công với xác suất nhỏ Có thể dùng hàm hash việc kết nối với sơ đồ chữ kí số loại trừ đƣợc phƣơng pháp giả mạo Lược đồ chữ ký ElGamal Sau ta mô tả sơ đồ chữ kí Elgamal dƣới thiệu báo năm 1985 Bản cải tiến sơ đồ đƣợc Viện Tiêu chuẩn Công Nghệ Quốc Gia Mỹ (NIST) chấp nhận làm chữ kí số Sơ đồ Elgamal (E) đƣợc thiết kế với mục đích dành riêng cho chữ kí số, khác sơ đồ RSA dùng cho hệ thống khoá công khai lẫn chữ kí số Cho p số nguyên tố cho toán logarit rời rạc Zp khó giả sử α  Zp phần tử nguyên thuỷ p = Zp*, a = Zp* × Zp-1 định nghĩa: K ={(p,α ,a,β ):β ≡ αa(mod p)} Giá trị p,α ,β công khai, a mật Với K = (p, α , a, β ) số ngẫu nhiên (mật) k  Zp-1 định nghĩa : Sigk(x,y) =(γ ,δ), γ = αk mod p δ =(x-a* γ) k-1 mod (p-1) Với x,γ  Zp δ  Zp-1, ta định nghĩa : Ver(x, γ ,δ ) = true ↔ βγ γδ ≡ αx(mod p) Chú ý: Chữ ký x theo lƣợc đồ ElGamal không tất định phụ thuộc vào đại lƣợng ngẫu nhiên k Nghĩa thông báo x, Bob ký hai thời điểm khác đƣợc ký khác Bob muốn ký x cần: - chọn ngẫu nhiên k  Zp-1* - tính γ = αk mod p δ =(x-a* γ) k-1 mod (p-1) 54 Alice kiểm tra chữ ký nhƣ sau: - tính βγ γδ ; αx(mod p) - Nếu βγ γδ ≡ αx(mod p) chấp nhận chữ ký tin cậy ngƣợc lại bác bỏ chữ ký Ví dụ: Giả sử cho p = 467, α =2, a = 127, đó: β = αa mod p = 2127 mod 467 = 132 Nếu Bob muốn kí lên điện x = 100 chọn số ngẫu nhiên k =213 (chú ý UCLN(213,467-1) =1 213-1 mod 466 = 431 Khi γ =2213 mod 467 = 29 δ =(100-127 × 29) 431 mod 466 = 51 Chữ ký Bob x = 100 (29,51) Bất kỳ xác minh chữ kí kiểm tra: 13229.2951 ≡ 2100 (mod 467) ? 13229.2951 ≡ 189 (mod 467) 2100 ≡ 189 (mod 467) Vì chữ kí hợp lệ Xét độ mật sơ đồ chữ kí E Giả sử, Oscar thử giả mạo chữ kí điện x cho trƣớc a Nếu Oscar chọn γ sau thử tìm giá trị δ tƣơng ứng, phải tính logarithm rời rạc logγ αxβ-γ Mặt khác, ta chọn δ sau thử tim γ thử giải phƣơng trình: βγ γδ ≡ αx(mod p) với γ ẩn số Đây toán chƣa có lời giải Tuy nhiên, dƣờng nhƣ chƣa đƣợc gắn với đến toán nghiên cứu kĩ nên có khả có cách để tính δ γ đồng thời để (δ, γ) chữ kí Hiện thời không tìm đƣợc cách giải song không khẳng định đƣợc giải đƣợc Nếu Oscar chọn δ γ sau tự giải tìm x, phải đối mặt với toán logarithm rời rạc, tức toán tính logα Vì Oscar kí điện ngẫu nhiên biện pháp Tuy nhiên, có cách để Oscar kí lên điện ngẫu nhiên việc chọn γ, δ x đồng thời: giả thiết i j số nguyên ≤ i ≤ p-2, ≤ j ≤ p-2 UCLN(j,p-2) = Khi thực tính toán sau: γ = αi βj mod p δ = -γ j-1 mod (p-1) x = -γ i j-1 mod (p-1) Trong j-1 đƣợc tính theo modulo (p-1) (ở đòi hỏi j nguyên tố với p-1) 55 Ta nói (γ, δ ) chữ kí hợp lệ x Điều đƣợc chứng minh qua việc kiểm tra xác minh: Ta minh hoạ ví dụ: cho p = 467, α = 2, β =132 Giả sữ Oscar chọn i = 99, j = 179; j-1 mod (p-1) = 151 Anh ta tính toán nhƣ sau: γ = 299.132197 mod 467 = 117 δ =-117 ×151 mod 466 = 51 x = 99 × 41 mod 466 = 331 Khi (117, 41) chữ kí hợp lệ điện 331 nhƣ xác minh qua phép kiểm tra sau: 132117.11741 ≡ 303 (mod 467) 2331 ≡ 303 (mod 467) Vì chữ kí hợp lệ III Chuẩn ký số Chuẩn chữ kí số(DSS) phiên cải tiến sơ đồ chữ kí Elgamal Nó đƣợc công bố công báo liên bang vào ngày 19/05/1994 đƣợc chấp nhận nhƣ chuẩn vào 01/12/1994 (tuy nhiên, đƣợc đề nghị lần vào tháng năm 1991) Vì sơ đồ Elgamal không an toàn toán logarithm rời rạc nên cần dùng modulo p lớn Chắc chắn p cần 512 bit nhiều ngƣời trí p nên lấy p=1024 bit để có độ an toàn tốt Tuy nhiên, lấy modulo p =512 chữ kí có 1024 bit Đối với nhiều ứng dụng dùng thẻ thông minh lại cần có chữ kí ngắn DSS cải tiến sơ đồ Elgamal theo hƣớng cho điện 160 bit đƣợc kí chữ kí 302 bit song lại p = 512 bit Độ an toàn giả định lƣợc đồ dựa niềm tin việc tìm logarit rời rạc nhóm đƣợc Zp* an toàn Chuẩn chữ kí số 56 Ví dụ: Giả sử q =101, p = 78.q+1 = 7879, phần tử nguyên thuỷ Z7879 nên ta lấy: α = 378 mod 7879 =170 Giả sử a =75, đó: β = αa mod 7879 = 4576 Bây giả sữ Bob muốn kí điện x = 1234 chọn số ngẫu nhiên k =50, thế: k mod 101 = 99 γ = (17050 mod 7879) mod 101 = 2518 mod 101 = 94 δ = (1234 +75 × 94) mod 101 = 97 Chữ kí (94, 97) điện 1234 đƣợc xác minh tính toán sau: δ-1 = 97-1 mod 101 =25 -1 e1 = 1234 × 25mod 101 = 45 e2 = 94 × 25 mod 101 =27 45 (170 456727 mod 7879)mod 101 = 2518 mod 101 = 94 chữ kí hợp lệ Khi DSS đƣợc đề xuất năm 1991, có vài trích đƣa Một ý kiến cho rằng, việc xử lựa chọn NIST không công khai Tiêu chuẩn đƣợc Cục An ninh 57 Quốc gia (NSA) phát triển tham gia khối công nghiệp Mỹ Bất chấp ƣu sơ đồ, nhiều ngƣời đóng chặt cửa không tiếp nhận Còn trích mặt kĩ thuật chủ yếu kích thƣớc modulo p bị cố định = 512 bit Nhiều ngƣời muốn kích thƣớc thay đổi đƣợc cần, dùng kích cỡ lớn Đáp ứng đòi hỏi này, NIST chọn tiêu chuẩn cho phép có nhiều cở modulo, nghĩa cỡ modulo chia hết cho 64 phạm vi từ 512 đến 1024 bit Một phàn nàn khác DSS chữ kí đƣợc tạo nhanh việc xác minh Trong đó, dùng RSA làm sơ đồ chữ kí với số mũ xác minh công khai nhỏ (chẳng hạn = 3) xác minh nhanh nhiều so với việc lập chữ kí Điều dẫn đến hai vấn đề liên quan đến ứng dụng sơ đồ chữ kí: Bức điện đƣợc kí lần, song nhiều lại cần xác minh chữ kí nhiều lần nhiều năm Điều lại gợi ý nhu cầu có thuật toán xác minh nhanh Những kiểu máy tính dùng để kí xác minh? Nhiều ứng dụng, chẳng hạn thẻ thông minh có khả xử hạn chế lại liên lạc với máy tính mạnh Vi có nhu cầu nhƣng thiết kế sơ đồ để có thực thẻ vài tính toán Tuy nhiên, có tình cần hệ thống tạo chữ kí, tình khác lại cần thẻ thông minh xác minh chữ kí Vì đƣa giải pháp xác định Sự đáp ứng NIST yêu cầu số lần tạo xác minh chữ kí thực vấn đề yêu cầu tốc độ, miễn hai thể thực đủ nhanh Một vài sơ suất làm cho lƣợc đồ chữ ký số bị phá: * Làm lộ giá trị ngẫu nhiên r Khi ngƣời ta dễ dàng tính đƣợc số bí mật a: a = (x – rδ)γ-1 mod (p-1) * Dùng số r để ký thông báo khác Oscar tính a nhƣ sau: Giả sử (γ,δi) chữ ký xi (i = 1,2); γ = αr mod p  1 x1      (mod p) có    x2      (mod p) -> αx1-x2 ≡ α 58 BÀI TẬP CHƢƠNG Bài 1: Giả sử Alice Bob dùng chung lƣợc đồ chữ ký RSA với n = 143 (p = 11, q = 13) a Nếu b = khóa ký công khai Bob, tính khóa ký bí mật Bob b Nếu thông báo cần ký Bob x = 100 chữ ký Bob gì? c Biết chữ ký Bob x = 85 Hãy kiểm tra xem chữ ký có đáng tin cậy không? Bài 2: Giả sử Alice Bob sử dụng lƣợc đồ chữ ký Elgamal với p = 467, α = khóa bí mật a = 127 a Với thông báo x = 50, Bob chọn ngẫu nhiên r = Hãy tính chữ số Bob x = 50 b Alice nhận đƣợc thông báo Bob x = 200 (33, 66) Hãy chứng minh chữ ký Bob Bài 3: Giả sử Bob dùng hệ mật Elgamal với p = 467, α = β = 450 Biết Bob ký thông báo x = 100 với số r = 31 cho chữ ký (26, 216) Hãy tìm số mũ bí mật Bob 59 TÀI LIỆU THAM KHẢO [1] Nguyễn Bình, (2004); Giáo trình mật học, NXB Bƣu điện [2] Thái Hồng Nhị, (2004), An Toàn Thông Tin Mạng Máy Tính, Truyền Tin Số Truyền Dữ Liệu, NXB Khoa học Kỹ thuật [3] A Menezes, P van Oorschot, and S Vanstone, (1996), Handbook of Applied Cryptography, CRC Press [4] Cryptography theory and practice 60 ... Bản mã C không đƣợc có đặc điểm gây ý, nghi ngờ b Tốc độ mã giải mã: Khi đánh giá hệ mật mã phải ý đến tốc độ mã giải mã Hệ mật tốt thời gian mã giải mã nhanh c Phân phối khóa: Một hệ mật mã phụ... dựa vào thời gian đƣa hệ mật mã ta phân làm hai loại: - Mật mã cổ điển (là hệ mật mã đời trƣớc năm 1970) - Mật mã đại (ra đời sau năm 1970) Còn dựa vào cách thức tiến hành mã hệ mật mã đƣợc chia... mật mã Để đánh giá hệ mật mã ngƣời ta thƣờng đánh giá thông qua tính chất sau: a Độ an toàn: Một hệ mật đƣợc đƣa vào sử dụng điều phải có độ an toàn cao Ƣu điểm mật mã đánh giá đƣợc độ an toàn

Ngày đăng: 24/08/2017, 10:07

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan