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

Atbmtt đề cương bài tập lớn an toàn và bảo mật thông tin

43 6 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 43
Dung lượng 1,48 MB

Nội dung

Đồ án ATBMTT Lời mở đầu Trước đây khi công nghệ máy tính chưa phát triển, khi nói đến vấn đề an toàn bảo mật thông tin, chúng ta thường hay nghĩ đến các biện pháp nhằm đảm bảo cho thông tin được trao đổi hay cất giữ một cách an toàn và bí mật, chẳng hạn là các biện pháp như: Đóng dấu và ký niêm phong một bức thư để biết rằng lá thư có được chuyển nguyên vẹn đến người nhận hay không, dùng mật mã mã hóa thông điệp để chỉ có người gửi và người nhận hiểu được thông điệp, lưu giữ tài liệu trong các két sắt có khóa tại nơi được bảo vệ nghiêm ngặt. Ngày nay với sự phát triển của khoa học công nghệ, đặc biệt là sự phát triển của Internet, việc sử dụng máy tính và điện thoại cá nhân càng trở lên rộng rãi, dẫn đến càng nhiều thông tin được lưu trữ trên máy tính và gửi đi trên mạng Internet. Do đó nhu cầu về an toàn và bảo mật thông tin trên máy tính càng nhiều và việc sử dụng mật mã mã hóa càng được phổ biến. Trong đồ án này, nhóm em thực hiện xây dựng chương trình mã hóa và giải mã mật mã hóa công khai RSA (sử dụng ngôn ngữ Java, C). Báo cáo này gồm 3 chương: • Chương 1: Tổng quan. • Chương 2: Kết quả nghiên cứu. • Chương 3: Kết luận, bài học rút ra. Trong quá trình thực hiện đề tài nhóm chúng em xin gửi lời cám ơn tới thầy giảng viên hướng dẫn nhóm chúng em thực hiện đề tài này. Trong quá trình nghiên cứu và thực hiện đề tài được sự chỉ bảo tận tình của thầy, nhóm chúng em đã cố gắng để hoàn thiện đề tài. Tuy nhiên sẽ vẫn không tránh được thiếu xót và chưa được hoàn thiện về mặt nội dung. Vì vây, chúng em mong thầy và các bạn có thể xem qua và đánh giá nhận xét để bài báo cáo hoàn thiện và chính xác nhất ạ. Chúng em xin chân thành cảm ơn Mục lục Chương 1: Tổng quan 1 1.1. Tổng quan về An toàn bảo mật thông tin 1 1.1.1. An toàn bảo mật thông tin 1 1.1.2. Khái niệm hệ thống và tài sản của hệ thống 1 1.1.3. Các mối đe dọa đối với 1 hệ thống và biện pháp ngăn chặn 1 1.1.4. Mục tiêu của an toàn bảo mật thông tin 2 1.2. Lý do chọn đề tài 3 1.3. Nội dung nghiên cứu 3 1.4. Các kiến thức cơ sở 4 Chương 2: Kết quả nghiên cứu 5 2.1. Nghiên cứu, tìm hiểu hệ mã hóa khóa công khai 5 2.1.1. Giới thiệu chung về mã hóa 5 2.1.2. Đặc trưng và nhược điểm của khóa bí mật 6 2.1.3. Khái niệm mã hóa công khai 6 2.1.4. Mã hóa và giải mã thông điệp bằng phương pháp mã hóa khóa công khai 7 2.1.5. Độ an toàn 8 2.1.6. Ưu, nhược điểm của hệ mật khóa công khai 8 2.2. Nghiên cứu, tìm hiểu về chương trình mã hóa và giải mã RSA 9 2.2.1. Hệ mật mã RSA 9 2.2.2. Độ an toàn của RSA 9 2.2.3. Bài toán phân tích ra thừa số nguyên tố 12 2.3. Nội dung thuật toán 12 2.3.1. Thuật toán Euclid 12 2.3.2. Thuật toán bình phương và nhân 13 2.3.3. Định lý Fermat 14 2.3.4. Hàm số Euler 14 2.3.5. Định lý phần dư Trung Hoa 15 2.3.6. Thuật toán mã hóa, giải mã RSA 15 2.4. Thiết kế chương trình, cài đặt thuật toán 16 2.4.1. Giới thiệu ngôn ngữ lập trình sử dụng để cài đặt thuật toán 16 2.4.2. Thiết kế kịch bản chương trình 17 2.4.3. Cài đặt thuật toán, hình ảnh minh họa 18 Chương 3: Kết luận và bài học kinh nghiệm 36 3.1. Kiến thức kỹ năng đã học được trong quá trình thực hiện đề tài. 36 3.2. Bài học kinh nghiệm 36 3.3. Đề xuất về tính khả thi của chủ đề nghiên cứu, những thuận lợi, khó khăn 36 Tài liệu tham khảo 1. Trần Đức Sự (Chủ biên), Nguyễn Văn Tảo, Trần Thị Lượng, Giáo trình An toàn bảo mật dữ liệu, NXB Đại học Thái Nguyên, 2015. 2. Giáo trình An toàn và bảo mật thông tin, Hải Phòng, 2008. Chương 1: Tổng quan 1.1. Tổng quan về An toàn bảo mật thông tin 1.1.1. An toàn bảo mật thông tin Thông tin là một bộ phận quan trọng và là tài sản thuộc quyền sở hữu của các tổ chức. Sự thiệt hại và lạm dụng thông tin không chỉ ảnh hưởng đến người sử dụng hoặc các ứng dụng mà nó còn gây ra các hậu quả tai hại cho toàn bộ tổ chức đó. Thêm vào đó sự ra đời của Internet đã giúp cho việc truy cập thông tin ngày càng trở nên dễ dàng hơn. 1.1.2. Khái niệm hệ thống và tài sản của hệ thống Khái niệm hệ thống: Hệ thống là môt tâp hợp các máy tính gồm các thành phần phần cứng, phần mềm và dữ liệu làm viêc̣ được tích lũy qua thời gian. Tài sản của hệ thống bao gồm: • Phần cứng • Phần mềm • Dữ liệu • Các truyền thông giữa các máy tính của hệ thống • Môi trường làm việc • Con người 1.1.3. Các mối đe dọa đối với 1 hệ thống và biện pháp ngăn chặn • Có 3 hình thức chủ yếu: o Phá hoại: kẻ thù phá hỏng thiết bị phần cứng hoặc phần mềm hoạt động trên hệ thống. o Sửa đổi: Tài sản hệ thống bị sửa đổi trái phép. Điều này thường làm cho hệ thống không làm đúng chức năng của nó. Chẳng hạn như thay đổi mật khẩu, quyền người dùng trong hệ thống làm họ không thể truy cập làm việc. o Can thiệp: Tài sản bị truy cập bởi người không có thẩm quyền. Các truyền thông thực hiện trên hệ thống bị ngăn chặn, sửa đổi. Các đe dọa đối với một hệ thống thông tin có thể đến từ nhiều nguồn và được thực hiện bởi các đối tượng khác nhau. Chúng ta có thể chia thành 3 loại đối tượng như sau : o Các đối tượng từ ngay bên trong hệ thống (insider), đây là những người có quyền truy câp̣ hợp pháp đối với hệ thống. o Những đối tượng bên ngoài hệ thống (hacker, cracker), thường các đối tượng này tấn công qua những đường kết nối với hệ thống như Internet chẳng hạn. o Và thứ ba là các phần mềm (chẳng hạn như spyware, adware …) chạy trên hệ thống. • Các đối tượng đe dọa: o Các đối tượng từ bên trong hệ thống, là nhưỡng người có quyền truy cập hợp pháp vào hệ thống. o Những đối tượng bên ngoài hệ thống, tấn công qua những đường kết nối với hệ thống. o Các phần mềm chạy trên hệ thống. • Biện pháp ngăn chặn: o Điều khiển qua phần mềm: dựa vào cơ chế an toàn bảo mật của hệ thống nền, các thuật toán mật mã học. o Điều khiển qua phần cứng: các cơ chế bảo mật, các thuật toán mã học được cứng hóa để sử dụng. o Điều khiển qua các chính sách tổ chức: ban hành các quy định của tổ chức nhằm đảm bảo tính an toàn của hệ thống. 1.1.4. Mục tiêu của an toàn bảo mật thông tin Ba mục tiêu của an toàn bảo mật thông tin: • Tính bí mật: Tài sản của hệ thống chỉ được truy cập bởi những người có thẩm quyền. Các loại truy cập gồm có: đọc (reading), xem (viewing), in ấn (printing), sử dụng chương trình, hoăc̣ hiểu biết về sự tồn tại của một đối tượng trong tổ chức. Tính bí mật có thể được bảo vệ nhờ việc kiểm soát truy câp̣ (theo nhiều kiểu khác nhau ) hoặc nhờ các thuật toán mã hóa dữ liệu. Kiểm soát truy cập chỉ có thể được thực hiêṇ với các hệ thống phần cứng vật lý. Còn đối với các dữ liệu công cộng thì thường phương pháp hiệu quả là các phương pháp của mật mã học. • Tính toàn vẹn dữ liệu: Tài sản của hệ thống chỉ được thay đổi bởi những người có thẩm quyền. • Tính sẵn dùng: Tài sản luôn sẵn sàng được sử dụng bởi những người có thẩm quyền. 1.2. Lý do chọn đề tài Chương trình Mã hoá và Giải mã RSA là một thuật toán mã hoá đối xứng (symmetric cryptography) được sử dụng phổ biến để bảo mật thông tin trên Internet. Thuật toán này sử dụng hai khóa, một khóa dùng để mã hoá (public key) và một khóa dùng để giải mã (private key). Điều này giúp cho việc truyền tải thông tin được bảo mật hơn và đảm bảo tính riêng tư của dữ liệu. Việc chọn đề tài chương trình Mã hoá và Giải mã RSA cho bài tập lớn được nhóm em lựa chọn là nhằm phục vụ cho mục đích: • Tìm hiểu về cách hoạt động của thuật toán RSA và lý do tại sao nó được sử dụng phổ biến trong bảo mật thông tin. • Thực hành làm quen với cách thực hiện mã hóa và giải mã thông tin bằng thuật toán RSA. • Khám phá và đánh giá các ứng dụng thực tiễn của thuật toán RSA trong các lĩnh vực khác nhau, như trong bảo mật thông tin, kinh doanh, tài chính, ngân hàng, v.v. Cuối cùng, việc nghiên cứu và hiểu rõ về chương trình Mã hoá và Giải mã RSA giúp bạn có thể nắm bắt được những kiến thức quan trọng về bảo mật thông tin, cũng như tạo ra các giải pháp bảo mật thông tin tốt hơn cho các dự án và ứng dụng của mình. 1.3. Nội dung nghiên cứu • Nghiên cứu tìm hiểu mã hóa công khai: Ý tưởng về một hệ mật khoá công khai được Diffie và Hellman đưa ra vào năm 1976. Còn việc hiện thực hoá nó thì do Rivesrt, Shamir và Adleman đưa ra lần đẩu tiên vào năm 1977, họ đã tạo nên hệ mật nổi tiếng RSA (sẽ được nghiên cứu trong chương này). Kể từ đó đã công bố một số hệ, độ mật của chúng dựa trên các bài tính toán khác nhau. • Nghiên cứu tìm hiểu hệ mật RSA: Hệ mã RSA được đặt tên dựa theo các chữ cái đầu của 3 tác giả của hệ mã là Rivest, Shamir và Adleman. Đây là thuật toán mã hóa nổi tiếng nhất và cũng là thuật toán được ứng dụng thực tế nhất. o Ý tưởng chính của thuật toán RSA dựa trên việc phân tích một số nguyên lớn thành tích của hai số nguyên ngẫu nhiên, và sử dụng tính toán số học modulo để mã hóa và giải mã thông điệp. o Để mã hóa một thông điệp M thành một số nguyên C, người gửi sử dụng khóa công khai của người nhận. o Để giải mã một số nguyên C thành thông điệp ban đầu M, người nhận sử dụng khóa bí mật của mình. 1.4. Các kiến thức cơ sở • Các kiến thức về thuật toán, định lý: o Nắm rõ các kiến thức cơ bản về hệ mật mã o Kiến thức về hệ mật mã RSA o Kiến thức về thuật toán: Thuật toán Euclid, định lí Fermat, bình phương và nhân, hàm số Euler, định lý phần dư Trung Hoa, … o Giải thuật RSA, tạo khóa, mã hóa, giải mã • Các kiến thức về lập trình : o Java : Hiểu và biết cách sử dụng công cụ lập trình Apache NetBeans cũng như trang bị đủ kiến thức về ngôn ngữ này để code giao diện minh họa. o C : Hiểu và biết cách sử dụng công cụ lập trình Visual Studio 2023 cũng như trang bị đủ kiến thức về ngôn ngữ này để code giao diện minh họa.

 - BÁO CÁO THỰC NGHIỆM Học phần: An tồn & Bảo mật thơng tin Chủ đề: Xây dựng chương trình mã hóa giải mã RSA Giáo viên hướng dẫn : Nhóm sinh viên thực : Mã Lớp: Nhóm: Hà Nội, năm 2023 Lời mở đầu Trước công nghệ máy tính chưa phát triển, nói đến vấn đề an tồn bảo mật thơng tin, thường hay nghĩ đến biện pháp nhằm đảm bảo cho thông tin trao đổi hay cất giữ cách an toàn bí mật, chẳng hạn biện pháp như: Đóng dấu ký niêm phong thư để biết thư có chuyển nguyên vẹn đến người nhận hay khơng, dùng mật mã mã hóa thơng điệp để có người gửi người nhận hiểu thông điệp, lưu giữ tài liệu két sắt có khóa nơi bảo vệ nghiêm ngặt Ngày với phát triển khoa học công nghệ, đặc biệt phát triển Internet, việc sử dụng máy tính điện thoại cá nhân trở lên rộng rãi, dẫn đến nhiều thông tin lưu trữ máy tính gửi mạng Internet Do nhu cầu an tồn bảo mật thơng tin máy tính nhiều việc sử dụng mật mã mã hóa phổ biến Trong đồ án này, nhóm em thực xây dựng chương trình mã hóa giải mã mật mã hóa cơng khai RSA (sử dụng ngơn ngữ Java, C#) Báo cáo gồm chương: • Chương 1: Tổng quan • Chương 2: Kết nghiên cứu • Chương 3: Kết luận, học rút Trong trình thực đề tài nhóm chúng em xin gửi lời cám ơn tới thầy giảng viên hướng dẫn nhóm chúng em thực đề tài Trong trình nghiên cứu thực đề tài bảo tận tình thầy, nhóm chúng em cố gắng để hồn thiện đề tài Tuy nhiên khơng tránh thiếu xót chưa hồn thiện mặt nội dung Vì vây, chúng em mong thầy bạn xem qua đánh giá nhận xét để báo cáo hồn thiện xác Chúng em xin chân thành cảm ơn! Mục lục Chương 1: Tổng quan Tổng quan An tồn bảo mật thơng tin An tồn bảo mật thơng tin Khái niệm hệ thống tài sản hệ thống Các mối đe dọa hệ thống biện pháp ngăn chặn Mục tiêu an tồn bảo mật thơng tin Lý chọn đề tài Nội dung nghiên cứu Các kiến thức sở Chương 2: Kết nghiên cứu Nghiên cứu, tìm hiểu hệ mã hóa khóa cơng khai Giới thiệu chung mã hóa Đặc trưng nhược điểm khóa bí mật Khái niệm mã hóa cơng khai Mã hóa giải mã thơng điệp phương pháp mã hóa khóa cơng khai Độ an toàn Ưu, nhược điểm hệ mật khóa cơng khai Nghiên cứu, tìm hiểu chương trình mã hóa giải mã RSA Hệ mật mã RSA Độ an toàn RSA Bài tốn phân tích thừa số ngun tố 12 Nội dung thuật toán 12 Thuật toán Euclid 12 Thuật tốn bình phương nhân 13 Định lý Fermat 14 Hàm số Euler 14 Định lý phần dư Trung Hoa 15 Thuật tốn mã hóa, giải mã RSA 15 Thiết kế chương trình, cài đặt thuật tốn 16 Giới thiệu ngơn ngữ lập trình sử dụng để cài đặt thuật toán 16 Thiết kế kịch chương trình 17 Cài đặt thuật toán, hình ảnh minh họa 18 Chương 3: Kết luận học kinh nghiệm 38 Kiến thức kỹ học trình thực đề tài 38 Bài học kinh nghiệm 38 Đề xuất tính khả thi chủ đề nghiên cứu, thuận lợi, khó khăn 38 Tài liệu tham khảo [1] Trần Đức Sự (Chủ biên), Nguyễn Văn Tảo, Trần Thị Lượng, Giáo trình An tồn bảo mật liệu, NXB Đại học Thái Nguyên, 2015 [2] Giáo trình An tồn bảo mật thơng tin, Hải Phịng, 2008 Chương 1: Tổng quan Tổng quan An tồn bảo mật thơng tin An tồn bảo mật thơng tin Thông tin phận quan trọng tài sản thuộc quyền sở hữu tổ chức Sự thiệt hại lạm dụng thông tin không ảnh hưởng đến người sử dụng ứng dụng mà cịn gây hậu tai hại cho tồn tổ chức Thêm vào đời Internet giúp cho việc truy cập thông tin ngày trở nên dễ dàng Khái niệm hệ thống tài sản hệ thống Khái niệm hệ thống: Hệ thống môt tâp hợp máy tính gồm thành phần phần cứng, phần mềm liệu làm viêc ̣ tích lũy qua thời gian Tài sản hệ thống bao gồm: • Phần cứng • Phần mềm • Dữ liệu • Các truyền thơng máy tính hệ thống • Môi trường làm việc • Con người Các mối đe dọa đối với hệ thống biện pháp ngăn chặn • Có hình thức chủ yếu: o Phá hoại: kẻ thù phá hỏng thiết bị phần cứng phần mềm hoạt động hệ thống o Sửa đổi: Tài sản hệ thống bị sửa đổi trái phép Điều thường làm cho hệ thống không làm chức Chẳng hạn thay đổi mật khẩu, quyền người dùng hệ thống làm họ truy cập làm việc o Can thiệp: Tài sản bị truy cập người khơng có thẩm quyền Các truyền thông thực hệ thống bị ngăn chặn, sửa đổi Các đe dọa hệ thống thơng tin đến từ nhiều nguồn thực đối tượng khác Chúng ta chia thành loại đối tượng sau : o Các đối tượng từ bên hệ thống (insider), người có quyền truy câp ̣ hợp pháp hệ thống o Những đối tượng bên hệ thống (hacker, cracker), thường đối tượng công qua đường kết nối với hệ thống Internet chẳng hạn o Và thứ ba phần mềm (chẳng hạn spyware, adware …) chạy hệ thống • Các đối tượng đe dọa: o Các đối tượng từ bên hệ thống, nhưỡng người có quyền truy cập hợp pháp vào hệ thống o Những đối tượng bên hệ thống, công qua đường kết nối với hệ thống o Các phần mềm chạy hệ thống • Biện pháp ngăn chặn: o Điều khiển qua phần mềm: dựa vào chế an toàn bảo mật hệ thống nền, thuật toán mật mã học o Điều khiển qua phần cứng: chế bảo mật, thuật tốn mã học cứng hóa để sử dụng o Điều khiển qua sách tổ chức: ban hành quy định tổ chức nhằm đảm bảo tính an tồn hệ thống Mục tiêu an tồn bảo mật thơng tin Ba mục tiêu an tồn bảo mật thơng tin: • Tính bí mật: Tài sản hệ thống truy cập người có thẩm quyền Các loại truy cập gồm có: đọc (reading), xem (viewing), in ấn (printing), sử dụng chương trình, hoăc ̣ hiểu biết tồn đối tượng tổ chức Tính bí mật bảo vệ nhờ việc kiểm soát truy câp ̣ (theo nhiều kiểu khác ) nhờ thuật tốn mã hóa liệu Kiểm sốt truy cập thực hiêṇ với hệ thống phần cứng vật lý Còn liệu cơng cộng thường phương pháp hiệu phương pháp mật mã học • Tính tồn vẹn liệu: Tài sản hệ thống thay đổi người có thẩm quyền • Tính sẵn dùng: Tài sản sẵn sàng sử dụng người có thẩm quyền Lý chọn đề tài Chương trình Mã hố Giải mã RSA thuật toán mã hoá đối xứng (symmetric cryptography) sử dụng phổ biến để bảo mật thông tin Internet Thuật tốn sử dụng hai khóa, khóa dùng để mã hố (public key) khóa dùng để giải mã (private key) Điều giúp cho việc truyền tải thông tin bảo mật đảm bảo tính riêng tư liệu Việc chọn đề tài chương trình Mã hố Giải mã RSA cho tập lớn nhóm em lựa chọn nhằm phục vụ cho mục đích: • Tìm hiểu cách hoạt động thuật toán RSA lý sử dụng phổ biến bảo mật thơng tin • Thực hành làm quen với cách thực mã hóa giải mã thơng tin thuật tốn RSA • Khám phá đánh giá ứng dụng thực tiễn thuật toán RSA lĩnh vực khác nhau, bảo mật thông tin, kinh doanh, tài chính, ngân hàng, v.v Cuối cùng, việc nghiên cứu hiểu rõ chương trình Mã hố Giải mã RSA giúp bạn nắm bắt kiến thức quan trọng bảo mật thông tin, tạo giải pháp bảo mật thông tin tốt cho dự án ứng dụng Nội dung nghiên cứu • Nghiên cứu tìm hiểu mã hóa cơng khai: Ý tưởng hệ mật khố cơng khai Diffie Hellman đưa vào năm 1976 Cịn việc thực hố Rivesrt, Shamir Adleman đưa lần đẩu tiên vào năm 1977, họ tạo nên hệ mật tiếng RSA (sẽ nghiên cứu chương này) Kể từ cơng bố số hệ, độ mật chúng dựa tính tốn khác • Nghiên cứu tìm hiểu hệ mật RSA: Hệ mã RSA đặt tên dựa theo chữ đầu tác giả hệ mã Rivest, Shamir Adleman Đây thuật tốn mã hóa tiếng thuật toán ứng dụng thực tế o Ý tưởng thuật tốn RSA dựa việc phân tích số nguyên lớn thành tích hai số nguyên ngẫu nhiên, sử dụng tính tốn số học modulo để mã hóa giải mã thơng điệp o Để mã hóa thơng điệp M thành số nguyên C, người gửi sử dụng khóa cơng khai người nhận o Để giải mã số nguyên C thành thông điệp ban đầu M, người nhận sử dụng khóa bí mật Các kiến thức sở • Các kiến thức thuật toán, định lý: o Nắm rõ kiến thức hệ mật mã o Kiến thức hệ mật mã RSA o Kiến thức thuật toán: Thuật tốn Euclid, định lí Fermat, bình phương nhân, hàm số Euler, định lý phần dư Trung Hoa, … o Giải thuật RSA, tạo khóa, mã hóa, giải mã • Các kiến thức lập trình : o Java : Hiểu biết cách sử dụng công cụ lập trình Apache NetBeans trang bị đủ kiến thức ngôn ngữ để code giao diện minh họa o C# : Hiểu biết cách sử dụng công cụ lập trình Visual Studio 2023 trang bị đủ kiến thức ngôn ngữ để code giao diện minh họa Chương 2: Kết nghiên cứu Nghiên cứu, tìm hiểu hệ mã hóa khóa cơng khai Giới thiệu chung mã hóa Mọi người biết muốn giữ cho riêng cần phải che giấu Để gửi thư riêng cho người bạn, phải cho vào bao thư gián lại Nhưng thư quan trọng mà khơng muốn cho khác ngồi người nhận biết nội dung thư Chúng ta khơng thể chắn đường thư tới tay người nhận, thư có an tồn hay khơng Từ nảy sinh vấn đề bảo vệ thơng tin Từ xa xưa, người ta biết áp dụng biện pháp bảo vệ thông tin thô sơ giấu thơng tin, cho người canh gác,…Khi trí tuệ sáng tạo người phát triển khơng thể áp dụng biện pháp thô sơ Ngày với bùng nổ công nghệ thông tin đặc biệt Internet Email, vấn đề bảo vệ thông tin trở nên quan trọng định sống cịn cơng ty, đảm bảo an ninh quốc phịng cho quốc gia,… Có hai phương pháp để đạt mục tiêu này: Kiểm soát lối vào mã hóa liệu • Phương pháp kiểm soát lối vào nhằm ngăn cản xâm nhập trái phép vào hệ thống nhờ xây dựng kiểm sốt thích hợp, ví dụ hệ sử dụng mật khẩu, mà người phép sử dụng qua để thâm nhập vào hệ thống Hệ có số nhược điểm Chẳng hạn liệu lưu trữ bên cần bảo vệ việc dường có bảo vệ túy vật lý đạt Như vậy, điều dẫn đến an tồn hệ thống Một nhược điểm phương pháp khơng thực tiễn ta quan hệ với hệ số lớn • Phương pháp mã hóa liệu: nghĩa thơng tin lưu trữ hệ dạng mã hóa Khi đó, người truy nhập trái phép dù có lấy thơng tin, lại dạng mã hóa, thơng tin vơ nghĩa họ khơng biết cách giải Mật mã học nghiên cứu hệ thống dùng cho việc truyền thơng bí mật, gồm có hai lĩnh vực nghiên cứu: Mã hóa (Cryptography) – thiết kế hệ truyền thơng bí mật, Giải mã (Cryptanalysis) – nghiên cứu phương pháp để giải mã hệ truyền thơng bí mật Mật mã học trước chủ yếu áp dụng hệ truyền thông quân ngoại giao, áp dụng có ý nghĩa thực tế ngày xuất tất lĩnh vực xã hội Hai ví dụ minh chứng hệ thống tập tin máy tính (trong người sử dụng lưu trữ riêng tập tin họ) hệ chuyển ngân điện tử Đặc trưng nhược điểm khóa bí mật Mã hóa khóa bí mật sử dụng MỘT khóa q trình mã hóa giải mã (đối xứng) Nhược điểm: • Cần có kênh an tồn để trao đổi khóa • Trên mơi trường mạng có N người dùng, cần N(N-1)/2 khóa để N(N1)/2 cặp người trao đổi thông tin (tổ hợp chập N phần tử) -> Cần nhiều khóa việc quản lý khóa phức tạp • Không thể thiết lập chữ ký điện tử → Sử dụng mã cơng khai Khóa cơng khai: Mọi người biết, dùng để mã hóa kiểm chứng chữ ký điện tử Khóa bí mật: Chỉ người nhận biết, dùng để giải mã tạo chữ ký Đặc điểm: • Khơng có khả tính tốn để tìm khóa giải mã biết thuật toán mã khoá dùng để mã • Có thể dễ dàng mã hố giải mã mẩu tin biết khoá tương ứng • Trong số sơ đồ: Một khoá hai khố dùng để mã, cịn khố dùng để giải mã Chúng có vai trị đối ngược Khái niệm mã hóa cơng khai Vào năm 1975 Diffie Hellman cơng trình (một báo) đề xuất ý tưởng cho phép xây dựng lên hệ mã hoạt động theo 25 } string decryptStr = string.Empty; for (int i = 0; i < m.Length; i++) { decryptStr = decryptStr + (char)m[i]; } byte[] data = Convert.FromBase64String(decryptStr); string decryptedStr = Encoding.Unicode.GetString(data); return decryptedStr; } • Đọc file từ thiết bị: OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "All Files (*.*)|*.*"; ofd.Multiselect = true; // Cho phép chọn tập tin if (ofd.ShowDialog() == DialogResult.OK) { string filePath = ofd.FileName; string fileExtension = Path.GetExtension(filePath); string cipherTextFromFile = string.Empty; if (fileExtension == ".docx") { cipherTextFromFile = rsa_File.ReadFileWord(filePath); } if (fileExtension == ".pdf") { cipherTextFromFile = rsa_File.ReadFilePDF(filePath); } if (fileExtension == ".txt") { cipherTextFromFile = rsa_File.ReadFileTXT(filePath); } txt_Decryp_CipherText.Text = (string)cipherTextFromFile; } • Ghi nội dung giải mã/mã hóa vào file private void SaveFile(TextBox txt) { SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = "All Files (*.*)|*.*|Tệp tin văn (*.txt)|*.txt|Tệp tin Word (*.docx)|*.docx|Tệp tin PDF (*.pdf)|*.pdf"; sfd.Title = "Lưu tệp tin"; 26 string encryptedStr = txt.Text; if (sfd.ShowDialog() == DialogResult.OK) { string filePath = sfd.FileName; string fileExxtention = Path.GetExtension(filePath); if (fileExxtention == ".pdf") { rsa_File.SaveAsPDF(filePath, encryptedStr); } if (fileExxtention == ".docx") { rsa_File.SaveAsWord(filePath, encryptedStr); } if (fileExxtention == ".txt") { rsa_File.SaveAsTxT(filePath, encryptedStr); } } } public void SaveAsPDF(string filePath, string content) { try { using (FileStream fs = new FileStream(filePath, FileMode.Create)) { Document document = new Document(); PdfWriter writer = PdfWriter.GetInstance(document, fs); document.Open(); document.Add(new Paragraph(content)); document.Close(); } MessageBox.Show("Lưu file thành công.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception e) { MessageBox.Show("Lưu file không thành công " + e.Message, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); } } public void SaveAsWord(string filePath, string content) { try { using (DocX document = DocX.Create(filePath)) { document.InsertParagraph(content); document.Save(); 27 } MessageBox.Show("Lưu file thành công.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception e) { MessageBox.Show("Lưu file không thành công " + e.Message, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); } } public void SaveAsTxT(string filePath, string content) { try { using (StreamWriter wt = new StreamWriter(filePath)) { wt.Write(content); } MessageBox.Show("Lưu file thành công.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception e) { MessageBox.Show("Lưu file không thành công " + e.Message, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); } } 28 2.4.3.2 Giải mã mã hóa RSA ngơn ngữ Java 2.4.3.2.1 Giao diện chương trình: 2.4.3.2.2 Cài đặt triển khai: • Bước 1: Giải nén File Nhom2_RSA_Java.rar, sau chọn RSA, dùng cơng cụ Apache NetBeans IDE 18 để mở chương trình • Bước 2: Dùng công cụ Apache NetBeans IDE 18 để mở file click Shift + F6 chạy chương trình 29 • Bước 3: Thực tốn kết thu được: 30 2.4.3.2.3 Code chương trình: • Thư viện sử dụng: import import import import import import import import import import import import import import import import import import static java.lang.Math.abs; static java.lang.Math.sqrt; javax.swing.JOptionPane; java.util.ArrayList; java.util.Random; java.nio.charset.StandardCharsets; java.util.Base64; javax.swing.JFileChooser; javax.swing.filechooser.FileNameExtensionFilter; javax.swing.table.DefaultTableModel; java.io.InputStreamReader; java.io.OutputStreamWriter; java.io.BufferedReader; java.io.File; java.io.FileInputStream; java.io.FileOutputStream; java.io.IOException; java.io.PrintWriter; • Khai báo biến: public long soP, soQ, soN, soE, soD, soLamda_n; • Các hàm kiểm tra: public boolean SoNguyenTo(long p) { if(p 30 ){ q = rd.nextLong(200)+80; } Q.setText(""+q); long N1 = (p-1)*(q-1); long d=(rd.nextLong(200)+80); while(GCD(d,N1)!=1) { d=(rd.nextLong(200)+80); } D.setText(""+d); KtraCheck = true; } • Lưu file: private void save(String text) throws IOException { FileOutputStream fos = new FileOutputStream(file.getAbsolutePath()); OutputStreamWriter osw = new OutputStreamWriter(fos,"UTF-8"); PrintWriter pw = new PrintWriter(osw, true); pw.print(text); pw.close(); } 36 private void SaveNhanActionPerformed(java.awt.event.ActionEvent evt) { if(BRNhan.getText().equals("")) { JOptionPane.showMessageDialog(rootPane, "Bản rõ trống!"); } else { JFileChooser ChoseFile = new JFileChooser(); FileNameExtensionFilter TextFile = new FileNameExtensionFilter("Chọn file txt","txt","TXT"); ChoseFile.setFileFilter(TextFile); ChoseFile.setMultiSelectionEnabled(false); long x = ChoseFile.showDialog(this,"Chọn File"); if( x == ChoseFile.APPROVE_OPTION ) { file = ChoseFile.getSelectedFile(); } try { save(BRNhan.getText()); JOptionPane.showMessageDialog(rootPane,"Save done!"); } catch (IOException ex) { throw new RuntimeException(ex); } } } private void FileNhanActionPerformed(java.awt.event.ActionEvent evt) { JFileChooser ChoseFile = new JFileChooser(); FileNameExtensionFilter TextFile = new FileNameExtensionFilter("Chọn file txt","txt","TXT"); ChoseFile.setFileFilter(TextFile); ChoseFile.setMultiSelectionEnabled(false); long x = ChoseFile.showDialog(this,"Chọn File"); if( x == ChoseFile.APPROVE_OPTION ) { file = ChoseFile.getSelectedFile(); try { BMNhan.setText(Read()); } catch (IOException ex) { throw new RuntimeException(ex); } } } • Hàm mã hóa: public void MaHoa(String ChuoiVao) { // Chuyển xâu thành mã Unicode byte[] mh_temp1 = ChuoiVao.getBytes(StandardCharsets.UTF_8); String base64 = Base64.getEncoder().encodeToString(mh_temp1); 37 long[] mh_temp2 = new long[base64.length()]; for (int i = 0; i < base64.length(); i++) { mh_temp2[i] = base64.charAt(i); } // Mã hóa long[] mh_temp3 = new long[mh_temp2.length]; for (int i = 0; i < mh_temp2.length; i++) { mh_temp3[i] = BPN(mh_temp2[i], soE, soN); // mã hóa } //Chuyển sang kiểu kí tự bảng mã Unicode String str = ""; for (int i = 0; i < mh_temp3.length; i++) { str = str + (char)mh_temp3[i]; } byte[] data = str.getBytes(StandardCharsets.UTF_8); BMGui.setText(Base64.getEncoder().encodeToString(data)); } • Hàm giải mã: public void GiaiMa(String ChuoiVao) { //decode: chuyển đổi liệu từ ascii sang nhị phân byte[] gm_temp1 = Base64.getDecoder().decode(ChuoiVao); String giaima = new String(gm_temp1, StandardCharsets.UTF_8); // Chuyen xau ma Unicode long[] gm_temp2 = new long[giaima.length()]; for (int i = 0; i < giaima.length(); i++) { //b[i] = (long)giaima[i]; gm_temp2[i] = giaima.charAt(i); } //Giải mã long[] gm_temp3 = new long[gm_temp2.length]; for (int i = 0; i < gm_temp3.length; i++) { gm_temp3[i] = BPN(gm_temp2[i], soD, soN);// giải mã } // Chuyển sang kiểu kí tự bảng mã Unicode String str = ""; for (int i = 0; i < gm_temp3.length; i++) { str = str + (char)gm_temp3[i]; } byte[] data2 = Base64.getDecoder().decode(str); String gm = new String(data2, StandardCharsets.UTF_8); BRNhan.setText(gm); } 38 Chương 3: Kết luận học kinh nghiệm Kiến thức kỹ học trình thực đề tài Quá trình thực đề tài, nhóm thu kiến thức, kĩ về: • Tìm hiểu hệ mã hóa cơng khai RSA • Xây dựng chương trình mã hóa giải mã RSA • Nội dung thuật tốn áp dụng để thiết kế mã hóa, giải mã RSA • Thành thạo ngơn ngữ lập trình C# Java • Đánh giá vai trị bảo mật thơng tin, chế, sách bảo mật, kiểu cơng phương pháp phịng chống Phương pháp mã hóa RSA để đảm bảo tính an tồn, tồn vẹn liệu • Tổ chức hoạt động nhóm viết báo cáo: Bầu trưởng nhóm, phân chi cơng việc hợp lý thành viên phối hợp hoạt động nhóm Bài học kinh nghiệm Qua q trình thực đề tài, nhóm rút kinh nghiệm về: • Tổ chức hoạt động nhóm, phân cơng cơng việc, phối hợp nhóm • Quản lý cơng việc • Tự tìm hiểu kiến thức • Hiểu nắm bắt luật an tồn thơng tin • Ứng dụng kiến thức Đề xuất tính khả thi chủ đề nghiên cứu, thuận lợi, khó khăn RSA đời với mục đích bảo vệ liệu, chúng ứng dụng nhiều hoạt động đại Những ứng dụng RSA bảo mật liệu như: • Chứng thực liệu: hẳn bạn gặp tình trạng yêu cầu xác minh cách đưa số gửi email hay số điện thoại trước đăng nhập Đây phương pháp bảo mật thơng tin, liệu ứng dụng thuật tốn RSA để tránh tình trạng mạo danh, hack tài khoản gây ảnh hưởng cho người dùng xã hội Việc chứng thực giúp bảo vệ tài khoản thân người sử dụng giúp an tâm sử dụng dịch vụ trực tuyến 39 • Truyền tải liệu an tồn: tình trạng nghe lén, theo dõi hoạt động lấy cắp liệu cá nhân mạng xã hội dần trở thành mối nguy hiểm tiềm tàng cho người sử dụng Thuật tốn RSA giúp bảo vệ thơng tin truyền tải, giảm thiểu rủi ro cắp liệu • Tính bảo mật RSA phụ thuộc vào độ khó việc tính tốn số ngun lớn Những số ngun lớn, phức tạp bảo mật RSA lại cao Kích thước key định tới độ mạnh mã hóa Tăng gấp đơi độ dài key sức mạnh mã hóa tăng tăng theo nhiên điều lại khiến hiệu suất hoạt động giảm

Ngày đăng: 09/10/2023, 09:40

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w