Tải bản đầy đủ (.pdf) (52 trang)

đồ án 2 tìm hiểu về truyền tải và bảo mật dữ liêu lớn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.2 MB, 52 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH </b>

<b>TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TINKHOA CƠNG NGHỆ PHẦN MỀM</b>

<b>NGUYỄN PHƯỚC BÌNH – 20520143 TRẦN THANH TRÍ – 20520328 </b>

<b>BÁO CÁO ĐỒ ÁN 2 </b>

<b>TÌM HIỂU VỀ TRUYỀN TẢI VÀ BẢO MẬT DỮ LIÊU LỚN. </b>

<b>GIẢNG VIÊN HƯỚNG DẪN THS. HUỲNH HỒ THỊ MỘNG TRINH </b>

<b><small>TP. HỒ CHÍ MINH, 2023 </small></b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>LỜI MỞ ĐẦU </b>

Trong thời đại số hóa ngày nay, dữ liệu lớn đóng vai trị quan trọng như một nguồn lực vô song, mang lại cơ hội lớn và đồng thời đặt ra những thách thức bảo mật không nhỏ. Đồ án này tập trung vào việc nghiên cứu và tìm hiểu về hai khía cạnh chính: bảo mật dữ liệu và truyền tải dữ liệu lớn.

Bảo mật dữ liệu ngày càng trở thành mối quan tâm hàng đầu khi mà thông tin quan trọng và nhạy cảm được chuyển đổi qua các mạng và hệ thống liên kết. Sự gia tăng về quy mô và phạm vi của dữ liệu đồng nghĩa với việc cần phải đối mặt với những rủi ro bảo mật ngày càng phức tạp. Đồ án sẽ đi sâu vào các khái niệm cơ bản và các biện pháp hiện đại nhằm bảo vệ dữ liệu trước những mối đe dọa hiện nay.

Ngoài ra, việc truyền tải dữ liệu lớn là một thách thức đối với các tổ chức và doanh nghiệp. Khả năng xử lý lượng lớn dữ liệu và đồng thời bảo đảm tính an tồn, hiệu quả và đồng bộ trong quá trình truyền tải là vấn đề đang đặt ra. Chúng ta sẽ tìm hiểu về các cơng nghệ và phương pháp mới nhất để đối mặt với thách thức này, nhằm tối ưu hóa q trình truyền tải dữ liệu lớn mà không gây mất mát thông tin và đảm bảo tính tồn vẹn của dữ liệu.

Với sự tiến bộ không ngừng của công nghệ, đồ án không chỉ là một cơ hội để nắm vững kiến thức về các vấn đề quan trọng trong lĩnh vực này mà còn là bước đi quan trọng để hiểu rõ hơn về cách chúng ta có thể tối ưu hóa việc quản lý và bảo vệ dữ liệu, đồng thời đảm bảo tính hiệu quả trong q trình truyền tải thơng tin quyết định của chúng ta.

Nhóm cũng xin gửi lời cảm ơn chân thành nhất đến cơ Huỳnh Hồ Thị Mộng Trinh vì đã hỗ trợ nhiều ý tưởng và kĩ thuật trong quá trình phát triển đồ án này.

Chúng em xin chân thành cảm ơn!

<i><b>Nhóm thực hiện đồ án. </b></i>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>MỤC LỤC </b>

<b>Chương 1. MỞ ĐẦU ... 1</b>

<b>1.1 Lý do chọn đề tài ... 1</b>

<b>1.2 Mục đích chọn đề tài ... 1</b>

<b>1.3 Đối tượng và phạm vi nghiên cứu ... 2</b>

1.3.1 Đối tượng nghiên cứu ... 2

1.3.2 Phạm vi nghiên cứu ... 2

<b>Chương 2. TỔNG QUAN ... 3</b>

<b>2.1 Một số vấn đề còn tồn tại ... 3</b>

<b>2.2 Vấn đề nghiên cứu ... 3</b>

<b>Chương 3. NGHIÊN CỨU ... 4</b>

<b>3.1 Mã hóa đối xứng và bất đối xứng ... 4</b>

3.1.1 Khái niệm cơ bản ... 4

<b>3.2 Kỹ thuật trao đổi khóa Diffie-Hellman ... 8</b>

<b>3.3 Thuật tốn RSA ... 13</b>

3.3.1 Khái niệm ... 14

3.3.2 Thủ tục sinh khóa RSA ... 15

3.3.3 Thủ tục mã hóa và giải mã ... 16

3.3.3.1 Mã hóa ... 16

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

3.3.4.4 Một số yêu cầu với quá trình sinh khóa RSA ... 18

3.3.4.5 Q trình trao đổi khóa RSA ... 18

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

4.1.1 Các câu lệnh Command Line cơ bản sử dụng SFTP ... 36

4.1.2 Cấu hình SSL/TLS (support cho FTPS) ... 36

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>Chương 5. KẾT LUẬN ... 43</b>

<b>5.1 Các kết quả đạt được ... 43</b>

<b>5.2 Nhược điểm và hạn chế ... 43</b>

<b>Chương 6. HƯỚNG PHÁT TRIỂN ... 43</b>

<b>6.1 Hướng phát triển về mặt tính năng ... 43</b>

<b>6.2 Hướng phát về mặt kỉ thuật ... 44</b>

<b>Chương 7. TÀI LIỆU THAM KHẢO ... 44</b>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>DANH MỤC HÌNH </b>

Hình 1. Hệ mật mã hóa đối xứng... 5

Hình 2 Hệ mật mã hóa bất đối xứng. ... 7

Hình 3 Bước 1 sơ đồ giao thức thỏa thuận khóa. ... 9

Hình 4 Bước 2 sơ đồ giao thức thỏa thuận khóa. ... 10

Hình 5 Bước 3 sơ đồ giao thức thỏa thuận khóa. ... 11

Hình 6 Bước 4 sơ đồ giao thức thỏa thuận khóa. ... 11

Hình 7 Trao đổi khóa dưới dạng tốn học. ... 12

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

− Trong quá trình tìm hiểu và phát triển đồ án dĩ nhiên không thể tránh khỏi những thiếu sót, nhóm cũng rất mong có thể nhận được sự đánh giá và góp ý từ các thầy cơ để có thêm kinh nghiệm trong việc nghiên cứu kiến thức của những kĩ thuật này trong tương lai.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>Chương 1. MỞ ĐẦU </b>

<b>1.1 Lý do chọn đề tài </b>

- Đề tài "Truyền Tải và Bảo Mật Dữ Liệu Lớn" là kết quả của sự quan tâm và nhận thức sâu sắc về sự quan trọng của việc bảo vệ thông tin và hiệu suất trong mơi trường số hóa ngày càng phổ biến.

- Dữ liệu lớn ngày càng trở thành tài nguyên quan trọng, đặc biệt trong bối cảnh cuộc cách mạng số. Khả năng truyền tải và bảo mật dữ liệu lớn không chỉ ảnh hưởng đến hiệu suất hệ thống mà còn đảm bảo tính tồn vẹn và an ninh của thông tin quan trọng.

- Với sự gia tăng của các mối đe dọa an ninh mạng, việc hiểu rõ về cách các giao thức và thuật toán bảo mật hoạt động là quan trọng. Điều này giúp phát triển giải pháp hiệu quả để ngăn chặn và phản ứng trước các mối đe dọa.

- Hiệu suất và an ninh thường được coi là đối lập, nhưng trong thực tế, chúng đều quan trọng. Nghiên cứu về cách làm cho quá trình truyền tải dữ liệu lớn mạnh mẽ và an toàn đồng thời đặt ra thách thức thú vị và có ý nghĩa thực tế.

- Chọn đề tài này giúp áp dụng kiến thức lý thuyết vào thực tế. Việc hiện thực các server và tạo điều kiện cho truyền tải dữ liệu lớn không chỉ là một bước nâng cao kiến thức mà còn là cơ hội để thấy rõ ứng dụng của nghiên cứu trong môi trường thực tế.

- Vấn đề bảo mật và truyền tải dữ liệu lớn là nguyên tắc cơ bản trong nhiều lĩnh vực, từ doanh nghiệp đến ngành công nghiệp và nghiên cứu. Hiểu rõ về chúng mang lại giá trị lâu dài và ứng dụng rộng rãi.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

- Hiểu rõ cách áp dụng lý thuyết vào thực tế bằng cách xây dựng và triển khai các server thực tế. Mục tiêu là tạo ra một môi trường thực nghiệm để đánh giá và kiểm tra hiệu suất và an ninh của hệ thống.

- Đánh giá và phản ánh về hiệu quả của các giải pháp bảo mật và truyền tải dữ liệu lớn trong môi trường thực tế. Mục tiêu là cung cấp thơng tin hữu ích cho cộng đồng người nghiên cứu và người quản lý hệ thống.

- Phát triển kỹ năng thực hành bằng cách thiết kế, triển khai, và quản lý các hệ thống an ninh và truyền tải dữ liệu. Mục tiêu là chuẩn bị cho việc áp dụng kiến thức trong các tình huống thực tế và tương lai.

- Góp phần vào cộng đồng nghiên cứu và công nghiệp bằng cách cung cấp thông tin chất lượng cao về cách nâng cao hiệu suất và an ninh trong truyền tải dữ liệu lớn. - Cung cấp thông tin hữu ích để hỗ trợ quyết định trong lĩnh vực quản lý và bảo mật

dữ liệu lớn cho doanh nghiệp và tổ chức.

<b>1.3 Đối tượng và phạm vi nghiên cứu 1.3.1 Đối tượng nghiên cứu </b>

<small>− </small> Nghiên cứu và phân tích một số thuật tốn và kỹ thuật mã hóa dữ liệu, trong đó có các phương pháp hiện đại như AES (Advanced Encryption Standard) và RSA (Rivest–Shamir–Adleman). Mục tiêu là hiểu rõ cách chúng hoạt động và đánh giá sức mạnh của chúng trong bối cảnh bảo mật dữ liệu lớn.

<small>− </small> Nghiên cứu quy trình xác thực an toàn trong các giao thức truyền tải dữ liệu lớn. Điều này bao gồm các bước như xác định danh, xác thực chủ thể, và tạo khóa phiên để đảm bảo rằng người dùng và hệ thống đều là đáng tin cậy.

<b>1.3.2 Phạm vi nghiên cứu </b>

<small>− </small> Phân tích chi tiết về cách các giao thức như TLS/SSL, FTP, FTPS, SFTP, và SCP thực hiện các chức năng truyền tải và bảo mật dữ liệu lớn. Nghiên cứu về các thuật toán mã hóa, chứng thực, và quản lý chính sách an ninh.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<small>− </small> Xem xét các vấn đề hiệu suất liên quan đến truyền tải dữ liệu lớn, bao gồm phân đoạn dữ liệu, quản lý đường truyền, và tối ưu hóa giao thức truyền tải để giảm thiểu thời gian và tăng cường khả năng chịu tải của hệ thống.

<small>− </small> Hiện thực các server để kết nối xác thực và bắt tay an toàn. Nghiên cứu về cách xây dựng hệ thống an tồn để đảm bảo tính tồn vẹn và an ninh của dữ liệu trong quá trình truyền tải.

<small>− </small> Thực hiện các thử nghiệm và kiểm tra để đánh giá hiệu suất của các giải pháp đề xuất trong môi trường thực tế. Điều này bao gồm việc đo lường tốc độ truyền tải, đánh giá khả năng chịu tải, và xác định điểm yếu có thể cần cải thiện. <small>− </small> Nghiên cứu về các thách thức an ninh như tấn công Man-in-the-Middle và phát

triển giải pháp để bảo vệ khỏi những mối đe dọa này. Phân tích các kỹ thuật giả mạo và phịng tránh.

<small>− </small> Áp dụng những kết quả nghiên cứu vào các tình huống thực tế và xác định cách chúng có thể có ứng dụng trong các hệ thống và doanh nghiệp.

<b>Chương 2. TỔNG QUAN </b>

<b>2.1 Một số vấn đề cịn tồn tại </b>

- Hacker và kẻ tấn cơng mạng ngày càng tinh vi trong việc xâm nhập hệ thống và đánh cắp dữ liệu quan trọng. Trong môi trường dữ liệu lớn, sự tập trung của lượng lớn thông tin tăng cường khả năng mục tiêu cho các cuộc tấn công.

- Nhân viên không chăm chỉ, sự thiếu hụt kiểm soát truy cập, và lỗi phần mềm có thể tạo điều kiện cho sự mất mát hoặc sử dụng không đúng thông tin.

- Dữ liệu lớn thường đến từ nhiều nguồn và định dạng khác nhau, điều này có thể tạo ra thách thức về hiệu suất khi truyền tải qua các mạng.

- Q trình truyền tải có thể dẫn đến mất mát thông tin, đặc biệt là khi sử dụng các phương tiện truyền thơng khơng đảm bảo tính tồn vẹn dữ liệu.

- Việc mở rộng hạ tầng để đáp ứng với lượng lớn dữ liệu đồng thời không làm suy giảm hiệu suất truyền tải là một thách thức lớn.

<b>2.2 Vấn đề nghiên cứu </b>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

- Một trong những vấn đề chính là làm thế nào để bảo vệ dữ liệu lớn trong quá trình truyền tải. Các vấn đề bảo mật bao gồm mã hóa dữ liệu, xác thực chủ thể, ngăn chặn tấn công Man-in-the-Middle, và giữ cho dữ liệu tồn vẹn trong q trình truyền tải. - Nghiên cứu về các thuật toán và kỹ thuật bảo mật hiện đại để đảm bảo an toàn cho dữ liệu. Điều này có thể bao gồm cả nghiên cứu về mã hóa mạnh mẽ, quy trình xác thực an tồn, và các biện pháp phịng ngừa tấn cơng mạng.

- Quá trình truyền tải dữ liệu lớn thường đối mặt với thách thức về hiệu suất. Nghiên cứu tìm kiếm cách tối ưu hóa quy trình truyền tải để đảm bảo tốc độ và khả năng chịu tải cao, đồng thời vẫn duy trì mức độ an tồn đủ.

- Một khía cạnh quan trọng là tích hợp giữa an ninh và hiệu suất. Làm thế nào để đạt được sự cân bằng giữa việc đảm bảo tính toàn vẹn và an ninh của dữ liệu và đồng thời không làm giảm hiệu suất truyền tải.

- Nghiên cứu xây dựng và triển khai hệ thống an toàn để kết nối và truyền tải dữ liệu lớn. Điều này bao gồm việc xác thực an toàn, tạo điều kiện cho việc kết nối an toàn, và thiết lập các cơ chế bảo mật trong hệ thống.

- Phát hiện và đối mặt với các thách thức cụ thể trong quá trình truyền tải và bảo mật dữ liệu lớn, sau đó đề xuất các giải pháp cụ thể để vượt qua những thách thức đó.

<b>Chương 3. NGHIÊN CỨU </b>

<b>3.1 Mã hóa đối xứng và bất đối xứng 3.1.1 Khái niệm cơ bản </b>

<b>3.1.1.1 Mật mã học </b>

Là ngành khoa học nghiên cứu về việc đảm bảo an tồn thơng tin. Mật mã học gắn liền với q trình mã hóa nghĩa là chuyển đổi thơng tin từ dạng “có thể hiểu được” thành dạng “khơng thể hiểu được” và ngược lại là quá trình giải mã. Cryptography giúp đảm bảo những tính chất sau cho thơng tin:

− Tính bí mật: thơng tin chỉ được tiết lộ cho những ai có quyền được tiếp cận

− Tính tồn vẹn: thơng tin khơng thể bị thay đổi mà không bị phát hiện.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

− Tính xác thực: người gửi (hoặc người nhận) có thể chứng minh đúng họ. − Tính chống chối bỏ: người gửi hoặc nhận sau này không thể chối bỏ việc

đã gửi hoặc nhận thông tin.

<b>3.1.1.2 Thám mã </b>

Nghiên cứu cách phá các hệ mật nhằm phục hồi bản rõ ban đầu từ bản mã, nghiên cứu các nguyên lí và phương pháp giải mã mà khơng biết khóa. Có 3 phương pháp tấn công cơ bản của thám mã:

− Tìm khóa vét cạn. − Phân tích thống kê. − Phân tích tốn.

<b>3.1.1.3 Bản rõ </b>

"Bản rõ" trong mật mã học (ciphertext) là thông tin hoặc dữ liệu ban đầu sau khi đã được mã hóa hoặc mã hóa bởi thuật tốn mật mã. Bản rõ là dữ liệu mà bạn muốn bảo vệ hoặc giữ bí mật và được biến đổi thành dạng mã hóa (bản mã) để ngăn ngừa người khơng có quyền truy cập đọc hoặc hiểu nó. Trong q trình mã hóa, một khóa (key) có thể được sử dụng để thực hiện biến đổi này.

<b>3.1.2 Hệ mật mã hóa đối xứng </b>

Là những hệ mật được sử dụng chung 1 khóa trong q trình mã hóa và mã hóa. Do đó khóa phải được giữ bí mật tuyện đối. Một số hệ mật mã khóa đối xứng hiện đại mà mình thấy hay được sử dụng là DES, AES, RC4, RC5,...

<i>Hình 1. Hệ mật mã hóa đối xứng. </i>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

− Hệ mật sẽ bao gồm:

o Bản rõ (plaintext-M): bản tin được sinh ra bởi bên gửi

o Bản mật (ciphertext-C): bản tin che giấu thông tin của bản rõ, được gửi tới bên nhận qua một kênh khơng bí mật

o Khóa (Ks): nó là giá trị ngẫu nhiên và bí mật được chia sẻ giữa các bên trao đổi thông tin và được tạo ra từ:

▪ Bên thứ 3 được tin cậy tạo và phân phối tới bên gửi và bên nhận

▪ Hoặc, bên gửi tạo ra và chuyển cho bên nhận o Mã hóa (encrypt-E): C = E(KS, M)

o Giải mã (decrypt): M = D(KS, C) = D(KS, E(KS, M)) − Cơ chế hoạt động:

o Người gửi sử dụng khóa chung (Ks) để mã hóa thơng tin rồi gửi cho nguời nhận.

o Người nhận nhận được thông tin đó sẽ dùng chính khóa chung (Ks) để giải mã.

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

Và để khắc phục những nhược điểm đó thì hệ mật mã khóa bất đối xứng (hay cịn gọi là hệ mật mã khóa cơng khai) đã ra đời

<b>3.1.3 Hệ mật mã hóa bất đối xứng </b>

Ở hệ mật này thay vì nguời dùng dùng chung 1 khóa như ở hệ mật mã khóa đối xứng thì ở đây sẽ dùng 1 cặp khóa có tên là public key và private key. Hệ mật mã khóa bất đối xứng mình thấy được dùng nhiều nhất là RSA.

<i>Hình 2 Hệ mật mã hóa bất đối xứng. </i>

− Hệ mật sẽ bao gồm:

o Bản rõ (plaintext-M): bản tin được sinh ra bởi bên gửi

o Bản mật (ciphertext-C): bản tin che giấu thông tin của bản rõ, được gửi tới bên nhận qua một kênh khơng bí mật

o Khóa: Bên nhận có 1 cặp khóa:

▪ Khóa cơng khai (Kub) : công bố cho tất cả mọi người biết (kể cả hacker)

▪ Khóa riêng (Krb) : bên nhận giữ bí mật, khơng chia sẻ cho bất kỳ ai

o Mã hóa (encrypt-E): C = E(Kub, M)

o Giải mã (decrypt): M = D(Krb, C) = D(Krb, E(Kub, M)) − Yêu cầu đối với cặp khóa (Kub, Krb) là:

o Hồn tồn ngẫu nhiên

o Có quan hệ về mặt tốn học 1-1.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

o Nếu chỉ có giá trị của Kub khơng thể tính được Krb. o Krb phải được giữ mật hoàn toàn.

− Cơ chế hoạt động:

o Người gửi(A) gửi thông tin đã được mã hóa bằng khóa công khai (Kub) của người nhận(B) thông qua kênh truyền tin khơng bí mật o Người nhận(B) nhận được thơng tin đó sẽ giải mã bằng khóa riêng

(Krb) của mình.

o Hacker cũng sẽ biết khóa cơng khai (Kub) của B tuy nhiên do khơng có khóa riêng (Krb) nên Hacker khơng thể xem được thơng tin gửi − Ưu điểm

o Không cần chia sẻ khóa mã hóa(khóa cơng khai) một cách bí mật => Dễ dàng ứng dụng trong các hệ thống mở.

o Khóa giải mã(khóa riêng) chỉ có B biết => An tồn hơn, có thể xác thực nguồn gốc thông tin

o n phần tử chỉ cần n cặp khóa. − Nhược điểm

o Chưa có kênh an tồn để chia sẻ khóa => Khả năng bị tấn công dạng tấn công người đứng giữa

<b>3.2 Kỹ thuật trao đổi khóa Diffie-Hellman </b>

Cả hai loại hệ mật đối xứng và bất đối xứng đều có những ưu - nhược điểm riêng, và các hệ mật thuộc một trong hai nhóm trên đều có chỗ đứng riêng của chúng. Với hệ mật khóa đối xứng, do sử dụng cùng một khóa cho cả hai q trình giải mã / mã hóa, nên các hệ mật thuộc nhóm này có tốc độ mã hóa / giải mã nhanh, dễ cài đặt. Tuy nhiên việc này cũng tạo ra một vấn đề, đó là làm sao để giữ bí mật khóa chung.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

Để hai người có thể cùng sở hữu khóa chung, họ bắt buộc phải trao đổi và thỏa thuận với nhau. Ngày nay, công đoạn này chủ yếu diễn ra trên môi trường mạng Internet công cộng - nơi không được an tồn cho lắm. Trong q trình thỏa thuận và trao đổi khóa, có khả năng khóa chung (khóa bí mật) sẽ bị các kẻ xấu lấy được. Nhờ thế các thông điệp do 2 bên trao đổi với nhau, cũng sẽ bị kẻ này dễ dàng giải mã và đọc được.

Giao thức trao đổi khóa Diffie-Hellman được sử dụng để khắc phục nhược điểm trên của các hệ mật khóa đối xứng. Bằng cách cung cấp một quy trình kết hợp với việc sử dụng các bài tốn khó, giao thức cho phép 2 bên thỏa thuận và xác định khóa chung mà khơng cần truyền khóa qua mơi trường mạng Internet.

− Cụ thể giao thức Diffie-Hellman hoạt động thế nào thì chúng ta sẽ cùng xem ví dụ sau, vẫn là câu chuyện về Bob và Alice, nhưng lần này họ sẽ chơi trò "pha màu".

o <b>Bước 1: bản thân Bob và Alice đều tự chọn cho mình 1 màu bí mật, </b>

khơng ai ngồi chính bản thân họ biết về màu đó. Ngồi mơi trường mạng Internet cơng khai thì có sẵn 1 màu, cơng khai, và ai cũng biết màu đó là gì. Ở đây, Alice chọn cho mình màu đỏ, Bob chọn màu xanh lá, cịn màu cơng khai ngồi Internet là màu vàng.

<i>Hình 3 Bước 1 sơ đồ giao thức thỏa thuận khóa. </i>

o <b>Bước 2: Alice và Bob sẽ trộn màu bí mật của họ với màu cơng khai </b>

thì sẽ ra màu mới màu này được cơng khai nhưng nó khơng thể truy vấn ngược về màu bí mật của họ.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<i>Hình 4 Bước 2 sơ đồ giao thức thỏa thuận khóa. </i>

o <b>Bước 3: Giờ thì Bob và Alice đã sẵn sàng cho việc thỏa thuận khóa. </b>

Họ sẽ gửi màu vừa trộn được ở Bước 2 cho nhau qua môi trường Internet. Tất nhiên giờ kẻ xấu cũng có thể nhận được 2 màu mới này, nhưng chẳng sao cả.

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<i>Hình 5 Bước 3 sơ đồ giao thức thỏa thuận khóa. </i>

o <b>Bước 4: Mỗi người sẽ trộn màu bí mật từ đầu của mình, với màu vừa </b>

nhận được. Và màu trộn ra cuối cùng này chính là màu chung của cả hai.

<i>Hình 6 Bước 4 sơ đồ giao thức thỏa thuận khóa. </i>

− Giao thức được diễn giải dưới dạng toán học như sau: Giao thức sử

<i>dụng nhóm nhân số nguyên modulo p, trong đó p số nguyên tố, và g là căn </i>

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<i>nguyên thủy mod p. Trong ví dụ dưới đây, giá trị khơng bí mật được viết </i>

<i><b>bằng chữ nghiêng, và giá trị bí mật viết bằng chữ đậm: </b></i>

<i>Hình 7 Trao đổi khóa dưới dạng tốn học. </i>

<i>1. Alice và Bob thỏa thuận sử dụng chung một số nguyên tố p=23 và căn nguyên thủy g=5. </i>

<i><b>2. Alice chọn một số nguyên bí mật a=6, và gửi cho Bob giá </b></i>

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

6. Như vậy Alice và Bob cùng chia sẻ bí mật chung là

<b>số 2 vì 6*15 cũng bằng 15*6. </b>

− Ưu điểm

có thể trao đổi khóa mà khơng cần gửi chúng qua mạng. Điều này làm cho nó rất hiệu quả trong việc bảo vệ tính bí mật của khóa.

sát (Diffie-Hellman problem) mà khơng dễ dàng giải quyết ngay cả khi biết các thơng tin khóa cơng khai. Điều này làm cho việc tìm ra khóa chung trên cơ sở thơng tin khóa cơng khai trở nên khó khăn.

địi hỏi nhiều tài ngun tính tốn và là một phương pháp trao đổi khóa hiệu quả.

− Nhược điểm

có thể xảy ra khi một bên giả mạo và chuyển tiếp thông tin giữa hai bên để họ có thể tính tốn và sử dụng khóa chung. Để đối phó với vấn đề này, cần sử dụng kỹ thuật chứng thực hoặc bảo mật bổ sung.

khai: Nếu một tấn cơng viên có thể thu thập đủ lượng lưu lượng giao tiếp và có sẵn các khóa cơng khai, họ có thể thử thám nhập và tính tốn khóa chung. Điều này u cầu bảo vệ bản mã trước những tấn cơng này.

tính của các bên giao tiếp. Nó chỉ giúp trao đổi khóa chung. Điều này có nghĩa rằng một đối tượng xác thực thất bại có thể tham gia vào trao đổi.

<b>3.3 Thuật toán RSA </b>

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<b>3.3.1 Khái niệm </b>

− Mã hóa RSA chính là một thuật tốn hay cịn gọi là hệ mã hóa bất đối xứng có pháp vi ứng dụng rộng rãi và phổ biến. đặc biệt người ta sử dụng RSA rất nhiều ở công tác mã hóa, thiết lập chữ ký điện tử, với vai trị là một mã hóa khóa cơng khai. Bất cứ ai cũng có thể dùng khóa cơng khai để có thể mã hóa được nguồn dữ liệu muốn gửi đi thế nhưng để giải mã được dữ liệu gửi đi đó thì buộc phải có sự hỗ trợ của khóa bí mật.

− Hoạt động gửi và nhận sẽ được can thiệp bởi RSA vì bản thân nó chứa 2 khóa là khóa cơng khai và khóa bí mật để làm 2 nhiệm vụ bất đối xứng và mã hóa và giải mã. Điều này cũng tương tự như cơ chế đóng khóa và mở khóa cửa vậy nhưng tất nhiên RSA sẽ phức tạp hơn rất nhiều bởi nó là một thuật tốn. Việc mã hóa để bảo mật thông tin nhưng gây bất lợi cho người nhận khi không thể giải mã được các giá trị thông tin đã được mã hóa, chính vì thế mà cần đến yếu tố khóa bí mật ln đi kèm với việc mã hóa, và khóa bí mật này cũng chỉ có ở người nhận thơng tin đã mã hóa được gửi tới họ thông qua RSA.

− Ưu điểm

RSA cung cấp mức độ bảo mật tương đối cao, chẳng hạn như khóa 2048-bit hoặc 3072-bit.

riêng tư và khóa cơng khai riêng biệt, đảm bảo tính an tồn của thơng tin truyền qua mạng.

(public key) có thể được chia sẻ công khai mà không gây ra nguy cơ bảo mật.

tính thơng qua việc ký điện tử bằng khóa riêng tư, đảm bảo nguồn gốc của thông tin.

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

o Sử dụng rộng rãi: RSA được sử dụng rộng rãi trong các ứng dụng bảo mật như mã hóa dữ liệu, xác thực, và chữ ký số.

− Nhược điểm

gian tính tốn so với các thuật toán mật mã học đối xứng như AES. Điều này khiến nó khơng phù hợp cho các ứng dụng yêu cầu tốc độ cao.

thước lớn, điều này làm tăng tải trọng lưu trữ và truyền tải.

pháp tấn cơng có thể dùng để tìm thứ tự của n trong khoảng từ 1 đến n, dẫn đến việc tìm ra khóa riêng tư d.

dụng cơ chế xác thực danh tính thích hợp, RSA có thể bị tấn cơng MITM.

hóa khóa đối xứng như AES, thay vì mã hóa dữ liệu lớn trực tiếp.

<b>3.3.2 Thủ tục sinh khóa RSA </b>

1. Chọn hai số nguyên tố lớn: Chọn hai số nguyên tố lớn, thường được ký hiệu là p và q. Các số nguyên tố này sẽ được sử dụng để tính tốn n (modulo) và số lượng ước chung (totient) của n.

2. Tính n và totient (φ): 3. Tính n = p * q.

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

7. Khóa cơng khai (Public Key): Khóa cơng khai bao gồm cặp (n, e) và thường được phân phối rộng rãi cho người khác có thể mã hóa thơng tin gửi cho bạn. 8. Khóa riêng tư (Private Key): Khóa riêng tư bao gồm số nguyên (n, d) và thường được giữ bí mật. Nó sẽ được sử dụng để giải mã thông tin đã được mã hóa bằng khóa cơng khai.

9. Kết quả: Cặp khóa RSA gồm khóa cơng khai (n, e) và khóa riêng tư (n, d) sẽ được sử dụng để mã hóa và giải mã thơng tin.

<b>3.3.3 Thủ tục mã hóa và giải mã 3.3.3.1 Mã hóa </b>

1. Người gửi sử dụng khóa cơng khai (n, e) của người nhận để mã hóa thơng điệp. Thơng điệp cần phải được biểu diễn dưới dạng số nguyên (thường thông qua một q trình gọi là mã hóa văn bản thuận nghịch).

2. Người gửi tính số nguyên c (ciphertext) bằng c = (m^e) % n, trong đó m là thông điệp đã được biểu diễn dưới dạng số nguyên.

3. Người gửi gửi c cho người nhận.

3. Người nhận chuyển đổi số nguyên m thành thơng điệp gốc thơng qua q trình giải mã văn bản thuận nghịch.

<b>3.3.4 Ví dụ minh họa 3.3.4.1 Sinh khóa </b>

1. Chọn p và q: o p = 3 o q = 11

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

2. Tính n và totient (φ):

o Tính n = p * q = 3 * 11 = 33

o Tính totient (φ) = (p - 1) * (q - 1) = (3 - 1) * (11 - 1) = 2 * 10 = 20 3. Chọn số nguyên e (Public Exponent):

o Chọn e sao cho 1 < e < φ và gcd(e, φ) = 1. Ví dụ, chúng ta có thể chọn e = 7.

4. Tìm số nguyên d (Private Exponent):

3.

5. Khóa cơng khai (Public Key):

6. Khóa riêng tư (Private Key):

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

2. Bob sử dụng khóa riêng tư của mình (n, d) để giải mã thơng điệp. Tính m = (c^d) % n:

<b>3.3.4.4 Một số yêu cầu với q trình sinh khóa RSA </b>

− Các số nguyên tố p và q phải được chọn sao cho việc phân tích n (n = pq) là khơng khả thi về mặt tính tốn.

− p và q nên có cùng độ lớn (tính bằng bit) và phải là các số đủ lớn. − Hiệu số p – q không nên quá nhỏ.

− Không nên sử dụng số mũ mã hóa (e) nhỏ. Khi sử dụng e nhỏ có thể tăng tốc độ mã hóa, tuy nhiên đồng nghĩa với nó là chi phí cho việc phân tích vét cạn là khơng lớn => Kẻ tấn cơng có thể nghe trộm và lấy được bản mã.

− Không nên sử dụng số mũ giải mã (d) nhỏ. Khi sử dụng d nhỏ có thể tăng tốc độ giải mã, tuy nhiên nếu d nhỏ và gcd(p-1, q-1) (gcd: ước số chung lớn nhất) cũng nhỏ thì d có thể tính được tương đối dễ dàng từ khóa cơng khai (n, e).

<b>3.3.4.5 Q trình trao đổi khóa RSA </b>

− Q trình trao đổi khóa trong hệ thống RSA thường sử dụng cả hai loại khóa: khóa cơng khai và khóa bí mật. Dưới đây là mô tả về cách thức hoạt động của q trình trao đổi khóa RSA:

1. Khởi tạo cặp khóa: Trước hết, hai bên (thường gọi là Alice và Bob) cần tạo cặp khóa RSA. Cặp khóa này gồm khóa cơng khai và khóa bí mật. Alice sẽ giữ lại khóa bí mật của mình và chia sẻ khóa cơng khai với Bob,

</div>

×