Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
3,57 MB
Nội dung
TRƯỜNG ĐẠI HỌC TRẦN ĐẠI NGHĨA KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BỘ MƠN AN TỒN BẢO MẬT THƠNG TIN ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH ĐẢM BẢO TÍNH BẢO MẬT CHO MỘT VĂN BẢN SỬ DỤNG MÃ HÓA BẤT ĐỐI XỨNG Giáo Viên : Đặng Thế Hùng Sinh viên thực hiện: Nguyễn Tiến Mạnh Trần Gia Huy MSSV: 18DDS0803120 MSSV: 18DDS0803111 TP HCM, ngày 8, tháng 5, năm 2021 MỤC LỤC PHÂN CÔNG CÔNG VIỆC STT Nội dung công việc Thu thập tài liệu Làm word Demo + Slide Người thực Trần Gia Huy Nguyễn Tiến Mạnh Trần Gia Huy Nguyễn Tiến Mạnh Trần Gia Huy Nguyễn Tiến Mạnh CHƯƠNG 1: TÌM HIỂU VỀ HỆ MÃ Khái niệm mã hóa thơng tín 1.1Khái niệm Mã hóa thơng tin chuyển đổi thông tin từ dạng rõ (dạng đọc được) sang dạng mờ (dạng đọc được) ngược lại Nhằm mục đích ngăn chặn nguy truy cập thơng tin truyền mạng cách bất hợp pháp Thông tin truyền mạng dạng mờ đọc với cố tình muốn lấy thơng tin Khi có nhu cầu trao đổi thơng tin, Internet mơi trường khơng an tồn, đầy rủi ro nguy hiểm, khơng có đảm bảo thơng tin mà truyền không bị đọc trộm đường truyền Vì mã hóa biện pháp giúp ta bảo vệ thơng tin mà ta gửi Ngồi mã hóa cịn đảm bảo tính tồn vẹn liệu 1.2Vai trị mã hóa Các hệ mã hóa phải thực vai trị sau: - Các hệ mã hóa phải che dấu 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 cậ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 khơng có tượng giả mạo, mạo danh để gửi thông tin mạng Ưu điểm lớn hệ mã hóa đánh giá độ phức tạp tính toán mà “kẻ địch” phải giải toán để lấy thơng tin liệu Tuy nhiên hệ mã hóa có số ưu nhược điểm khác nhau, nhờ đánh giá độ phức tạp tính tốn, mức độ an tồn hệ mã hóa mà ta ứng dụng cụ thể tùy theo yêu cầu độ an toàn 1.3Các thành phần hệ mã hóa Một hệ mã hóã (P, C, D, K, E) thõa mãn điều kiện sau - P tập hợp hữu hạn rõ (PkinText), cịn gọi không gian rõ - C tập hợp hữu hạn mã (CipherText), cịn gọi không - gian mã Mỗi phần tử c cỗ thể nhận cách áp dụng phép mã hóa Ek lên phần tử P K tập hợp hữu hạn khóa hay cịn gọi khơng gian khóa Đối với m phần tử k K gọi khóa (Key), số lượng không gian khỏa phải đủ lớn để “kẻ địch” không đủ thời gian để thử khóa (phương pháp vét cạn) - Đối với k ϵ K có quy tắc mã ek ϵ D : P → C quy tắc giải mã tương ứng dk ϵ D Mỗi ek: P → C dk: C → P hàm mà: dk(ek (x)) = x với rõ x ϵ P Trong tính chất tính chất chủ yếu Nội dung rõ x mã hoá ek mã nhận sau giải mã dk ta phải thu rõ ban đầu x Alice Bob áp dụng thủ tục sau dùng hệ mật khoá riêng Trước tiên họ chọn khoá ngẫu nhiên k ϵ K Điều thực họ chỗ không bị Oscar theo dõi họ có kênh mật trường hợp họ xa Sau giả sử Alice muốn gửi thông báo cho Bob kênh không mật ta xem thông báo chuỗi: x = x1, x2,…, xn Với số nguyên n ≥ Ở ký hiệu rõ xi ϵ P, ≤ i ≤ n Mỗi xi mã hoá quy tắc mã ek với khố k xác định trước Bởi Alice tính yi = ek(xi), ≤ i ≤ n chuỗi mã nhận được: y = y1, y2,…, yn Sẽ gửi kênh Khi Bob nhận đươc y1,y2, …,yn giải mã hàm giải mã dk thu rõ gốc x1,x2,…,xn Hình 1.1 Kênh liên lạc Rõ ràng trường hợp hàm mã hóa phải hàm đơn ánh (tức ánh xạ 1-1), không việc giải mã khơng thực cách tường minh Ví dụ: y = ek(x1)= ek(x2).Trong x1 ≠ x2, Bob khơng có cách để biết liệu phải giải mã thành x1 hay x2 Chú ý P = C hàm mã hố phép hoán vị, tức tập mã tập rõ đồng hàm mã xếp lại (hay hoán vị) phần tử tập Tiêu chuẩn để đánh giá hệ mã hóa 2.1 Độ an tồn thuật tốn Ngun tắc mã hố “Thuật tốn bị phá vỡ” Các thuật toán khác cung cấp mức độ an toàn khác nhau, phụ thuộc vào độ phức tạp để phá vỡ chúng Tại thời điểm, độ an tồn thuật tốn phụ thuộc: Nếu chi phỉ hay phí tổn cần thiết để phá vỡ thuật tốn lớn giá trị thơng tin mã hóa thuật tốn thuật tốn tạm thời coi an toàn Nếu thời gian cần thiết dùng đề phá vỡ thuật toán q lâu thuật tốn đỗ tạm thời coi an toàn Nếu lượng liệu cần thiết để phá vỡ thuật toán lớn so với lượng liệu mã hố thuật tốn tạm thời coi an toàn 2.2Tốc độ mã hóa giải mã Khi đánh giá hệ mã hóa phải ý đến tốc độ mã hóa giải mã Hệ mã hóa tốt thời gian mã hóa giải mã nhanh 2.3Phân phối khóa Một hệ mã hóa phụ thuộc vào khóa, khóa truyền cơng khai hay truyền bí mật Phân phối khóa bí mật chi phí cao so với thuật tốn mã hóa khóa cơng khai Vì tiêu chí lựa chọn hệ mã hóa Khóa Khái niệm Một khóa mã hóa phần thông tin đặc biệt kết hợp với thuật tốn để thi hành mã hóa giải mã Mỗi khóa khác tạo văn mã hóa khác nhau, khơng chọn khóa khơng thể mở tài liệu mã hóa trên, cho dù biết thuật toán dùng thuật tốn mã hóa gì, sử dụng khóa phức tạp độ an tồn liệu lớn Ví dụ Mã hóa nội dung thư với khóa “Thay ký tự xuất thư ký tự đứng thứ sau nó” Cùng thuật tốn sử dụng khóa “Thay ký tự xuất thư ký tự thứ sau nó” Như kết thư có nội dung sử dụng hai khóa khác có hai mã khác Phân loại thuật toán mã hóa 4.1 Phân loại theo phương pháp * Mã hóa cổ điển Xuất lịch sử, thuật tốn sử dụng khóa đơn giản, dễ hiểu Là phương pháp mà ký tự (hay nhóm ký tụ) rõ thay ký tự (hay nhóm ký tự) khác tạo nên mã Bên nhận cần đảo ngược lại trình tự thay nhận rõ ban đầu Mã hóa cổ điển có hai phương pháp bật là: Mã hóa thay mã hóa hốn vị Các hệ mã hóa thường sử dụng lịch sử là: Hệ mã hóa Ceasar, Vigenere, Hill * Mã hóa đối xứng Mã hóa đối xứng hay mã hóa chia sẻ khóa mơ hình mã hóa hai chiều, có nghĩa tiến trình mã hóa giải mã dùng chung khóa Khóa chuyển giao bí mật hai đối tượng tham gia giao tiếp Khóa cấu hình Software mã hóa Hardware Mã hóa đối xứng thực nhanh gặp rủi ro khóa bị đánh cắp Một số thuật tốn mã hóa đối xứng tiếng như: DES, AES, RC2, RC4, RC5, RC6 Ngồi cịn số thuật tốn như: Skipjact, Blowfish, CATS-128 * Mã hóa bất đối xứng Mã hóa bất đối xứng mơ hình mã hóa hai chiều sử dụng cặp khóa khóa chung (Public Key) khóa riêng (Private Key) Trong khóa chung Public Key cơng bố rộng rải Thơng thường thơng tin người gửi sử dụng khóa Public Key để mã hóa gửi Người nhận thơng tin dùng khóa Private Key để giải mã Khóa Private Key người giữ phương pháp mã hóa bất đối xứng đảm bảo tính bí mật Một điều quan ừọng phương pháp mã hóa cặp khóa Public Key Private Key phải tương đồng Có nghĩa có Private Key cặp khóa giải mã liệu mã hóa khóa Public Key tương ứng Thuật tốn mã hóa bất đối xứng tiếng sử dụng nhiều RSA Ngồi cịn số thuật tốn khác như: Hellman, Elgamal * Mã hóa hàm băm Là cách thức mã hóa chiều tiến hành biến đổi rõ thành mã mà không giải mã Người ta ví loại mã hóa củ hành băm nhuyễn khơng tái tạo lại củ hành ban đầu Trong xử lý hàm băm, liệu đầu vào khác độ dài, độ dài xử lý băm xác định Hàm băm xử lý mơ hình xác thực Password Một số thuật tốn mã hóa hàm băm thường dùng như: MD4, MD5, SHA 4.2Phân loại theo số lượng khóa * Mã hóa khóa bí mật Mã hóa khóa bí mật thuật tốn mà khóa giải mã tính tốn từ khóa mã hóa Trong nhiều trường hợp khóa mã hóa khóa giải mã giống Thuật toán yêu cầu người gửi người nhận thỏa thuận khóa trước thơng tín gửi khóa phải đảm bảo tính bí mật Độ an toàn thuật phụ thuộc nhiều vào độ bí mật khóa, để lộ khóa thì người mã hóa giải mã thơng tin cách dễ dàng Mã hóa khóa bí mật thường sử dụng cho trường hợp dễ chuyển khóa Tức người nhận người gửỉ trao đổi khóa cho an tồn, khó bị kẻ khác cơng Thường dùng đề trao đổi văn phòng Một số vấn đề liên quan - Các phương pháp mã hóa khóa bí mật địi hỏi người mã hóa người giải mã phải chung khóa biết khóa nhau, khóa phải giữ bí mật tuyệt đối Do kẻ địch dễ dàng xác định khóa biết khóa - Phương pháp khơng đảm bảo an tồn có xác suất cao khóa người gửi bị lộ Khóa phải gửi kênh an toàn kẻ địch cơng kênh phát khóa - Vấn đề quản lý phân phổi khóa khó khăn phức tạp, người gửi người nhận phải thống với khóa việc thay đổi khóa khó khăn dễ bị lộ * Mã hóa khóa cơng khai Mã hóa khóa cơng khai thuật tốn sử dụng khóa mã hóa khóa giải mã hồn tồn khác Hơn khóa giải mã khơng thể tính tốn từ khóa mã hóa Khác với mã hóa khỏa bỉ mật, khóa mã hóa thuật tốn mã hóa cơng khai cơng bố rộng rãi Một người sử dụng khóa cơng khai để mã hóã thơng tin, có người nhận thơng tin cố khóa giải mã phù hợp vái khóa mã hóa để giải mã thơng tin Một điều đặc biệt loại mã hóa khóa cơng khai mã gửi kênh khơng an tồn mà thơng tin khơng khó bị đọc trộm dù biết khóa mã hóa Chính mức độ an tồn cao nên mã hóa khóa cơng khai sử dụng mạng cơng khai Internet Mã hóa khóa cơng khai có nhiều ứng dụng quan trọng hệ thống lớn CHƯƠNG 2: MÃ HÓA BẤT ĐỐI XỨNG 2.1 Khái niệm • Mật mã khóa cơng khai (Public key) hay gọi mật mã bất đối xứng mơ hình mã hóa chiều sử dụng cặp khóa khóa riêng (Private key) khóa cơng khai (Public key) Khóa cơng khai dùng để mã hóa, khóa riêng dùng để giải mã • Hệ thống mật mã khóa cơng khai sử dụng với mục đích: - Mã hóa: Giữ bí mật thơng tin có người có khóa bí mật giải mã - Tạo chữ ký số: Cho phép kiểm tra văn có phải tạo với khóa bí mật hay khơng - Thỏa thuận khóa: Cho phép thiết lập khóa dùng để trao đổi thông tin mật bên • Các hệ mật mã khóa cơng khai biết đến nhiều hệ RSA Trong hệ mật mã khóa cơng khai hệ RSA cộng đồng Quốc tế chấp nhận ứng dụng rộng rãi 1.1Vấn đề sử dụng phân phối khóa • Hệ mật bất đối xứng khắc phục tính chất phức tạp việc phân phối khóa hệ mật đối xứng cho phép giao tiếp đối tượng cách uyển chuyển , dễ dàng • Sử dụng hai khoá Kp (public key ) Ks (private key ) để mã giải mật • Có hai mode làm việc : - Bảo mật : Mã public key → giải mật private key - Xác thực : Mã private key → giải mật public key 1.2Các yêu cầu loại hệ mã PKC • Việc sinh KP, KS phải dễ dàng • Việc tính E(KP, M) dễ dàng • Nếu có C = E(KP, M) KS dễ ràng giải mật • Nếu biết KP việc dị tìm KS khó • Rất khó tìm rõ từ mã khơng biết khóa 1.3Các mơ hình sử dụng PKC 1.3.1 Mơ hình bảo mật 2.4 Hệ mật mã RSA 2.4.1 Giới thiệu a) Lịch sử Thuật toán Ron Rivest, Adi Shamir Len Adleman mô tả lần vào năm 1977 Học viện Công nghệ Massachusetts (MIT) Tên thuật toán lấy từ chữ đầu tên tác giả Trước đó, vào năm 1973, Clifford Cocks, nhà toán học người Anh làm việc GCHQ, mơ tả thuật tốn tương tự Với khả tính tốn thời điểm thuật tốn khơng khả thi chưa thực nghiệm Tuy nhiên, phát minh công bố vào năm 1997 xếp vào loại tuyệt mật Thuật toán RSA MIT đăng ký sáng chế Hoa Kỳ vào năm 1983 (Số đăng ký 4.405.829) Bằng sáng chế hết hạn vào ngày 21 tháng năm 2000 Tuy nhiên, thuật toán cơng bố trước có đăng ký bảo hộ nên bảo hộ khơng có giá trị bên ngồi Hoa Kỳ Ngồi ra, cơng trình Clifford Cocks cơng bố trước sáng chế RSA đăng ký b) Sơ lược hệ thống Thuật tốn RSA có hai khóa: khóa cơng khai (hay khóa cơng cộng) khóa bí mật (hay khóa cá nhân) Mỗi khóa số cố định sử dụng trình mã hóa giải mã Khóa cơng khai cơng bố rộng rãi cho người dùng để mã hóa Những thơng tin mã hóa khóa cơng khai giải mã khóa bí mật tương ứng Nói cách khác, người mã hóa có người biết khóa cá nhân (bí mật) giải mã Hoạt động RSA dựa bước chính: sinh khóa, chia sẻ key, mã hóa, giải mã 2.4.2 Mơ tả hoạt động RSA có khóa: - Khóa cơng khai (Pulic key): Được công bố rộng rãi cho người dùng để mã hóa - Khóa bí mật (Private key): Những thơng tin mã hóa khóa cơng khai giải mã khóa bí mật tương tự a) Tạo khóa Bước 1: Chọn hai số nguyên tố lớn ngẫu nhiên độc lập p q Bước 2: tính n= p*q Bước 3: Tính giá trị hàm số ɸn=(p-1) * (q-1) Bước 4: Chọn số e tự nhiên cho 1