banner-news

Trong bài này

    Mã hóa là gì? Ví dụ, phân loại và cách hoạt động mã hóa

    25/11/2023

    Cùng với sự bùng nổ của Internet, việc chia sẻ và trao đổi thông tin dữ liệu ngày càng dễ dàng và nhanh chóng hơn. Tuy nhiên, điều này cũng gây ra nhiều rủi ro như bị đánh cắp thông tin, bị xâm nhập từ hacker. Do đó, mã hóa đã được ra đời để giải quyết vấn đề này. Vậy, mã hóa là gì? Có các loại mã hóa cơ bản nào? Cùng tìm hiểu qua bài viết bên dưới.

    Mã hóa là gì? Cách hoạt động của mã hóa

    Mã hóa là gì

    Mã hóa được hiểu đơn giản là việc xáo trộn các thông tin dữ liệu để không ai có thể đọc được chúng ngoại trừ các bộ phận được ủy quyền. Các bộ phận này được trang bị sẵn các công cụ giải mã để có thể đọc hiểu được thông tin. 

    Xét về mặt kỹ thuật, mã hóa là việc chuyển đổi các đoạn văn bản thành những cấu trúc mà con người có thể đọc được nhưng không thể hiểu nội dung của chúng là gì. Cấu trúc này được gọi là bản mã. Để mã hóa dữ liệu, chúng ta cần sử dụng một công cụ có tên là khóa mật mã. Đây là một tập hợp các giá trị mà cả người gửi lẫn người nhận đều biết. 

    Cụ thể, khóa mật mã (Cryptographic Key) là một chuỗi các ký tự chạy trong thuật toán mã hóa, cho phép thay đổi và xáo trộn dữ liệu để chúng hiển thị một cách ngẫu nhiên. Chỉ người nhận có khóa mới có thể mở khóa, giải mã thông tin dữ liệu này.

    Mục đích chính của mã hóa là giúp bảo vệ các thông tin dữ liệu được lưu trong máy tính hoặc các dữ liệu được trao đổi qua Internet hoặc qua bất kỳ mạng máy tính nào khác. 

    Ngoài việc đảm bảo bảo mật, việc áp dụng mã hóa cũng nhằm đáp ứng các quy định cần tuân thủ của các tổ chức hoặc chứng chỉ. Một số tổ chức khuyến khích mã hóa các dữ liệu quan trọng để tránh việc bị xâm nhập trái phép từ bên thứ ba hoặc các vấn đề rủi ro khác cho dữ liệu.

    Ví dụ: Tiêu chuẩn bảo mật về thanh toán PCI DSS yêu cầu người bán phải mã hóa các dữ liệu thanh toán của khách hàng như thẻ tín dụng khi lưu trữ và khi truyền tải thông tin trên các mạng công cộng (Public Network).

    Thuật toán mã hóa là gì

    Thuật toán mã hóa là cách dữ liệu được chuyển thành bản mã. Trong đó, các mật khẩu được thuận toán ứng dụng vào thay đổi dữ liệu một cách nhất quán, giúp đảm bảo thông tin dữ liệu bị xáo trộn trông có vẻ ngẫu nhiên, nhưng chúng có thể được giải mã dễ dàng thành thông tin ban đầu dựa vào khóa mật mã. Một số thuật toán mã hóa phổ biến gồm SNOW, AES, 3DES, RSA hoặc Elliptic.

    Với thuật toán mã hóa bất đối xứng RSA, chúng sử dụng các phép tính thừa số nguyên tố. Do đó, việc bẻ khóa các thuật toán mã hóa này khá phức tạp, vì hacker phải xác định các số nguyên ban đầu. Đây là điều không hề dễ dàng. Việc bẻ khóa bằng cách đoán ngẫu nhiên (Brute Force) gần như là điều không thể đối với thuật toán RSA.

    Thuật toán mã hóa là gì?

    Cách hoạt động của mã hóa

    Như đã trình bày, mã hóa sử dụng thuật toán mã hóa và khóa mật mã để thay đổi dữ liệu và giải mã dữ liệu. Ví dụ, khi người dùng A gửi tin nhắn “Hello” cho người dùng B, nhưng thay vì viết văn bản như vậy thì người dùng A thay đổi các ký tự thành ký tự đứng thứ 2 đằng sau nó trong bảng chữ cái. Lúc này, “Hello” được đổi thành “Jgnnq”. Người dùng B có khóa mật mã nên B biết cần đổi các ký tự này thành ký tự đứng thứ 2 trước nó và giải mã ngược lại thành “Hello”.

    Như ví dụ trên, người dùng A đã sử dụng một thuật toán mã hóa khá đơn giản khi gửi thông tin dữ liệu cho người dùng B. Đây chỉ là một ví dụ minh họa đơn giản, nhiều công nghệ mã hóa sử dụng các thuật toán rất phức tạp, đảm bảo bảo vệ tốt cho thông tin dữ liệu.

    Mặc dù dữ liệu sau khi được mã hóa sẽ xáo trộn ngẫu nhiên, nhưng chúng được thực hiện theo một phương pháp nhất định có thể giải mã được bằng khóa mật mã. Các dữ liệu này có thể được mã hóa khi đang lưu trữ hoặc khi đang được gửi đi trong môi trường Internet.

    Tại sao mã hóa quan trọng

    • Đảm bảo quyền riêng tư dữ liệu: Thuật toán mã hóa giúp bảo vệ dữ liệu, không cho phép bất kỳ ai có thể đọc được nội dung của thông tin đó. Điều này giúp tránh được nguy cơ bị tấn công bởi tin tặc hoặc chặn các nhà quảng cáo, nhà cung cấp dịch vụ Internet đọc một số thông tin quan trọng của doanh nghiệp.
    • Bảo vệ dữ liệu: Mã hóa giúp bảo vệ tốt dữ liệu cả ở trạng thái nghỉ trong kho lưu trữ lẫn trạng thái đang được truyền tải trong môi trường Internet. Nếu một thiết bị của doanh nghiệp bị đánh cắp, nhưng dữ liệu trong đó được mã hóa đúng cách thì các dữ liệu vẫn được bảo mật tốt. Ngoài ra, mã hóa giúp bảo vệ tốt dữ liệu quan trọng khi đang trao đổi, giảm tình trạng rò rỉ thông tin dữ liệu.
    • Xác thực: Với bộ khóa mật mã được cấp riêng cho từng thiết bị giúp xác thực danh tính hiệu quả, tránh việc bị đánh cắp dữ liệu từ các bên không rõ nguồn gốc.
    • Quy định của các tiêu chuẩn hoặc một số tổ chức: Nhờ vào các đặc tính quan trọng trên, mã hóa được xem như là yêu cầu cơ bản cho các chứng chỉ bảo mật hoặc nằm trong quy định của ngành nghề do Chính phủ đưa ra. Ví dụ, các chứng chỉ như PCI DSS, GDPR hoặc HIPAA đều yêu cầu dữ liệu phải được mã hóa.

    Phân loại mã hóa

    Có rất nhiều loại mã hóa khác nhau với các mức độ bảo mật và ưu nhược điểm riêng. Nhưng trong bài viết này, chúng tôi đề cập đến 4 phương pháp mã hóa chính, bao gồm:

    Mã hóa đối xứng (Symmetric Key Encryption)

    Trước khi hiểu về mã hóa đối xứng, doanh nghiệp cần hiểu về cơ chế mã hóa có dùng đến khóa (hay còn gọi là “key”). Đây là điểm mấu chốt trong việc mã hóa dữ liệu và giải mã.

    Key trong mã hóa dữ liệu cũng giống như chìa khóa cửa nhà mà bạn hay dùng. Nếu bạn đã khóa cửa, bạn cần phải có chìa khóa để mở. Nếu không, bạn phải phá cửa hoặc nhờ thợ sửa khóa hỗ trợ. Mỗi một ổ khóa trên thế giới này là riêng biệt, chỉ chìa khóa của chính nó mới mở được, và key trong mã hóa dữ liệu cũng vậy.

    Tìm hiểu về mã hóa đối xứng

    Trong công nghệ mã hóa đối xứng, vì key để mã hóa và giải mã là giống nhau nên chúng mới có tên là “đối xứng”. Đây được xem là một trong những cách mã hóa phổ biến nhất hiện nay, với quy trình như sau:

    1. Sử dụng thuật toán mã hóa và key để mã hóa các tập tin dữ liệu.
    2. Gửi key giải mã dữ liệu cho người nhận (có thể là trước hoặc sau quá trình mã hóa dữ liệu).
    3. Khi nhận tập tin, người nhận sẽ dùng key để giải mã dữ liệu và đọc thông tin dữ liệu gốc.

    Tuy nhiên, trong mã hóa đối xứng, điều quan trọng là làm sao để gửi key giải mã an toàn cho người nhận. Vì nếu hacker xâm nhập và lấy cắp được key này thì việc mã hóa dữ liệu trở nên vô nghĩa.

    Hiện nay, nhiều người đã sử dụng mật khẩu cho các key. Các thuật toán mã hóa đối xứng phổ biến hiện nay là AES hoặc DES.

    Mã hóa bất đối xứng (Public Key Encryption)

    Với phương pháp mã hóa bất đối xứng, khóa mã hóa dữ liệu và khóa giải mã không hề giống nhau. Để phân biệt giữa 2 khóa, chúng ta gọi khóa mã hóa là Public Key, còn khóa giải mã thông tin dữ liệu là Private Key.

    Như tên gọi, Public Key là loại công cộng, có thể cung cấp cho bất kỳ đối tượng nào sử dụng để mã hóa dữ liệu. Tuy nhiên, chỉ những ai có Private Key mới có thể giải mã dữ liệu về dữ liệu gốc để đọc và hiểu nội dung. 

    Quy trình mã hóa bất đối xứng gồm các bước:

    1. Người nhận dữ liệu tạo ra một cặp Private Key và Public Key. Họ sẽ giữ Private Key bí mật cho riêng mình, không tiết lộ ra ngoài. Còn về Public Key, họ sẽ gửi cho những ai muốn gửi dữ liệu, thông qua Email, USB,... hoặc là gửi trực tiếp lên Internet.
    2. Người gửi sử dụng Public Key nhận được để mã hóa dữ liệu, sau đó gửi tập tin đã được mã hóa tới người nhận.
    3. Người nhận sử dụng Private Key để giải mã dữ liệu và đọc thông tin mình cần.

    Tuy nhiên, nhược điểm của phương pháp mã hóa bất đối xứng là tốc độ giải mã dữ liệu khá chậm, chúng cũng làm tiêu tốn nhiều bộ nhớ và khả năng tính toán của CPU, nên chi phí cao hơn. Thời gian giải mã dữ liệu là bao lâu sẽ phụ thuộc vào thuật toán, cách thức mã hóa và Key giải mã.

    Vì những nhược điểm trên nên mã hóa bất đối xứng hiện nay ít khi được sử dụng để mã hóa cả một tập tin. Thay vào đó, phương pháp này thường dùng để bảo vệ Key giải mã của phương pháp mã hóa đối xứng. Điều này giúp tiết kiệm tài nguyên và thời gian hơn. Thuật toán mã hóa bất đối xứng phổ biến hiện nay là RSA.

    Mã hóa cổ điển

    Đây là một trong các phương pháp mã hóa cơ bản và lâu đời nhất, không cần sử dụng đến các khóa mật mã. Với phương pháp này, chỉ cần người nhận và người gửi đều biết thuật toán giải mã là được.

    Tuy nhiên, hiện nay phương pháp này được xem là không an toàn, vì hacker có thể dễ dàng lấy cắp thông tin khi biết được thuật toán, hoặc chỉ đơn giản thông qua việc đoán thuật toán. Do đó, rất ít doanh nghiệp, tổ chức sử dụng phương pháp mã hóa này.

    Mã hóa một chiều 

    Đây là phương pháp mã hóa phù hợp cho các tập tin không cần dịch lại thành phiên bản gốc. Ví dụ, khi đăng nhập vào một Website nào đó, mật khẩu bạn cung cấp sẽ được đổi thành một chuỗi các ký tự Hash Function. Trong cơ sở dữ liệu của Website sẽ lưu lại thông tin chuỗi ký tự này chứ không phải lưu mật khẩu của bạn, giúp tăng độ bảo mật cho mật khẩu. Trong trường hợp hacker xâm nhập vào Website thì cũng chỉ thấy một chuỗi ký tự vô nghĩa chứ không phải mật khẩu mà bạn đã nhập.

    Khi bạn cần đăng nhập, hệ thống sẽ chuyển mật khẩu thật thành Hash Function rồi so sánh với thông tin đã lưu trong cơ sở dữ liệu. Nếu 2 thông tin này không khớp thì sẽ báo lỗi. Trong trường hợp này, hệ thống không cần đổi Hash Function thành mật khẩu thật để thực hiện nhiệm vụ nào khác.

    Câu hỏi thường gặp về mã hóa

    Cuộc tấn công mã hóa phổ biến nhất là gì

    Các cuộc tấn công Brute Force là một trong những cách tấn công phổ biến nhất để bẻ khóa mã hóa. Nói dễ hiểu thì đây là phương pháp thử sai và đoán mò để kiểm tra, thử nghiệm tất cả các giải pháp khả thi để bẻ khóa bảo mật. Tuy nhiên, nếu doanh nghiệp và tổ chức xây dựng hệ thống mã hóa dữ liệu đủ tốt, có các khóa dài chỉ có thể được bẻ khi mất hàng tỷ lần kiểm thử, thì việc bị tấn công là hầu như bất khả thi.

    Brute Force - Cuộc tấn công mã hóa phổ biến nhất

    Mã hóa nào an toàn nhất?

    Tiêu chuẩn mã hóa nâng cao (Advanced Encryption Standard - AES) sử dụng các key mật mã rất dài, khiến hacker rất khó bẻ được các khóa này và lấy cắp thông tin. Ngay cả khi ở dạng 128bit thì AES cũng chưa bao giờ bị hacker bẻ khóa và xâm nhập. Do đó, đây là tiêu chuẩn mã hóa phổ biến thường dùng trong các ứng dụng của Chính phủ và quân sự.

    CMC Cloud cung cấp các giải pháp đám mây có sử dụng mã hóa AES-256, đảm bảo bảo mật dữ liệu tốt cho doanh nghiệp. Ngoài ra, CMC Cloud cũng đạt các chứng nhận ISO 9001, ISO 27017 - 27018 và các tiêu chuẩn Quốc tế khác về bảo mật an toàn thông tin.

    Mã hóa lưu trữ đám mây (Cloud Storage Encryption) là gì

    Cloud Storage Encryption là quy trình bảo mật các dữ liệu được lưu trữ hoặc trao đổi trong môi trường đám mây (Cloud). Đây là dịch vụ được cung cấp bởi các đơn vị cung cấp dịch vụ Cloud. Phương pháp này khá tương tự với mã hóa tại chỗ (on-premises), tuy nhiên có một điểm khác biệt quan trọng là phương pháp mã hóa dữ liệu của nhà cung cấp dịch vụ phải phù hợp với mức độ quan trọng của dữ liệu lưu trữ.

    Nhìn chung, trong môi trường Internet ngày càng bùng nổ hiện nay, các nguy cơ và rủi ro về dữ liệu cũng tăng cao. Doanh nghiệp cần triển khai hoặc sử dụng các dịch vụ có mã hóa dữ liệu để đảm bảo an toàn nhất cho thông tin của mình. Qua bài viết trên, hy vọng doanh nghiệp đã có thêm kiến thức về mã hóa là gì, các loại mã hóa cũng như vai trò của chúng. Chúc doanh nghiệp bảo vệ tốt hệ thống thông tin dữ liệu của mình.

     

    CMC Cloud - Giải pháp Điện toán đám mây Toàn diện & Linh hoạt nhất. Cho phép tùy biến sử dụng và quản trị 25+ dịch vụ

    content-banner
    News Detail - Footer Email MKT

    Đăng ký nhận thông tin

    Bạn muốn cập nhật thông tin mới nhất từ CMC Cloud?! Hãy để lại địa chỉ email của bạn ngay để nhận những bản tin bổ ích

    back to top

    logo

    © 2023, CMC Cloud. All rights reserved.

    Business Registration Certificate

    Giấy ĐKKD: 0102900049. Nơi cấp: Sở Kế hoạch & Đầu tư Thành phố Hà Nội

    Chịu trách nhiệm nội dung: Đặng Tùng Sơn