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

52 0 0
Tài liệu đã được kiểm tra trùng lặp
đồ án 2 tìm hiểu về truyền tải và bảo mật dữ liêu lớn

Đ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

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 quá 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í

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINKHOA CÔNG NGHỆ PHẦN MỀM

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

BÁO CÁO ĐỒ ÁN 2

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

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

TP HỒ CHÍ MINH, 2023

Trang 2

LỜI MỞ ĐẦU

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 toà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 quá 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 toà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 quá 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!

Nhóm thực hiện đồ án

Trang 3

MỤC LỤC

Chương 1 MỞ ĐẦU 1

1.1 Lý do chọn đề tài 1

1.2 Mục đích chọn đề tài 1

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

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

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

Chương 2 TỔNG QUAN 3

2.1 Một số vấn đề còn tồn tại 3

2.2 Vấn đề nghiên cứu 3

Chương 3 NGHIÊN CỨU 4

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

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

3.2 Kỹ thuật trao đổi khóa Diffie-Hellman 8

3.3 Thuật toán RSA 13

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

Trang 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 Quá trình trao đổi khóa RSA 18

Trang 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

Trang 6

Chương 5 KẾT LUẬN 43

5.1 Các kết quả đạt được 43

5.2 Nhược điểm và hạn chế 43

Chương 6 HƯỚNG PHÁT TRIỂN 43

6.1 Hướng phát triển về mặt tính năng 43

6.2 Hướng phát về mặt kỉ thuật 44

Chương 7 TÀI LIỆU THAM KHẢO 44

Trang 7

DANH MỤC HÌNH

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 toán học 12

Trang 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

Trang 9

Chương 1 MỞ ĐẦU

1.1 Lý do chọn đề tài

- Đề 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 toà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

Trang 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

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

− Nghiên cứu và phân tích một số thuật toá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

− 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

1.3.2 Phạm vi nghiên cứu

− 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

Trang 11

− 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

− 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 toàn để đảm bảo tính toàn vẹn và an ninh của dữ liệu trong quá trình truyền tải

− 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 − 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

− Á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

Chương 2 TỔNG QUAN

2.1 Một số vấn đề còn tồn tại

- 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

- Quá 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 toà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

2.2 Vấn đề nghiên cứu

Trang 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 toàn vẹn trong quá 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 toà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 toà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 đó

Chương 3 NGHIÊN CỨU

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

3.1.1.1 Mật mã học

Là ngành khoa học nghiên cứu về việc đảm bảo an toàn thông tin Mật mã học gắn liền với quá 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 toàn vẹn: thông tin không thể bị thay đổi mà không bị phát hiện

Trang 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

3.1.1.2 Thám mã

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 toán

3.1.1.3 Bản rõ

"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 toá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 quá 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

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

Là những hệ mật được sử dụng chung 1 khóa trong quá 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,

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

Trang 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ã

Trang 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

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

Ở 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

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

− 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 Hoàn toàn ngẫu nhiên

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

Trang 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 toà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 toàn để chia sẻ khóa => Khả năng bị tấn công dạng tấn công người đứng giữa

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

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 quá 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

Trang 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 toàn cho lắm Trong quá 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 toá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ước 1: bản thân Bob và Alice đều tự chọn cho mình 1 màu bí mật,

không ai ngoài chính bản thân họ biết về màu đó Ngoà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 ngoài Internet là màu vàng

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

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

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ọ

Trang 18

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

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

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ả

Trang 19

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

o 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

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

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

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

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

Trang 20

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

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

Hình 7 Trao đổi khóa dưới dạng toán học

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

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

Trang 21

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

số 2 vì 6*15 cũng bằng 15*6

− Ư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 nguyên tính toá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 toá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 toán khóa chung Điều này 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

3.3 Thuật toán RSA

Trang 22

3.3.1 Khái niệm

− Mã hóa RSA chính là một thuật toá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 toá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 luôn đ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 toà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

Trang 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 toá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

3.3.2 Thủ tục sinh khóa RSA

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 toá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

Trang 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

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

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 quá 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 quá trình giải mã văn bản thuận nghịch

3.3.4 Ví dụ minh họa 3.3.4.1 Sinh khóa

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

Trang 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):

Trang 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:

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

− 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 toá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)

3.3.4.5 Quá trình trao đổi khóa RSA

− Quá 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 quá 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,

Ngày đăng: 15/05/2024, 09:29

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

Tài liệu liên quan