Mã hóa hoạt động như thế nào? Mã hóa có thực sự an toàn không?
Đối với nhiều người, từ “mã hóa” có lẽ gợi lên hình ảnh giống như James Bond về một nhân vật phản diện với chiếc cặp còng vào cổ tay chứa mã phóng hạt nhân hoặc một số yếu tố chính trong phim hành động khác.
Trên thực tế, mọi người đều sử dụng công nghệ mã hóa hàng ngày. Mặc dù hầu hết có thể không hiểu “làm thế nào” hoặc “tại sao”, nhưng rõ ràng là bảo mật dữ liệu rất quan trọng và mã hóa là một phần cốt lõi của điều đó.
Gần như mọi thiết bị máy tính mà chúng ta tương tác hàng ngày đều sử dụng mã hóa. Vậy mã hóa hoạt động như thế nào và mã hóa có an toàn không?
Mục Lục
Mã hóa là gì?
Mã hóa là một dạng mật mã hiện đại cho phép người dùng ẩn thông tin với người khác.
Quá trình mã hóa sử dụng một thuật toán phức tạp được gọi là mật mã để biến dữ liệu thông thường (được gọi là văn bản gốc) thành một chuỗi các ký tự có vẻ ngẫu nhiên (được gọi là bản mã) mà những người không có khóa đặc biệt để giải mã không thể đọc được. Những người sở hữu khóa có thể giải mã dữ liệu để xem lại bản rõ, thay vì chuỗi ký tự ngẫu nhiên của bản mã.
Hai trong số các phương pháp mã hóa được sử dụng rộng rãi nhất là mã hóa khóa công khai (bất đối xứng) và mã hóa khóa riêng (đối xứng).
Cả hai phương pháp mã hóa đều cho phép người dùng mã hóa dữ liệu để ẩn nó khỏi những người khác và sau đó giải mã nó để truy cập văn bản gốc. Tuy nhiên, chúng khác nhau về cách xử lý các bước giữa mã hóa và giải mã.
Mã hóa khóa công khai
Mã hóa khóa công khai—hoặc bất đối xứng—sử dụng khóa chung của người nhận và khóa riêng phù hợp (về mặt toán học).
Ví dụ:
- Joe và Karen đều có chìa khóa hộp.
- Joe có khóa chung và Karen có khóa riêng phù hợp.
- Joe có thể sử dụng khóa công khai của mình để mở hộp và bỏ đồ vào đó, nhưng anh ấy không thể xem các đồ đã có trong đó, cũng như không thể lấy bất cứ thứ gì ra.
- Khóa riêng của Karen có thể mở hộp, xem tất cả các vật phẩm bên trong và lấy chúng ra khi cô ấy thấy phù hợp.
Lưu ý rằng Karen có thể xem và xóa các mục khỏi hộp nhưng cô ấy không thể đặt các mục mới vào hộp để Joe xem.
Để điều đó hoạt động, Joe và Karen cần đổi một bộ chìa khóa mới để lấy một chiếc hộp mới. Trong trường hợp này, Karen giữ khóa chung và có thể mở khóa hộp để đặt một vật phẩm mới vào, trong khi khóa riêng của Joe cho phép anh ấy mở hộp và xem các vật phẩm.
Mã hóa khóa riêng
Mã hóa khóa riêng—hoặc mã hóa đối xứng—khác với mã hóa khóa công khai ở mục đích của các khóa. Vẫn còn hai phím cần thiết để giao tiếp, nhưng mỗi phím này về cơ bản là giống nhau.
Ví dụ: Joe và Karen đều sở hữu chìa khóa của chiếc hộp nói trên, nhưng trong trường hợp này, các chìa khóa có tác dụng giống nhau. Bây giờ cả hai đều có thể thêm hoặc xóa mọi thứ khỏi hộp.
Nói về kỹ thuật số, giờ đây Joe có thể mã hóa một tin nhắn cũng như giải mã nó bằng chìa khóa của mình. Karen có thể làm điều tương tự với cô ấy.
Đây là một cách đơn giản hóa để xem xét mã hóa khóa riêng. Thông thường, các trang web và dịch vụ trực tuyến sẽ sử dụng cả mã hóa khóa công khai và khóa riêng để bảo mật các tính năng khác nhau, xây dựng các lớp bảo mật trong quy trình.
Sơ lược về lịch sử mã hóa
Khi nói về mã hóa, điều quan trọng là phải phân biệt rằng tất cả công nghệ mã hóa hiện đại đều bắt nguồn từ mật mã.
Về cốt lõi, mật mã học là hành động tạo và (cố gắng) giải mã mã. Trong khi mã hóa điện tử là tương đối mới trong sơ đồ lớn hơn, thì mật mã là một ngành khoa học có từ thời Hy Lạp cổ đại.
Người Hy Lạp là xã hội đầu tiên được cho là sử dụng mật mã để che giấu dữ liệu nhạy cảm dưới dạng chữ viết, cả khỏi con mắt của kẻ thù và công chúng.
Tuy nhiên, người Hy Lạp không đơn độc trong việc phát triển các phương pháp mật mã nguyên thủy. Người La Mã đã làm theo bằng cách giới thiệu cái được gọi là “mật mã của Caesar”, một mật mã thay thế liên quan đến việc thay thế một chữ cái bằng một chữ cái khác dịch chuyển sâu hơn trong bảng chữ cái.
Ví dụ: nếu phím liên quan đến dịch chuyển phải ba lần, chữ A sẽ trở thành D, chữ B sẽ là E, v.v. Mật mã Caesar là một trong những dạng mật mã đầu tiên mà nhiều người trong chúng ta được giới thiệu khi còn nhỏ.
3 Ví dụ về Công nghệ Mã hóa Hiện đại
Công nghệ mã hóa hiện đại sử dụng các thuật toán phức tạp hơn và kích thước khóa lớn hơn để che giấu dữ liệu được mã hóa tốt hơn. Kích thước khóa càng lớn, càng có nhiều tổ hợp khả thi mà một cuộc tấn công vũ phu sẽ phải chạy để giải mã thành công bản mã.
Khi kích thước khóa tiếp tục được cải thiện, thời gian cần thiết để bẻ khóa mã hóa bằng cách sử dụng một cuộc tấn công vũ phu tăng vọt.
Ví dụ: trong khi khóa 56 bit và khóa 64 bit có vẻ giống nhau về giá trị, thì khóa 64 bit thực sự khó bẻ khóa hơn 256 lần so với khóa 56 bit.
Hầu hết các mã hóa hiện đại sử dụng tối thiểu khóa 128 bit, một số sử dụng khóa 256 bit trở lên. Nói một cách dễ hiểu, việc bẻ khóa khóa 128 bit sẽ yêu cầu một cuộc tấn công vũ phu để kiểm tra hơn 339.000.000.000.000.000.000.000.000.000.000.000 tổ hợp phím có thể.
Một trong những cách hiểu sai ngôn ngữ mã hóa lớn nhất xuất phát từ sự khác biệt giữa các loại mã hóa (thuật toán mã hóa) và điểm mạnh tương ứng của chúng.
- Loại mã hóa: Loại mã hóa liên quan đến cách mã hóa được hoàn thành. Chẳng hạn, mật mã bất đối xứng là một trong những loại mã hóa phổ biến nhất trên internet.
- Thuật toán mã hóa: Khi thảo luận về sức mạnh của mã hóa, chúng ta đang nói về một thuật toán mã hóa cụ thể. Các thuật toán là nguồn gốc của những cái tên thú vị, như Triple DES, RSA hoặc AES. Tên thuật toán mã hóa thường đi kèm với một giá trị số, chẳng hạn như AES-128. Con số đề cập đến kích thước khóa mã hóa và xác định thêm độ mạnh của thuật toán.
Có thêm một vài thuật ngữ mã hóa mà bạn nên tự làm quen với những thuật ngữ này sẽ giúp mở rộng kiến thức về mã hóa của bạn.
Có một số thuật toán mã hóa phổ biến được ưa thích do sức mạnh và tính bảo mật của chúng. Bạn có thể biết nhiều về mã hóa hơn bạn nghĩ, đặc biệt là một số tên.
1. Chuẩn mã hóa dữ liệu (DES)
Tiêu chuẩn Mã hóa Dữ liệu là một tiêu chuẩn mã hóa ban đầu của Chính phủ Hoa Kỳ. Ban đầu nó được cho là không thể phá vỡ, nhưng sự gia tăng sức mạnh tính toán và giảm chi phí phần cứng đã khiến mã hóa 56-bit về cơ bản trở nên lỗi thời. Điều này đặc biệt đúng đối với dữ liệu nhạy cảm.
2. RSA
RSA là một trong những thuật toán mã hóa khóa công khai đầu tiên. Nó sử dụng chức năng mã hóa bất đối xứng một chiều được giải thích ở trên (và cả trong phần thuật ngữ mã hóa được liên kết ở trên).
RSA là một thuật toán mã hóa nổi bật. Đây là tính năng chính của nhiều giao thức, bao gồm SSH, OpenPGP, S/MIME và SSL/TLS. Hơn nữa, các trình duyệt sử dụng RSA để thiết lập liên lạc an toàn qua các mạng không an toàn.
RSA vẫn cực kỳ phổ biến do độ dài khóa của nó. Khóa RSA thường dài 1024 hoặc 2048 bit. Tuy nhiên, các chuyên gia bảo mật tin rằng sẽ không lâu nữa RSA 1024-bit sẽ bị bẻ khóa, khiến nhiều tổ chức chính phủ và doanh nghiệp chuyển sang khóa 2048-bit mạnh hơn. Thật thú vị, các nhà phát triển RSA ban đầu nghĩ rằng RSA 1024-bit sẽ bị bẻ khóa từ năm 2006 đến 2010, nhưng hơn một thập kỷ sau, nó vẫn còn nguyên vẹn.
3. Tiêu chuẩn mã hóa nâng cao (AES)
Tiêu chuẩn Mã hóa Nâng cao (AES) hiện là tiêu chuẩn mã hóa đáng tin cậy của Chính phủ Hoa Kỳ.
Đây là một thuật toán khóa đối xứng có thể tạo các khóa ở ba kích cỡ khác nhau: 128, 192 hoặc 256 bit. Hơn nữa, có nhiều vòng mã hóa khác nhau cho từng kích thước khóa. Một “vòng” là quá trình biến bản rõ thành bản mã. Đối với 128-bit, có mười vòng. 192-bit có 12 vòng và 256-bit có 14 vòng.
AES là một trong những hình thức mã hóa mạnh nhất hiện có. Khi bạn đọc “mã hóa cấp độ quân sự” trên một sản phẩm, nó đề cập đến AES. Mặc dù có các cuộc tấn công lý thuyết chống lại AES, nhưng tất cả đều yêu cầu mức độ sức mạnh tính toán và lưu trữ dữ liệu không khả thi trong thời đại hiện nay. Vẫn còn phải xem mã hóa AES tồn tại như thế nào trong kỷ nguyên lượng tử, nhưng nhiều người tin rằng AES-256 là một thuật toán mã hóa kháng lượng tử.
Mã hóa có an toàn để sử dụng không?
dứt khoát, câu trả lời là có.
Lượng thời gian, mức sử dụng năng lượng và chi phí tính toán để bẻ khóa hầu hết các công nghệ mật mã hiện đại khiến cho việc cố gắng phá mã hóa (không có khóa) trở thành một bài tập tốn kém mà nói một cách tương đối là vô ích.
Điều đó nói rằng, mã hóa có các lỗ hổng phần lớn nằm ngoài sức mạnh của công nghệ.
- cửa hậu: Cho dù mã hóa an toàn đến đâu, nếu ai đó chèn một cửa hậu vào mã, ai đó có thể vô hiệu hóa bảo mật. Các cửa hậu mã hóa là chủ đề bàn tán thường xuyên của các chính phủ trên toàn thế giới, trở thành chủ đề đặc biệt nóng sau bất kỳ cuộc tấn công khủng bố nào. Có nhiều lý do tại sao chúng ta không bao giờ nên cho phép chính phủ phá vỡ mã hóa.
- Xử lý khóa riêng: Mật mã khóa hiện đại cực kỳ an toàn. Tuy nhiên, lỗi của con người vẫn là yếu tố lớn nhất trong hầu hết các vấn đề bảo mật. Một lỗi xử lý khóa riêng tư có thể khiến nó bị lộ ra bên ngoài, khiến mã hóa trở nên vô dụng.
- Tăng sức mạnh tính toán: Với sức mạnh tính toán hiện tại, hầu hết các khóa mã hóa hiện đại đều không thể bẻ khóa được. Điều đó nói rằng, khi sức mạnh xử lý tăng lên, công nghệ mã hóa cần phải bắt kịp để luôn dẫn đầu.
- Áp lực của chính phủ: Cùng với các cửa hậu mã hóa, một số chính phủ thực thi luật giải mã bắt buộc buộc các công dân bị giam giữ phải giao nộp các khóa mã hóa riêng tư. Bản chất của luật tiết lộ chính thay đổi theo quốc gia. Tại Hoa Kỳ, Tu chính án thứ năm bảo vệ các nhân chứng khỏi sự tự buộc tội, khiến việc tiết lộ khóa bắt buộc là bất hợp pháp.
Bạn có nên sử dụng mã hóa?
Vấn đề không phải là bạn có nên sử dụng mã hóa hay không. Bạn sử dụng mã hóa hàng ngày để truy cập ngân hàng trực tuyến của mình, gửi tin nhắn trên WhatsApp và truy cập các trang web một cách an toàn mà không bị nghe trộm.
Một câu hỏi hay hơn để xem xét là “Điều gì sẽ xảy ra nếu không có mã hóa?”