Mã hóa trong truyền tải và bảo mật dữ liệu lớn

MỤC LỤC

NGHIÊN CỨU

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

    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. - 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ả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ó.

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

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

    Để 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ò. 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.

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

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

    Thuật toán RSA

    • Thủ tục mã hóa và giải mã .1 Mã hóa
      • Ví dụ minh họa .1 Sinh khóa

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

        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. 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). Người nhận tính số nguyên m (plaintext) bằng m = (c^d) % n, trong đó c là ciphertext và n là thành phần modulus đã được sử dụng trong quá trình mã hóa.

        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ã. Trong quá trình này, dữ liệu đã mã hóa có thể trôi qua một số nguy cơ, nhưng nó sẽ không thể giải mã được nếu không có khóa bí mật của Bob. − Quá trình này đảm bảo rằng dữ liệu gửi đi có thể được bảo vệ và không thể bị đánh cắp dễ dàng trong quá trình truyền tải.

        Khóa công khai có thể chia sẻ công khai mà không gây nguy cơ cho tính bảo mật, trong khi khóa bí mật phải được bảo vệ cẩn thận.

        Các giao thức sử dụng .1 TLS/SSL

        • FTPS

          − Đặc tính kết nối riêng tư: mã hoá đối xứng được sử dụng để mã hoá dữ liệu (mã hoá AES..) Các khoá để mã hoá đối xứng được sinh ra cho mỗi lần kết nối và được thoả thuận bí mật của giao thức khác (ví dụ TLS). − Ngoài ra giao thức TLS còn được sử dụng để phân mảnh, nén, đóng gói, mã hoá dữ liệu, cho phép máy chủ xác nhận nhau và thoả thuận thuật toán mã hoá. Giao thức này được thay thế cho trình Telnet không có mã hóa, kết hợp sử dụng thêm kỹ thuật Cryptographic để đảm bảo tất cả hoạt động của Server từ xa đều diễn ra trong tình trạng mã hóa.

          Giao thức này được thay thế cho trình Telnet không có mã hóa, kết hợp sử dụng thêm kỹ thuật Cryptographic để đảm bảo tất cả hoạt động của Server từ xa đều diễn ra trong tình trạng mã hóa. Client sẽ sử dụng con số được giải mã kết hợp với shared session key đang được sử dụng để giao tiếp và sử dụng MD5 để tính toán giá trị băm cho chúng. − Đăng nhập từ xa: SSH cho phép người dùng đăng nhập và quản lý các thiết bị từ xa, bảo vệ thông tin đăng nhập và truyền dữ liệu qua mạng một cách an toàn.

          − SSH Asymmetric Encryption là một phương thức mã hóa không đối xứng được sử dụng trong giao thức SSH để bảo vệ đăng nhập và xác thực người dùng. Đặc biệt, nếu bạn đang làm việc với các thông tin nhạy cảm, như thông tin tài khoản ngân hàng hoặc thông tin đăng nhập của khách hàng, sử dụng SSH là rất quan trọng để đảm bảo tính bảo mật của dữ liệu. − Đăng nhập vào máy chủ web: Khi bạn cần truy cập vào máy chủ web để quản lý hoặc cập nhật các file của trang web, SSH cung cấp một phương thức an toàn để truy cập vào máy chủ.

          FTP (viết tắt của File Transfer Protocol – Giao thức chuyển nhượng tập tin ): Đây là một giao thức truyền tải tập tin từ một máy tính đến máy tính khác (thường là máy tính cá nhân và server) thông qua một mạng TCP hoặc qua mạng Internet. − Data Connection: Khác với tiến trình Control Connection, Data Connection là một kết nối dữ liệu TCP được tạo ra với mục đích chuyên biệt là truyền tải dữ liệu giữa máy Client và máy Server. SCP sử dụng cơ chế mã hóa đối với cả thông tin xác thực và dữ liệu truyền tải, làm tăng cường bảo mật trong quá trình sao chép tệp tin hoặc thư mục giữa các máy tính.

          Hình 8 Cấu trúc giao thức SSL
          Hình 8 Cấu trúc giao thức SSL

          CÁCH THỰC HIỆN 4.1 Giao thức FTPS

            Vì SFTP sử dụng SSH (Secure Shell) để thiết lập kết nối an toàn và mã hóa dữ liệu truyền tải nên chúng ta có thể xây dựng remote host ở một máy tính khác và xem như là một server SFTP. RSA là một trong những thuật toán phổ biến được sử dụng để tạo ra cặp khóa công khai và riêng tư trong hệ thống mã hóa khóa công khai. Sau khi bạn nhập các thông tin này, ssh-keygen sẽ tạo ra hai tệp: một cho khóa công khai (với phần mở rộng .pub) và một cho khóa riêng tư.

            ▪ >> ~/.ssh/authorized_keys: Phần này sử dụng toán tử >> để chuyển hướng đầu ra của lệnh echo vào cuối tệp authorized_keys. ▪ Ý nghĩa của lệnh này là chỉ chủ sở hữu của tệp authorized_keys (thường là người dùng) có quyền đọc và ghi, trong khi mọi người khác không có quyền nào. ▪ Ý nghĩa của lệnh này là chỉ chủ sở hữu của thư mục .ssh có quyền đọc, ghi và thực thi, trong khi mọi người khác không có quyền nào.

            Xong quá trình xác thực thì cả hai bên sẽ sử dụng cặp key của nhau để xác định sesion key cho việc mã hóa dữ liệu trong việc truyền dữ liệu ở những bước tiếp theo. − Tải một thư mục từ máy chủ về máy local (sử dụng -r cho recursive): scp -r [username@]host:remote_directory_path local_directory_path. − Đẩy một thư mục từ máy local lên máy chủ (sử dụng -r cho recursive): scp - r local_directory_path [username@]host:remote_directory_path.

            Vì SCP sử dụng SSH (Secure Shell) để thiết lập kết nối an toàn và mã hóa dữ liệu truyền tải nên các bước cấu hình giống như bên giao thức SFTP đã trình bày ở mục 4.2.2.

            Hình 14 Cấu hình FTPS (1)
            Hình 14 Cấu hình FTPS (1)

            HƯỚNG PHÁT TRIỂN

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

            − Sử dụng machine learning để phân tích dữ liệu và dự đoán các rủi ro an ninh, cũng như tối ưu hóa hiệu suất.