Mã hóa nghĩa là gì?
Thuật toán có thể công khai; bảo mật đến từ khóa, kích thước, cách sinh và bảo vệ khóa. Mã hóa không phải encoding chỉ đổi cách biểu diễn, cũng không phải hash vốn được thiết kế để không đảo ngược.
Mã hóa đối xứng
Hai phía dùng cùng một bí mật để mã hóa và giải mã. Thuật toán hiện đại biến đổi dữ liệu qua nhiều phép toán. AES là chuẩn block cipher; ChaCha20 là lựa chọn stream cipher. DES và Triple DES đã lỗi thời. TLS dùng mã hóa đối xứng sau khi phiên được thiết lập.
Ưu điểm: nhanh, ít tốn CPU và rất mạnh với tham số đúng. Giới hạn: hai phía phải nhận cùng bí mật mà không làm lộ, khó khăn lớn khi họ chưa quen biết.
Ví dụ, ưu điểm và giới hạn
AES và ChaCha20 bảo vệ ổ đĩa, tệp và luồng liên tục. Nếu khóa lộ, cả hai chiều liên lạc có thể bị ảnh hưởng. Vì vậy đối xứng hoàn hảo cho dữ liệu lớn sau khi đã chia sẻ bí mật.
Quản lý khóa và lỗi thường gặp
Khóa phải được sinh ngẫu nhiên an toàn, lưu với quyền tối thiểu và xoay theo rủi ro. Tái sử dụng khóa hoặc nonce trong ngữ cảnh không phù hợp có thể lộ quan hệ giữa thông điệp. GCM và ChaCha20-Poly1305 thêm tính toàn vẹn; mã hóa không xác thực cho phép sửa dữ liệu chủ động.
Với ổ đĩa hoặc backup, hàm chậm thường dẫn xuất khóa từ mật khẩu. Trong VPN, session key tạm thời được tạo và đổi để giới hạn hậu quả rò rỉ.
Mã hóa bất đối xứng
Mật mã khóa công khai tạo cặp public/private. Khóa công khai có thể phân phối; khóa riêng phải giữ bí mật. RSA, Diffie-Hellman và đường cong elliptic phục vụ xác thực, chữ ký hoặc trao đổi khóa. TLS dùng chúng để lập phiên với server chưa biết, rồi chuyển sang đối xứng.
Ưu điểm: không phải truyền trước một bí mật chung và có thể kiểm tra chữ ký. Giới hạn: chi phí tính toán. RSA cần khóa dài hơn AES rất nhiều cho biên tương đương và không dùng để mã hóa toàn bộ luồng. Danh tính public key cũng phải được xác minh, nếu không kẻ tấn công có thể thay bằng khóa của mình.
Loại nào tốt hơn?
Câu trả lời là “dùng cả hai”. Câu “đối xứng cho tốc độ, bất đối xứng cho bảo mật” gây hiểu lầm: chúng giải quyết chức năng khác nhau. Bất đối xứng xác thực và lập bí mật trên kênh không an toàn; đối xứng bảo vệ lưu lượng hiệu quả sau đó. HTTPS, VPN và ứng dụng chat dùng kiến trúc hybrid này.
Câu trả lời thực tế: hệ thống hybrid
Bảo mật thất bại nếu private key, session key hoặc xác minh danh tính được quản lý sai.
- bất đối xứng cho danh tính, chữ ký và trao đổi khóa;
- đối xứng cho dữ liệu, ổ đĩa và lưu lượng liên tục;
- hash cho toàn vẹn và dẫn xuất, không thay mã hóa.
Kết luận
Hai mô hình dùng logic khác nhau nhưng phối hợp trong hệ thống hiện đại: bất đối xứng thiết lập bí mật và xác minh danh tính, đối xứng mã hóa dữ liệu. Xem AES và mã hóa bất đối xứng.