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
1,11 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 MÔN HỌC AN NINH MẠNG VIỄN THÔNG Mã học phần: TEL1401M ĐỀ TÀI : HỆ MẬT MÃ HĨA KHĨA CƠNG KHAI RSA Giảng viên : Nguyễn Thanh Trà MỤC LỤC BẢNG PHÂN CÔNG CÔNG VIỆC DANH MỤC THUẬT NGỮ VÀ VIẾT TẮT .2 DANH MỤC HÌNH VẼ .3 DANH MỤC BẢNG BIỂU LỜI CẢM ƠN .4 MỞ ĐẦU .5 Lý chọn đề tài Mục đích nghiên cứu Đối tượng phạm vi nghiên cứu Chương 1: Tổng quan hệ thống mật mã hóa khóa cơng khai .7 1.1 Đặt vấn đề ý tưởng .9 1.2 Nguyên lý hoạt động 10 1.3.Yêu cầu hệ thống mật mã hóa cơng khai .16 1.4 Ứng dụng hệ thống mật mã hóa cơng khai 16 1.4.1 Mã hóa giải mã 16 1.4.2 Xác thực chữ ký điện tử 16 1.4.3 Trao đổi khóa 17 1.4.4 Dập thời gian 17 1.4.5 Tiền điện tử .17 Chương 2: Hệ thống mật mã hóa khóa cơng khai RSA 19 2.1 Cơ sở toán học 19 2.1.1 Số nguyên tố(prime) 19 2.1.2 Số nguyên tố (relatively prime or coprime) .19 2.1.3 Khái niệm modulo 19 2.1.4 Phi - Hàm EULER 19 2.2 Lịch sử phát triển hệ thống RSA 19 2.3.Tìm hiểu thuật toán RSA 20 2.4 Nguyên lý hoạt động giải thuật RSA .22 2.4.1 Tạo khóa 23 2.4.2 Mã hóa RSA 24 2.4.3 Ví dụ minh họa 25 2.5 Tốc độ .26 2.6 Ưu nhược điểm hệ thống mật mã hóa công khai RSA 26 2.6.1 Ưu điểm .26 2.6.2 Nhược điểm .27 2.7 Bảo mật hệ thống RSA 27 2.7.1 Tấn công vét cạn .28 2.7.2 Tấn công thời gian 28 2.7.3 Tấn cơng tốn học 29 2.7.4 Tấn cơng lựa chọn thích nghi mã 30 2.7.5 Tấn công dựa lỗi .30 2.7.6 Một số khía cạnh bảo mật khác 30 2.7.6.1.Dùng mô đun n chung 30 2.7.6.2.Dùng số mũ lập mã e bé 31 2.7.6.3.Khả che dấu mật mã .32 2.8 Ứng dụng hệ thống mật mã hóa RSA .32 2.8.1 Chữ ký điện tử (Digital Signature) 32 2.8.2 SSL (Secure Socket Layer) .34 Chương 3: Kết luận 35 Tài liệu tham khảo: 37 Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12 BẢNG PHÂN CƠNG CƠNG VIỆC Họ tên Mã sinh viên Cơng việc Làm nội dung chương 1, kết luận, danh mục tài liệu tham khảo, chỉnh sửa nội dung Làm nội dung phần từ 2.1 đến 2.6, lời cảm ơn, phần mở đầu Làm nội dung phần 2.7 2.8, mục lục, thuật ngữ viết tắt, danh mục hình vẽ, bảng biểu Bài thi cuối kỳ môn ANM DANH MỤC THUẬT NGỮ VÀ VIẾT TẮT ANSI American National Standards Institute Viện Tiêu chuẩn Quốc gia Hoa Kỳ CRT Chinese Remainder Theorem Định lý phần dư Trung Quốc GCD Greatest Common Divisor Uớc chung lớn GCHQ Government Communications Headquarters Trụ sở Truyền thơng Chính phủ IEEE Institute of Electrical Electronics Viện Kỹ nghệ Điện Điện tử and Engineers IBM International Business Machines Tập đồn cơng nghệ máy tính MIT Massachusetts Institute of Technology Học viện Công nghệ Massachusetts MOD Modulo Chia lấy dư PKI Public Key Infrastructure Cơ sở hạ tầng khóa cơng khai PR Private key Khóa riêng PU Public key Khóa cơng khai DES Data Encryption Standard Tiêu chuẩn mã hóa liệu RSA Ron Rivest, Adi Shamir Leonard Adleman Thuật tốn mã hóa cơng khai RSA SHA Secure Hash Algorithm Thuật toán băm an tồn Bài thi cuối kỳ mơn ANM DANH MỤC HÌNH VẼ Hình 1.1: Quy trình mã hóa cơng khai Hình 1.2: Hoạt động thuật tốn Hình 1.3: Thơng tin trao đổi mật mã khóa bất đối xứngVietnamese translation Hình 1.4 : Mật mã khóa cơng khai Hình 2.1: Các giai đoạn mã hóa khóa cơng khai Hình 2.2: Sơ đồ q trình hoạt động RSA Hình 2.3: Ví dụ tính tốn thuật tốn RSA Hình 2.4 : Quá trình tạo kiểm tra chữ ký số sử dụng giải thuật RSA DANH MỤC BẢNG BIỂU Bảng 1.1: Chi tiết khóa A & B Bảng 1.2: So sánh khóa đối xứng & bất đối xứng Bảng 1.3: Ứng dụng hệ thống mật mã hố cơng khai Bài thi cuối kỳ môn ANM LỜI CẢM ƠN Để hoàn thành tiểu luận này, chúng em xin cảm ơn chân thành đến thầy cô chủ nhiệm môn “An ninh mạng viễn thông” giao đề tài bổ ích, thực tiễn sát với kiến thức học trường Đặc biệt, xin cảm ơn đến cô Nguyễn Thanh Trà giảng viên mơn học tận tình giảng dạy giúp đỡ chúng em tiểu luận cuối kì Mong có đánh giá nhận xét khách quan để chúng em hồn thiện hơn, có thêm kinh nghiệm cho lần thực tập tới Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12 MỞ ĐẦU Lý chọn đề tài Trong lĩnh vực kinh tế, trị, xã hội, quân sự… ln có nhu cầu trao đổi thơng tin cá nhân, công ty, tổ chức, quốc gia với Ngày nay, với phát triển công nghệ thông tin đặt biệt mạng internet việc truyền tải thơng tin dể dàng nhanh chóng Và vấn đề đặt tính bảo mật q trình truyền tải thơng tin, đặt biệt quan trọng thông tin liên quan đến trị, qn sự, hợp đồng kinh tế… Vì nghành khoa học nghiên cứu vế mã hóa thơng tin phát triển Việc mã hóa làm cho thơng tin biến sang dạng khác có bên gửi bên nhận đọc được, cịn người ngồi dù nhận thơng tin khơng thể hiểu nôi dung Trong mật mã học, RSA thuật tốn mã hóa cơng khai Đây thuật toán phù hợp với việc tạo chữ ký điện tử RSA đánh dấu tiến vượt trội lĩnh vực mật mã học việc sử dụng mã công khai RSA sử dụng rộng rãi thương mại điện tử đảm bảo dộ an tồn tuyệt điều kiện độ dài khóa đủ lớn Thực tại, công nghệ mật mã phát triển đôi với kẻ xấu sử dụng công cụ, phần mềm cải tiến tìm cách bẻ khóa lấy cắp thơng tin mật, hệ mật mã cần nâng cấp, cập nhật tính bảo mật ngày Trên lý mà chúng em chọn nghiên cứu thực đề tài Mục đích nghiên cứu Mục đích đề tài nghiên cứu hoạt động mật mã khóa cơng khai giải thuật RSA, tối ưu hóa thuật tốn, tăng tính tối ưu phép tính tốn với số ngun lớn, từ tăng tốc độ xử lý, bảo mật hệ mã mã hóa, giải mã tập tin văn quan trọng Bài thi cuối kỳ môn ANM – Nhóm tiểu luận 12 Đối tượng phạm vi nghiên cứu - Đối tượng nghiên cứu: Nghiên cứu ngun lý hoạt động mã hóa khóa cơng khai, đặc biệt hệ mã hóa RSA đối tượng nghiên đề tài - Phạm vi nghiên cứu: Trong phạm vi nghiên cứu đề tài này, ta tìm hiểu sở lý thuyết để thiết kế hệ thống RSA đồng thời xây dựng phương án bảo mật để đảm bảo tính an tồn cho hệ thống mật mã RSA Từ đưa số ứng dụng giải thuật để truyền thông điệp an tồn mơi trường truyền thơng Phương pháp nghiên cứu - Tập hơp phân tích tài liệu cứng, tài liệu mạng liên quan đến đề tài - Bàn họp, lựa chọn đưa hướng giải vấn đề - Tìm hiểu nguyên lý hoạt động mã hóa khóa cơng khai mã hóa RSA - Tìm hiểu thuật tốn xử lý số ngun lớn - Tối ưu hóa phép tốn, tăng khả xử lý bước - Những ứng dụng thực tế đánh giá so sánh kết Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12 Chương 1: Tổng quan hệ thống mật mã hóa khóa cơng khai Sự phát triển mật mã khóa cơng khai cách mạng vĩ đại có lẽ cách mạng thực toàn lịch sử mật mã Từ ngày sơ khai thời đại, tất hệ thống mật mã dựa công cụ thay hoán vị Sau hàng thiên niên kỷ làm việc với thuật tốn tính tốn tay, bước tiến lớn mật mã đối xứng xảy với phát triển máy mã hóa / giải mã rơto Rotor điện cho phép phát triển hệ thống mật mã phức tạp Với sẵn có máy tính, hệ thống chí phức tạp phát minh ra, bật nỗ lực Lucifer IBM với đỉnh cao Tiêu chuẩn Mã hóa Dữ liệu (DES) Mật mã khóa cơng khai cung cấp khởi đầu triệt để so với tất có trước Thứ nhất, thuật tốn khóa cơng khai dựa hàm tốn học thay hoán vị Quan trọng hơn, mật mã khóa cơng khai khơng đối xứng, liên quan đến việc sử dụng hai khóa riêng biệt, trái ngược với mã hóa đối xứng, sử dụng khóa Việc sử dụng hai khóa có hậu sâu sắc lĩnh vực bảo mật, phân phối khóa xác thực, thấy Trước tiếp tục, nên đề cập đến số quan niệm sai lầm phổ biến liên quan đến mã hóa khóa cơng khai Một quan niệm sai lầm mã hóa khóa cơng khai an tồn trước phân tích mật mã mã hóa đối xứng Trên thực tế bảo mật sơ đồ mã hóa phụ thuộc vào độ dài khóa cơng việc tính tốn liên quan đến việc phá vỡ mật mã Về ngun tắc, khơng có ngun tắc đối xứng mã hóa khóa công khai khiến vượt trội khác theo quan điểm chống lại phân tích mật mã Một quan niệm sai lầm thứ hai mã hóa khóa cơng khai kỹ thuật có mục đích chung làm cho mã hóa đối xứng trở nên lỗi thời Ngược lại, chi phí tính tốn kế hoạch mã hóa khóa cơng khai tại, dường khơng có khả thấy trước mã hóa đối xứng bị loại bỏ Như người phát minh mã hóa Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12 2.4.1 Tạo khóa Q tình tạo khóa Việc tìm số nguyên tố đủ lớn p q thực cách thử xác suất số ngẫu nhiên có độ lớn phù hợp (dùng phép kiểm tra nguyên tố cho phép loại bỏ hầu hết hợp số) p q cần chọn khơng q gần để phịng trường hợp phân tích n phương pháp phân tích Fermat Ngồi ra, p-1 q-1 có thừa số ngun tố nhỏ n dễ dàng bị phân tích p q cần thử để tránh khả Cần tránh sử dụng phương pháp tìm số ngẫu nhiên mà kẻ cơng lợi dụng để biết thêm thông tin việc lựa chọn (cần dùng tạo số ngẫu nhiên tốt) Yêu cầu số lựa chọn cần đồng thời ngẫu nhiên khơng dự đốn Đây yêu cầu khác nhau: số lựa chọn ngẫu nhiên (khơng có kiểu mẫu kết quả) dự đốn dù phần an ninh thuật tốn khơng đảm bảo Một ví dụ bảng số ngẫu nhiên tập đoàn Rand xuất vào năm 1950 thực ngẫu nhiên kẻ cơng có bảng Nếu kẻ cơng đốn nửa chữ số p hay q chúng dễ dàng tìm nửa cịn lại (theo nghiên cứu Donald Coppersmith vào năm 1997) Một điểm cần nhấn mạnh khóa bí mật d phải đủ lớn Năm 1990, Wiener giá trị p nằm khoảng q 2q (khá phổ biến) d < n1/4/3 tìm d từ n e Thuật tốn sinh khóa cho mã hóa công khai RSA: i Sinh hai số nguyên tố p q Chọn hai số nguyên tố p q tính n = p.q (2.3) Cần chọn p q cho: 2i n 2n +1, với i = 1024 n số nguyên dài khoảng 309 chữ số ii Tính ∅(n) = (p−1).(q−1) (2.4) iii Chọn số ngẫu nhiên e, < e < ∅(n), cho GCD(e, ∅(n)) = (2.5) 23 Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12 Tính số d nhân nghịch đảo theo modulo ∅(n) sử dụng thuật toán Euclide mở rộng, iv < d < ∅(n), cho e.d ≡ (mod ∅(n)) v (2.6) Khóa cơng khai KU cặp (e, n), khóa bí mật KR (d, n) 2.4.2 Mã hóa RSA a Lập mã: • Theo phương án 1, mã hóa bảo mật: i Lấy mã cơng khai KU (e, n) theo thuật toán ii Chọn rõ M, khoảng [1, n-1 iii Tính: C = Me mod n iv Nhận mã C (2.7) • Theo phương án 2, mã hóa chứng thực: i Lấy mã cơng khai KR (d, n) theo thuật tốn ii Chọn rõ M, khoảng [1, n-1] iii Tính: C = Md mod n iv Nhận mã C (2.8) b Giải mã: • Theo phương án 1, mã hóa bảo mật: Sử dụng khóa bí mật KR (d, n) để giải mã: M = Cd mod n (2.9) • Theo phương án 2, mã hóa chứng thực: Sử dụng khóa cơng khai KU (e, n) để giải mã: M = Ce mod n (Bản rõ M có kích thước i-1 bít, mã C có kích thước i bit) 24 (2.10) Bài thi cuối kỳ môn ANM – Nhóm tiểu luận 12 Hình 2.2: Sơ đồ q trình hoạt động RSA 2.4.3 Ví dụ minh họa Ví dụ cần trao đổi x = 30 A B: • Sinh khóa: Đối tượng B chọn số nguyên tố: p = 5, q = 11; tính n = p.q = 55 ∅(n) = (p-1).(q-1) = 40 Đối tượng B chọn e = Sử dụng thuật tốn Eucide mở rộng, tìm d: d.e = mod 40 d < 40 d = 27 (vì 27×3=81= 40 x 2+1) ➢ Khóa cơng khai (e, n) = (3, 55) 25 Bài thi cuối kỳ môn ANM – Nhóm tiểu luận 12 ➢ Khóa bí mật là(d, n) = (27, 55) • Lập mã: (Theo phương pháp mã hóa bảo mật) Cho rõ M = 30, A sử dụng thuật tốn tính số lũy thừa lớn để tính C = Me mod n = 303 mod 55 = 50 Và gửi cho B với C = 50 • Giải mã: Từ mã C, B tính M = Cd mod n = 5027 mod 55 = 30 rõ 30 303 mod 55 = 50 mã 50 KU = (3, 55) 5027 mod 55 = 30 rõ 30 KR = (27, 55) Hình 2.3: Ví dụ tính tốn thuật tốn RSA 2.5 Tốc độ RSA có tốc độ thực chậm đáng kể so với DES thuật tốn mã hóa đối xứng khác Trên thực tế, Bob sử dụng thuật tốn mã hóa đối xứng để mã hóa văn cần gửi sử dụng RSA để mã hóa khóa để giải mã (thơng thường khóa ngắn nhiều so với văn bản) Phương thức tạo vấn đề an ninh Một ví dụ cần phải tạo khóa đối xứng thật ngẫu nhiên Nếu không, kẻ công (thường ký hiệu Eve) bỏ qua RSA tập trung vào việc đốn khóa đối xứng 2.6 Ưu nhược điểm hệ thống mật mã hóa cơng khai RSA 2.6.1 Ưu điểm: ➢ Thuận tiện: giải vấn đề phân phối chìa khố cho mã hố 26 Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12 ➢ Cung cấp cho xác minh thơng báo: mã hố khố công cộng cho phép việc sử dụng chữ ký số mà tạo hội cho người nhận thông báo kiểm tra xem thông báo thực từ nơi gởi ➢ Phát xáo trộn: việc sử dụng chữ ký số mã hố khố cơng khai để người nhận phát thông báo thay đổi nội dung Chữ kỹ số thông báo sửa đổi khơng có làm hiệu lực chữ ký ➢ RSA mạnh thuật tốn khóa đối xứng khác ➢ RSA khắc phục điểm yếu thuật tốn đối xứng tính xác thực tính bảo mật 2.6.2 Nhược điểm: ➢ Tốc độ chậm: Thuật tốn giải mã mã hóa RSA cần nhiều tính tốn tốc độ chậm, so với thuật tốn mật mã đối xứng chậm hàng nghìn lần Với phát triển số lượng lớn kỹ thuật phân tách, độ dài khóa tăng lên để đảm bảo an tồn, tính tốn lớn ➢ Độ phức tạp việc tạo khóa: Do thuật toán RSA bị giới hạn số nguyên tố hiệu việc tạo số nguyên tố tương đối thấp, khó để đạt bí mật lần (Trung tâm liệu Internet, 2011) ➢ Sau tìm thấy chìa khóa, kẻ cơng dễ dàng giải mã hủy thông tin theo ý muốn ➢ Vấn đề khả mở rộng: số lượng khóa u cầu so với số lượng người tham gia trao đổi thông điệp bình phương số lượng người tham gia 2.7 Bảo mật hệ thống RSA Kẻ thám mã muốn cơng để tìm rõ x cần phải giải tốn: biết khóa cơng khai K’ = (n, e) mật mã y = xe mod n , từ tìm x Bài tốn gọi tốn RSA , ta chứng minh biết hai thừa số nguyên tố p q n dễ dàng tìm rõ x từ mật mã y Bài tốn có độ khó cao, thời gian phá mã lâu Vì việc đảm bảo tuyệt mật khóa bí mật d hay thừa số p q điều quan có ý nghĩa định việc bảo mật liệu tính an tồn hệ thống RSA 27 Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12 Một vài điều kiện để đảm bảo tính bảo mật trình truyền tin người tham gia người phải lựa chọn tham số n, e, d riêng cách độc lập với người sử dụng khác Các tham số p, q (n = p.q) sử dụng để tính ∅(n) = (p-1).(q-1) từ tính e, d Người dùng cơng bố khóa cơng khai (n, e) giữ bí mật p,q,d Thơng thường khơng sử dụng, p q xóa sau q trình tạo khóa để đảm bảo an tồn cho hệ mật mã RSA Các phương pháp công ngày phát triển đổi mới, khơng lường trước Ở phần ta tìm hiểu số phương pháp công mà người ta biết đến cách để chống lại hình thức cơng đó, giúp đảm bảo an tồn cho liệu môi trường truyền thông 2.7.1 Tấn công vét cạn Kẻ cơng tìm cách thử đủ tổ hợp khóa tìm khóa bí mật Tấn công phương pháp vét cạn điều dễ dàng phụ thuộc nhiều yếu tố độ dài khóa, thời gian thử khóa Ngày giải thuật RSA sử dụng khóa có độ dài 2048 bit khiến cho thời gian thử khóa phương pháp vét cạn lâu, việc phá khóa coi bất khả thi, cơng hình thức vét cạn không tạo nên mối đe dọa tính bảo mật hệ thống RSA 2.7.2 Tấn cơng thời gian Năm 1995, Paul Kocher mô tả dạng công lên hệ thống RSA Nếu kẻ công nắm đủ thông tin phần cứng hệ thống mã hóa xác định thời gian giải mã số mã mà chúng lựa chọn tìm khóa d cách nhanh chóng Giả sử kẻ cơng đo thời gian giải mã M = Cd mod n sử dụng thuật tốn bình phương liên tiếp Trong thuật tốn bit d việc giải mã phải thực phép tính modulo, bit thực phép tính modulo Như thời gian thực giải mã khác kẻ phá mà dựa vào để tìm bit d cuối biết d Để chống lại công dựa thời gian, người ta sử dụng số phương pháp sau : - Trễ ngẫu nhiên: Thêm độ trễ ngẫu nhiên vào thuật tốn mũ hóa 28 Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12 để làm rối loạn phương pháp công thời gian Kocher biện pháp phịng chống đưa vào chưa đủ nhiễu kẻ công thành công việc thu thập mẫu cách bù thời gian cho trễ ngẫu nhiên - Đảm bảo trình giải mã hệ thống RSA diễn khoảng thời gian không đổi mã Phương pháp làm giảm hiệu suất q trình tính tốn nên thay vào người ta sử dụng kỹ thuật gọi kỹ thuật che mắt - Kỹ thuật che mắt: Thay tính cd mod n A chọn số r ngẫu nhiên tính (rec)d mod n Kết phép tính rm mod n tác động r loại bỏ cách nhân thêm nghịch đảo r vào kết thu Mỗi mã khác chon giá trị r khác nhau, thời gian giải mã không phụ thuộc vào mã 2.7.3 Tấn cơng tốn học Kẻ cơng cố gắng tìm hai thừa số p, q cách phân tích n thừa số nguyên tố Đối với số n có độ dài lớn, việc phân tích thừa số ngun tố khó khăn, thời gian phân tích thường lâu phụ thuộc vào giải thuật sử dụng để phân tích Giải thuật tốt sử dụng để phân tích số n thành thừa số nguyên tố phương pháp sàng số Thời gian thực phân tích giải thuật tính theo cơng thức: L(n) ≈ 10 9.7+1/50 log2n (2.11) Trong log2n số bit cần để biểu diễn n, n số cần phân tích thừa số nguyên tố Như số bịt tăng thêm 50 bit thời gian thực phân tích n thừa số nguyên tố tăng lên 10 lần Năm 1977, tác giá RSA treo thưởng để cơng hệ thống RSA có kích thước 428 bit tương đương 129 chữ số Các tác giả dự đốn phải 40 nghìn triệu năm giải sau tốn giải vòng tháng Số nguyên lớn phân tích thành cơng số có 768 bit hay 232 số thập phân Nó phân tích thành cơng nhờ sợ hợp tác nhiều sở nghiên cứu thời gian năm 29 Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12 Hiện người ta khuyến cáo nên dùng khóa có độ dài tối thiểu 2048 bit để đảm bảo an tồn Hơn RSA cịn thực số chuyển đổi ngẫu nhiên rõ M trước mã hóa để đảm bảo M khơng rơi vào giá trị khơng an tồn 2.7.4 Tấn cơng lựa chọn thích nghi mã Năm 1981, Daniel Bleichenbacher mơ tả dạng cơng lựa chọn thích nghi mã (Adaptive Chosen Ciphertext Attack) thực văn mã hóa mật mã hóa khóa cơng khai RSA Việc mã hóa thực dựa tiêu chuẩn PKCS #1 v1, tiêu chuẩn mã hóa cho phép kiểm tra tính hợp lệ văn sau giải mã Tuy nhiên tiêu chuẩn có nhược điểm dễ dàng bị kẻ thám mã cơng tìm khóa phiên (dùng giao thức SSL) Vì người ta đưa phiên PKCS #1 có khả chống lại công chuyển sang sử dụng mơ hình an tồn chuyển đổi mã hóa bất đối xứng tối ưu (Optimal Asymmetric Encryption Padding) 2.7.5 Tấn công dựa lỗi Một cách công khác hệ thống RSA công vào xử lý tạo chữ ký số RSA Phương pháp công gây số lỗi việc tính tốn chữ ký số việc giảm khả làm việc vi xử lý Lỗi tạo chữ ký số khơng đảm bảo tính an tồn kẻ cơng dựa ký số bị lỗi để khơi phục lại khóa riêng Để công theo phương thức này, kẻ công phải truy nhập chiếm quyền điều khiển thiết bị điều chỉnh công suất vi xử lý, gây lỗi bit thu lấy kết chữ ký số Kiểu công chưa phải vấn đề nghiêm trọng hệ thống RS 2.7.6 Một số khía cạnh bảo mật khác Ngồi phương pháp công nêu trên, kẻ thám mã lợi dụng số sơ hở hệ thống RSA để thực công Dưới số phương pháp công mà ta cần ý để đảm bảo an toàn cho hệ mật mã RSA 2.7.6.1.Dùng mô đun n chung Nếu nhiều tham gia sử dụng chung mô đun n, kẻ cơng sử dụng số phép tính để tìm rõ x Giả sử A B hai người sử dụng dùng chung mô đun n khóa cơng khai Người dùng A cơng khai khóa (n, e) giữ 30 Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12 khóa bí mật d, người dùng B cơng khai khóa (n, a) giữ khóa bí mật b Một người tham gia thứ ba C muốn gửi văn đồng thời đến A B, lúc C sử dụng khóa cơng khai A để mật mã hóa thành mã y = xe mod n gửi cho A Tương tự C dùng khóa công khai B để mật mã thành z = xa mod n gửi cho B Ta chứng minh kẻ thám mã phát rõ dựa tham số n,e,a,y,z sau : i Tính c = e-1 mod a (2.12) ii Sau tính k = (ce-1)/a (2.13) iii Từ suy x=yc(zk)-1 (2.14) Ta có : yc(zk)-1 = xec (xa(ce-1)/a)-1 mod n = xce/xce-1 = x (2.15) Bằng phép tính trên, kẻ thám mã khôi phục lại rõ từ mã chúng nhận được, từ việc truyền tin khơng cịn đảm bảo tính an tồn Vì để tránh bị kẻ cơng ăn cắp liệu, người sử dụng RSA không nên chọn mô đun n 2.7.6.2.Dùng số mũ lập mã e bé Để việc tính tốn RSA dễ dàng nhanh chóng, người ta thường sử dụng số mũ e số nguyên bé Tuy nhiên trình truyền tin mơi trường mạng truyền thơng, nhiều người sử dụng số mũ bé ( chẳng hạn e = 3) người dùng dễ bị công kẻ thám mã Giả sử người tham gia trao đổi thông tin sử dụng khóa cơng khai (n1, e), (n2, e), (n3, e) với e = Một người tham gia A khác muốn gửi tin đến người dùng mã hóa dựa khóa cơng khai họ: ci = x3 mod ni với i = 1,2,3 (18).Kẻ thám mã sử dụng định lý Chinese Remainder Theorem (CRT) để tìm số m (0≤ m ≤ n1n2n3) thỏa mãn đồng thời: m= c1 mod n1 m=c2 mod n2 (2.16) m= c3 mod n3 Vì x≤ ni nên x3≤ n1n2n3 nên tồn số m cho m = x3 Như tốn tìm bậc theo nghĩa đồng dư mod n đưa tồn tìm bậc , có nghĩa tìm 31 Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12 bậc m ta thu x ( rõ) Điều chứng tỏ việc sử dụng số mũ e, d bé hệ mật mã RSA khơng đảm bảo tính an tồn số mũ lập mã bé giúp cho giải thuật tính tốn dễ dàng nhanh Vì thực tế người ta thường sử dụng e, d số lớn để tránh công đánh cắp liệu người dùng 2.7.6.3.Khả che dấu mật mã Sở dĩ mật mã giữ bí mật khả che dấu thơng tin nó, nghĩa biết mật mã y khó để tìm lại rõ x Nói cách khác x khơng che dấu qua phép lập mã RSA eK (x)=xe mod n mật mã x eK(x) = x Bất kỳ hệ mật mà RSA có số rõ che dấu số mũ e số lẻ Các rõ x = -1, 0, Người ta chứng minh với n = p.q số lượng rõ x không che dấu bằng: (1+GCD(e-1, p-1)) (1+GCD(e-1, q-1) (2.17) Vì số p-1, q-1, e,1 số chẵn nên giá trị nhỏ biểu thức 9, tức có rõ che giấu Thực tế p, q, n chọn lớn nên tỉ lệ rõ không che dấu không đáng kể, không tạo nên nguy an toàn hệ mật mã RSA Nhìn chung với việc bảo mật hệ thống RSA nhiều khía cạnh bảo mật, kẻ cơng khó cơng để đánh cắp liệu Tính an toàn giải thuật RSA chủ yếu phụ thuộc vào độ khó tồn phân tích n thừa số nguyên tố Công nghệ chưa thực đủ mạnh để phá khóa có độ dài 2048 bit nên việc sử dụng RSA để trao đổi thơng tin cịn an tồn khoảng thời gian dài trước có cơng nghệ phá khóa tiên tiến đời Một số góc độ bảo mật khác sử dụng mô đun n chung hay số mũ e bé xem xét kỹ lưỡng để có biện pháp chống cơng, đảm bảo an toàn cho hệ mật mã RSA môi trường truyền thông 2.8 Ứng dụng hệ thống mật mã hóa RSA 2.8.1 Chữ ký điện tử (Digital Signature) 32 Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12 Một ứng dụng quan trọng RSA sử dụng để tạo chữ ký số, xác thực tính tồn vẹn liệu gửi thơng tin mơi trường truyền thơng Hình 2.4 : Q trình tạo kiểm tra chữ ký số sử dụng giải thuật RSA Quá trình tạo chữ ký số (bên gửi) Tính tốn chuỗi đại diện cho thơng điệp cần gửi việc sử dụng hàm băm (Hashing Algorithm) SHA-1 Sau chuỗi đại diện mã hóa RSA cách sử dụng khóa bí 33 Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12 mật người gửi ta thu chữ ký số Thông điệp ban đầu ghép lại với chữ ký số vừa tạo , thu thông điệp ký gửi cho bên nhận Quá trình kiểm tra chữ ký số (bên nhận) Bên nhận nhận thông tin tách riêng phần thông điệp phần chữ ký số để xử lý riêng Phần chữ ký số giải mã khóa cơng khai người gửi để khơi phục lại giá trị băm, đồng thời nhánh cịn lại thực tính tốn giá trị băm từ thơng điệp gốc sử dụng hàm băm SHA-1 Hai giá trị băm so sánh với nhau, giống chứng tỏ thơng điệp nhận đảm bảo tính tồn vẹn liệu Ngược lại giá trị băm khác chứng tỏ thông điệp bị thay đổi Chữ ký số sử dụng RSA cơng cụ có vai trò quan trọng để xác định tác giả, đảm bảo toàn vẹn liệu, xác định giá trị pháp lý tài liệu điện tử, nhiên số nhược điểm phụ thuộc vào máy móc hệ thống phần mềm, tính bảo mật khơng tuyệt đối Nhìn chung chữ ký số RSA có ưu điểm vượt trội so với hạn chế nó, sử dụng rộng rãi nhiều hệ thống để đem lại giải pháp xác thực an toàn cho người sử dụng 2.8.2 SSL (Secure Socket Layer) SSL giao thức cho phép truyền đạt thông tin an tồn qua mạng SSL tích hợp vào trình duyệt web để đảm bảo an tồn cho người sử dụng.Việc kết nối người sử dụng web server phải qua nhiều điểm mạng, khơng đảm bảo liệu an tồn đường truyền Vì SSL sinh để bảo vệ thông tin mạng với chế xác thực, mã hóa đảm bảo tính tồn vẹn liệu SSL sử dụng nhiều thuật toán mã hóa xác thực DES, 3-DES, DSA, SHA-1, RSA, RSA key exchange Giải thuật RSA sử dụng thuật tốn mã hóa cơng khai cho q trình xác thực mã hóa liệu SSL Mặt khác RSA sử dụng thuật tốn trao đổi khóa bên gửi bên nhận, dùng để thiết lập khóa đối xứng phiên giao dịch người dùng web server, đảm bảo việc trao đổi khóa diễn an tồn tin cậy 34 Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12 Chương 3: Kết luận Trong tiểu luận này, tìm hiểu cách tốn diện hệ thống mật mã hóa cơng khai phương thức hoạt động giải thuật RSA Tìm hiểu hệ thống mã hóa bất đối xứng, biết ngun lý hoạt động hệ thống khóa cơng khai , yêu cầu ứng dụng hệ mật mã khóa cơng khai Về hệ thống mật mã RSA, ta tìm hiểu lịch sử phát triển nguyên lý hoạt động RSA Bước q trình tạo khóa, việc tạo khóa thực cách chọn số nguyên tố p, q có độ lớn phù hợp tạo số giả ngẫu nhiên sau tính n = p.q ∅(n) = (p−1).(q−1) từ tìm cặp số e, d thỏa mãn e.d ≡ (mod ∅(n)) Ta khóa cơng khai (e, n) khóa bí mật (d, n) Bước trình mã hóa C = Me mod n cuối giải mã M = Cd mod n Giải thuật RSA có nhiều ưu điểm thuận tiện, cấp chế xác thực, khắc phục nhiều điểm yếu hệ thống mật mã đối xứng nhiên cịn nhiều hạn chế tốc độ tính tốn độ phức tạp việc tạo khóa Ta xem xét nhiều góc độ bảo mật RSA , nêu số phương pháp công mà kẻ cơng thực hiện, từ đưa giải pháp để chống lại công Nhiều phương pháp cơng mà kẻ thám mã thực công vét cạn, hình thức cơng dựa việc thử tất khóa, phá mã cách sử dụng phương pháp nhiều thời gian Một phương pháp khác công dựa thời gian, kẻ công dựa vào thời gian giải mã để biết bit khóa bí mật d, từ tìm khóa bí mật Tấn cơng tốn học phương thức công mà kẻ công cố gắng phân tích n thừa số ngun tố, tìm p q, kẻ thám mã tính khóa bí mật đánh cắp liệu Tuy nhiên việc phân tích số thừa số nguyên tố tốn khó hệ thống RSA có kích thước lớn cỡ 2048 bit, hệ thống RSA có tính an tồn cao Một số phương pháp công khác dựa lỗi phân cứng hay dựa sơ hở hệ thống dung chung mô đun n dùng số mũ lập mã e bé kẻ công thực Với phương pháp này, kẻ cơng biết khóa bí mật hay tìm trực tiếp rõ, người dùng khơng nên sử dụng mô đun n dùng số mũ lập mã e bé để đảm bảo tính an tồn giải thuật q trình truyền thơng Qua ta tìm hiều 35 Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12 số ứng dụng phổ biến RSA thực tế sử dụng để tạo chữ ký số, sử dụng để xác thực mã hóa liệu SSL hay để trao đổi khóa phiên người sử dụng Với độ an toàn cao, ứng dụng rộng rãi, RSA giải thuật tối ưu nhiều lĩnh vực mà khó có giải thuật thay 36 Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12 Tài liệu tham khảo: PGS.TS Nguyễn Tiến Ban, TS Hoàng Trọng Minh, ThS Phạm Anh Thư, ThS Nguyễn Thanh Trà, TS Nguyễn Chiến Trinh (2016) Bài giảng “An ninh mạng viễn thông” Nguyễn Minh Thào, SV năm “ Hệ mật mã hóa cơng khai RSA” Trần Việt Cường – Cục Tin học hóa -Tiêu chuẩn RSA “Giải thuật mã hóa cơng khai RSA” Wiliam Stallings “Cryptography and Network Security: Principles and Practice”, Sixth Edition Lương Khánh Tý (2012) “Tối ưu hóa giải thuật xử lý số học hệ mã hóa RSA” Huỳnh Thị Bé Huyền, Hoàng Yến Nhi Dương Trần Đan Thư, Phạm Thị Trang, Nguyễn Ngọc Bảo Trân (2020) “Hệ thống mật mã hóa khóa cơng khai RSA “7 Đồng Tố Trung “Mã hóa cơng khai – mã hóa RSA” Sadeeq jan, Charu Gupta, Tariq Saceed (2005) “ Public Key CryptoSystems & RSA Algorithm” 37 ... mật mã khóa đối xứng tính bảo mật xác thực khắc phục cách sử dụng kép mật mã khóa cơng khai Trong mật mã RSA, khóa cơng khai khóa riêng mã hóa tin nhắn; khóa đối diện với khóa sử dụng để mã hóa. .. chẳng hạn RSA, thể đặc điểm sau: Một hai khóa liên quan sử dụng để mã hóa, khóa cịn lại sử dụng để giải mã a Mã hóa khóa cơng khai b Mã hóa khóa cá nhân Hình 1.4 : Mật mã khóa công khai 14 Bài... tốn RSA RSA thuật tốn mật mã khóa cơng khai thành cơng Nó cịn gọi thuật tốn mật mã khơng đối xứng hai khóa khác sử dụng để mã hóa giải mã Mật mã khóa bất đối xứng phát triển hai vấn đề mật mã khóa