Encryption vs Decryption
Encryption in flight (TLS / SSL)
- Dữ liệu sẽ được encrypt trước khi gửi và được decrypt sau khi nhận
- TLS certificates hỗ trợ quá trình encrypt (HTTPS)
- TLS là bản nâng cấp của SSL
- Encryption in flight đảm bảo không xảy ra MITM (Man-In-The-Middle Attack - tấn công trung gian)

- Client khởi tạo dữ liệu gốc: ví dụ như username và password (
Username: admin,Password: supersecret) - TLS Encryption: Trước khi gửi, dữ liệu sẽ được mã hóa bằng TLS (được biểu diễn bởi icon ổ khóa đỏ).
- Truyền dữ liệu đã mã hóa: Dữ liệu sẽ ở dạng mã hóa (ví dụ:
aGVsbG8gd29ybGQ...), không thể đọc được bởi bên thứ ba. - TLS Decryption tại Server: Server sẽ giải mã dữ liệu để nhận lại thông tin gốc (
Username: admin,Password: supersecret) - Website (HTTPS): Dữ liệu sau khi giải mã sẽ được sử dụng bởi web server (thường là ứng dụng web sử dụng HTTPS).
Server-side encryption
- Data sẽ được encrypt sau khi được server nhận
- Data sẽ được decrypt trước khi được gửi ra ngoài
- Dữ liệu được lưu trữ dưới dạng đã encrypt, nhờ vào một key (thường là data key)
- Các encryption/decryption key phải được quản lý ở đâu đó (ví dụ: AWS KMS), và server phải có quyền truy cập

Client-side encryption
- Dữ liệu được encrypt bởi client và không bao giờ bị decrypt bởi server
- Việc decrypt sẽ được thực hiện ở phía client nhận dữ liệu
- Server không nên (và không thể) decrypt dữ liệu
- Có thể áp dụng Envelope Encryption để bảo vệ
data key

Bạn thấy bài này thế nào?